From owner-svn-src-projects@FreeBSD.ORG Mon Dec 3 01:05:37 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 7372CFFC; Mon, 3 Dec 2012 01:05:37 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 3F5068FC12; Mon, 3 Dec 2012 01:05:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB315baB002110; Mon, 3 Dec 2012 01:05:37 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB315b40002109; Mon, 3 Dec 2012 01:05:37 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201212030105.qB315b40002109@svn.freebsd.org> From: Rick Macklem Date: Mon, 3 Dec 2012 01:05:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243806 - projects/nfsv4.1-client/sys/fs/nfsclient 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: Mon, 03 Dec 2012 01:05:37 -0000 Author: rmacklem Date: Mon Dec 3 01:05:36 2012 New Revision: 243806 URL: http://svnweb.freebsd.org/changeset/base/243806 Log: Change the NFSv4.1 minor version option from "minvers" to "minorversion", since that is what Linux uses. Modified: projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clvfsops.c Modified: projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clvfsops.c ============================================================================== --- projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clvfsops.c Mon Dec 3 01:02:45 2012 (r243805) +++ projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clvfsops.c Mon Dec 3 01:05:36 2012 (r243806) @@ -719,7 +719,7 @@ static const char *nfs_opts[] = { "from" "readdirsize", "soft", "hard", "mntudp", "tcp", "udp", "wsize", "rsize", "retrans", "acregmin", "acregmax", "acdirmin", "acdirmax", "resvport", "readahead", "hostname", "timeout", "addr", "fh", "nfsv3", "sec", - "principal", "nfsv4", "gssname", "allgssname", "dirpath", "minvers", + "principal", "nfsv4", "gssname", "allgssname", "dirpath", "minorversion", "nametimeo", "negnametimeo", "nocto", "pnfs", "wcommitsize", NULL }; @@ -995,11 +995,12 @@ nfs_mount(struct mount *mp) goto out; } } - if (vfs_getopt(mp->mnt_optnew, "minvers", (void **)&opt, NULL) == 0) { + if (vfs_getopt(mp->mnt_optnew, "minorversion", (void **)&opt, NULL) == + 0) { ret = sscanf(opt, "%d", &minvers); if (ret != 1 || minvers < 0 || minvers > 1 || (args.flags & NFSMNT_NFSV4) == 0) { - vfs_mount_error(mp, "illegal minvers: %s", opt); + vfs_mount_error(mp, "illegal minorversion: %s", opt); error = EINVAL; goto out; } From owner-svn-src-projects@FreeBSD.ORG Tue Dec 4 00:06:58 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 AE789E9; Tue, 4 Dec 2012 00:06:58 +0000 (UTC) (envelope-from ray@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 871FF8FC08; Tue, 4 Dec 2012 00:06:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB406wwf092504; Tue, 4 Dec 2012 00:06:58 GMT (envelope-from ray@svn.freebsd.org) Received: (from ray@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB406wem092503; Tue, 4 Dec 2012 00:06:58 GMT (envelope-from ray@svn.freebsd.org) Message-Id: <201212040006.qB406wem092503@svn.freebsd.org> From: Aleksandr Rybalko Date: Tue, 4 Dec 2012 00:06:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243844 - projects/efika_mx/sys/arm/freescale/imx 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, 04 Dec 2012 00:06:58 -0000 Author: ray Date: Tue Dec 4 00:06:58 2012 New Revision: 243844 URL: http://svnweb.freebsd.org/changeset/base/243844 Log: Add GPIO driver for i.MX515. Sponsored by: FreeBSD Foundation Added: projects/efika_mx/sys/arm/freescale/imx/imx51_gpio.c Added: projects/efika_mx/sys/arm/freescale/imx/imx51_gpio.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/efika_mx/sys/arm/freescale/imx/imx51_gpio.c Tue Dec 4 00:06:58 2012 (r243844) @@ -0,0 +1,481 @@ +/*- + * Copyright (c) 2012 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Oleksandr Rybalko under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 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. + */ + +/* + * Freescale i.MX515 GPIO driver. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include + +#include "gpio_if.h" + +#define GPIO_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) +#define GPIO_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx) +#define GPIO_LOCK_INIT(_sc) mtx_init(&_sc->sc_mtx, \ + device_get_nameunit(_sc->sc_dev), "imx_gpio", MTX_DEF) +#define GPIO_LOCK_DESTROY(_sc) mtx_destroy(&_sc->sc_mtx); +#define GPIO_ASSERT_LOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_OWNED); +#define GPIO_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED); + +#define WRITE4(_sc, _r, _v) \ + bus_space_write_4((_sc)->sc_iot, (_sc)->sc_ioh, (_r), (_v)) +#define READ4(_sc, _r) \ + bus_space_read_4((_sc)->sc_iot, (_sc)->sc_ioh, (_r)) +#define SET4(_sc, _r, _m) \ + WRITE4((_sc), (_r), READ4((_sc), (_r)) | (_m)) +#define CLEAR4(_sc, _r, _m) \ + WRITE4((_sc), (_r), READ4((_sc), (_r)) & ~(_m)) + +/* Registers definition for Freescale i.MX515 GPIO controller */ + +#define IMX_GPIO_DR_REG 0x000 /* Pin Data */ +#define IMX_GPIO_OE_REG 0x004 /* Set Pin Output */ +#define IMX_GPIO_PSR_REG 0x008 /* Pad Status */ +#define IMX_GPIO_ICR1_REG 0x00C /* Interrupt Configuration */ +#define IMX_GPIO_ICR2_REG 0x010 /* Interrupt Configuration */ +#define GPIO_ICR_COND_LOW 0 +#define GPIO_ICR_COND_HIGH 1 +#define GPIO_ICR_COND_RISE 2 +#define GPIO_ICR_COND_FALL 3 +#define IMX_GPIO_IMR_REG 0x014 /* Interrupt Mask Register */ +#define IMX_GPIO_ISR_REG 0x018 /* Interrupt Status Register */ +#define IMX_GPIO_EDGE_REG 0x01C /* Edge Detect Register */ + +#define DEFAULT_CAPS (GPIO_PIN_INPUT | GPIO_PIN_OUTPUT) +#define NGPIO 32 + +struct imx51_gpio_softc { + device_t dev; + struct mtx sc_mtx; + struct resource *sc_res[11]; /* 1 x mem, 2 x IRQ, 8 x IRQ */ + void *gpio_ih[11]; /* 1 pointer is not a big waste */ + int sc_l_irq; /* Last irq resource */ + bus_space_tag_t sc_iot; + bus_space_handle_t sc_ioh; + int gpio_npins; + struct gpio_pin gpio_pins[NGPIO]; +}; + +static struct resource_spec imx_gpio_spec[] = { + { SYS_RES_MEMORY, 0, RF_ACTIVE }, + { SYS_RES_IRQ, 0, RF_ACTIVE }, + { SYS_RES_IRQ, 1, RF_ACTIVE }, + { -1, 0 } +}; + +static struct resource_spec imx_gpio0irq_spec[] = { + { SYS_RES_IRQ, 2, RF_ACTIVE }, + { SYS_RES_IRQ, 3, RF_ACTIVE }, + { SYS_RES_IRQ, 4, RF_ACTIVE }, + { SYS_RES_IRQ, 5, RF_ACTIVE }, + { SYS_RES_IRQ, 6, RF_ACTIVE }, + { SYS_RES_IRQ, 7, RF_ACTIVE }, + { SYS_RES_IRQ, 8, RF_ACTIVE }, + { SYS_RES_IRQ, 9, RF_ACTIVE }, + { -1, 0 } +}; + +/* + * Helpers + */ +static void imx51_gpio_pin_configure(struct imx51_gpio_softc *, + struct gpio_pin *, uint32_t); + +/* + * Driver stuff + */ +static int imx51_gpio_probe(device_t); +static int imx51_gpio_attach(device_t); +static int imx51_gpio_detach(device_t); +static int imx51_gpio_intr(void *); + +/* + * GPIO interface + */ +static int imx51_gpio_pin_max(device_t, int *); +static int imx51_gpio_pin_getcaps(device_t, uint32_t, uint32_t *); +static int imx51_gpio_pin_getflags(device_t, uint32_t, uint32_t *); +static int imx51_gpio_pin_getname(device_t, uint32_t, char *); +static int imx51_gpio_pin_setflags(device_t, uint32_t, uint32_t); +static int imx51_gpio_pin_set(device_t, uint32_t, unsigned int); +static int imx51_gpio_pin_get(device_t, uint32_t, unsigned int *); +static int imx51_gpio_pin_toggle(device_t, uint32_t pin); + +static void +imx51_gpio_pin_configure(struct imx51_gpio_softc *sc, struct gpio_pin *pin, + unsigned int flags) +{ + + GPIO_LOCK(sc); + + /* + * Manage input/output + */ + if (flags & (GPIO_PIN_INPUT|GPIO_PIN_OUTPUT)) { + pin->gp_flags &= ~(GPIO_PIN_INPUT|GPIO_PIN_OUTPUT); + if (flags & GPIO_PIN_OUTPUT) { + pin->gp_flags |= GPIO_PIN_OUTPUT; + SET4(sc, IMX_GPIO_OE_REG, (1 << pin->gp_pin)); + } + else { + pin->gp_flags |= GPIO_PIN_INPUT; + CLEAR4(sc, IMX_GPIO_OE_REG, (1 << pin->gp_pin)); + } + } + + GPIO_UNLOCK(sc); +} + +static int +imx51_gpio_pin_max(device_t dev, int *maxpin) +{ + + *maxpin = NGPIO - 1; + return (0); +} + +static int +imx51_gpio_pin_getcaps(device_t dev, uint32_t pin, uint32_t *caps) +{ + struct imx51_gpio_softc *sc; + int i; + + sc = device_get_softc(dev); + for (i = 0; i < sc->gpio_npins; i++) { + if (sc->gpio_pins[i].gp_pin == pin) + break; + } + + if (i >= sc->gpio_npins) + return (EINVAL); + + GPIO_LOCK(sc); + *caps = sc->gpio_pins[i].gp_caps; + GPIO_UNLOCK(sc); + + return (0); +} + +static int +imx51_gpio_pin_getflags(device_t dev, uint32_t pin, uint32_t *flags) +{ + struct imx51_gpio_softc *sc; + int i; + + sc = device_get_softc(dev); + for (i = 0; i < sc->gpio_npins; i++) { + if (sc->gpio_pins[i].gp_pin == pin) + break; + } + + if (i >= sc->gpio_npins) + return (EINVAL); + + GPIO_LOCK(sc); + *flags = sc->gpio_pins[i].gp_flags; + GPIO_UNLOCK(sc); + + return (0); +} + +static int +imx51_gpio_pin_getname(device_t dev, uint32_t pin, char *name) +{ + struct imx51_gpio_softc *sc; + int i; + + sc = device_get_softc(dev); + for (i = 0; i < sc->gpio_npins; i++) { + if (sc->gpio_pins[i].gp_pin == pin) + break; + } + + if (i >= sc->gpio_npins) + return (EINVAL); + + GPIO_LOCK(sc); + memcpy(name, sc->gpio_pins[i].gp_name, GPIOMAXNAME); + GPIO_UNLOCK(sc); + + return (0); +} + +static int +imx51_gpio_pin_setflags(device_t dev, uint32_t pin, uint32_t flags) +{ + struct imx51_gpio_softc *sc; + int i; + + sc = device_get_softc(dev); + for (i = 0; i < sc->gpio_npins; i++) { + if (sc->gpio_pins[i].gp_pin == pin) + break; + } + + if (i >= sc->gpio_npins) + return (EINVAL); + + /* Filter out unwanted flags */ + if ((flags &= sc->gpio_pins[i].gp_caps) != flags) + return (EINVAL); + + /* Can't mix input/output together */ + if ((flags & (GPIO_PIN_INPUT|GPIO_PIN_OUTPUT)) == + (GPIO_PIN_INPUT|GPIO_PIN_OUTPUT)) + return (EINVAL); + + imx51_gpio_pin_configure(sc, &sc->gpio_pins[i], flags); + + + return (0); +} + +static int +imx51_gpio_pin_set(device_t dev, uint32_t pin, unsigned int value) +{ + struct imx51_gpio_softc *sc; + int i; + + sc = device_get_softc(dev); + for (i = 0; i < sc->gpio_npins; i++) { + if (sc->gpio_pins[i].gp_pin == pin) + break; + } + + if (i >= sc->gpio_npins) + return (EINVAL); + + GPIO_LOCK(sc); + if (value) + SET4(sc, IMX_GPIO_DR_REG, (1 << i)); + else + CLEAR4(sc, IMX_GPIO_DR_REG, (1 << i)); + GPIO_UNLOCK(sc); + + return (0); +} + +static int +imx51_gpio_pin_get(device_t dev, uint32_t pin, unsigned int *val) +{ + struct imx51_gpio_softc *sc; + int i; + + sc = device_get_softc(dev); + for (i = 0; i < sc->gpio_npins; i++) { + if (sc->gpio_pins[i].gp_pin == pin) + break; + } + + if (i >= sc->gpio_npins) + return (EINVAL); + + GPIO_LOCK(sc); + *val = (READ4(sc, IMX_GPIO_DR_REG) >> i) & 1; + GPIO_UNLOCK(sc); + + return (0); +} + +static int +imx51_gpio_pin_toggle(device_t dev, uint32_t pin) +{ + struct imx51_gpio_softc *sc; + int i; + + sc = device_get_softc(dev); + for (i = 0; i < sc->gpio_npins; i++) { + if (sc->gpio_pins[i].gp_pin == pin) + break; + } + + if (i >= sc->gpio_npins) + return (EINVAL); + + GPIO_LOCK(sc); + WRITE4(sc, IMX_GPIO_DR_REG, + (READ4(sc, IMX_GPIO_DR_REG) ^ (1 << i))); + GPIO_UNLOCK(sc); + + return (0); +} + +static int +imx51_gpio_intr(void *arg) +{ + struct imx51_gpio_softc *sc; + uint32_t input, value; + + sc = arg; + input = READ4(sc, IMX_GPIO_ISR_REG); + value = input & READ4(sc, IMX_GPIO_IMR_REG); + WRITE4(sc, IMX_GPIO_DR_REG, input); + + if (!value) + goto intr_done; + + /* TODO: interrupt handling */ + +intr_done: + return (FILTER_HANDLED); +} + +static int +imx51_gpio_probe(device_t dev) +{ + + if (ofw_bus_is_compatible(dev, "fsl,imx51-gpio")) { + device_set_desc(dev, "i.MX515 GPIO Controller"); + return (BUS_PROBE_DEFAULT); + } + + return (ENXIO); +} + +static int +imx51_gpio_attach(device_t dev) +{ + struct imx51_gpio_softc *sc; + int i, irq; + + sc = device_get_softc(dev); + mtx_init(&sc->sc_mtx, device_get_nameunit(dev), NULL, MTX_DEF); + + if (bus_alloc_resources(dev, imx_gpio_spec, sc->sc_res)) { + device_printf(dev, "could not allocate resources\n"); + return (ENXIO); + } + + sc->dev = dev; + sc->gpio_npins = NGPIO; + sc->sc_l_irq = 2; + sc->sc_iot = rman_get_bustag(sc->sc_res[0]); + sc->sc_ioh = rman_get_bushandle(sc->sc_res[0]); + + if (bus_alloc_resources(dev, imx_gpio0irq_spec, &sc->sc_res[3]) == 0) { + /* + * First GPIO unit able to serve +8 interrupts for 8 first + * pins. + */ + sc->sc_l_irq = 10; + } + + for (irq = 1; irq <= sc->sc_l_irq; irq ++) { + if ((bus_setup_intr(dev, sc->sc_res[irq], INTR_TYPE_MISC, + imx51_gpio_intr, NULL, sc, &sc->gpio_ih[irq]))) { + device_printf(dev, + "WARNING: unable to register interrupt handler\n"); + return (ENXIO); + } + } + + for (i = 0; i < sc->gpio_npins; i++) { + sc->gpio_pins[i].gp_pin = i; + sc->gpio_pins[i].gp_caps = DEFAULT_CAPS; + sc->gpio_pins[i].gp_flags = + (READ4(sc, IMX_GPIO_OE_REG) & (1 << i)) ? GPIO_PIN_OUTPUT: + GPIO_PIN_INPUT; + snprintf(sc->gpio_pins[i].gp_name, GPIOMAXNAME, + "imx_gpio%d.%d", device_get_unit(dev), i); + } + + device_add_child(dev, "gpioc", device_get_unit(dev)); + device_add_child(dev, "gpiobus", device_get_unit(dev)); + + return (bus_generic_attach(dev)); +} + +static int +imx51_gpio_detach(device_t dev) +{ + struct imx51_gpio_softc *sc; + + sc = device_get_softc(dev); + + KASSERT(mtx_initialized(&sc->sc_mtx), ("gpio mutex not initialized")); + + bus_generic_detach(dev); + + if (sc->sc_res[3]) + bus_release_resources(dev, imx_gpio0irq_spec, &sc->sc_res[3]); + + if (sc->sc_res[0]) + bus_release_resources(dev, imx_gpio_spec, sc->sc_res); + + mtx_destroy(&sc->sc_mtx); + + return(0); +} + +static device_method_t imx51_gpio_methods[] = { + DEVMETHOD(device_probe, imx51_gpio_probe), + DEVMETHOD(device_attach, imx51_gpio_attach), + DEVMETHOD(device_detach, imx51_gpio_detach), + + /* GPIO protocol */ + DEVMETHOD(gpio_pin_max, imx51_gpio_pin_max), + DEVMETHOD(gpio_pin_getname, imx51_gpio_pin_getname), + DEVMETHOD(gpio_pin_getflags, imx51_gpio_pin_getflags), + DEVMETHOD(gpio_pin_getcaps, imx51_gpio_pin_getcaps), + DEVMETHOD(gpio_pin_setflags, imx51_gpio_pin_setflags), + DEVMETHOD(gpio_pin_get, imx51_gpio_pin_get), + DEVMETHOD(gpio_pin_set, imx51_gpio_pin_set), + DEVMETHOD(gpio_pin_toggle, imx51_gpio_pin_toggle), + {0, 0}, +}; + +static driver_t imx51_gpio_driver = { + "gpio", + imx51_gpio_methods, + sizeof(struct imx51_gpio_softc), +}; +static devclass_t imx51_gpio_devclass; + +DRIVER_MODULE(imx51_gpio, simplebus, imx51_gpio_driver, imx51_gpio_devclass, + 0, 0); From owner-svn-src-projects@FreeBSD.ORG Tue Dec 4 04:37: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 0AB4611A; Tue, 4 Dec 2012 04:37:45 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D03BC8FC13; Tue, 4 Dec 2012 04:37:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB44biai053325; Tue, 4 Dec 2012 04:37:44 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB44bh8I053295; Tue, 4 Dec 2012 04:37:43 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201212040437.qB44bh8I053295@svn.freebsd.org> From: Neel Natu Date: Tue, 4 Dec 2012 04:37:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243852 - in projects/bhyve: . cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/cmd/ztest contrib/less contrib/libc++/include contrib/llvm/in... 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, 04 Dec 2012 04:37:45 -0000 Author: neel Date: Tue Dec 4 04:37:42 2012 New Revision: 243852 URL: http://svnweb.freebsd.org/changeset/base/243852 Log: IFC @r243836 Added: projects/bhyve/contrib/llvm/include/llvm/ADT/MapVector.h - copied unchanged from r243836, head/contrib/llvm/include/llvm/ADT/MapVector.h projects/bhyve/contrib/llvm/include/llvm/AddressingMode.h - copied unchanged from r243836, head/contrib/llvm/include/llvm/AddressingMode.h projects/bhyve/contrib/llvm/include/llvm/Analysis/DependenceAnalysis.h - copied unchanged from r243836, head/contrib/llvm/include/llvm/Analysis/DependenceAnalysis.h projects/bhyve/contrib/llvm/include/llvm/Analysis/ProfileDataLoader.h - copied unchanged from r243836, head/contrib/llvm/include/llvm/Analysis/ProfileDataLoader.h projects/bhyve/contrib/llvm/include/llvm/Analysis/ProfileDataTypes.h - copied unchanged from r243836, head/contrib/llvm/include/llvm/Analysis/ProfileDataTypes.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/CommandFlags.h - copied unchanged from r243836, head/contrib/llvm/include/llvm/CodeGen/CommandFlags.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachinePostDominators.h - copied unchanged from r243836, head/contrib/llvm/include/llvm/CodeGen/MachinePostDominators.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/ScheduleDAGILP.h - copied unchanged from r243836, head/contrib/llvm/include/llvm/CodeGen/ScheduleDAGILP.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/TargetSchedule.h - copied unchanged from r243836, head/contrib/llvm/include/llvm/CodeGen/TargetSchedule.h projects/bhyve/contrib/llvm/include/llvm/DataLayout.h - copied unchanged from r243836, head/contrib/llvm/include/llvm/DataLayout.h projects/bhyve/contrib/llvm/include/llvm/ExecutionEngine/ObjectBuffer.h - copied unchanged from r243836, head/contrib/llvm/include/llvm/ExecutionEngine/ObjectBuffer.h projects/bhyve/contrib/llvm/include/llvm/ExecutionEngine/ObjectImage.h - copied unchanged from r243836, head/contrib/llvm/include/llvm/ExecutionEngine/ObjectImage.h projects/bhyve/contrib/llvm/include/llvm/Object/RelocVisitor.h - copied unchanged from r243836, head/contrib/llvm/include/llvm/Object/RelocVisitor.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetTransformImpl.h - copied unchanged from r243836, head/contrib/llvm/include/llvm/Target/TargetTransformImpl.h projects/bhyve/contrib/llvm/include/llvm/TargetTransformInfo.h - copied unchanged from r243836, head/contrib/llvm/include/llvm/TargetTransformInfo.h projects/bhyve/contrib/llvm/include/llvm/Transforms/Utils/BypassSlowDivision.h - copied unchanged from r243836, head/contrib/llvm/include/llvm/Transforms/Utils/BypassSlowDivision.h projects/bhyve/contrib/llvm/include/llvm/Transforms/Utils/IntegerDivision.h - copied unchanged from r243836, head/contrib/llvm/include/llvm/Transforms/Utils/IntegerDivision.h projects/bhyve/contrib/llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h - copied unchanged from r243836, head/contrib/llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h projects/bhyve/contrib/llvm/lib/Analysis/CostModel.cpp - copied unchanged from r243836, head/contrib/llvm/lib/Analysis/CostModel.cpp projects/bhyve/contrib/llvm/lib/Analysis/DependenceAnalysis.cpp - copied unchanged from r243836, head/contrib/llvm/lib/Analysis/DependenceAnalysis.cpp projects/bhyve/contrib/llvm/lib/Analysis/ProfileDataLoader.cpp - copied unchanged from r243836, head/contrib/llvm/lib/Analysis/ProfileDataLoader.cpp projects/bhyve/contrib/llvm/lib/Analysis/ProfileDataLoaderPass.cpp - copied unchanged from r243836, head/contrib/llvm/lib/Analysis/ProfileDataLoaderPass.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachinePostDominators.cpp - copied unchanged from r243836, head/contrib/llvm/lib/CodeGen/MachinePostDominators.cpp projects/bhyve/contrib/llvm/lib/CodeGen/StackColoring.cpp - copied unchanged from r243836, head/contrib/llvm/lib/CodeGen/StackColoring.cpp projects/bhyve/contrib/llvm/lib/CodeGen/TargetSchedule.cpp - copied unchanged from r243836, head/contrib/llvm/lib/CodeGen/TargetSchedule.cpp projects/bhyve/contrib/llvm/lib/DebugInfo/DWARFDebugRangeList.cpp - copied unchanged from r243836, head/contrib/llvm/lib/DebugInfo/DWARFDebugRangeList.cpp projects/bhyve/contrib/llvm/lib/DebugInfo/DWARFDebugRangeList.h - copied unchanged from r243836, head/contrib/llvm/lib/DebugInfo/DWARFDebugRangeList.h projects/bhyve/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventsWrapper.h - copied unchanged from r243836, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventsWrapper.h projects/bhyve/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/ittnotify_config.h - copied unchanged from r243836, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/ittnotify_config.h projects/bhyve/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/ittnotify_types.h - copied unchanged from r243836, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/ittnotify_types.h projects/bhyve/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.c - copied unchanged from r243836, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.c projects/bhyve/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.h - copied unchanged from r243836, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.h projects/bhyve/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/ObjectImageCommon.h - copied unchanged from r243836, head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/ObjectImageCommon.h projects/bhyve/contrib/llvm/lib/Target/ARM/ARMScheduleSwift.td - copied unchanged from r243836, head/contrib/llvm/lib/Target/ARM/ARMScheduleSwift.td projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp - copied unchanged from r243836, head/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.h - copied unchanged from r243836, head/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.h projects/bhyve/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsDirectObjLower.cpp - copied unchanged from r243836, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsDirectObjLower.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsDirectObjLower.h - copied unchanged from r243836, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsDirectObjLower.h projects/bhyve/contrib/llvm/lib/Target/Mips/MipsDSPInstrFormats.td - copied unchanged from r243836, head/contrib/llvm/lib/Target/Mips/MipsDSPInstrFormats.td projects/bhyve/contrib/llvm/lib/Target/Mips/MipsDSPInstrInfo.td - copied unchanged from r243836, head/contrib/llvm/lib/Target/Mips/MipsDSPInstrInfo.td projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCScheduleE500mc.td - copied unchanged from r243836, head/contrib/llvm/lib/Target/PowerPC/PPCScheduleE500mc.td projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCScheduleE5500.td - copied unchanged from r243836, head/contrib/llvm/lib/Target/PowerPC/PPCScheduleE5500.td projects/bhyve/contrib/llvm/lib/Target/TargetTransformImpl.cpp - copied unchanged from r243836, head/contrib/llvm/lib/Target/TargetTransformImpl.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrTSX.td - copied unchanged from r243836, head/contrib/llvm/lib/Target/X86/X86InstrTSX.td projects/bhyve/contrib/llvm/lib/Transforms/IPO/BarrierNoopPass.cpp - copied unchanged from r243836, head/contrib/llvm/lib/Transforms/IPO/BarrierNoopPass.cpp projects/bhyve/contrib/llvm/lib/Transforms/Instrumentation/BlackList.cpp - copied unchanged from r243836, head/contrib/llvm/lib/Transforms/Instrumentation/BlackList.cpp projects/bhyve/contrib/llvm/lib/Transforms/Instrumentation/BlackList.h - copied unchanged from r243836, head/contrib/llvm/lib/Transforms/Instrumentation/BlackList.h projects/bhyve/contrib/llvm/lib/Transforms/Scalar/SROA.cpp - copied unchanged from r243836, head/contrib/llvm/lib/Transforms/Scalar/SROA.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/BypassSlowDivision.cpp - copied unchanged from r243836, head/contrib/llvm/lib/Transforms/Utils/BypassSlowDivision.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/IntegerDivision.cpp - copied unchanged from r243836, head/contrib/llvm/lib/Transforms/Utils/IntegerDivision.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/MetaRenamer.cpp - copied unchanged from r243836, head/contrib/llvm/lib/Transforms/Utils/MetaRenamer.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp - copied unchanged from r243836, head/contrib/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp projects/bhyve/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp - copied unchanged from r243836, head/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp projects/bhyve/contrib/llvm/lib/VMCore/AttributesImpl.h - copied unchanged from r243836, head/contrib/llvm/lib/VMCore/AttributesImpl.h projects/bhyve/contrib/llvm/lib/VMCore/DataLayout.cpp - copied unchanged from r243836, head/contrib/llvm/lib/VMCore/DataLayout.cpp projects/bhyve/contrib/llvm/lib/VMCore/TargetTransformInfo.cpp - copied unchanged from r243836, head/contrib/llvm/lib/VMCore/TargetTransformInfo.cpp projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/CommentCommands.td - copied unchanged from r243836, head/contrib/llvm/tools/clang/include/clang/AST/CommentCommands.td projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/CommentHTMLTags.td - copied unchanged from r243836, head/contrib/llvm/tools/clang/include/clang/AST/CommentHTMLTags.td projects/bhyve/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTTypeTraits.h - copied unchanged from r243836, head/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTTypeTraits.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Analysis/DomainSpecific/ObjCNoReturn.h - copied unchanged from r243836, head/contrib/llvm/tools/clang/include/clang/Analysis/DomainSpecific/ObjCNoReturn.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.def - copied unchanged from r243836, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.def projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.h - copied unchanged from r243836, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.def - copied unchanged from r243836, head/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.def projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def - copied unchanged from r243836, head/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearchOptions.h - copied unchanged from r243836, head/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearchOptions.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/PPMutationListener.h - copied unchanged from r243836, head/contrib/llvm/tools/clang/include/clang/Lex/PPMutationListener.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorOptions.h - copied unchanged from r243836, head/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorOptions.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Rewrite/Core/ - copied from r243836, head/contrib/llvm/tools/clang/include/clang/Rewrite/Core/ projects/bhyve/contrib/llvm/tools/clang/include/clang/Rewrite/Frontend/ - copied from r243836, head/contrib/llvm/tools/clang/include/clang/Rewrite/Frontend/ projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h - copied unchanged from r243836, head/contrib/llvm/tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Analyses.def - copied unchanged from r243836, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Analyses.def projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h - copied unchanged from r243836, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h - copied unchanged from r243836, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Tooling/CommonOptionsParser.h - copied unchanged from r243836, head/contrib/llvm/tools/clang/include/clang/Tooling/CommonOptionsParser.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabasePluginRegistry.h - copied unchanged from r243836, head/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabasePluginRegistry.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Tooling/FileMatchTrie.h - copied unchanged from r243836, head/contrib/llvm/tools/clang/include/clang/Tooling/FileMatchTrie.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Tooling/JSONCompilationDatabase.h - copied unchanged from r243836, head/contrib/llvm/tools/clang/include/clang/Tooling/JSONCompilationDatabase.h projects/bhyve/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.cpp - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.h - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.h projects/bhyve/contrib/llvm/tools/clang/lib/Analysis/ObjCNoReturn.cpp - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/Analysis/ObjCNoReturn.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.h - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.h projects/bhyve/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_aes.h - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_aes.h projects/bhyve/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_pclmul.h - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_pclmul.h projects/bhyve/contrib/llvm/tools/clang/lib/Headers/f16cintrin.h - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/Headers/f16cintrin.h projects/bhyve/contrib/llvm/tools/clang/lib/Headers/rtmintrin.h - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/Headers/rtmintrin.h projects/bhyve/contrib/llvm/tools/clang/lib/Rewrite/Core/ - copied from r243836, head/contrib/llvm/tools/clang/lib/Rewrite/Core/ projects/bhyve/contrib/llvm/tools/clang/lib/Rewrite/Frontend/ - copied from r243836, head/contrib/llvm/tools/clang/lib/Rewrite/Frontend/ projects/bhyve/contrib/llvm/tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/ScopeInfo.cpp - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/Sema/ScopeInfo.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Tooling/CommonOptionsParser.cpp - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/Tooling/CommonOptionsParser.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Tooling/FileMatchTrie.cpp - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/Tooling/FileMatchTrie.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Tooling/JSONCompilationDatabase.cpp - copied unchanged from r243836, head/contrib/llvm/tools/clang/lib/Tooling/JSONCompilationDatabase.cpp projects/bhyve/contrib/llvm/tools/clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp - copied unchanged from r243836, head/contrib/llvm/tools/clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp projects/bhyve/contrib/llvm/tools/clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp - copied unchanged from r243836, head/contrib/llvm/tools/clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp projects/bhyve/contrib/llvm/tools/lli/RecordingMemoryManager.cpp - copied unchanged from r243836, head/contrib/llvm/tools/lli/RecordingMemoryManager.cpp projects/bhyve/contrib/llvm/tools/lli/RecordingMemoryManager.h - copied unchanged from r243836, head/contrib/llvm/tools/lli/RecordingMemoryManager.h projects/bhyve/contrib/llvm/tools/lli/RemoteTarget.cpp - copied unchanged from r243836, head/contrib/llvm/tools/lli/RemoteTarget.cpp projects/bhyve/contrib/llvm/tools/lli/RemoteTarget.h - copied unchanged from r243836, head/contrib/llvm/tools/lli/RemoteTarget.h projects/bhyve/contrib/llvm/utils/TableGen/CodeGenMapTable.cpp - copied unchanged from r243836, head/contrib/llvm/utils/TableGen/CodeGenMapTable.cpp projects/bhyve/contrib/openbsm/bin/auditdistd/ - copied from r243836, head/contrib/openbsm/bin/auditdistd/ projects/bhyve/contrib/openbsm/compat/closefrom.h - copied unchanged from r243836, head/contrib/openbsm/compat/closefrom.h projects/bhyve/contrib/openbsm/compat/compat.h - copied unchanged from r243836, head/contrib/openbsm/compat/compat.h projects/bhyve/contrib/openbsm/compat/endian_enc.h - copied unchanged from r243836, head/contrib/openbsm/compat/endian_enc.h projects/bhyve/contrib/openbsm/compat/flopen.h - copied unchanged from r243836, head/contrib/openbsm/compat/flopen.h projects/bhyve/contrib/openbsm/compat/pidfile.h - copied unchanged from r243836, head/contrib/openbsm/compat/pidfile.h projects/bhyve/contrib/openbsm/compat/vis.h - copied unchanged from r243836, head/contrib/openbsm/compat/vis.h projects/bhyve/contrib/openbsm/config/ylwrap - copied unchanged from r243836, head/contrib/openbsm/config/ylwrap projects/bhyve/contrib/openbsm/m4/ - copied from r243836, head/contrib/openbsm/m4/ projects/bhyve/etc/rc.d/auditdistd - copied unchanged from r243836, head/etc/rc.d/auditdistd projects/bhyve/lib/clang/include/MipsGenAsmMatcher.inc - copied unchanged from r243836, head/lib/clang/include/MipsGenAsmMatcher.inc projects/bhyve/lib/clang/include/MipsGenMCPseudoLowering.inc - copied unchanged from r243836, head/lib/clang/include/MipsGenMCPseudoLowering.inc projects/bhyve/lib/clang/include/clang/AST/CommentCommandInfo.inc - copied unchanged from r243836, head/lib/clang/include/clang/AST/CommentCommandInfo.inc projects/bhyve/lib/clang/include/clang/AST/CommentHTMLTags.inc - copied unchanged from r243836, head/lib/clang/include/clang/AST/CommentHTMLTags.inc projects/bhyve/lib/clang/include/clang/AST/CommentHTMLTagsProperties.inc - copied unchanged from r243836, head/lib/clang/include/clang/AST/CommentHTMLTagsProperties.inc projects/bhyve/lib/clang/libclangrewritecore/ - copied from r243836, head/lib/clang/libclangrewritecore/ projects/bhyve/lib/clang/libclangrewritefrontend/ - copied from r243836, head/lib/clang/libclangrewritefrontend/ projects/bhyve/sys/arm/broadcom/bcm2835/bcm2835_gpio.c - copied unchanged from r243836, head/sys/arm/broadcom/bcm2835/bcm2835_gpio.c projects/bhyve/sys/arm/conf/Makefile - copied unchanged from r243836, head/sys/arm/conf/Makefile projects/bhyve/sys/arm/conf/NOTES - copied unchanged from r243836, head/sys/arm/conf/NOTES projects/bhyve/sys/contrib/dev/acpica/components/disassembler/dmdeferred.c - copied unchanged from r243836, head/sys/contrib/dev/acpica/components/disassembler/dmdeferred.c projects/bhyve/sys/powerpc/wii/locore.S - copied unchanged from r243836, head/sys/powerpc/wii/locore.S projects/bhyve/sys/ufs/ffs/ffs_suspend.c - copied unchanged from r243836, head/sys/ufs/ffs/ffs_suspend.c projects/bhyve/tools/tools/ath/athalq/ - copied from r243836, head/tools/tools/ath/athalq/ projects/bhyve/usr.sbin/auditdistd/ - copied from r243836, head/usr.sbin/auditdistd/ Deleted: projects/bhyve/contrib/llvm/include/llvm/ADT/Trie.h projects/bhyve/contrib/llvm/include/llvm/Analysis/LoopDependenceAnalysis.h projects/bhyve/contrib/llvm/include/llvm/ExecutionEngine/IntelJITEventsWrapper.h projects/bhyve/contrib/llvm/include/llvm/TableGen/TableGenAction.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetData.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetELFWriterInfo.h projects/bhyve/contrib/llvm/lib/Analysis/LoopDependenceAnalysis.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJITMemoryManager.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJITMemoryManager.h projects/bhyve/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/ObjectImage.h projects/bhyve/contrib/llvm/lib/TableGen/TableGenAction.cpp projects/bhyve/contrib/llvm/lib/Target/AMDGPU/ projects/bhyve/contrib/llvm/lib/Target/ARM/ARMELFWriterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMELFWriterInfo.h projects/bhyve/contrib/llvm/lib/Target/MBlaze/MBlazeELFWriterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/MBlaze/MBlazeELFWriterInfo.h projects/bhyve/contrib/llvm/lib/Target/TargetData.cpp projects/bhyve/contrib/llvm/lib/Target/TargetELFWriterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86ELFWriterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86ELFWriterInfo.h projects/bhyve/contrib/llvm/lib/Target/X86/X86MCInstLower.h projects/bhyve/contrib/llvm/lib/Transforms/Instrumentation/FunctionBlackList.cpp projects/bhyve/contrib/llvm/lib/Transforms/Instrumentation/FunctionBlackList.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/Analyses.def projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/AnalyzerOptions.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticOptions.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/HeaderSearchOptions.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/PreprocessorOptions.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Rewrite/ASTConsumers.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Rewrite/DeltaTree.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Rewrite/FixItRewriter.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Rewrite/FrontendActions.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Rewrite/HTMLRewrite.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Rewrite/RewriteRope.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Rewrite/Rewriter.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Rewrite/Rewriters.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Rewrite/TokenRewriter.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/DereferenceChecker.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Tooling/CommandLineClangTool.h projects/bhyve/contrib/llvm/tools/clang/lib/Rewrite/DeltaTree.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Rewrite/FixItRewriter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Rewrite/FrontendActions.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Rewrite/HTMLPrint.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Rewrite/HTMLRewrite.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Rewrite/InclusionRewriter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Rewrite/RewriteMacros.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Rewrite/RewriteModernObjC.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Rewrite/RewriteObjC.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Rewrite/RewriteRope.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Rewrite/RewriteTest.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Rewrite/Rewriter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Rewrite/TokenRewriter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AdjustedReturnValueChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/OSAtomicChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicConstraintManager.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Tooling/CommandLineClangTool.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Tooling/CustomCompilationDatabase.h projects/bhyve/lib/clang/libclangrewrite/ Modified: projects/bhyve/Makefile.inc1 projects/bhyve/ObsoleteFiles.inc projects/bhyve/UPDATING projects/bhyve/cddl/contrib/opensolaris/cmd/zfs/zfs.8 projects/bhyve/cddl/contrib/opensolaris/cmd/zpool/zpool.8 projects/bhyve/cddl/contrib/opensolaris/cmd/ztest/ztest.c projects/bhyve/contrib/less/NEWS projects/bhyve/contrib/less/README projects/bhyve/contrib/less/configure.ac projects/bhyve/contrib/less/defines.h.in projects/bhyve/contrib/less/less.man projects/bhyve/contrib/less/less.nro projects/bhyve/contrib/less/lessecho.man projects/bhyve/contrib/less/lessecho.nro projects/bhyve/contrib/less/lesskey.man projects/bhyve/contrib/less/lesskey.nro projects/bhyve/contrib/less/option.c projects/bhyve/contrib/less/version.c projects/bhyve/contrib/libc++/include/__config projects/bhyve/contrib/libc++/include/cstdlib projects/bhyve/contrib/libc++/include/cwchar projects/bhyve/contrib/libc++/include/exception projects/bhyve/contrib/libc++/include/iterator projects/bhyve/contrib/libc++/include/locale projects/bhyve/contrib/llvm/include/llvm-c/Core.h projects/bhyve/contrib/llvm/include/llvm-c/Disassembler.h projects/bhyve/contrib/llvm/include/llvm-c/Target.h projects/bhyve/contrib/llvm/include/llvm-c/TargetMachine.h projects/bhyve/contrib/llvm/include/llvm-c/Transforms/Vectorize.h projects/bhyve/contrib/llvm/include/llvm/ADT/APFloat.h projects/bhyve/contrib/llvm/include/llvm/ADT/APInt.h projects/bhyve/contrib/llvm/include/llvm/ADT/ArrayRef.h projects/bhyve/contrib/llvm/include/llvm/ADT/BitVector.h projects/bhyve/contrib/llvm/include/llvm/ADT/DAGDeltaAlgorithm.h projects/bhyve/contrib/llvm/include/llvm/ADT/DeltaAlgorithm.h projects/bhyve/contrib/llvm/include/llvm/ADT/DenseMap.h projects/bhyve/contrib/llvm/include/llvm/ADT/DenseMapInfo.h projects/bhyve/contrib/llvm/include/llvm/ADT/EquivalenceClasses.h projects/bhyve/contrib/llvm/include/llvm/ADT/FoldingSet.h projects/bhyve/contrib/llvm/include/llvm/ADT/Hashing.h projects/bhyve/contrib/llvm/include/llvm/ADT/ImmutableList.h projects/bhyve/contrib/llvm/include/llvm/ADT/ImmutableMap.h projects/bhyve/contrib/llvm/include/llvm/ADT/ImmutableSet.h projects/bhyve/contrib/llvm/include/llvm/ADT/Optional.h projects/bhyve/contrib/llvm/include/llvm/ADT/OwningPtr.h projects/bhyve/contrib/llvm/include/llvm/ADT/PackedVector.h projects/bhyve/contrib/llvm/include/llvm/ADT/PointerIntPair.h projects/bhyve/contrib/llvm/include/llvm/ADT/ScopedHashTable.h projects/bhyve/contrib/llvm/include/llvm/ADT/SetVector.h projects/bhyve/contrib/llvm/include/llvm/ADT/SmallBitVector.h projects/bhyve/contrib/llvm/include/llvm/ADT/SmallPtrSet.h projects/bhyve/contrib/llvm/include/llvm/ADT/SmallString.h projects/bhyve/contrib/llvm/include/llvm/ADT/SmallVector.h projects/bhyve/contrib/llvm/include/llvm/ADT/SparseBitVector.h projects/bhyve/contrib/llvm/include/llvm/ADT/SparseSet.h projects/bhyve/contrib/llvm/include/llvm/ADT/StringExtras.h projects/bhyve/contrib/llvm/include/llvm/ADT/StringRef.h projects/bhyve/contrib/llvm/include/llvm/ADT/StringSet.h projects/bhyve/contrib/llvm/include/llvm/ADT/Triple.h projects/bhyve/contrib/llvm/include/llvm/ADT/Twine.h projects/bhyve/contrib/llvm/include/llvm/ADT/ValueMap.h projects/bhyve/contrib/llvm/include/llvm/ADT/ilist.h projects/bhyve/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h projects/bhyve/contrib/llvm/include/llvm/Analysis/AliasSetTracker.h projects/bhyve/contrib/llvm/include/llvm/Analysis/BranchProbabilityInfo.h projects/bhyve/contrib/llvm/include/llvm/Analysis/CallGraph.h projects/bhyve/contrib/llvm/include/llvm/Analysis/CaptureTracking.h projects/bhyve/contrib/llvm/include/llvm/Analysis/CodeMetrics.h projects/bhyve/contrib/llvm/include/llvm/Analysis/ConstantFolding.h projects/bhyve/contrib/llvm/include/llvm/Analysis/Dominators.h projects/bhyve/contrib/llvm/include/llvm/Analysis/IVUsers.h projects/bhyve/contrib/llvm/include/llvm/Analysis/InlineCost.h projects/bhyve/contrib/llvm/include/llvm/Analysis/InstructionSimplify.h projects/bhyve/contrib/llvm/include/llvm/Analysis/IntervalPartition.h projects/bhyve/contrib/llvm/include/llvm/Analysis/LazyValueInfo.h projects/bhyve/contrib/llvm/include/llvm/Analysis/Loads.h projects/bhyve/contrib/llvm/include/llvm/Analysis/LoopInfo.h projects/bhyve/contrib/llvm/include/llvm/Analysis/LoopInfoImpl.h projects/bhyve/contrib/llvm/include/llvm/Analysis/MemoryBuiltins.h projects/bhyve/contrib/llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h projects/bhyve/contrib/llvm/include/llvm/Analysis/PHITransAddr.h projects/bhyve/contrib/llvm/include/llvm/Analysis/Passes.h projects/bhyve/contrib/llvm/include/llvm/Analysis/ProfileInfoTypes.h projects/bhyve/contrib/llvm/include/llvm/Analysis/RegionInfo.h projects/bhyve/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h projects/bhyve/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h projects/bhyve/contrib/llvm/include/llvm/Analysis/SparsePropagation.h projects/bhyve/contrib/llvm/include/llvm/Analysis/ValueTracking.h projects/bhyve/contrib/llvm/include/llvm/Argument.h projects/bhyve/contrib/llvm/include/llvm/Attributes.h projects/bhyve/contrib/llvm/include/llvm/BasicBlock.h projects/bhyve/contrib/llvm/include/llvm/Bitcode/Archive.h projects/bhyve/contrib/llvm/include/llvm/Bitcode/BitstreamReader.h projects/bhyve/contrib/llvm/include/llvm/Bitcode/BitstreamWriter.h projects/bhyve/contrib/llvm/include/llvm/Bitcode/LLVMBitCodes.h projects/bhyve/contrib/llvm/include/llvm/CallingConv.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/FastISel.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/GCMetadata.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/GCMetadataPrinter.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/IntrinsicLowering.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/LiveInterval.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/LiveVariables.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineBranchProbabilityInfo.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineConstantPool.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineFunction.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineInstr.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineInstrBundle.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineJumpTableInfo.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineLoopInfo.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineMemOperand.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineOperand.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineRegisterInfo.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineSSAUpdater.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/MachineScheduler.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/PBQP/Graph.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/PBQP/HeuristicBase.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/Passes.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/PseudoSourceValue.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/RegAllocPBQP.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/RegisterClassInfo.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/RegisterPressure.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/RegisterScavenging.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/ScheduleDAG.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/SchedulerRegistry.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/ValueTypes.h projects/bhyve/contrib/llvm/include/llvm/CodeGen/ValueTypes.td projects/bhyve/contrib/llvm/include/llvm/Constant.h projects/bhyve/contrib/llvm/include/llvm/Constants.h projects/bhyve/contrib/llvm/include/llvm/DIBuilder.h projects/bhyve/contrib/llvm/include/llvm/DebugInfo.h projects/bhyve/contrib/llvm/include/llvm/DebugInfo/DIContext.h projects/bhyve/contrib/llvm/include/llvm/DefaultPasses.h projects/bhyve/contrib/llvm/include/llvm/DerivedTypes.h projects/bhyve/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h projects/bhyve/contrib/llvm/include/llvm/ExecutionEngine/JITEventListener.h projects/bhyve/contrib/llvm/include/llvm/ExecutionEngine/JITMemoryManager.h projects/bhyve/contrib/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h projects/bhyve/contrib/llvm/include/llvm/Function.h projects/bhyve/contrib/llvm/include/llvm/GlobalAlias.h projects/bhyve/contrib/llvm/include/llvm/GlobalValue.h projects/bhyve/contrib/llvm/include/llvm/GlobalVariable.h projects/bhyve/contrib/llvm/include/llvm/IRBuilder.h projects/bhyve/contrib/llvm/include/llvm/InitializePasses.h projects/bhyve/contrib/llvm/include/llvm/InlineAsm.h projects/bhyve/contrib/llvm/include/llvm/InstrTypes.h projects/bhyve/contrib/llvm/include/llvm/Instruction.h projects/bhyve/contrib/llvm/include/llvm/Instructions.h projects/bhyve/contrib/llvm/include/llvm/IntrinsicInst.h projects/bhyve/contrib/llvm/include/llvm/Intrinsics.h projects/bhyve/contrib/llvm/include/llvm/Intrinsics.td projects/bhyve/contrib/llvm/include/llvm/IntrinsicsARM.td projects/bhyve/contrib/llvm/include/llvm/IntrinsicsMips.td projects/bhyve/contrib/llvm/include/llvm/IntrinsicsX86.td projects/bhyve/contrib/llvm/include/llvm/LLVMContext.h projects/bhyve/contrib/llvm/include/llvm/LinkAllPasses.h projects/bhyve/contrib/llvm/include/llvm/MC/MCAsmBackend.h projects/bhyve/contrib/llvm/include/llvm/MC/MCAsmInfo.h projects/bhyve/contrib/llvm/include/llvm/MC/MCAssembler.h projects/bhyve/contrib/llvm/include/llvm/MC/MCCodeEmitter.h projects/bhyve/contrib/llvm/include/llvm/MC/MCContext.h projects/bhyve/contrib/llvm/include/llvm/MC/MCDwarf.h projects/bhyve/contrib/llvm/include/llvm/MC/MCELFObjectWriter.h projects/bhyve/contrib/llvm/include/llvm/MC/MCExpr.h projects/bhyve/contrib/llvm/include/llvm/MC/MCInst.h projects/bhyve/contrib/llvm/include/llvm/MC/MCInstPrinter.h projects/bhyve/contrib/llvm/include/llvm/MC/MCInstrDesc.h projects/bhyve/contrib/llvm/include/llvm/MC/MCLabel.h projects/bhyve/contrib/llvm/include/llvm/MC/MCMachObjectWriter.h projects/bhyve/contrib/llvm/include/llvm/MC/MCObjectFileInfo.h projects/bhyve/contrib/llvm/include/llvm/MC/MCObjectStreamer.h projects/bhyve/contrib/llvm/include/llvm/MC/MCObjectWriter.h projects/bhyve/contrib/llvm/include/llvm/MC/MCParser/AsmLexer.h projects/bhyve/contrib/llvm/include/llvm/MC/MCParser/MCAsmLexer.h projects/bhyve/contrib/llvm/include/llvm/MC/MCParser/MCAsmParser.h projects/bhyve/contrib/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h projects/bhyve/contrib/llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h projects/bhyve/contrib/llvm/include/llvm/MC/MCRegisterInfo.h projects/bhyve/contrib/llvm/include/llvm/MC/MCSchedule.h projects/bhyve/contrib/llvm/include/llvm/MC/MCSection.h projects/bhyve/contrib/llvm/include/llvm/MC/MCSectionCOFF.h projects/bhyve/contrib/llvm/include/llvm/MC/MCSectionELF.h projects/bhyve/contrib/llvm/include/llvm/MC/MCSectionMachO.h projects/bhyve/contrib/llvm/include/llvm/MC/MCStreamer.h projects/bhyve/contrib/llvm/include/llvm/MC/MCSubtargetInfo.h projects/bhyve/contrib/llvm/include/llvm/MC/MCSymbol.h projects/bhyve/contrib/llvm/include/llvm/MC/MCTargetAsmLexer.h projects/bhyve/contrib/llvm/include/llvm/MC/MCTargetAsmParser.h projects/bhyve/contrib/llvm/include/llvm/MC/MCValue.h projects/bhyve/contrib/llvm/include/llvm/MC/SubtargetFeature.h projects/bhyve/contrib/llvm/include/llvm/MDBuilder.h projects/bhyve/contrib/llvm/include/llvm/Metadata.h projects/bhyve/contrib/llvm/include/llvm/Object/Archive.h projects/bhyve/contrib/llvm/include/llvm/Object/Binary.h projects/bhyve/contrib/llvm/include/llvm/Object/COFF.h projects/bhyve/contrib/llvm/include/llvm/Object/ELF.h projects/bhyve/contrib/llvm/include/llvm/Object/MachO.h projects/bhyve/contrib/llvm/include/llvm/Object/MachOFormat.h projects/bhyve/contrib/llvm/include/llvm/Object/ObjectFile.h projects/bhyve/contrib/llvm/include/llvm/Operator.h projects/bhyve/contrib/llvm/include/llvm/Pass.h projects/bhyve/contrib/llvm/include/llvm/PassAnalysisSupport.h projects/bhyve/contrib/llvm/include/llvm/PassSupport.h projects/bhyve/contrib/llvm/include/llvm/Support/AlignOf.h projects/bhyve/contrib/llvm/include/llvm/Support/Allocator.h projects/bhyve/contrib/llvm/include/llvm/Support/CallSite.h projects/bhyve/contrib/llvm/include/llvm/Support/Casting.h projects/bhyve/contrib/llvm/include/llvm/Support/CommandLine.h projects/bhyve/contrib/llvm/include/llvm/Support/Compiler.h projects/bhyve/contrib/llvm/include/llvm/Support/DataExtractor.h projects/bhyve/contrib/llvm/include/llvm/Support/ELF.h projects/bhyve/contrib/llvm/include/llvm/Support/FileOutputBuffer.h projects/bhyve/contrib/llvm/include/llvm/Support/FileSystem.h projects/bhyve/contrib/llvm/include/llvm/Support/Format.h projects/bhyve/contrib/llvm/include/llvm/Support/FormattedStream.h projects/bhyve/contrib/llvm/include/llvm/Support/GCOV.h projects/bhyve/contrib/llvm/include/llvm/Support/InstVisitor.h projects/bhyve/contrib/llvm/include/llvm/Support/IntegersSubset.h projects/bhyve/contrib/llvm/include/llvm/Support/IntegersSubsetMapping.h projects/bhyve/contrib/llvm/include/llvm/Support/LEB128.h projects/bhyve/contrib/llvm/include/llvm/Support/LockFileManager.h projects/bhyve/contrib/llvm/include/llvm/Support/MathExtras.h projects/bhyve/contrib/llvm/include/llvm/Support/Memory.h projects/bhyve/contrib/llvm/include/llvm/Support/MemoryBuffer.h projects/bhyve/contrib/llvm/include/llvm/Support/Mutex.h projects/bhyve/contrib/llvm/include/llvm/Support/MutexGuard.h projects/bhyve/contrib/llvm/include/llvm/Support/PathV1.h projects/bhyve/contrib/llvm/include/llvm/Support/PathV2.h projects/bhyve/contrib/llvm/include/llvm/Support/PrettyStackTrace.h projects/bhyve/contrib/llvm/include/llvm/Support/Program.h projects/bhyve/contrib/llvm/include/llvm/Support/RWMutex.h projects/bhyve/contrib/llvm/include/llvm/Support/Regex.h projects/bhyve/contrib/llvm/include/llvm/Support/Registry.h projects/bhyve/contrib/llvm/include/llvm/Support/SourceMgr.h projects/bhyve/contrib/llvm/include/llvm/Support/StreamableMemoryObject.h projects/bhyve/contrib/llvm/include/llvm/Support/TargetFolder.h projects/bhyve/contrib/llvm/include/llvm/Support/TargetRegistry.h projects/bhyve/contrib/llvm/include/llvm/Support/Threading.h projects/bhyve/contrib/llvm/include/llvm/Support/TimeValue.h projects/bhyve/contrib/llvm/include/llvm/Support/Timer.h projects/bhyve/contrib/llvm/include/llvm/Support/ValueHandle.h projects/bhyve/contrib/llvm/include/llvm/Support/YAMLParser.h projects/bhyve/contrib/llvm/include/llvm/Support/circular_raw_ostream.h projects/bhyve/contrib/llvm/include/llvm/Support/raw_os_ostream.h projects/bhyve/contrib/llvm/include/llvm/Support/raw_ostream.h projects/bhyve/contrib/llvm/include/llvm/Support/system_error.h projects/bhyve/contrib/llvm/include/llvm/Support/type_traits.h projects/bhyve/contrib/llvm/include/llvm/SymbolTableListTraits.h projects/bhyve/contrib/llvm/include/llvm/TableGen/Error.h projects/bhyve/contrib/llvm/include/llvm/TableGen/Main.h projects/bhyve/contrib/llvm/include/llvm/TableGen/Record.h projects/bhyve/contrib/llvm/include/llvm/Target/Mangler.h projects/bhyve/contrib/llvm/include/llvm/Target/Target.td projects/bhyve/contrib/llvm/include/llvm/Target/TargetCallingConv.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetInstrInfo.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetIntrinsicInfo.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetLibraryInfo.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetLowering.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetLoweringObjectFile.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetMachine.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetOpcodes.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetOptions.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetRegisterInfo.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetSchedule.td projects/bhyve/contrib/llvm/include/llvm/Target/TargetSelectionDAG.td projects/bhyve/contrib/llvm/include/llvm/Target/TargetSelectionDAGInfo.h projects/bhyve/contrib/llvm/include/llvm/Target/TargetSubtargetInfo.h projects/bhyve/contrib/llvm/include/llvm/Transforms/IPO.h projects/bhyve/contrib/llvm/include/llvm/Transforms/IPO/InlinerPass.h projects/bhyve/contrib/llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h projects/bhyve/contrib/llvm/include/llvm/Transforms/Instrumentation.h projects/bhyve/contrib/llvm/include/llvm/Transforms/Scalar.h projects/bhyve/contrib/llvm/include/llvm/Transforms/Utils/AddrModeMatcher.h projects/bhyve/contrib/llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h projects/bhyve/contrib/llvm/include/llvm/Transforms/Utils/BuildLibCalls.h projects/bhyve/contrib/llvm/include/llvm/Transforms/Utils/Cloning.h projects/bhyve/contrib/llvm/include/llvm/Transforms/Utils/Local.h projects/bhyve/contrib/llvm/include/llvm/Transforms/Utils/SSAUpdater.h projects/bhyve/contrib/llvm/include/llvm/Transforms/Utils/SimplifyIndVar.h projects/bhyve/contrib/llvm/include/llvm/Transforms/Utils/ValueMapper.h projects/bhyve/contrib/llvm/include/llvm/Transforms/Vectorize.h projects/bhyve/contrib/llvm/include/llvm/Type.h projects/bhyve/contrib/llvm/include/llvm/Use.h projects/bhyve/contrib/llvm/include/llvm/User.h projects/bhyve/contrib/llvm/include/llvm/Value.h projects/bhyve/contrib/llvm/lib/Analysis/AliasAnalysis.cpp projects/bhyve/contrib/llvm/lib/Analysis/AliasSetTracker.cpp projects/bhyve/contrib/llvm/lib/Analysis/Analysis.cpp projects/bhyve/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp projects/bhyve/contrib/llvm/lib/Analysis/BranchProbabilityInfo.cpp projects/bhyve/contrib/llvm/lib/Analysis/CaptureTracking.cpp projects/bhyve/contrib/llvm/lib/Analysis/CodeMetrics.cpp projects/bhyve/contrib/llvm/lib/Analysis/ConstantFolding.cpp projects/bhyve/contrib/llvm/lib/Analysis/DominanceFrontier.cpp projects/bhyve/contrib/llvm/lib/Analysis/IPA/CallGraph.cpp projects/bhyve/contrib/llvm/lib/Analysis/IPA/GlobalsModRef.cpp projects/bhyve/contrib/llvm/lib/Analysis/IVUsers.cpp projects/bhyve/contrib/llvm/lib/Analysis/InlineCost.cpp projects/bhyve/contrib/llvm/lib/Analysis/InstructionSimplify.cpp projects/bhyve/contrib/llvm/lib/Analysis/LazyValueInfo.cpp projects/bhyve/contrib/llvm/lib/Analysis/Lint.cpp projects/bhyve/contrib/llvm/lib/Analysis/Loads.cpp projects/bhyve/contrib/llvm/lib/Analysis/LoopInfo.cpp projects/bhyve/contrib/llvm/lib/Analysis/MemoryBuiltins.cpp projects/bhyve/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp projects/bhyve/contrib/llvm/lib/Analysis/NoAliasAnalysis.cpp projects/bhyve/contrib/llvm/lib/Analysis/PHITransAddr.cpp projects/bhyve/contrib/llvm/lib/Analysis/ProfileEstimatorPass.cpp projects/bhyve/contrib/llvm/lib/Analysis/ProfileInfo.cpp projects/bhyve/contrib/llvm/lib/Analysis/RegionInfo.cpp projects/bhyve/contrib/llvm/lib/Analysis/RegionPass.cpp projects/bhyve/contrib/llvm/lib/Analysis/ScalarEvolution.cpp projects/bhyve/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp projects/bhyve/contrib/llvm/lib/Analysis/Trace.cpp projects/bhyve/contrib/llvm/lib/Analysis/ValueTracking.cpp projects/bhyve/contrib/llvm/lib/Archive/ArchiveInternals.h projects/bhyve/contrib/llvm/lib/Archive/ArchiveReader.cpp projects/bhyve/contrib/llvm/lib/AsmParser/LLLexer.cpp projects/bhyve/contrib/llvm/lib/AsmParser/LLParser.cpp projects/bhyve/contrib/llvm/lib/AsmParser/LLParser.h projects/bhyve/contrib/llvm/lib/AsmParser/LLToken.h projects/bhyve/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp projects/bhyve/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.h projects/bhyve/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp projects/bhyve/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.h projects/bhyve/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AllocationOrder.cpp projects/bhyve/contrib/llvm/lib/CodeGen/Analysis.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.h projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.h projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.h projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp projects/bhyve/contrib/llvm/lib/CodeGen/AsmPrinter/Win64Exception.cpp projects/bhyve/contrib/llvm/lib/CodeGen/BranchFolding.cpp projects/bhyve/contrib/llvm/lib/CodeGen/CalcSpillWeights.cpp projects/bhyve/contrib/llvm/lib/CodeGen/CallingConvLower.cpp projects/bhyve/contrib/llvm/lib/CodeGen/CodeGen.cpp projects/bhyve/contrib/llvm/lib/CodeGen/CodePlacementOpt.cpp projects/bhyve/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp projects/bhyve/contrib/llvm/lib/CodeGen/DeadMachineInstructionElim.cpp projects/bhyve/contrib/llvm/lib/CodeGen/EarlyIfConversion.cpp projects/bhyve/contrib/llvm/lib/CodeGen/ExecutionDepsFix.cpp projects/bhyve/contrib/llvm/lib/CodeGen/ExpandPostRAPseudos.cpp projects/bhyve/contrib/llvm/lib/CodeGen/GCStrategy.cpp projects/bhyve/contrib/llvm/lib/CodeGen/IfConversion.cpp projects/bhyve/contrib/llvm/lib/CodeGen/InlineSpiller.cpp projects/bhyve/contrib/llvm/lib/CodeGen/IntrinsicLowering.cpp projects/bhyve/contrib/llvm/lib/CodeGen/LiveDebugVariables.cpp projects/bhyve/contrib/llvm/lib/CodeGen/LiveInterval.cpp projects/bhyve/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp projects/bhyve/contrib/llvm/lib/CodeGen/LiveIntervalUnion.h projects/bhyve/contrib/llvm/lib/CodeGen/LiveRangeCalc.cpp projects/bhyve/contrib/llvm/lib/CodeGen/LiveRangeEdit.cpp projects/bhyve/contrib/llvm/lib/CodeGen/LiveRegMatrix.cpp projects/bhyve/contrib/llvm/lib/CodeGen/LiveRegMatrix.h projects/bhyve/contrib/llvm/lib/CodeGen/LiveStackAnalysis.cpp projects/bhyve/contrib/llvm/lib/CodeGen/LiveVariables.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineBlockPlacement.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineCSE.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineCopyPropagation.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineFunction.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineInstr.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineInstrBundle.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineLICM.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineLoopInfo.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineModuleInfo.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineModuleInfoImpls.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineScheduler.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineSink.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineTraceMetrics.cpp projects/bhyve/contrib/llvm/lib/CodeGen/MachineTraceMetrics.h projects/bhyve/contrib/llvm/lib/CodeGen/MachineVerifier.cpp projects/bhyve/contrib/llvm/lib/CodeGen/Passes.cpp projects/bhyve/contrib/llvm/lib/CodeGen/PeepholeOptimizer.cpp projects/bhyve/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp projects/bhyve/contrib/llvm/lib/CodeGen/ProcessImplicitDefs.cpp projects/bhyve/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp projects/bhyve/contrib/llvm/lib/CodeGen/RegAllocBasic.cpp projects/bhyve/contrib/llvm/lib/CodeGen/RegAllocFast.cpp projects/bhyve/contrib/llvm/lib/CodeGen/RegAllocGreedy.cpp projects/bhyve/contrib/llvm/lib/CodeGen/RegAllocPBQP.cpp projects/bhyve/contrib/llvm/lib/CodeGen/RegisterClassInfo.cpp projects/bhyve/contrib/llvm/lib/CodeGen/RegisterCoalescer.cpp projects/bhyve/contrib/llvm/lib/CodeGen/RegisterCoalescer.h projects/bhyve/contrib/llvm/lib/CodeGen/RegisterPressure.cpp projects/bhyve/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp projects/bhyve/contrib/llvm/lib/CodeGen/ScheduleDAG.cpp projects/bhyve/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp projects/bhyve/contrib/llvm/lib/CodeGen/ScheduleDAGPrinter.cpp projects/bhyve/contrib/llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/SDNodeOrdering.h projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SelectionDAG/TargetSelectionDAGInfo.cpp projects/bhyve/contrib/llvm/lib/CodeGen/ShrinkWrapping.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SjLjEHPrepare.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SlotIndexes.cpp projects/bhyve/contrib/llvm/lib/CodeGen/SplitKit.cpp projects/bhyve/contrib/llvm/lib/CodeGen/StackProtector.cpp projects/bhyve/contrib/llvm/lib/CodeGen/StackSlotColoring.cpp projects/bhyve/contrib/llvm/lib/CodeGen/StrongPHIElimination.cpp projects/bhyve/contrib/llvm/lib/CodeGen/TailDuplication.cpp projects/bhyve/contrib/llvm/lib/CodeGen/TargetInstrInfoImpl.cpp projects/bhyve/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp projects/bhyve/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp projects/bhyve/contrib/llvm/lib/CodeGen/VirtRegMap.cpp projects/bhyve/contrib/llvm/lib/CodeGen/VirtRegMap.h projects/bhyve/contrib/llvm/lib/DebugInfo/DIContext.cpp projects/bhyve/contrib/llvm/lib/DebugInfo/DWARFCompileUnit.cpp projects/bhyve/contrib/llvm/lib/DebugInfo/DWARFCompileUnit.h projects/bhyve/contrib/llvm/lib/DebugInfo/DWARFContext.cpp projects/bhyve/contrib/llvm/lib/DebugInfo/DWARFContext.h projects/bhyve/contrib/llvm/lib/DebugInfo/DWARFDebugAranges.cpp projects/bhyve/contrib/llvm/lib/DebugInfo/DWARFDebugInfoEntry.cpp projects/bhyve/contrib/llvm/lib/DebugInfo/DWARFDebugInfoEntry.h projects/bhyve/contrib/llvm/lib/DebugInfo/DWARFDebugLine.cpp projects/bhyve/contrib/llvm/lib/DebugInfo/DWARFDebugLine.h projects/bhyve/contrib/llvm/lib/DebugInfo/DWARFFormValue.cpp projects/bhyve/contrib/llvm/lib/DebugInfo/DWARFFormValue.h projects/bhyve/contrib/llvm/lib/ExecutionEngine/ExecutionEngine.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h projects/bhyve/contrib/llvm/lib/ExecutionEngine/JIT/JIT.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.h projects/bhyve/contrib/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h projects/bhyve/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/JITRegistrar.h projects/bhyve/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h projects/bhyve/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h projects/bhyve/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp projects/bhyve/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h projects/bhyve/contrib/llvm/lib/ExecutionEngine/TargetSelect.cpp projects/bhyve/contrib/llvm/lib/MC/ELFObjectWriter.cpp projects/bhyve/contrib/llvm/lib/MC/MCAsmBackend.cpp projects/bhyve/contrib/llvm/lib/MC/MCAsmInfo.cpp projects/bhyve/contrib/llvm/lib/MC/MCAsmInfoCOFF.cpp projects/bhyve/contrib/llvm/lib/MC/MCAsmInfoDarwin.cpp projects/bhyve/contrib/llvm/lib/MC/MCAsmStreamer.cpp projects/bhyve/contrib/llvm/lib/MC/MCAssembler.cpp projects/bhyve/contrib/llvm/lib/MC/MCContext.cpp projects/bhyve/contrib/llvm/lib/MC/MCDisassembler/Disassembler.cpp projects/bhyve/contrib/llvm/lib/MC/MCDisassembler/EDDisassembler.cpp projects/bhyve/contrib/llvm/lib/MC/MCDwarf.cpp projects/bhyve/contrib/llvm/lib/MC/MCELFObjectTargetWriter.cpp projects/bhyve/contrib/llvm/lib/MC/MCELFStreamer.cpp projects/bhyve/contrib/llvm/lib/MC/MCExpr.cpp projects/bhyve/contrib/llvm/lib/MC/MCInst.cpp projects/bhyve/contrib/llvm/lib/MC/MCInstPrinter.cpp projects/bhyve/contrib/llvm/lib/MC/MCLabel.cpp projects/bhyve/contrib/llvm/lib/MC/MCMachOStreamer.cpp projects/bhyve/contrib/llvm/lib/MC/MCObjectFileInfo.cpp projects/bhyve/contrib/llvm/lib/MC/MCObjectStreamer.cpp projects/bhyve/contrib/llvm/lib/MC/MCParser/AsmLexer.cpp projects/bhyve/contrib/llvm/lib/MC/MCParser/AsmParser.cpp projects/bhyve/contrib/llvm/lib/MC/MCParser/ELFAsmParser.cpp projects/bhyve/contrib/llvm/lib/MC/MCParser/MCAsmLexer.cpp projects/bhyve/contrib/llvm/lib/MC/MCParser/MCAsmParser.cpp projects/bhyve/contrib/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp projects/bhyve/contrib/llvm/lib/MC/MCRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/MC/MCStreamer.cpp projects/bhyve/contrib/llvm/lib/MC/MCSubtargetInfo.cpp projects/bhyve/contrib/llvm/lib/MC/MCSymbol.cpp projects/bhyve/contrib/llvm/lib/MC/MCValue.cpp projects/bhyve/contrib/llvm/lib/MC/MachObjectWriter.cpp projects/bhyve/contrib/llvm/lib/MC/SubtargetFeature.cpp projects/bhyve/contrib/llvm/lib/MC/WinCOFFStreamer.cpp projects/bhyve/contrib/llvm/lib/Object/COFFObjectFile.cpp projects/bhyve/contrib/llvm/lib/Object/MachOObjectFile.cpp projects/bhyve/contrib/llvm/lib/Support/APFloat.cpp projects/bhyve/contrib/llvm/lib/Support/Atomic.cpp projects/bhyve/contrib/llvm/lib/Support/CommandLine.cpp projects/bhyve/contrib/llvm/lib/Support/DAGDeltaAlgorithm.cpp projects/bhyve/contrib/llvm/lib/Support/DataExtractor.cpp projects/bhyve/contrib/llvm/lib/Support/DataStream.cpp projects/bhyve/contrib/llvm/lib/Support/DynamicLibrary.cpp projects/bhyve/contrib/llvm/lib/Support/Errno.cpp projects/bhyve/contrib/llvm/lib/Support/FoldingSet.cpp projects/bhyve/contrib/llvm/lib/Support/Host.cpp projects/bhyve/contrib/llvm/lib/Support/LockFileManager.cpp projects/bhyve/contrib/llvm/lib/Support/Memory.cpp projects/bhyve/contrib/llvm/lib/Support/MemoryBuffer.cpp projects/bhyve/contrib/llvm/lib/Support/SmallVector.cpp projects/bhyve/contrib/llvm/lib/Support/StreamableMemoryObject.cpp projects/bhyve/contrib/llvm/lib/Support/StringMap.cpp projects/bhyve/contrib/llvm/lib/Support/StringRef.cpp projects/bhyve/contrib/llvm/lib/Support/Triple.cpp projects/bhyve/contrib/llvm/lib/Support/Unix/Memory.inc projects/bhyve/contrib/llvm/lib/Support/Unix/Path.inc projects/bhyve/contrib/llvm/lib/Support/Unix/Signals.inc projects/bhyve/contrib/llvm/lib/Support/Windows/Memory.inc projects/bhyve/contrib/llvm/lib/Support/Windows/PathV2.inc projects/bhyve/contrib/llvm/lib/Support/YAMLParser.cpp projects/bhyve/contrib/llvm/lib/Support/raw_ostream.cpp projects/bhyve/contrib/llvm/lib/Support/regexec.c projects/bhyve/contrib/llvm/lib/Support/system_error.cpp projects/bhyve/contrib/llvm/lib/TableGen/Error.cpp projects/bhyve/contrib/llvm/lib/TableGen/Main.cpp projects/bhyve/contrib/llvm/lib/TableGen/Record.cpp projects/bhyve/contrib/llvm/lib/TableGen/TGParser.cpp projects/bhyve/contrib/llvm/lib/TableGen/TGParser.h projects/bhyve/contrib/llvm/lib/Target/ARM/ARM.h projects/bhyve/contrib/llvm/lib/Target/ARM/ARM.td projects/bhyve/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.h projects/bhyve/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.h projects/bhyve/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/ARM/ARMCallingConv.td projects/bhyve/contrib/llvm/lib/Target/ARM/ARMCodeEmitter.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMConstantPoolValue.h projects/bhyve/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMFastISel.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMFrameLowering.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMHazardRecognizer.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMISelLowering.h projects/bhyve/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td projects/bhyve/contrib/llvm/lib/Target/ARM/ARMInstrInfo.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td projects/bhyve/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td projects/bhyve/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td projects/bhyve/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td projects/bhyve/contrib/llvm/lib/Target/ARM/ARMInstrVFP.td projects/bhyve/contrib/llvm/lib/Target/ARM/ARMJITInfo.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMMachineFunctionInfo.h projects/bhyve/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.td projects/bhyve/contrib/llvm/lib/Target/ARM/ARMSchedule.td projects/bhyve/contrib/llvm/lib/Target/ARM/ARMScheduleA9.td projects/bhyve/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMSubtarget.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMSubtarget.h projects/bhyve/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/ARMTargetMachine.h projects/bhyve/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.h projects/bhyve/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h projects/bhyve/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp projects/bhyve/contrib/llvm/lib/Target/ARM/MLxExpansionPass.cpp projects/bhyve/contrib/llvm/lib/Target/CellSPU/SPUAsmPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/CellSPU/SPUFrameLowering.cpp projects/bhyve/contrib/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp projects/bhyve/contrib/llvm/lib/Target/CellSPU/SPUSubtarget.h projects/bhyve/contrib/llvm/lib/Target/CellSPU/SPUTargetMachine.cpp projects/bhyve/contrib/llvm/lib/Target/CellSPU/SPUTargetMachine.h projects/bhyve/contrib/llvm/lib/Target/CppBackend/CPPBackend.cpp projects/bhyve/contrib/llvm/lib/Target/CppBackend/CPPTargetMachine.h projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonCallingConvLower.cpp projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonInstrFormats.td projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.td projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonPeephole.cpp projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonRemoveSZExtArgs.cpp projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonSchedule.td projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonScheduleV4.td projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonTargetMachine.h projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp projects/bhyve/contrib/llvm/lib/Target/Hexagon/HexagonVarargsCallingConvention.h projects/bhyve/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp projects/bhyve/contrib/llvm/lib/Target/MBlaze/AsmParser/MBlazeAsmParser.cpp projects/bhyve/contrib/llvm/lib/Target/MBlaze/MBlazeAsmPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/MBlaze/MBlazeFrameLowering.cpp projects/bhyve/contrib/llvm/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp projects/bhyve/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/MBlaze/MBlazeTargetMachine.cpp projects/bhyve/contrib/llvm/lib/Target/MBlaze/MBlazeTargetMachine.h projects/bhyve/contrib/llvm/lib/Target/MBlaze/MBlazeTargetObjectFile.cpp projects/bhyve/contrib/llvm/lib/Target/MBlaze/MCTargetDesc/MBlazeMCCodeEmitter.cpp projects/bhyve/contrib/llvm/lib/Target/MSP430/MSP430FrameLowering.cpp projects/bhyve/contrib/llvm/lib/Target/MSP430/MSP430FrameLowering.h projects/bhyve/contrib/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp projects/bhyve/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.h projects/bhyve/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/MSP430/MSP430TargetMachine.cpp projects/bhyve/contrib/llvm/lib/Target/MSP430/MSP430TargetMachine.h projects/bhyve/contrib/llvm/lib/Target/Mangler.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h projects/bhyve/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/Mips.td projects/bhyve/contrib/llvm/lib/Target/Mips/Mips16FrameLowering.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/Mips16FrameLowering.h projects/bhyve/contrib/llvm/lib/Target/Mips/Mips16InstrInfo.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/Mips16InstrInfo.h projects/bhyve/contrib/llvm/lib/Target/Mips/Mips16InstrInfo.td projects/bhyve/contrib/llvm/lib/Target/Mips/Mips16RegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/Mips16RegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/Mips/Mips64InstrInfo.td projects/bhyve/contrib/llvm/lib/Target/Mips/MipsAnalyzeImmediate.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.h projects/bhyve/contrib/llvm/lib/Target/Mips/MipsCallingConv.td projects/bhyve/contrib/llvm/lib/Target/Mips/MipsCodeEmitter.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsFrameLowering.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsFrameLowering.h projects/bhyve/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsISelLowering.h projects/bhyve/contrib/llvm/lib/Target/Mips/MipsInstrFPU.td projects/bhyve/contrib/llvm/lib/Target/Mips/MipsInstrFormats.td projects/bhyve/contrib/llvm/lib/Target/Mips/MipsInstrInfo.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsInstrInfo.h projects/bhyve/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td projects/bhyve/contrib/llvm/lib/Target/Mips/MipsLongBranch.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsMCInstLower.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsMCInstLower.h projects/bhyve/contrib/llvm/lib/Target/Mips/MipsMachineFunction.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsMachineFunction.h projects/bhyve/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.td projects/bhyve/contrib/llvm/lib/Target/Mips/MipsSEFrameLowering.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsSEInstrInfo.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsSEInstrInfo.h projects/bhyve/contrib/llvm/lib/Target/Mips/MipsSERegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsSERegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/Mips/MipsSubtarget.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsSubtarget.h projects/bhyve/contrib/llvm/lib/Target/Mips/MipsTargetMachine.cpp projects/bhyve/contrib/llvm/lib/Target/Mips/MipsTargetMachine.h projects/bhyve/contrib/llvm/lib/Target/Mips/MipsTargetObjectFile.cpp projects/bhyve/contrib/llvm/lib/Target/NVPTX/NVPTX.td projects/bhyve/contrib/llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.h projects/bhyve/contrib/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/NVPTX/NVPTXISelLowering.h projects/bhyve/contrib/llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp projects/bhyve/contrib/llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.h projects/bhyve/contrib/llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp projects/bhyve/contrib/llvm/lib/Target/NVPTX/NVPTXSubtarget.h projects/bhyve/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp projects/bhyve/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.h projects/bhyve/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h projects/bhyve/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPC.td projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCCallingConv.td projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.h projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCInstrAltivec.td projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCInstrFormats.td projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCSchedule.td projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCSchedule440.td projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCScheduleA2.td projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCScheduleG3.td projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCScheduleG4.td projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCScheduleG4Plus.td projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCScheduleG5.td projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.h projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp projects/bhyve/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.h projects/bhyve/contrib/llvm/lib/Target/Sparc/SparcFrameLowering.cpp projects/bhyve/contrib/llvm/lib/Target/Sparc/SparcISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.td projects/bhyve/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.cpp projects/bhyve/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.h projects/bhyve/contrib/llvm/lib/Target/Target.cpp projects/bhyve/contrib/llvm/lib/Target/TargetLibraryInfo.cpp projects/bhyve/contrib/llvm/lib/Target/TargetLoweringObjectFile.cpp projects/bhyve/contrib/llvm/lib/Target/TargetMachineC.cpp projects/bhyve/contrib/llvm/lib/Target/TargetRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/X86/AsmParser/X86AsmLexer.cpp projects/bhyve/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp projects/bhyve/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp projects/bhyve/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.h projects/bhyve/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c projects/bhyve/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h projects/bhyve/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h projects/bhyve/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.h projects/bhyve/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h projects/bhyve/contrib/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp projects/bhyve/contrib/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h projects/bhyve/contrib/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp projects/bhyve/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp projects/bhyve/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp projects/bhyve/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp projects/bhyve/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h projects/bhyve/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86.td projects/bhyve/contrib/llvm/lib/Target/X86/X86AsmPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86AsmPrinter.h projects/bhyve/contrib/llvm/lib/Target/X86/X86COFFMachineModuleInfo.h projects/bhyve/contrib/llvm/lib/Target/X86/X86CallingConv.td projects/bhyve/contrib/llvm/lib/Target/X86/X86CodeEmitter.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86FastISel.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86FloatingPoint.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86ISelLowering.h projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrCompiler.td projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrControl.td projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrFMA.td projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrFormats.td projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrInfo.h projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrInfo.td projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrMMX.td projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrSSE.td projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrShiftRotate.td projects/bhyve/contrib/llvm/lib/Target/X86/X86InstrXOP.td projects/bhyve/contrib/llvm/lib/Target/X86/X86JITInfo.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86MCInstLower.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86RegisterInfo.h projects/bhyve/contrib/llvm/lib/Target/X86/X86RegisterInfo.td projects/bhyve/contrib/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86Subtarget.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86Subtarget.h projects/bhyve/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp projects/bhyve/contrib/llvm/lib/Target/X86/X86TargetMachine.h projects/bhyve/contrib/llvm/lib/Target/X86/X86VZeroUpper.cpp projects/bhyve/contrib/llvm/lib/Target/XCore/XCoreAsmPrinter.cpp projects/bhyve/contrib/llvm/lib/Target/XCore/XCoreFrameLowering.cpp projects/bhyve/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp projects/bhyve/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.td projects/bhyve/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.cpp projects/bhyve/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.cpp projects/bhyve/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.h projects/bhyve/contrib/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp projects/bhyve/contrib/llvm/lib/Transforms/IPO/ConstantMerge.cpp projects/bhyve/contrib/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp projects/bhyve/contrib/llvm/lib/Transforms/IPO/ExtractGV.cpp projects/bhyve/contrib/llvm/lib/Transforms/IPO/FunctionAttrs.cpp projects/bhyve/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp projects/bhyve/contrib/llvm/lib/Transforms/IPO/IPO.cpp projects/bhyve/contrib/llvm/lib/Transforms/IPO/InlineAlways.cpp projects/bhyve/contrib/llvm/lib/Transforms/IPO/InlineSimple.cpp projects/bhyve/contrib/llvm/lib/Transforms/IPO/Inliner.cpp projects/bhyve/contrib/llvm/lib/Transforms/IPO/Internalize.cpp projects/bhyve/contrib/llvm/lib/Transforms/IPO/MergeFunctions.cpp projects/bhyve/contrib/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp projects/bhyve/contrib/llvm/lib/Transforms/IPO/PruneEH.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombine.h projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstCombineWorklist.h projects/bhyve/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp projects/bhyve/contrib/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp projects/bhyve/contrib/llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp projects/bhyve/contrib/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp projects/bhyve/contrib/llvm/lib/Transforms/Instrumentation/MaximumSpanningTree.h projects/bhyve/contrib/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/ConstantProp.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/DCE.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/EarlyCSE.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/GVN.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/GlobalMerge.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/LICM.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/ObjCARC.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/Reassociate.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/Scalar.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp projects/bhyve/contrib/llvm/lib/Transforms/Scalar/SimplifyLibCalls.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/AddrModeMatcher.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/BuildLibCalls.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/CloneFunction.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/CodeExtractor.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/LCSSA.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/Local.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/LoopSimplify.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/SSAUpdater.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/SimplifyInstructions.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/Utils.cpp projects/bhyve/contrib/llvm/lib/Transforms/Utils/ValueMapper.cpp projects/bhyve/contrib/llvm/lib/Transforms/Vectorize/BBVectorize.cpp projects/bhyve/contrib/llvm/lib/Transforms/Vectorize/Vectorize.cpp projects/bhyve/contrib/llvm/lib/VMCore/AsmWriter.cpp projects/bhyve/contrib/llvm/lib/VMCore/Attributes.cpp projects/bhyve/contrib/llvm/lib/VMCore/AutoUpgrade.cpp projects/bhyve/contrib/llvm/lib/VMCore/ConstantFold.cpp projects/bhyve/contrib/llvm/lib/VMCore/Constants.cpp projects/bhyve/contrib/llvm/lib/VMCore/ConstantsContext.h projects/bhyve/contrib/llvm/lib/VMCore/Core.cpp projects/bhyve/contrib/llvm/lib/VMCore/DIBuilder.cpp projects/bhyve/contrib/llvm/lib/VMCore/DebugInfo.cpp projects/bhyve/contrib/llvm/lib/VMCore/Dominators.cpp projects/bhyve/contrib/llvm/lib/VMCore/Function.cpp projects/bhyve/contrib/llvm/lib/VMCore/GCOV.cpp projects/bhyve/contrib/llvm/lib/VMCore/IRBuilder.cpp projects/bhyve/contrib/llvm/lib/VMCore/InlineAsm.cpp projects/bhyve/contrib/llvm/lib/VMCore/Instructions.cpp projects/bhyve/contrib/llvm/lib/VMCore/LLVMContext.cpp projects/bhyve/contrib/llvm/lib/VMCore/LLVMContextImpl.cpp projects/bhyve/contrib/llvm/lib/VMCore/LLVMContextImpl.h projects/bhyve/contrib/llvm/lib/VMCore/PassManager.cpp projects/bhyve/contrib/llvm/lib/VMCore/Type.cpp projects/bhyve/contrib/llvm/lib/VMCore/User.cpp projects/bhyve/contrib/llvm/lib/VMCore/Value.cpp projects/bhyve/contrib/llvm/lib/VMCore/ValueTypes.cpp projects/bhyve/contrib/llvm/lib/VMCore/Verifier.cpp projects/bhyve/contrib/llvm/tools/bugpoint/ExtractFunction.cpp projects/bhyve/contrib/llvm/tools/bugpoint/OptimizerDriver.cpp projects/bhyve/contrib/llvm/tools/clang/include/clang-c/Index.h projects/bhyve/contrib/llvm/tools/clang/include/clang/ARCMigrate/ARCMT.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/ASTConsumer.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/Attr.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/BuiltinTypes.def projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/CharUnits.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/Comment.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/CommentBriefParser.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/CommentCommandTraits.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/CommentLexer.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/CommentParser.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/CommentSema.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/Decl.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/DeclFriend.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/DeclarationName.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/Expr.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/ExprObjC.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/ExternalASTSource.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/NSAPI.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/NestedNameSpecifier.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/OperationKinds.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/PrettyPrinter.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/RawCommentList.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/RecordLayout.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/SelectorLocationsKind.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/Stmt.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/StmtCXX.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/StmtObjC.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/TemplateBase.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/Type.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/UnresolvedSet.h projects/bhyve/contrib/llvm/tools/clang/include/clang/AST/VTableBuilder.h projects/bhyve/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchFinder.h projects/bhyve/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers.h projects/bhyve/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h projects/bhyve/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersMacros.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/FormatString.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafety.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Analysis/AnalysisContext.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Analysis/CFG.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Analysis/ProgramPoint.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/Attr.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsMips.def projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsNVPTX.def projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/ConvertUTF.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticASTKinds.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommentKinds.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSerializationKinds.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/FileManager.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.def projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/Module.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/ObjCRuntime.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/OnDiskHashTable.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/TargetOptions.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/TypeTraits.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td projects/bhyve/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenAction.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/Action.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/Arg.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/ArgList.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/CC1AsOptions.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/CC1AsOptions.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/Compilation.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/Driver.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/Job.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/OptParser.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/OptTable.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/Option.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/Options.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/Tool.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Driver/Types.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInvocation.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticRenderer.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/FrontendAction.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/FrontendOptions.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/LangStandard.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/LangStandards.def projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/LogDiagnosticPrinter.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/MultiplexConsumer.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/SerializedDiagnosticPrinter.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnostic.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnosticPrinter.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Frontend/VerifyDiagnosticConsumer.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/ExternalPreprocessorSource.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/HeaderMap.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/Lexer.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/LiteralSupport.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/MacroInfo.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/ModuleMap.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/PPCallbacks.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/PTHLexer.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/PTHManager.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorLexer.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/Token.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Lex/TokenLexer.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Parse/Parser.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/AttributeList.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteConsumer.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/DelayedDiagnostic.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/ExternalSemaSource.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/Initialization.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/LocInfoType.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/Overload.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/Ownership.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/ParsedTemplate.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/Scope.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/ScopeInfo.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/Sema.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/SemaConsumer.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/Template.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/TemplateDeduction.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Sema/TypoCorrection.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Serialization/ASTDeserializationListener.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Serialization/ContinuousRangeMap.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Serialization/Module.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Serialization/ModuleManager.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h projects/bhyve/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/TaintManager.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabase.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring.h projects/bhyve/contrib/llvm/tools/clang/include/clang/Tooling/Tooling.h projects/bhyve/contrib/llvm/tools/clang/lib/ARCMigrate/ARCMT.cpp projects/bhyve/contrib/llvm/tools/clang/lib/ARCMigrate/FileRemapper.cpp projects/bhyve/contrib/llvm/tools/clang/lib/ARCMigrate/Internals.h projects/bhyve/contrib/llvm/tools/clang/lib/ARCMigrate/ObjCMT.cpp projects/bhyve/contrib/llvm/tools/clang/lib/ARCMigrate/Transforms.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/ASTConsumer.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/CXXInheritance.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/Comment.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/CommentBriefParser.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/CommentCommandTraits.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/CommentDumper.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/CommentLexer.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/CommentParser.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/CommentSema.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/Decl.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/DumpXML.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/Expr.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/NSAPI.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/ParentMap.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/RawCommentList.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/Stmt.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/StmtDumper.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/TemplateBase.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/Type.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/TypeLoc.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/AST/VTableBuilder.cpp projects/bhyve/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchFinder.cpp projects/bhyve/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Analysis/AnalysisDeclContext.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Analysis/FormatString.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Analysis/ReachableCode.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Analysis/ScanfFormatString.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Analysis/ThreadSafety.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Analysis/UninitializedValues.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Basic/ConvertUTF.c projects/bhyve/contrib/llvm/tools/clang/lib/Basic/ConvertUTFWrapper.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Basic/Module.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Basic/SourceLocation.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Basic/Version.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/ABIInfo.h projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.h projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.h projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGExprComplex.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.h projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGRTTI.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayout.h projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.h projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp projects/bhyve/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Driver/Arg.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Driver/ArgList.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Driver/CC1AsOptions.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Driver/Compilation.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Driver/Driver.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Driver/DriverOptions.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Driver/OptTable.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Driver/Option.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Driver/ToolChains.h projects/bhyve/contrib/llvm/tools/clang/lib/Driver/Tools.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Driver/Tools.h projects/bhyve/contrib/llvm/tools/clang/lib/Driver/Types.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Driver/WindowsToolChain.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/ASTConsumers.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/ASTMerge.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/ChainedDiagnosticConsumer.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/ChainedIncludesSource.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/DependencyFile.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/DependencyGraph.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/DiagnosticRenderer.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/LogDiagnosticPrinter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/TextDiagnostic.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Frontend/Warnings.cpp projects/bhyve/contrib/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Headers/altivec.h projects/bhyve/contrib/llvm/tools/clang/lib/Headers/bmi2intrin.h projects/bhyve/contrib/llvm/tools/clang/lib/Headers/cpuid.h projects/bhyve/contrib/llvm/tools/clang/lib/Headers/immintrin.h projects/bhyve/contrib/llvm/tools/clang/lib/Headers/module.map projects/bhyve/contrib/llvm/tools/clang/lib/Headers/unwind.h projects/bhyve/contrib/llvm/tools/clang/lib/Headers/wmmintrin.h projects/bhyve/contrib/llvm/tools/clang/lib/Headers/x86intrin.h projects/bhyve/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h projects/bhyve/contrib/llvm/tools/clang/lib/Lex/HeaderMap.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/MacroArgs.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/MacroInfo.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/ModuleMap.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/PPExpressions.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/PPLexerChange.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/PTHLexer.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/PreprocessingRecord.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Lex/TokenLexer.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseAST.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseInit.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParsePragma.h projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/Parser.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Parse/RAIIObjectsForParser.h projects/bhyve/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/CodeCompleteConsumer.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/DelayedDiagnostic.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/IdentifierResolver.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/Sema.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaAccess.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaAttr.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaCast.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaExprMember.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaLambda.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaPseudoObject.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaStmtAttr.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h projects/bhyve/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Serialization/GeneratePCH.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Serialization/Module.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Serialization/ModuleManager.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AttrNonNullChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/Checkers.td projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IdempotentOperationChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerContext.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Environment.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SVals.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Store.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/TextPathDiagnostics.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.h projects/bhyve/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Tooling/CompilationDatabase.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Tooling/Refactoring.cpp projects/bhyve/contrib/llvm/tools/clang/lib/Tooling/Tooling.cpp projects/bhyve/contrib/llvm/tools/clang/tools/driver/cc1_main.cpp projects/bhyve/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp projects/bhyve/contrib/llvm/tools/clang/tools/driver/driver.cpp projects/bhyve/contrib/llvm/tools/clang/utils/TableGen/ClangAttrEmitter.cpp projects/bhyve/contrib/llvm/tools/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp projects/bhyve/contrib/llvm/tools/clang/utils/TableGen/ClangSACheckersEmitter.cpp projects/bhyve/contrib/llvm/tools/clang/utils/TableGen/NeonEmitter.cpp projects/bhyve/contrib/llvm/tools/clang/utils/TableGen/OptParserEmitter.cpp projects/bhyve/contrib/llvm/tools/clang/utils/TableGen/TableGen.cpp projects/bhyve/contrib/llvm/tools/clang/utils/TableGen/TableGenBackends.h projects/bhyve/contrib/llvm/tools/llc/llc.cpp projects/bhyve/contrib/llvm/tools/lli/lli.cpp projects/bhyve/contrib/llvm/tools/llvm-ar/llvm-ar.cpp projects/bhyve/contrib/llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp projects/bhyve/contrib/llvm/tools/llvm-extract/llvm-extract.cpp projects/bhyve/contrib/llvm/tools/llvm-mc/llvm-mc.cpp projects/bhyve/contrib/llvm/tools/llvm-nm/llvm-nm.cpp projects/bhyve/contrib/llvm/tools/llvm-objdump/llvm-objdump.cpp projects/bhyve/contrib/llvm/tools/llvm-ranlib/llvm-ranlib.cpp projects/bhyve/contrib/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp projects/bhyve/contrib/llvm/tools/llvm-stress/llvm-stress.cpp projects/bhyve/contrib/llvm/tools/opt/opt.cpp projects/bhyve/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/AsmWriterEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/AsmWriterInst.cpp projects/bhyve/contrib/llvm/utils/TableGen/CallingConvEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/CodeEmitterGen.cpp projects/bhyve/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.cpp projects/bhyve/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.h projects/bhyve/contrib/llvm/utils/TableGen/CodeGenInstruction.cpp projects/bhyve/contrib/llvm/utils/TableGen/CodeGenInstruction.h projects/bhyve/contrib/llvm/utils/TableGen/CodeGenRegisters.cpp projects/bhyve/contrib/llvm/utils/TableGen/CodeGenRegisters.h projects/bhyve/contrib/llvm/utils/TableGen/CodeGenSchedule.cpp projects/bhyve/contrib/llvm/utils/TableGen/CodeGenSchedule.h projects/bhyve/contrib/llvm/utils/TableGen/CodeGenTarget.cpp projects/bhyve/contrib/llvm/utils/TableGen/CodeGenTarget.h projects/bhyve/contrib/llvm/utils/TableGen/DAGISelMatcher.h projects/bhyve/contrib/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/DAGISelMatcherGen.cpp projects/bhyve/contrib/llvm/utils/TableGen/DFAPacketizerEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/DisassemblerEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/EDEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/FastISelEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/FixedLenDecoderEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/InstrInfoEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/IntrinsicEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/PseudoLoweringEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/RegisterInfoEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/SequenceToOffsetTable.h projects/bhyve/contrib/llvm/utils/TableGen/SetTheory.cpp projects/bhyve/contrib/llvm/utils/TableGen/SetTheory.h projects/bhyve/contrib/llvm/utils/TableGen/SubtargetEmitter.cpp projects/bhyve/contrib/llvm/utils/TableGen/TGValueTypes.cpp projects/bhyve/contrib/llvm/utils/TableGen/TableGen.cpp projects/bhyve/contrib/llvm/utils/TableGen/TableGenBackends.h projects/bhyve/contrib/llvm/utils/TableGen/X86DisassemblerTables.cpp projects/bhyve/contrib/llvm/utils/TableGen/X86ModRMFilters.h projects/bhyve/contrib/llvm/utils/TableGen/X86RecognizableInstr.cpp projects/bhyve/contrib/llvm/utils/TableGen/X86RecognizableInstr.h projects/bhyve/contrib/openbsm/CREDITS projects/bhyve/contrib/openbsm/INSTALL projects/bhyve/contrib/openbsm/LICENSE projects/bhyve/contrib/openbsm/Makefile.am projects/bhyve/contrib/openbsm/Makefile.in projects/bhyve/contrib/openbsm/NEWS projects/bhyve/contrib/openbsm/README projects/bhyve/contrib/openbsm/TODO projects/bhyve/contrib/openbsm/VERSION projects/bhyve/contrib/openbsm/aclocal.m4 projects/bhyve/contrib/openbsm/autogen.sh projects/bhyve/contrib/openbsm/bin/Makefile.am projects/bhyve/contrib/openbsm/bin/Makefile.in projects/bhyve/contrib/openbsm/bin/audit/Makefile.am projects/bhyve/contrib/openbsm/bin/audit/Makefile.in projects/bhyve/contrib/openbsm/bin/audit/audit.8 projects/bhyve/contrib/openbsm/bin/auditd/Makefile.am projects/bhyve/contrib/openbsm/bin/auditd/Makefile.in projects/bhyve/contrib/openbsm/bin/auditd/auditd.8 projects/bhyve/contrib/openbsm/bin/auditd/auditd.c projects/bhyve/contrib/openbsm/bin/auditfilterd/Makefile.am projects/bhyve/contrib/openbsm/bin/auditfilterd/Makefile.in projects/bhyve/contrib/openbsm/bin/auditreduce/Makefile.am projects/bhyve/contrib/openbsm/bin/auditreduce/Makefile.in projects/bhyve/contrib/openbsm/bin/auditreduce/auditreduce.1 projects/bhyve/contrib/openbsm/bin/praudit/Makefile.am projects/bhyve/contrib/openbsm/bin/praudit/Makefile.in projects/bhyve/contrib/openbsm/bin/praudit/praudit.1 projects/bhyve/contrib/openbsm/bin/praudit/praudit.c projects/bhyve/contrib/openbsm/bsm/Makefile.am projects/bhyve/contrib/openbsm/bsm/Makefile.in projects/bhyve/contrib/openbsm/bsm/auditd_lib.h projects/bhyve/contrib/openbsm/bsm/libbsm.h projects/bhyve/contrib/openbsm/compat/endian.h projects/bhyve/contrib/openbsm/config/config.h projects/bhyve/contrib/openbsm/config/config.h.in projects/bhyve/contrib/openbsm/config/ltmain.sh projects/bhyve/contrib/openbsm/configure projects/bhyve/contrib/openbsm/configure.ac projects/bhyve/contrib/openbsm/etc/audit_control projects/bhyve/contrib/openbsm/etc/audit_event projects/bhyve/contrib/openbsm/libauditd/Makefile.am projects/bhyve/contrib/openbsm/libauditd/Makefile.in projects/bhyve/contrib/openbsm/libauditd/auditd_lib.c projects/bhyve/contrib/openbsm/libbsm/Makefile.am projects/bhyve/contrib/openbsm/libbsm/Makefile.in projects/bhyve/contrib/openbsm/libbsm/au_control.3 projects/bhyve/contrib/openbsm/libbsm/au_fcntl_cmd.3 projects/bhyve/contrib/openbsm/libbsm/au_io.3 projects/bhyve/contrib/openbsm/libbsm/audit_submit.3 projects/bhyve/contrib/openbsm/libbsm/bsm_audit.c projects/bhyve/contrib/openbsm/libbsm/bsm_class.c projects/bhyve/contrib/openbsm/libbsm/bsm_control.c projects/bhyve/contrib/openbsm/libbsm/bsm_errno.c projects/bhyve/contrib/openbsm/libbsm/bsm_io.c projects/bhyve/contrib/openbsm/libbsm/bsm_token.c projects/bhyve/contrib/openbsm/libbsm/bsm_user.c projects/bhyve/contrib/openbsm/libbsm/bsm_wrappers.c projects/bhyve/contrib/openbsm/man/Makefile.am projects/bhyve/contrib/openbsm/man/Makefile.in projects/bhyve/contrib/openbsm/man/audit.log.5 projects/bhyve/contrib/openbsm/man/audit_control.5 projects/bhyve/contrib/openbsm/man/auditon.2 projects/bhyve/contrib/openbsm/man/getaudit.2 projects/bhyve/contrib/openbsm/man/setaudit.2 projects/bhyve/contrib/openbsm/modules/Makefile.am projects/bhyve/contrib/openbsm/modules/Makefile.in projects/bhyve/contrib/openbsm/modules/auditfilter_noop/Makefile.am projects/bhyve/contrib/openbsm/modules/auditfilter_noop/Makefile.in projects/bhyve/contrib/openbsm/sys/Makefile.am projects/bhyve/contrib/openbsm/sys/Makefile.in projects/bhyve/contrib/openbsm/sys/bsm/Makefile.am projects/bhyve/contrib/openbsm/sys/bsm/Makefile.in projects/bhyve/contrib/openbsm/sys/bsm/audit_errno.h projects/bhyve/contrib/openbsm/sys/bsm/audit_internal.h projects/bhyve/contrib/openbsm/sys/bsm/audit_kevents.h projects/bhyve/contrib/openbsm/test/Makefile.am projects/bhyve/contrib/openbsm/test/Makefile.in projects/bhyve/contrib/openbsm/test/bsm/Makefile.am projects/bhyve/contrib/openbsm/test/bsm/Makefile.in projects/bhyve/contrib/openbsm/tools/Makefile.am projects/bhyve/contrib/openbsm/tools/Makefile.in projects/bhyve/contrib/sendmail/src/sasl.c projects/bhyve/contrib/wpa/src/eap_server/eap_server_tls_common.c projects/bhyve/crypto/openssl/crypto/rand/rand_unix.c projects/bhyve/etc/defaults/rc.conf projects/bhyve/etc/devd/usb.conf projects/bhyve/etc/ftpusers projects/bhyve/etc/mail/aliases projects/bhyve/etc/master.passwd projects/bhyve/etc/mtree/BSD.var.dist projects/bhyve/etc/newsyslog.conf projects/bhyve/etc/rc.d/Makefile projects/bhyve/etc/rc.d/routing projects/bhyve/etc/rc.subr projects/bhyve/include/paths.h projects/bhyve/lib/clang/Makefile projects/bhyve/lib/clang/clang.build.mk projects/bhyve/lib/clang/include/Makefile projects/bhyve/lib/clang/include/clang/Basic/Version.inc projects/bhyve/lib/clang/include/llvm/Config/config.h projects/bhyve/lib/clang/libclanganalysis/Makefile projects/bhyve/lib/clang/libclangast/Makefile projects/bhyve/lib/clang/libclangsema/Makefile projects/bhyve/lib/clang/libclangstaticanalyzercheckers/Makefile projects/bhyve/lib/clang/libclangstaticanalyzercore/Makefile projects/bhyve/lib/clang/libllvmanalysis/Makefile projects/bhyve/lib/clang/libllvmarmcodegen/Makefile projects/bhyve/lib/clang/libllvmcodegen/Makefile projects/bhyve/lib/clang/libllvmcore/Makefile projects/bhyve/lib/clang/libllvmdebuginfo/Makefile projects/bhyve/lib/clang/libllvminstrumentation/Makefile projects/bhyve/lib/clang/libllvmipo/Makefile projects/bhyve/lib/clang/libllvmmcjit/Makefile projects/bhyve/lib/clang/libllvmmipsasmparser/Makefile projects/bhyve/lib/clang/libllvmmipscodegen/Makefile projects/bhyve/lib/clang/libllvmmipsdesc/Makefile projects/bhyve/lib/clang/libllvmscalaropts/Makefile projects/bhyve/lib/clang/libllvmtablegen/Makefile projects/bhyve/lib/clang/libllvmtarget/Makefile projects/bhyve/lib/clang/libllvmtransformutils/Makefile projects/bhyve/lib/clang/libllvmvectorize/Makefile projects/bhyve/lib/clang/libllvmx86codegen/Makefile projects/bhyve/lib/libc/gen/glob.c projects/bhyve/lib/libc/net/sctp_sys_calls.c projects/bhyve/lib/libc/stdio/fdopen.c projects/bhyve/lib/libc/stdio/flags.c projects/bhyve/lib/libc/stdio/fopen.3 projects/bhyve/lib/libc/stdio/freopen.c projects/bhyve/lib/libc/stdio/getline.3 projects/bhyve/lib/libc/sys/getpeername.2 projects/bhyve/lib/libc/sys/getsockname.2 projects/bhyve/lib/libutil/gr_util.c projects/bhyve/sbin/dump/dump.h projects/bhyve/sbin/growfs/growfs.8 projects/bhyve/sbin/growfs/growfs.c projects/bhyve/sbin/ifconfig/af_inet6.c projects/bhyve/sbin/mdconfig/mdconfig.c projects/bhyve/sbin/route/keywords projects/bhyve/sbin/route/route.8 projects/bhyve/sbin/route/route.c projects/bhyve/share/examples/etc/make.conf projects/bhyve/share/man/man4/audit.4 projects/bhyve/share/man/man4/ktr.4 projects/bhyve/share/man/man4/usb_quirk.4 projects/bhyve/share/man/man5/core.5 projects/bhyve/share/man/man5/make.conf.5 projects/bhyve/share/man/man7/ports.7 projects/bhyve/share/man/man9/sleep.9 projects/bhyve/share/misc/committers-ports.dot projects/bhyve/share/misc/organization.dot projects/bhyve/share/mk/Makefile projects/bhyve/share/mk/bsd.cpu.mk projects/bhyve/share/mk/bsd.libnames.mk projects/bhyve/share/mk/bsd.own.mk projects/bhyve/sys/Makefile projects/bhyve/sys/amd64/amd64/db_trace.c projects/bhyve/sys/amd64/pci/pci_cfgreg.c projects/bhyve/sys/arm/arm/cpufunc.c projects/bhyve/sys/arm/arm/locore.S projects/bhyve/sys/arm/arm/machdep.c projects/bhyve/sys/arm/arm/mpcore_timer.c projects/bhyve/sys/arm/arm/pl310.c projects/bhyve/sys/arm/at91/files.at91 projects/bhyve/sys/arm/broadcom/bcm2835/bcm2835_fb.c projects/bhyve/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c projects/bhyve/sys/arm/broadcom/bcm2835/bcm2835_systimer.c projects/bhyve/sys/arm/broadcom/bcm2835/files.bcm2835 projects/bhyve/sys/arm/conf/CAMBRIA projects/bhyve/sys/arm/conf/RPI-B projects/bhyve/sys/arm/include/cpufunc.h projects/bhyve/sys/arm/mv/mvreg.h projects/bhyve/sys/arm/ti/am335x/am335x_dmtimer.c projects/bhyve/sys/arm/ti/ti_machdep.c projects/bhyve/sys/arm/xscale/i80321/ep80219_machdep.c projects/bhyve/sys/arm/xscale/i80321/iq31244_machdep.c projects/bhyve/sys/boot/fdt/dts/bcm2835-rpi-b.dts projects/bhyve/sys/boot/fdt/fdt_loader_cmd.c projects/bhyve/sys/boot/forth/menu-commands.4th projects/bhyve/sys/boot/forth/menu.rc projects/bhyve/sys/boot/powerpc/boot1.chrp/boot1.c projects/bhyve/sys/boot/sparc64/boot1/boot1.c projects/bhyve/sys/boot/uboot/common/metadata.c projects/bhyve/sys/boot/uboot/lib/elf_freebsd.c projects/bhyve/sys/boot/userboot/userboot/main.c projects/bhyve/sys/bsm/audit_errno.h projects/bhyve/sys/bsm/audit_internal.h projects/bhyve/sys/bsm/audit_record.h projects/bhyve/sys/cam/ata/ata_xpt.c projects/bhyve/sys/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c projects/bhyve/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_map.h projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_impl.h projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/bhyve/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c projects/bhyve/sys/compat/linux/linux_ioctl.c projects/bhyve/sys/conf/Makefile.arm projects/bhyve/sys/conf/NOTES projects/bhyve/sys/conf/files projects/bhyve/sys/conf/files.mips projects/bhyve/sys/conf/kern.pre.mk projects/bhyve/sys/conf/options.mips projects/bhyve/sys/contrib/dev/acpica/changes.txt (contents, props changed) projects/bhyve/sys/contrib/dev/acpica/common/adfile.c projects/bhyve/sys/contrib/dev/acpica/common/adisasm.c projects/bhyve/sys/contrib/dev/acpica/common/dmextern.c projects/bhyve/sys/contrib/dev/acpica/common/dmrestag.c projects/bhyve/sys/contrib/dev/acpica/compiler/aslcompile.c projects/bhyve/sys/contrib/dev/acpica/compiler/aslcompiler.h projects/bhyve/sys/contrib/dev/acpica/compiler/aslerror.c projects/bhyve/sys/contrib/dev/acpica/compiler/aslfiles.c projects/bhyve/sys/contrib/dev/acpica/compiler/aslglobal.h projects/bhyve/sys/contrib/dev/acpica/compiler/asllisting.c projects/bhyve/sys/contrib/dev/acpica/compiler/asllookup.c projects/bhyve/sys/contrib/dev/acpica/compiler/aslmain.c projects/bhyve/sys/contrib/dev/acpica/compiler/aslstartup.c projects/bhyve/sys/contrib/dev/acpica/compiler/dttemplate.c projects/bhyve/sys/contrib/dev/acpica/compiler/prutils.c projects/bhyve/sys/contrib/dev/acpica/components/debugger/dbfileio.c projects/bhyve/sys/contrib/dev/acpica/components/debugger/dbinput.c projects/bhyve/sys/contrib/dev/acpica/components/debugger/dbmethod.c projects/bhyve/sys/contrib/dev/acpica/components/disassembler/dmopcode.c projects/bhyve/sys/contrib/dev/acpica/components/disassembler/dmresrc.c projects/bhyve/sys/contrib/dev/acpica/components/disassembler/dmresrcl.c projects/bhyve/sys/contrib/dev/acpica/components/disassembler/dmresrcl2.c projects/bhyve/sys/contrib/dev/acpica/components/disassembler/dmresrcs.c projects/bhyve/sys/contrib/dev/acpica/components/dispatcher/dsmethod.c projects/bhyve/sys/contrib/dev/acpica/components/executer/exregion.c projects/bhyve/sys/contrib/dev/acpica/components/namespace/nsutils.c projects/bhyve/sys/contrib/dev/acpica/components/namespace/nsxfname.c projects/bhyve/sys/contrib/dev/acpica/components/resources/rscalc.c projects/bhyve/sys/contrib/dev/acpica/components/resources/rscreate.c projects/bhyve/sys/contrib/dev/acpica/components/resources/rsdump.c projects/bhyve/sys/contrib/dev/acpica/components/resources/rslist.c projects/bhyve/sys/contrib/dev/acpica/components/resources/rsmisc.c projects/bhyve/sys/contrib/dev/acpica/components/resources/rsxface.c projects/bhyve/sys/contrib/dev/acpica/components/utilities/utdelete.c projects/bhyve/sys/contrib/dev/acpica/components/utilities/utresrc.c projects/bhyve/sys/contrib/dev/acpica/components/utilities/utstate.c projects/bhyve/sys/contrib/dev/acpica/components/utilities/uttrack.c projects/bhyve/sys/contrib/dev/acpica/include/acdisasm.h projects/bhyve/sys/contrib/dev/acpica/include/acmacros.h projects/bhyve/sys/contrib/dev/acpica/include/acpixf.h projects/bhyve/sys/contrib/dev/acpica/include/acrestyp.h projects/bhyve/sys/contrib/dev/acpica/include/acutils.h projects/bhyve/sys/contrib/octeon-sdk/cvmx-dma-engine.c projects/bhyve/sys/contrib/octeon-sdk/cvmx-helper-board.c projects/bhyve/sys/contrib/octeon-sdk/cvmx-helper-spi.c projects/bhyve/sys/contrib/octeon-sdk/cvmx-pow.h projects/bhyve/sys/contrib/octeon-sdk/cvmx-spi.c projects/bhyve/sys/contrib/octeon-sdk/cvmx-utils.h projects/bhyve/sys/contrib/octeon-sdk/cvmx-warn.c projects/bhyve/sys/contrib/octeon-sdk/cvmx.h projects/bhyve/sys/contrib/octeon-sdk/octeon-model.c projects/bhyve/sys/contrib/octeon-sdk/octeon-model.h projects/bhyve/sys/dev/acpica/acpi_cpu.c projects/bhyve/sys/dev/ath/ath_hal/ah.h projects/bhyve/sys/dev/ath/ath_hal/ar5210/ar5210.h projects/bhyve/sys/dev/ath/ath_hal/ar5210/ar5210_misc.c projects/bhyve/sys/dev/ath/ath_hal/ar5210/ar5210_recv.c projects/bhyve/sys/dev/ath/ath_hal/ar5210/ar5210_reset.c projects/bhyve/sys/dev/ath/ath_hal/ar5210/ar5210_xmit.c projects/bhyve/sys/dev/ath/ath_hal/ar5210/ar5210desc.h projects/bhyve/sys/dev/ath/ath_hal/ar5210/ar5210reg.h projects/bhyve/sys/dev/ath/ath_hal/ar5211/ar5211desc.h projects/bhyve/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c projects/bhyve/sys/dev/ath/ath_hal/ar5212/ar5212_beacon.c projects/bhyve/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c projects/bhyve/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c projects/bhyve/sys/dev/ath/ath_hal/ar5212/ar5212desc.h projects/bhyve/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/bhyve/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c projects/bhyve/sys/dev/ath/if_ath.c projects/bhyve/sys/dev/ath/if_ath_alq.h projects/bhyve/sys/dev/ath/if_ath_beacon.c projects/bhyve/sys/dev/ath/if_ath_keycache.c projects/bhyve/sys/dev/ath/if_ath_tdma.c projects/bhyve/sys/dev/ath/if_ath_tx.c projects/bhyve/sys/dev/ath/if_ath_tx_edma.c projects/bhyve/sys/dev/ath/if_ath_tx_ht.c projects/bhyve/sys/dev/ath/if_athvar.h projects/bhyve/sys/dev/bce/if_bce.c projects/bhyve/sys/dev/bge/if_bge.c projects/bhyve/sys/dev/bge/if_bgereg.h projects/bhyve/sys/dev/bxe/if_bxe.c projects/bhyve/sys/dev/cxgbe/tom/t4_cpl_io.c projects/bhyve/sys/dev/cxgbe/tom/t4_ddp.c projects/bhyve/sys/dev/cxgbe/tom/t4_listen.c projects/bhyve/sys/dev/cxgbe/tom/t4_tom.h projects/bhyve/sys/dev/e1000/if_igb.c projects/bhyve/sys/dev/fdc/fdc.c projects/bhyve/sys/dev/fdt/fdt_common.c projects/bhyve/sys/dev/fdt/fdt_common.h projects/bhyve/sys/dev/gpio/gpiobus.c projects/bhyve/sys/dev/gxemul/cons/gxemul_cons.c projects/bhyve/sys/dev/iwn/if_iwn.c projects/bhyve/sys/dev/ixgbe/ixgbe.c projects/bhyve/sys/dev/ixgbe/ixgbe.h projects/bhyve/sys/dev/md/md.c projects/bhyve/sys/dev/mmc/mmc.c projects/bhyve/sys/dev/netmap/ixgbe_netmap.h projects/bhyve/sys/dev/sdhci/sdhci.c projects/bhyve/sys/dev/sdhci/sdhci.h projects/bhyve/sys/dev/sound/pci/hda/hdaa.c projects/bhyve/sys/dev/sound/pci/hda/hdac.h projects/bhyve/sys/dev/sound/pci/hda/hdacc.c projects/bhyve/sys/dev/sound/pcm/buffer.c projects/bhyve/sys/dev/sound/pcm/sound.c projects/bhyve/sys/dev/usb/controller/xhci.c projects/bhyve/sys/dev/usb/controller/xhci.h projects/bhyve/sys/dev/usb/net/if_smsc.c projects/bhyve/sys/dev/usb/quirk/usb_quirk.c projects/bhyve/sys/dev/usb/quirk/usb_quirk.h projects/bhyve/sys/dev/usb/serial/u3g.c projects/bhyve/sys/dev/usb/serial/uplcom.c projects/bhyve/sys/dev/usb/usbdevs projects/bhyve/sys/fs/ext2fs/ext2_alloc.c projects/bhyve/sys/fs/ext2fs/ext2_dinode.h projects/bhyve/sys/fs/ext2fs/ext2_vfsops.c projects/bhyve/sys/fs/ext2fs/ext2fs.h projects/bhyve/sys/fs/msdosfs/msdosfs_denode.c projects/bhyve/sys/fs/nfs/nfs_var.h projects/bhyve/sys/fs/nfsclient/nfs_clnode.c projects/bhyve/sys/fs/nfsclient/nfs_clport.c projects/bhyve/sys/fs/nfsclient/nfs_clvfsops.c projects/bhyve/sys/fs/nullfs/null_subr.c projects/bhyve/sys/fs/smbfs/smbfs.h projects/bhyve/sys/fs/smbfs/smbfs_io.c projects/bhyve/sys/fs/smbfs/smbfs_node.c projects/bhyve/sys/fs/smbfs/smbfs_node.h projects/bhyve/sys/fs/smbfs/smbfs_subr.c projects/bhyve/sys/fs/smbfs/smbfs_vfsops.c projects/bhyve/sys/fs/smbfs/smbfs_vnops.c projects/bhyve/sys/fs/unionfs/union_subr.c projects/bhyve/sys/geom/bde/g_bde.c projects/bhyve/sys/geom/cache/g_cache.c projects/bhyve/sys/geom/geom.h projects/bhyve/sys/geom/geom_aes.c projects/bhyve/sys/geom/geom_dev.c projects/bhyve/sys/geom/geom_mbr.c projects/bhyve/sys/geom/geom_slice.c projects/bhyve/sys/geom/geom_slice.h projects/bhyve/sys/geom/label/g_label.c projects/bhyve/sys/geom/mountver/g_mountver.c projects/bhyve/sys/geom/multipath/g_multipath.c projects/bhyve/sys/geom/nop/g_nop.c projects/bhyve/sys/geom/sched/g_sched.c projects/bhyve/sys/gnu/fs/reiserfs/reiserfs_inode.c projects/bhyve/sys/i386/i386/db_trace.c projects/bhyve/sys/i386/pci/pci_cfgreg.c projects/bhyve/sys/kern/capabilities.conf projects/bhyve/sys/kern/init_sysent.c projects/bhyve/sys/kern/kern_mbuf.c projects/bhyve/sys/kern/kern_proc.c projects/bhyve/sys/kern/kern_shutdown.c projects/bhyve/sys/kern/kern_sig.c projects/bhyve/sys/kern/subr_param.c projects/bhyve/sys/kern/subr_taskqueue.c projects/bhyve/sys/kern/tty_pts.c projects/bhyve/sys/kern/uipc_socket.c projects/bhyve/sys/kern/uipc_usrreq.c projects/bhyve/sys/kern/vfs_lookup.c projects/bhyve/sys/kern/vfs_mount.c projects/bhyve/sys/kern/vfs_subr.c projects/bhyve/sys/kern/vfs_vnops.c projects/bhyve/sys/kern/vnode_if.src projects/bhyve/sys/mips/atheros/files.ar71xx projects/bhyve/sys/mips/cavium/octe/ethernet-tx.c projects/bhyve/sys/mips/cavium/octe/ethernet.c projects/bhyve/sys/mips/cavium/octeon_machdep.c projects/bhyve/sys/mips/cavium/octeon_pci_console.c projects/bhyve/sys/mips/conf/AR71XX_BASE projects/bhyve/sys/mips/conf/AR724X_BASE projects/bhyve/sys/mips/conf/AR91XX_BASE projects/bhyve/sys/mips/conf/OCTEON1 projects/bhyve/sys/mips/conf/PB92 projects/bhyve/sys/mips/mips/support.S projects/bhyve/sys/modules/Makefile projects/bhyve/sys/modules/acpi/acpi/Makefile projects/bhyve/sys/modules/iwn/Makefile projects/bhyve/sys/modules/ufs/Makefile projects/bhyve/sys/net/bpf.c projects/bhyve/sys/net/if_bridge.c projects/bhyve/sys/net/if_ethersubr.c projects/bhyve/sys/net/if_tap.c projects/bhyve/sys/net/if_vlan.c projects/bhyve/sys/net/rtsock.c projects/bhyve/sys/net80211/ieee80211_freebsd.h projects/bhyve/sys/netinet/ip_output.c projects/bhyve/sys/netinet/sctp_pcb.c projects/bhyve/sys/netinet/sctp_pcb.h projects/bhyve/sys/netinet/sctp_peeloff.c projects/bhyve/sys/netinet/sctp_peeloff.h projects/bhyve/sys/netinet/sctp_sysctl.c projects/bhyve/sys/netinet/sctp_usrreq.c projects/bhyve/sys/netinet/sctputil.c projects/bhyve/sys/netinet/sctputil.h projects/bhyve/sys/netinet/tcp_subr.c projects/bhyve/sys/netinet/tcp_timer.c projects/bhyve/sys/netinet/tcp_timer.h projects/bhyve/sys/netinet6/ip6_mroute.c projects/bhyve/sys/netinet6/scope6.c projects/bhyve/sys/netinet6/sctp6_usrreq.c projects/bhyve/sys/netinet6/sctp6_var.h projects/bhyve/sys/netpfil/ipfw/ip_fw2.c projects/bhyve/sys/netpfil/ipfw/ip_fw_dynamic.c projects/bhyve/sys/netpfil/ipfw/ip_fw_private.h projects/bhyve/sys/netpfil/ipfw/ip_fw_sockopt.c projects/bhyve/sys/nfs/nfs_nfssvc.c projects/bhyve/sys/nfs/nfssvc.h projects/bhyve/sys/nfsclient/nfs_node.c projects/bhyve/sys/powerpc/aim/locore32.S projects/bhyve/sys/powerpc/aim/mmu_oea.c projects/bhyve/sys/security/audit/audit.c projects/bhyve/sys/security/audit/audit.h projects/bhyve/sys/security/audit/audit_arg.c projects/bhyve/sys/security/audit/audit_bsm.c projects/bhyve/sys/security/audit/audit_bsm_errno.c projects/bhyve/sys/security/audit/audit_bsm_klib.c projects/bhyve/sys/security/audit/audit_bsm_token.c projects/bhyve/sys/security/audit/audit_private.h projects/bhyve/sys/security/audit/audit_worker.c projects/bhyve/sys/sys/eventhandler.h projects/bhyve/sys/sys/mbuf.h projects/bhyve/sys/sys/namei.h projects/bhyve/sys/sys/param.h projects/bhyve/sys/sys/vnode.h projects/bhyve/sys/ufs/ffs/ffs_extern.h projects/bhyve/sys/ufs/ffs/ffs_vfsops.c projects/bhyve/sys/ufs/ffs/fs.h projects/bhyve/sys/ufs/ufs/ufsmount.h projects/bhyve/sys/vm/swap_pager.c projects/bhyve/sys/vm/vm_map.c projects/bhyve/sys/vm/vm_object.c projects/bhyve/sys/vm/vm_page.c projects/bhyve/sys/vm/vm_page.h projects/bhyve/sys/x86/x86/io_apic.c projects/bhyve/tools/build/mk/OptionalObsoleteFiles.inc projects/bhyve/tools/regression/bin/sh/parser/alias10.0 projects/bhyve/tools/regression/lib/libc/resolv/resolv.c projects/bhyve/tools/regression/netinet/arphold/arphold.c projects/bhyve/tools/regression/netinet/udpzerobyte/udpzerobyte.c projects/bhyve/tools/regression/netipx/ipxdgramloopback/ipxdgramloopback.c projects/bhyve/tools/regression/sockets/sblock/sblock.c projects/bhyve/tools/regression/sockets/sigpipe/sigpipe.c projects/bhyve/tools/regression/sockets/unix_cmsg/unix_cmsg.c projects/bhyve/tools/regression/sockets/unix_seqpacket_exercise/unix_seqpacket_exercise.c projects/bhyve/tools/regression/sockets/zerosend/zerosend.c projects/bhyve/tools/regression/ufs/uprintf/ufs_uprintf.c projects/bhyve/usr.bin/clang/clang-tblgen/Makefile projects/bhyve/usr.bin/clang/clang/Makefile projects/bhyve/usr.bin/clang/llc/Makefile projects/bhyve/usr.bin/clang/lli/Makefile projects/bhyve/usr.bin/clang/llvm-mc/Makefile projects/bhyve/usr.bin/clang/llvm-objdump/Makefile projects/bhyve/usr.bin/clang/llvm-rtdyld/Makefile projects/bhyve/usr.bin/clang/opt/Makefile projects/bhyve/usr.bin/clang/tblgen/Makefile projects/bhyve/usr.bin/cut/cut.1 projects/bhyve/usr.bin/cut/cut.c projects/bhyve/usr.bin/find/find.1 projects/bhyve/usr.bin/less/zless.sh projects/bhyve/usr.bin/locale/locale.1 projects/bhyve/usr.bin/locale/locale.c projects/bhyve/usr.bin/make/main.c projects/bhyve/usr.bin/mktemp/mktemp.1 projects/bhyve/usr.bin/netstat/route.c projects/bhyve/usr.bin/nfsstat/nfsstat.1 projects/bhyve/usr.bin/nfsstat/nfsstat.c projects/bhyve/usr.bin/passwd/Makefile projects/bhyve/usr.bin/pr/pr.1 projects/bhyve/usr.bin/seq/seq.1 projects/bhyve/usr.bin/top/machine.c projects/bhyve/usr.bin/w/extern.h projects/bhyve/usr.bin/w/proc_compare.c projects/bhyve/usr.sbin/Makefile projects/bhyve/usr.sbin/acpi/acpidb/Makefile projects/bhyve/usr.sbin/acpi/iasl/Makefile projects/bhyve/usr.sbin/bsdconfig/networking/include/messages.subr projects/bhyve/usr.sbin/bsdconfig/networking/share/ipaddr.subr projects/bhyve/usr.sbin/bsdconfig/share/dialog.subr projects/bhyve/usr.sbin/bsdconfig/share/mustberoot.subr projects/bhyve/usr.sbin/bsdconfig/startup/share/rcedit.subr projects/bhyve/usr.sbin/bsdconfig/timezone/share/zones.subr projects/bhyve/usr.sbin/bsdinstall/scripts/mirrorselect projects/bhyve/usr.sbin/edquota/edquota.c projects/bhyve/usr.sbin/ifmcstat/ifmcstat.c projects/bhyve/usr.sbin/nfscbd/nfscbd.8 projects/bhyve/usr.sbin/nfsd/nfsd.8 projects/bhyve/usr.sbin/nfsd/nfsd.c projects/bhyve/usr.sbin/pkg_install/add/main.c projects/bhyve/usr.sbin/pkg_install/add/pkg_add.1 projects/bhyve/usr.sbin/pkg_install/create/pkg_create.1 projects/bhyve/usr.sbin/pkg_install/delete/pkg_delete.1 projects/bhyve/usr.sbin/pkg_install/info/pkg_info.1 projects/bhyve/usr.sbin/pkg_install/lib/lib.h projects/bhyve/usr.sbin/pkg_install/lib/pkgng.c projects/bhyve/usr.sbin/pkg_install/updating/pkg_updating.1 projects/bhyve/usr.sbin/pkg_install/version/pkg_version.1 projects/bhyve/usr.sbin/pw/pw_nis.c projects/bhyve/usr.sbin/route6d/route6d.8 projects/bhyve/usr.sbin/route6d/route6d.c projects/bhyve/usr.sbin/rpcbind/util.c Directory Properties: projects/bhyve/ (props changed) projects/bhyve/cddl/contrib/opensolaris/ (props changed) projects/bhyve/cddl/contrib/opensolaris/cmd/zfs/ (props changed) projects/bhyve/contrib/less/ (props changed) projects/bhyve/contrib/libc++/ (props changed) projects/bhyve/contrib/llvm/ (props changed) projects/bhyve/contrib/llvm/tools/clang/ (props changed) projects/bhyve/contrib/openbsm/ (props changed) projects/bhyve/contrib/sendmail/ (props changed) projects/bhyve/contrib/wpa/ (props changed) projects/bhyve/crypto/openssl/ (props changed) projects/bhyve/lib/libc/ (props changed) projects/bhyve/lib/libutil/ (props changed) projects/bhyve/sbin/ (props changed) projects/bhyve/share/man/man4/ (props changed) projects/bhyve/sys/ (props changed) projects/bhyve/sys/boot/ (props changed) projects/bhyve/sys/boot/powerpc/boot1.chrp/ (props changed) projects/bhyve/sys/cddl/contrib/opensolaris/ (props changed) projects/bhyve/sys/conf/ (props changed) projects/bhyve/sys/contrib/dev/acpica/ (props changed) projects/bhyve/sys/contrib/dev/acpica/common/ (props changed) projects/bhyve/sys/contrib/dev/acpica/compiler/ (props changed) projects/bhyve/sys/contrib/dev/acpica/components/debugger/ (props changed) projects/bhyve/sys/contrib/dev/acpica/components/disassembler/ (props changed) projects/bhyve/sys/contrib/dev/acpica/components/dispatcher/ (props changed) projects/bhyve/sys/contrib/dev/acpica/components/executer/ (props changed) projects/bhyve/sys/contrib/dev/acpica/components/namespace/ (props changed) projects/bhyve/sys/contrib/dev/acpica/components/resources/ (props changed) projects/bhyve/sys/contrib/dev/acpica/components/utilities/ (props changed) projects/bhyve/sys/contrib/dev/acpica/include/ (props changed) projects/bhyve/sys/contrib/octeon-sdk/ (props changed) Modified: projects/bhyve/Makefile.inc1 ============================================================================== --- projects/bhyve/Makefile.inc1 Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/Makefile.inc1 Tue Dec 4 04:37:42 2012 (r243852) @@ -511,6 +511,8 @@ build32: .endfor .for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw lib/libmagic cd ${.CURDIR}/${_dir}; \ + WORLDTMP=${WORLDTMP} \ + MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" \ MAKEOBJDIRPREFIX=${OBJTREE}/lib32 ${MAKE} SSP_CFLAGS= DESTDIR= \ DIRPRFX=${_dir}/ -DNO_LINT -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF \ -DEARLY_BUILD build-tools @@ -609,7 +611,7 @@ installcheck_DESTDIR: # # Check for missing UIDs/GIDs. # -CHECK_UIDS= +CHECK_UIDS= auditdistd CHECK_GIDS= audit .if ${MK_SENDMAIL} != "no" CHECK_UIDS+= smmsp @@ -1138,7 +1140,7 @@ _aicasm= sys/modules/aic7xxx/aicasm _share= share/syscons/scrnmaps .endif -.if ${MK_GCC} != "no" && (${MK_CLANG_IS_CC} == "no" || ${TARGET} == "pc98") +.if ${MK_GCC} != "no" _gcc_tools= gnu/usr.bin/cc/cc_tools .endif Modified: projects/bhyve/ObsoleteFiles.inc ============================================================================== --- projects/bhyve/ObsoleteFiles.inc Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/ObsoleteFiles.inc Tue Dec 4 04:37:42 2012 (r243852) @@ -52,6 +52,9 @@ OLD_FILES+=usr/include/clang/3.2/unwind. # 20120910: NetBSD compat shims removed OLD_FILES+=usr/include/cam/scsi/scsi_low_pisa.h OLD_FILES+=usr/include/sys/device_port.h +# 20120909: doc and www supfiles removed +OLD_FILES+=usr/share/examples/cvsup/doc-supfile +OLD_FILES+=usr/share/examples/cvsup/www-supfile # 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/bhyve/UPDATING ============================================================================== --- projects/bhyve/UPDATING Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/UPDATING Tue Dec 4 04:37:42 2012 (r243852) @@ -4,7 +4,9 @@ This file is maintained and copyrighted See end of file for further details. For commonly done items, please see the COMMON ITEMS: section later in the file. These instructions assume that you basically know what you are doing. If not, then please consult the FreeBSD -handbook. +handbook: + + http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before running portupgrade. @@ -24,6 +26,19 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20121201: + With the addition of auditdistd(8), a new auditdistd user is now + depended on during installworld. "mergemaster -p" can be used to add + the user prior to installworld, as documented in the handbook. + +20121117: + The sin6_scope_id member variable in struct sockaddr_in6 is now + filled by the kernel before passing the structure to the userland via + sysctl or routing socket. This means the KAME-specific embedded scope + id in sin6_addr.s6_addr[2] is always cleared in userland application. + This behavior can be controlled by net.inet6.ip6.deembed_scopeid. + __FreeBSD_version is bumped to 1000025. + 20121105: On i386 and amd64 systems WITH_CLANG_IS_CC is now the default. This means that the world and kernel will be compiled with clang Modified: projects/bhyve/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- projects/bhyve/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Tue Dec 4 04:37:42 2012 (r243852) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 5, 2012 +.Dd November 26, 2012 .Dt ZFS 8 .Os .Sh NAME @@ -760,7 +760,7 @@ If no inheritable .Tn ACE Ns s exist that affect the mode, then the mode is set in accordance to the requested mode from the application. -.It Sy aclmode Ns = Ns Cm discard | groupmask | passthrough +.It Sy aclmode Ns = Ns Cm discard | groupmask | passthrough | restricted Controls how an .Tn ACL is modified during @@ -790,6 +790,32 @@ indicates that no changes are made to th other than creating or updating the necessary .Tn ACL entries to represent the new mode of the file or directory. +An +.Sy aclmode +property of +.Cm restricted +will cause the +.Xr chmod 2 +operation to return an error when used on any file or directory which has +a non-trivial +.Tn ACL +whose entries can not be represented by a mode. +.Xr chmod 2 +is required to change the set user ID, set group ID, or sticky bits on a file +or directory, as they do not have equivalent +.Tn ACL +entries. +In order to use +.Xr chmod 2 +on a file or directory with a non-trivial +.Tn ACL +when +.Sy aclmode +is set to +.Cm restricted , +you must first remove all +.Tn ACL +entries which do not represent the current mode. .It Sy atime Ns = Ns Cm on | off Controls whether the access time for files is updated when they are read. Turning this property off avoids producing write traffic when reading files and @@ -830,7 +856,7 @@ command or unmounted by the command. .Pp This property is not inherited. -.It Sy checksum Ns = Ns Cm on | off | fletcher2 | fletcher4 +.It Sy checksum Ns = Ns Cm on | off | fletcher2 | fletcher4 | sha256 Controls the checksum used to verify data integrity. The default value is .Cm on , which automatically selects an appropriate algorithm (currently, Modified: projects/bhyve/cddl/contrib/opensolaris/cmd/zpool/zpool.8 ============================================================================== --- projects/bhyve/cddl/contrib/opensolaris/cmd/zpool/zpool.8 Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/cddl/contrib/opensolaris/cmd/zpool/zpool.8 Tue Dec 4 04:37:42 2012 (r243852) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 28, 2011 +.Dd November 15, 2012 .Dt ZPOOL 8 .Os .Sh NAME Modified: projects/bhyve/cddl/contrib/opensolaris/cmd/ztest/ztest.c ============================================================================== --- projects/bhyve/cddl/contrib/opensolaris/cmd/ztest/ztest.c Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/cddl/contrib/opensolaris/cmd/ztest/ztest.c Tue Dec 4 04:37:42 2012 (r243852) @@ -204,6 +204,7 @@ enum ztest_io_type { ZTEST_IO_WRITE_ZEROES, ZTEST_IO_TRUNCATE, ZTEST_IO_SETATTR, + ZTEST_IO_REWRITE, ZTEST_IO_TYPES }; @@ -330,6 +331,7 @@ ztest_func_t ztest_vdev_add_remove; ztest_func_t ztest_vdev_aux_add_remove; ztest_func_t ztest_split_pool; ztest_func_t ztest_reguid; +ztest_func_t ztest_spa_upgrade; uint64_t zopt_always = 0ULL * NANOSEC; /* all the time */ uint64_t zopt_incessant = 1ULL * NANOSEC / 10; /* every 1/10 second */ @@ -363,6 +365,7 @@ ztest_info_t ztest_info[] = { { ztest_reguid, 1, &zopt_sometimes }, { ztest_spa_rename, 1, &zopt_rarely }, { ztest_scrub, 1, &zopt_rarely }, + { ztest_spa_upgrade, 1, &zopt_rarely }, { ztest_dsl_dataset_promote_busy, 1, &zopt_rarely }, { ztest_vdev_attach_detach, 1, &zopt_rarely }, { ztest_vdev_LUN_growth, 1, &zopt_rarely }, @@ -797,7 +800,7 @@ ztest_get_ashift(void) } static nvlist_t * -make_vdev_file(char *path, char *aux, size_t size, uint64_t ashift) +make_vdev_file(char *path, char *aux, char *pool, size_t size, uint64_t ashift) { char pathbuf[MAXPATHLEN]; uint64_t vdev; @@ -813,12 +816,13 @@ make_vdev_file(char *path, char *aux, si vdev = ztest_shared->zs_vdev_aux; (void) snprintf(path, sizeof (pathbuf), ztest_aux_template, ztest_opts.zo_dir, - ztest_opts.zo_pool, aux, vdev); + pool == NULL ? ztest_opts.zo_pool : pool, + aux, vdev); } else { vdev = ztest_shared->zs_vdev_next_leaf++; (void) snprintf(path, sizeof (pathbuf), ztest_dev_template, ztest_opts.zo_dir, - ztest_opts.zo_pool, vdev); + pool == NULL ? ztest_opts.zo_pool : pool, vdev); } } @@ -840,17 +844,18 @@ make_vdev_file(char *path, char *aux, si } static nvlist_t * -make_vdev_raidz(char *path, char *aux, size_t size, uint64_t ashift, int r) +make_vdev_raidz(char *path, char *aux, char *pool, size_t size, + uint64_t ashift, int r) { nvlist_t *raidz, **child; int c; if (r < 2) - return (make_vdev_file(path, aux, size, ashift)); + return (make_vdev_file(path, aux, pool, size, ashift)); child = umem_alloc(r * sizeof (nvlist_t *), UMEM_NOFAIL); for (c = 0; c < r; c++) - child[c] = make_vdev_file(path, aux, size, ashift); + child[c] = make_vdev_file(path, aux, pool, size, ashift); VERIFY(nvlist_alloc(&raidz, NV_UNIQUE_NAME, 0) == 0); VERIFY(nvlist_add_string(raidz, ZPOOL_CONFIG_TYPE, @@ -869,19 +874,19 @@ make_vdev_raidz(char *path, char *aux, s } static nvlist_t * -make_vdev_mirror(char *path, char *aux, size_t size, uint64_t ashift, - int r, int m) +make_vdev_mirror(char *path, char *aux, char *pool, size_t size, + uint64_t ashift, int r, int m) { nvlist_t *mirror, **child; int c; if (m < 1) - return (make_vdev_raidz(path, aux, size, ashift, r)); + return (make_vdev_raidz(path, aux, pool, size, ashift, r)); child = umem_alloc(m * sizeof (nvlist_t *), UMEM_NOFAIL); for (c = 0; c < m; c++) - child[c] = make_vdev_raidz(path, aux, size, ashift, r); + child[c] = make_vdev_raidz(path, aux, pool, size, ashift, r); VERIFY(nvlist_alloc(&mirror, NV_UNIQUE_NAME, 0) == 0); VERIFY(nvlist_add_string(mirror, ZPOOL_CONFIG_TYPE, @@ -898,8 +903,8 @@ make_vdev_mirror(char *path, char *aux, } static nvlist_t * -make_vdev_root(char *path, char *aux, size_t size, uint64_t ashift, - int log, int r, int m, int t) +make_vdev_root(char *path, char *aux, char *pool, size_t size, uint64_t ashift, + int log, int r, int m, int t) { nvlist_t *root, **child; int c; @@ -909,7 +914,8 @@ make_vdev_root(char *path, char *aux, si child = umem_alloc(t * sizeof (nvlist_t *), UMEM_NOFAIL); for (c = 0; c < t; c++) { - child[c] = make_vdev_mirror(path, aux, size, ashift, r, m); + child[c] = make_vdev_mirror(path, aux, pool, size, ashift, + r, m); VERIFY(nvlist_add_uint64(child[c], ZPOOL_CONFIG_IS_LOG, log) == 0); } @@ -927,6 +933,27 @@ make_vdev_root(char *path, char *aux, si return (root); } +/* + * Find a random spa version. Returns back a random spa version in the + * range [initial_version, SPA_VERSION_FEATURES]. + */ +static uint64_t +ztest_random_spa_version(uint64_t initial_version) +{ + uint64_t version = initial_version; + + if (version <= SPA_VERSION_BEFORE_FEATURES) { + version = version + + ztest_random(SPA_VERSION_BEFORE_FEATURES - version + 1); + } + + if (version > SPA_VERSION_BEFORE_FEATURES) + version = SPA_VERSION_FEATURES; + + ASSERT(SPA_VERSION_IS_SUPPORTED(version)); + return (version); +} + static int ztest_random_blocksize(void) { @@ -1841,6 +1868,12 @@ ztest_get_data(void *arg, lr_write_t *lr DMU_READ_NO_PREFETCH); if (error == 0) { + blkptr_t *obp = dmu_buf_get_blkptr(db); + if (obp) { + ASSERT(BP_IS_HOLE(bp)); + *bp = *obp; + } + zgd->zgd_db = db; zgd->zgd_bp = bp; @@ -1986,6 +2019,9 @@ ztest_remove(ztest_ds_t *zd, ztest_od_t continue; } + /* + * No object was found. + */ if (od->od_object == 0) continue; @@ -2101,6 +2137,7 @@ ztest_prealloc(ztest_ds_t *zd, uint64_t static void ztest_io(ztest_ds_t *zd, uint64_t object, uint64_t offset) { + int err; ztest_block_tag_t wbt; dmu_object_info_t doi; enum ztest_io_type io_type; @@ -2153,6 +2190,25 @@ ztest_io(ztest_ds_t *zd, uint64_t object case ZTEST_IO_SETATTR: (void) ztest_setattr(zd, object); break; + + case ZTEST_IO_REWRITE: + (void) rw_rdlock(&ztest_name_lock); + err = ztest_dsl_prop_set_uint64(zd->zd_name, + ZFS_PROP_CHECKSUM, spa_dedup_checksum(ztest_spa), + B_FALSE); + VERIFY(err == 0 || err == ENOSPC); + err = ztest_dsl_prop_set_uint64(zd->zd_name, + ZFS_PROP_COMPRESSION, + ztest_random_dsl_prop(ZFS_PROP_COMPRESSION), + B_FALSE); + VERIFY(err == 0 || err == ENOSPC); + (void) rw_unlock(&ztest_name_lock); + + VERIFY0(dmu_read(zd->zd_os, object, offset, blocksize, data, + DMU_READ_NO_PREFETCH)); + + (void) ztest_write(zd, object, offset, blocksize, data); + break; } (void) rw_unlock(&zd->zd_zilog_lock); @@ -2240,7 +2296,12 @@ ztest_zil_remount(ztest_ds_t *zd, uint64 { objset_t *os = zd->zd_os; - VERIFY(mutex_lock(&zd->zd_dirobj_lock) == 0); + /* + * We grab the zd_dirobj_lock to ensure that no other thread is + * updating the zil (i.e. adding in-memory log records) and the + * zd_zilog_lock to block any I/O. + */ + VERIFY0(mutex_lock(&zd->zd_dirobj_lock)); (void) rw_wrlock(&zd->zd_zilog_lock); /* zfsvfs_teardown() */ @@ -2269,7 +2330,7 @@ ztest_spa_create_destroy(ztest_ds_t *zd, /* * Attempt to create using a bad file. */ - nvroot = make_vdev_root("/dev/bogus", NULL, 0, 0, 0, 0, 0, 1); + nvroot = make_vdev_root("/dev/bogus", NULL, NULL, 0, 0, 0, 0, 0, 1); VERIFY3U(ENOENT, ==, spa_create("ztest_bad_file", nvroot, NULL, NULL, NULL)); nvlist_free(nvroot); @@ -2277,7 +2338,7 @@ ztest_spa_create_destroy(ztest_ds_t *zd, /* * Attempt to create using a bad mirror. */ - nvroot = make_vdev_root("/dev/bogus", NULL, 0, 0, 0, 0, 2, 1); + nvroot = make_vdev_root("/dev/bogus", NULL, NULL, 0, 0, 0, 0, 2, 1); VERIFY3U(ENOENT, ==, spa_create("ztest_bad_mirror", nvroot, NULL, NULL, NULL)); nvlist_free(nvroot); @@ -2287,7 +2348,7 @@ ztest_spa_create_destroy(ztest_ds_t *zd, * what's in the nvroot; we should fail with EEXIST. */ (void) rw_rdlock(&ztest_name_lock); - nvroot = make_vdev_root("/dev/bogus", NULL, 0, 0, 0, 0, 0, 1); + nvroot = make_vdev_root("/dev/bogus", NULL, NULL, 0, 0, 0, 0, 0, 1); VERIFY3U(EEXIST, ==, spa_create(zo->zo_pool, nvroot, NULL, NULL, NULL)); nvlist_free(nvroot); VERIFY3U(0, ==, spa_open(zo->zo_pool, &spa, FTAG)); @@ -2297,6 +2358,78 @@ ztest_spa_create_destroy(ztest_ds_t *zd, (void) rw_unlock(&ztest_name_lock); } +/* ARGSUSED */ +void +ztest_spa_upgrade(ztest_ds_t *zd, uint64_t id) +{ + spa_t *spa; + uint64_t initial_version = SPA_VERSION_INITIAL; + uint64_t version, newversion; + nvlist_t *nvroot, *props; + char *name; + + VERIFY0(mutex_lock(&ztest_vdev_lock)); + name = kmem_asprintf("%s_upgrade", ztest_opts.zo_pool); + + /* + * Clean up from previous runs. + */ + (void) spa_destroy(name); + + nvroot = make_vdev_root(NULL, NULL, name, ztest_opts.zo_vdev_size, 0, + 0, ztest_opts.zo_raidz, ztest_opts.zo_mirrors, 1); + + /* + * If we're configuring a RAIDZ device then make sure that the + * the initial version is capable of supporting that feature. + */ + switch (ztest_opts.zo_raidz_parity) { + case 0: + case 1: + initial_version = SPA_VERSION_INITIAL; + break; + case 2: + initial_version = SPA_VERSION_RAIDZ2; + break; + case 3: + initial_version = SPA_VERSION_RAIDZ3; + break; + } + + /* + * Create a pool with a spa version that can be upgraded. Pick + * a value between initial_version and SPA_VERSION_BEFORE_FEATURES. + */ + do { + version = ztest_random_spa_version(initial_version); + } while (version > SPA_VERSION_BEFORE_FEATURES); + + props = fnvlist_alloc(); + fnvlist_add_uint64(props, + zpool_prop_to_name(ZPOOL_PROP_VERSION), version); + VERIFY0(spa_create(name, nvroot, props, NULL, NULL)); + fnvlist_free(nvroot); + fnvlist_free(props); + + VERIFY0(spa_open(name, &spa, FTAG)); + VERIFY3U(spa_version(spa), ==, version); + newversion = ztest_random_spa_version(version + 1); + + if (ztest_opts.zo_verbose >= 4) { + (void) printf("upgrading spa version from %llu to %llu\n", + (u_longlong_t)version, (u_longlong_t)newversion); + } + + spa_upgrade(spa, newversion); + VERIFY3U(spa_version(spa), >, version); + VERIFY3U(spa_version(spa), ==, fnvlist_lookup_uint64(spa->spa_config, + zpool_prop_to_name(ZPOOL_PROP_VERSION))); + spa_close(spa, FTAG); + + strfree(name); + VERIFY0(mutex_unlock(&ztest_vdev_lock)); +} + static vdev_t * vdev_lookup_by_path(vdev_t *vd, const char *path) { @@ -2386,7 +2519,7 @@ ztest_vdev_add_remove(ztest_ds_t *zd, ui /* * Make 1/4 of the devices be log devices. */ - nvroot = make_vdev_root(NULL, NULL, + nvroot = make_vdev_root(NULL, NULL, NULL, ztest_opts.zo_vdev_size, 0, ztest_random(4) == 0, ztest_opts.zo_raidz, zs->zs_mirrors, 1); @@ -2463,7 +2596,7 @@ ztest_vdev_aux_add_remove(ztest_ds_t *zd /* * Add a new device. */ - nvlist_t *nvroot = make_vdev_root(NULL, aux, + nvlist_t *nvroot = make_vdev_root(NULL, aux, NULL, (ztest_opts.zo_vdev_size * 5) / 4, 0, 0, 0, 0, 1); error = spa_vdev_add(spa, nvroot); if (error != 0) @@ -2732,7 +2865,7 @@ ztest_vdev_attach_detach(ztest_ds_t *zd, /* * Build the nvlist describing newpath. */ - root = make_vdev_root(newpath, NULL, newvd == NULL ? newsize : 0, + root = make_vdev_root(newpath, NULL, NULL, newvd == NULL ? newsize : 0, ashift, 0, 0, 0, 1); error = spa_vdev_attach(spa, oldguid, root, replacing); @@ -4827,8 +4960,8 @@ ztest_ddt_repair(ztest_ds_t *zd, uint64_ */ for (int i = 0; i < copies; i++) { uint64_t offset = i * blocksize; - VERIFY(dmu_buf_hold(os, object, offset, FTAG, &db, - DMU_READ_NO_PREFETCH) == 0); + VERIFY0(dmu_buf_hold(os, object, offset, FTAG, &db, + DMU_READ_NO_PREFETCH)); ASSERT(db->db_offset == offset); ASSERT(db->db_size == blocksize); ASSERT(ztest_pattern_match(db->db_data, db->db_size, pattern) || @@ -4844,8 +4977,8 @@ ztest_ddt_repair(ztest_ds_t *zd, uint64_ /* * Find out what block we got. */ - VERIFY(dmu_buf_hold(os, object, 0, FTAG, &db, - DMU_READ_NO_PREFETCH) == 0); + VERIFY0(dmu_buf_hold(os, object, 0, FTAG, &db, + DMU_READ_NO_PREFETCH)); blk = *((dmu_buf_impl_t *)db)->db_blkptr; dmu_buf_rele(db, FTAG); @@ -4900,7 +5033,7 @@ ztest_reguid(ztest_ds_t *zd, uint64_t id if (error != 0) return; - if (ztest_opts.zo_verbose >= 3) { + if (ztest_opts.zo_verbose >= 4) { (void) printf("Changed guid old %llu -> %llu\n", (u_longlong_t)orig, (u_longlong_t)spa_guid(spa)); } @@ -5523,6 +5656,8 @@ ztest_freeze(void) kernel_init(FREAD | FWRITE); VERIFY3U(0, ==, spa_open(ztest_opts.zo_pool, &spa, FTAG)); VERIFY3U(0, ==, ztest_dataset_open(0)); + spa->spa_debug = B_TRUE; + ztest_spa = spa; /* * Force the first log block to be transactionally allocated. @@ -5647,7 +5782,7 @@ ztest_init(ztest_shared_t *zs) ztest_shared->zs_vdev_next_leaf = 0; zs->zs_splits = 0; zs->zs_mirrors = ztest_opts.zo_mirrors; - nvroot = make_vdev_root(NULL, NULL, ztest_opts.zo_vdev_size, 0, + nvroot = make_vdev_root(NULL, NULL, NULL, ztest_opts.zo_vdev_size, 0, 0, ztest_opts.zo_raidz, zs->zs_mirrors, 1); props = make_random_props(); for (int i = 0; i < SPA_FEATURES; i++) { Modified: projects/bhyve/contrib/less/NEWS ============================================================================== --- projects/bhyve/contrib/less/NEWS Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/contrib/less/NEWS Tue Dec 4 04:37:42 2012 (r243852) @@ -11,7 +11,7 @@ ====================================================================== - Major changes between "less" versions 451 and 453 + Major changes between "less" versions 451 and 456 * Allow backslash escaping of metacharacters in LESS environment variable. Modified: projects/bhyve/contrib/less/README ============================================================================== --- projects/bhyve/contrib/less/README Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/contrib/less/README Tue Dec 4 04:37:42 2012 (r243852) @@ -7,9 +7,9 @@ ************************************************************************** ************************************************************************** - Less, version 453 + Less, version 456 - This is the distribution of less, version 453, released 27 Oct 2012. + This is the distribution of less, version 456, released 08 Nov 2012. This program is part of the GNU project (http://www.gnu.org). This program is free software. You may redistribute it and/or Modified: projects/bhyve/contrib/less/configure.ac ============================================================================== --- projects/bhyve/contrib/less/configure.ac Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/contrib/less/configure.ac Tue Dec 4 04:37:42 2012 (r243852) @@ -669,7 +669,7 @@ AH_TOP([ /* * Sizes of various buffers. */ -#if 0 /* old sizes for small memory machines +#if 0 /* old sizes for small memory machines */ #define CMDBUF_SIZE 512 /* Buffer for multichar commands */ #define UNGOT_SIZE 100 /* Max chars to unget() */ #define LINEBUF_SIZE 1024 /* Max size of line in input file */ Modified: projects/bhyve/contrib/less/defines.h.in ============================================================================== --- projects/bhyve/contrib/less/defines.h.in Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/contrib/less/defines.h.in Tue Dec 4 04:37:42 2012 (r243852) @@ -182,7 +182,7 @@ /* * Sizes of various buffers. */ -#if 0 /* old sizes for small memory machines +#if 0 /* old sizes for small memory machines */ #define CMDBUF_SIZE 512 /* Buffer for multichar commands */ #define UNGOT_SIZE 100 /* Max chars to unget() */ #define LINEBUF_SIZE 1024 /* Max size of line in input file */ Modified: projects/bhyve/contrib/less/less.man ============================================================================== --- projects/bhyve/contrib/less/less.man Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/contrib/less/less.man Tue Dec 4 04:37:42 2012 (r243852) @@ -438,18 +438,14 @@ LESS(1) the command line by beginning the command line option with "-+". Some options like -k or -D require a string to follow the option let- - ter. The string for that option is considered to end when a space, - tab, dash or dollar sign ($) is found. For example, to set two -D - options on MS-DOS, you can separate them with a dollar sign, like this: + ter. The string for that option is considered to end when a dollar + sign ($) is found. For example, you can set two -D options on MS-DOS + like this: LESS="Dn9.1$Ds4.1" - or a space like this: - - LESS="Dn9.1 Ds4.1" - - Any character may be included literally in an option string by preced- - ing it with a backslash. + A dollar sign or backslash may be included literally in an option + string by preceding it with a backslash. -? or --help This option displays a summary of the commands accepted by less @@ -1612,4 +1608,4 @@ LESS(1) - Version 453: 27 Oct 2012 LESS(1) + Version 456: 08 Nov 2012 LESS(1) Modified: projects/bhyve/contrib/less/less.nro ============================================================================== --- projects/bhyve/contrib/less/less.nro Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/contrib/less/less.nro Tue Dec 4 04:37:42 2012 (r243852) @@ -1,4 +1,4 @@ -.TH LESS 1 "Version 453: 27 Oct 2012" +.TH LESS 1 "Version 456: 08 Nov 2012" .SH NAME less \- opposite of more .SH SYNOPSIS @@ -456,18 +456,12 @@ to its default value on the command line line option with "\-+". .sp Some options like \-k or \-D require a string to follow the option letter. -The string for that option is considered to end when a space, tab, -dash or dollar sign ($) is found. -For example, to set two \-D options on MS-DOS, -you can separate them with a dollar sign, like this: +The string for that option is considered to end when a dollar sign ($) is found. +For example, you can set two \-D options on MS-DOS like this: .sp LESS="Dn9.1$Ds4.1" .sp -or a space like this: -.sp -LESS="Dn9.1 Ds4.1" -.sp -Any character may be included literally in an option string +A dollar sign or backslash may be included literally in an option string by preceding it with a backslash. .IP "\-? or \-\-help" This option displays a summary of the commands accepted by Modified: projects/bhyve/contrib/less/lessecho.man ============================================================================== --- projects/bhyve/contrib/less/lessecho.man Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/contrib/less/lessecho.man Tue Dec 4 04:37:42 2012 (r243852) @@ -51,4 +51,4 @@ LESSECHO(1) - Version 453: 27 Oct 2012 LESSECHO(1) + Version 456: 08 Nov 2012 LESSECHO(1) Modified: projects/bhyve/contrib/less/lessecho.nro ============================================================================== --- projects/bhyve/contrib/less/lessecho.nro Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/contrib/less/lessecho.nro Tue Dec 4 04:37:42 2012 (r243852) @@ -1,4 +1,4 @@ -.TH LESSECHO 1 "Version 453: 27 Oct 2012" +.TH LESSECHO 1 "Version 456: 08 Nov 2012" .SH NAME lessecho \- expand metacharacters .SH SYNOPSIS Modified: projects/bhyve/contrib/less/lesskey.man ============================================================================== --- projects/bhyve/contrib/less/lesskey.man Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/contrib/less/lesskey.man Tue Dec 4 04:37:42 2012 (r243852) @@ -353,4 +353,4 @@ LESSKEY(1) - Version 453: 27 Oct 2012 LESSKEY(1) + Version 456: 08 Nov 2012 LESSKEY(1) Modified: projects/bhyve/contrib/less/lesskey.nro ============================================================================== --- projects/bhyve/contrib/less/lesskey.nro Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/contrib/less/lesskey.nro Tue Dec 4 04:37:42 2012 (r243852) @@ -1,4 +1,4 @@ -.TH LESSKEY 1 "Version 453: 27 Oct 2012" +.TH LESSKEY 1 "Version 456: 08 Nov 2012" .SH NAME lesskey \- specify key bindings for less .SH SYNOPSIS Modified: projects/bhyve/contrib/less/option.c ============================================================================== --- projects/bhyve/contrib/less/option.c Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/contrib/less/option.c Tue Dec 4 04:37:42 2012 (r243852) @@ -149,7 +149,7 @@ scan_option(s) if (s == NULL) return; if (*str == '+') - every_first_cmd = save(++str); + every_first_cmd = save(str+1); else ungetsc(str); free(str); @@ -585,7 +585,6 @@ optstring(s, p_str, printopt, validchars } else { if (*p == END_OPTION_STRING || - *p == ' ' || *p == '\t' || *p == '-' || (validchars != NULL && strchr(validchars, *p) == NULL)) /* End of option string. */ break; Modified: projects/bhyve/contrib/less/version.c ============================================================================== --- projects/bhyve/contrib/less/version.c Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/contrib/less/version.c Tue Dec 4 04:37:42 2012 (r243852) @@ -757,6 +757,9 @@ v451 7/20/12 Fix typo. v452 10/19/12 Fix --with-regex=none, fix "stty 0", fix Win32. Don't quit if errors in cmd line options. v453 10/27/12 Increase buffer sizes. +v454 11/5/12 Fix typo. +v455 11/5/12 Fix typo. +v456 11/8/12 Fix option string incompatibility. */ -char version[] = "453"; +char version[] = "456"; Modified: projects/bhyve/contrib/libc++/include/__config ============================================================================== --- projects/bhyve/contrib/libc++/include/__config Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/contrib/libc++/include/__config Tue Dec 4 04:37:42 2012 (r243852) @@ -51,6 +51,9 @@ # define _LIBCPP_LITTLE_ENDIAN 0 # define _LIBCPP_BIG_ENDIAN 1 # endif // _BYTE_ORDER == _LITTLE_ENDIAN +# ifndef __LONG_LONG_SUPPORTED +# define _LIBCPP_HAS_NO_LONG_LONG +# endif // __LONG_LONG_SUPPORTED #endif // __FreeBSD__ #ifdef _WIN32 Modified: projects/bhyve/contrib/libc++/include/cstdlib ============================================================================== --- projects/bhyve/contrib/libc++/include/cstdlib Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/contrib/libc++/include/cstdlib Tue Dec 4 04:37:42 2012 (r243852) @@ -97,18 +97,26 @@ _LIBCPP_BEGIN_NAMESPACE_STD using ::size_t; using ::div_t; using ::ldiv_t; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::lldiv_t; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::atof; using ::atoi; using ::atol; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::atoll; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::strtod; using ::strtof; using ::strtold; using ::strtol; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::strtoll; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::strtoul; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::strtoull; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::rand; using ::srand; using ::calloc; @@ -125,10 +133,14 @@ using ::bsearch; using ::qsort; using ::abs; using ::labs; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::llabs; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::div; using ::ldiv; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::lldiv; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::mblen; using ::mbtowc; using ::wctomb; @@ -145,10 +157,14 @@ using ::aligned_alloc; // MSVC already has the correct prototype in #ifdef __cplusplus #if !defined(_MSC_VER) && !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY long abs( long __x) _NOEXCEPT {return labs(__x);} +#ifndef _LIBCPP_HAS_NO_LONG_LONG inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {return llabs(__x);} +#endif // _LIBCPP_HAS_NO_LONG_LONG inline _LIBCPP_INLINE_VISIBILITY ldiv_t div( long __x, long __y) _NOEXCEPT {return ldiv(__x, __y);} +#ifndef _LIBCPP_HAS_NO_LONG_LONG inline _LIBCPP_INLINE_VISIBILITY lldiv_t div(long long __x, long long __y) _NOEXCEPT {return lldiv(__x, __y);} +#endif // _LIBCPP_HAS_NO_LONG_LONG #endif // _MSC_VER _LIBCPP_END_NAMESPACE_STD Modified: projects/bhyve/contrib/libc++/include/cwchar ============================================================================== --- projects/bhyve/contrib/libc++/include/cwchar Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/contrib/libc++/include/cwchar Tue Dec 4 04:37:42 2012 (r243852) @@ -151,9 +151,13 @@ using ::wcstof; using ::wcstold; #endif // _MSC_VER using ::wcstol; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::wcstoll; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::wcstoul; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::wcstoull; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::wcscpy; using ::wcsncpy; using ::wcscat; Modified: projects/bhyve/contrib/libc++/include/exception ============================================================================== --- projects/bhyve/contrib/libc++/include/exception Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/contrib/libc++/include/exception Tue Dec 4 04:37:42 2012 (r243852) @@ -143,7 +143,7 @@ public: {return !(__x == __y);} friend exception_ptr current_exception() _NOEXCEPT; - _LIBCPP_NORETURN friend void rethrow_exception(exception_ptr); + friend void rethrow_exception(exception_ptr); }; template Modified: projects/bhyve/contrib/libc++/include/iterator ============================================================================== --- projects/bhyve/contrib/libc++/include/iterator Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/contrib/libc++/include/iterator Tue Dec 4 04:37:42 2012 (r243852) @@ -317,6 +317,10 @@ template T* end(T (& #include #include #include +#if __APPLE__ +#include +#endif + #ifdef _LIBCPP_DEBUG #include #endif @@ -795,7 +799,7 @@ public: typedef basic_streambuf<_CharT,_Traits> streambuf_type; typedef basic_istream<_CharT,_Traits> istream_type; private: - streambuf_type* __sbuf_; + mutable streambuf_type* __sbuf_; class __proxy { @@ -809,13 +813,14 @@ private: }; _LIBCPP_INLINE_VISIBILITY - void __test_for_eof() + bool __test_for_eof() const { if (__sbuf_ && traits_type::eq_int_type(__sbuf_->sgetc(), traits_type::eof())) __sbuf_ = 0; + return __sbuf_ == 0; } public: - _LIBCPP_INLINE_VISIBILITY istreambuf_iterator() _NOEXCEPT : __sbuf_(0) {} + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR istreambuf_iterator() _NOEXCEPT : __sbuf_(0) {} _LIBCPP_INLINE_VISIBILITY istreambuf_iterator(istream_type& __s) _NOEXCEPT : __sbuf_(__s.rdbuf()) {__test_for_eof();} _LIBCPP_INLINE_VISIBILITY istreambuf_iterator(streambuf_type* __s) _NOEXCEPT @@ -828,19 +833,16 @@ public: _LIBCPP_INLINE_VISIBILITY char_type* operator->() const {return nullptr;} _LIBCPP_INLINE_VISIBILITY istreambuf_iterator& operator++() { - if (traits_type::eq_int_type(__sbuf_->snextc(), traits_type::eof())) - __sbuf_ = 0; + __sbuf_->sbumpc(); return *this; } _LIBCPP_INLINE_VISIBILITY __proxy operator++(int) { - char_type __c = __sbuf_->sgetc(); - ++(*this); - return __proxy(__c, __sbuf_); + return __proxy(__sbuf_->sbumpc(), __sbuf_); } _LIBCPP_INLINE_VISIBILITY bool equal(const istreambuf_iterator& __b) const - {return (__sbuf_ == 0) == (__b.__sbuf_ == 0);} + {return __test_for_eof() == __b.__test_for_eof();} }; template @@ -882,6 +884,10 @@ public: _LIBCPP_INLINE_VISIBILITY ostreambuf_iterator& operator++(int) {return *this;} _LIBCPP_INLINE_VISIBILITY bool failed() const _NOEXCEPT {return __sbuf_ == 0;} +#if !defined(__APPLE__) || \ + (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED > __MAC_10_8) || \ + (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED > __IPHONE_6_0) + template friend _LIBCPP_HIDDEN @@ -889,6 +895,7 @@ public: __pad_and_output(ostreambuf_iterator<_Ch, _Tr> __s, const _Ch* __ob, const _Ch* __op, const _Ch* __oe, ios_base& __iob, _Ch __fl); +#endif }; template Modified: projects/bhyve/contrib/libc++/include/locale ============================================================================== --- projects/bhyve/contrib/libc++/include/locale Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/contrib/libc++/include/locale Tue Dec 4 04:37:42 2012 (r243852) @@ -192,6 +192,10 @@ template class messages_by #include #endif // !_WIN32 +#if __APPLE__ +#include +#endif + #include <__undef_min_max> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) @@ -1587,6 +1591,10 @@ __pad_and_output(_OutputIterator __s, return __s; } +#if !defined(__APPLE__) || \ + (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED > __MAC_10_8) || \ + (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED > __IPHONE_6_0) + template _LIBCPP_HIDDEN ostreambuf_iterator<_CharT, _Traits> @@ -1633,6 +1641,8 @@ __pad_and_output(ostreambuf_iterator<_Ch return __s; } +#endif + template _OutputIterator num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob, Modified: projects/bhyve/contrib/llvm/include/llvm-c/Core.h ============================================================================== --- projects/bhyve/contrib/llvm/include/llvm-c/Core.h Tue Dec 4 00:57:11 2012 (r243851) +++ projects/bhyve/contrib/llvm/include/llvm-c/Core.h Tue Dec 4 04:37:42 2012 (r243852) @@ -173,10 +173,11 @@ typedef enum { LLVMUWTable = 1 << 30, LLVMNonLazyBind = 1 << 31 - // FIXME: This attribute is currently not included in the C API as - // a temporary measure until the API/ABI impact to the C API is understood - // and the path forward agreed upon. - //LLVMAddressSafety = 1ULL << 32 + /* FIXME: This attribute is currently not included in the C API as + a temporary measure until the API/ABI impact to the C API is understood + and the path forward agreed upon. + LLVMAddressSafety = 1ULL << 32 + */ } LLVMAttribute; typedef enum { @@ -282,6 +283,7 @@ typedef enum { LLVMLinkOnceAnyLinkage, /**< Keep one copy of function when linking (inline)*/ LLVMLinkOnceODRLinkage, /**< Same, but only replaced by something equivalent. */ + LLVMLinkOnceODRAutoHideLinkage, /**< Like LinkOnceODR, but possibly hidden. */ LLVMWeakAnyLinkage, /**< Keep one copy of function when linking (weak) */ LLVMWeakODRLinkage, /**< Same, but only replaced by something equivalent. */ @@ -295,9 +297,7 @@ typedef enum { LLVMGhostLinkage, /**< Obsolete */ LLVMCommonLinkage, /**< Tentative definitions */ LLVMLinkerPrivateLinkage, /**< Like Private, but linker removes. */ - LLVMLinkerPrivateWeakLinkage, /**< Like LinkerPrivate, but is weak. */ - LLVMLinkerPrivateWeakDefAutoLinkage /**< Like LinkerPrivateWeak, but possibly - hidden. */ + LLVMLinkerPrivateWeakLinkage /**< Like LinkerPrivate, but is weak. */ } LLVMLinkage; typedef enum { @@ -1803,7 +1803,7 @@ LLVMAttribute LLVMGetAttribute(LLVMValue * Set the alignment for a function parameter. * * @see llvm::Argument::addAttr() - * @see llvm::Attribute::constructAlignmentFromInt() + * @see llvm::AttrBuilder::addAlignmentAttr() */ void LLVMSetParamAlignment(LLVMValueRef Arg, unsigned align); @@ -1869,6 +1869,27 @@ LLVMValueRef LLVMMDNode(LLVMValueRef *Va const char *LLVMGetMDString(LLVMValueRef V, unsigned* Len); /** + * Obtain the number of operands from an MDNode value. + * + * @param V MDNode to get number of operands from. + * @return Number of operands of the MDNode. + */ +unsigned LLVMGetMDNodeNumOperands(LLVMValueRef V); + +/** + * Obtain the given MDNode's operands. + * + * The passed LLVMValueRef pointer should point to enough memory to hold all of + * the operands of the given MDNode (see LLVMGetMDNodeNumOperands) as + * LLVMValueRefs. This memory will be populated with the LLVMValueRefs of the + * MDNode's operands. + * + * @param V MDNode to get the operands from. + * @param Dest Destination array for operands. + */ +void LLVMGetMDNodeOperands(LLVMValueRef V, LLVMValueRef *Dest); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue Dec 4 08:46:33 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 1C631C31; Tue, 4 Dec 2012 08:46:33 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id F2BD68FC08; Tue, 4 Dec 2012 08:46:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB48kWZ7020242; Tue, 4 Dec 2012 08:46:32 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB48kW9P020241; Tue, 4 Dec 2012 08:46:32 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201212040846.qB48kW9P020241@svn.freebsd.org> From: Mark Linimon Date: Tue, 4 Dec 2012 08:46:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243855 - projects/portbuild/conf 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, 04 Dec 2012 08:46:33 -0000 Author: linimon (doc,ports committer) Date: Tue Dec 4 08:46:32 2012 New Revision: 243855 URL: http://svnweb.freebsd.org/changeset/base/243855 Log: Add SVN mirrors. Modified: projects/portbuild/conf/server.conf Modified: projects/portbuild/conf/server.conf ============================================================================== --- projects/portbuild/conf/server.conf Tue Dec 4 07:22:15 2012 (r243854) +++ projects/portbuild/conf/server.conf Tue Dec 4 08:46:32 2012 (r243855) @@ -114,7 +114,12 @@ VCS_UPDATE_COMMAND="svn update" VCS_SUBDIR=".svn" # FreeBSD's SVN repositories +# master VCS_REPOSITORY="svn://svn.FreeBSD.org" +# East Coast USA mirror +#VCS_REPOSITORY="svn://svn0.us-east.FreeBSD.org" +# West Coast USA mirror +#VCS_REPOSITORY="svn://svn0.us-west.FreeBSD.org" VCS_SRC_REPOSITORY="${VCS_REPOSITORY}/base" VCS_PORTS_REPOSITORY="${VCS_REPOSITORY}/ports" From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 00:13:26 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 D473A341; Wed, 5 Dec 2012 00:13:26 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B8E418FC08; Wed, 5 Dec 2012 00:13:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB50DQpJ011600; Wed, 5 Dec 2012 00:13:26 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB50DQUq011599; Wed, 5 Dec 2012 00:13:26 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201212050013.qB50DQUq011599@svn.freebsd.org> From: Mark Linimon Date: Wed, 5 Dec 2012 00:13:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243870 - projects/portbuild/qmanager 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, 05 Dec 2012 00:13:27 -0000 Author: linimon (doc,ports committer) Date: Wed Dec 5 00:13:26 2012 New Revision: 243870 URL: http://svnweb.freebsd.org/changeset/base/243870 Log: Remove a bit of hard-coding. Modified: projects/portbuild/qmanager/packagebuild Modified: projects/portbuild/qmanager/packagebuild ============================================================================== --- projects/portbuild/qmanager/packagebuild Tue Dec 4 20:49:39 2012 (r243869) +++ projects/portbuild/qmanager/packagebuild Wed Dec 5 00:13:26 2012 (r243870) @@ -648,7 +648,7 @@ def main(arch, branch, buildid, args): job.attempts = job.attempts + 1 # XXX MCL in theory, if all this code worked correctly, # this condition would never trigger. In practice, - # however, it does, so bomb out before filling portmgr's + # however, it does, so bomb out before filling someone's # mbox. # XXX MCL 20110422 perhaps this code has been fixed now; # XXX it did not use to work: From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 00:20:43 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 0C7E9511; Wed, 5 Dec 2012 00:20:43 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E84268FC13; Wed, 5 Dec 2012 00:20:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB50KgR6012907; Wed, 5 Dec 2012 00:20:42 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB50Kgc5012906; Wed, 5 Dec 2012 00:20:42 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201212050020.qB50Kgc5012906@svn.freebsd.org> From: Mark Linimon Date: Wed, 5 Dec 2012 00:20:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243871 - projects/portbuild/conf 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, 05 Dec 2012 00:20:43 -0000 Author: linimon (doc,ports committer) Date: Wed Dec 5 00:20:42 2012 New Revision: 243871 URL: http://svnweb.freebsd.org/changeset/base/243871 Log: Try to factor out some more hardwiring. Modified: projects/portbuild/conf/server.conf Modified: projects/portbuild/conf/server.conf ============================================================================== --- projects/portbuild/conf/server.conf Wed Dec 5 00:13:26 2012 (r243870) +++ projects/portbuild/conf/server.conf Wed Dec 5 00:20:42 2012 (r243871) @@ -51,6 +51,13 @@ WORLDDIR=${ZFS_MOUNTPOINT}/chroot/ #zexpire a/nfs a/local a/portbuild/* a/snap/* # +# ownership definitions. Note: ports builds are hardwired to ports-. +# Comment this out to make them also group ports-. +# + +PORTBUILD_GROUP="portbuild" + +# # buildproxy definitions (note: Python script, so avoid {}) # From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 00:32:31 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 EF1BD847; Wed, 5 Dec 2012 00:32:31 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BC4188FC14; Wed, 5 Dec 2012 00:32:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB50WVom015103; Wed, 5 Dec 2012 00:32:31 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB50WVOY015099; Wed, 5 Dec 2012 00:32:31 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201212050032.qB50WVOY015099@svn.freebsd.org> From: Mark Linimon Date: Wed, 5 Dec 2012 00:32:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243872 - projects/portbuild/scripts 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, 05 Dec 2012 00:32:32 -0000 Author: linimon (doc,ports committer) Date: Wed Dec 5 00:32:30 2012 New Revision: 243872 URL: http://svnweb.freebsd.org/changeset/base/243872 Log: Get rid of more hard-coding. Modified: projects/portbuild/scripts/buildenv projects/portbuild/scripts/dopackages projects/portbuild/scripts/dopackagestats Modified: projects/portbuild/scripts/buildenv ============================================================================== --- projects/portbuild/scripts/buildenv Wed Dec 5 00:20:42 2012 (r243871) +++ projects/portbuild/scripts/buildenv Wed Dec 5 00:32:30 2012 (r243872) @@ -167,11 +167,11 @@ buildenv.client() { # manually override results of uname(1) export UNAME_m=${arch} - export UNAME_n=freebsd.org + export UNAME_n=localhost export UNAME_p=${arch} export UNAME_r=${OSREL}-${BRANCH} export UNAME_s=FreeBSD - export UNAME_v="FreeBSD ${OSREL}-${BRANCH} #0: $(date) portmgr@freebsd.org:/usr/src/sys/magic/kernel/path" + export UNAME_v="FreeBSD ${OSREL}-${BRANCH} #0: $(date) nobody@localhost:/usr/src/sys/magic/kernel/path" } # Modified: projects/portbuild/scripts/dopackages ============================================================================== --- projects/portbuild/scripts/dopackages Wed Dec 5 00:20:42 2012 (r243871) +++ projects/portbuild/scripts/dopackages Wed Dec 5 00:32:30 2012 (r243872) @@ -9,7 +9,7 @@ pbd=${PORTBUILD_DATA:-/var/portbuild} PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:${pbc}/scripts -# writable by portmgr +# make writable by group umask 002 journalname="journal" Modified: projects/portbuild/scripts/dopackagestats ============================================================================== --- projects/portbuild/scripts/dopackagestats Wed Dec 5 00:20:42 2012 (r243871) +++ projects/portbuild/scripts/dopackagestats Wed Dec 5 00:32:30 2012 (r243872) @@ -353,7 +353,7 @@ for arch in ${SUPPORTED_ARCHS}; do done # then display all the non-mainstream builds (probably only of interest -# to portmgr; would break up the logical flow of the above) +# to administrative types; would break up the logical flow of the above) # examples: 8.1; 8-exp; 8-exp-gettext; 8.1R for arch in ${SUPPORTED_ARCHS}; do From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 02:06:31 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 74B771B2; Wed, 5 Dec 2012 02:06:31 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 3FF5C8FC13; Wed, 5 Dec 2012 02:06:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB526V82033253; Wed, 5 Dec 2012 02:06:31 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB526VQO033252; Wed, 5 Dec 2012 02:06:31 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201212050206.qB526VQO033252@svn.freebsd.org> From: Jeff Roberson Date: Wed, 5 Dec 2012 02:06:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243873 - projects/physbio 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, 05 Dec 2012 02:06:31 -0000 Author: jeff Date: Wed Dec 5 02:06:30 2012 New Revision: 243873 URL: http://svnweb.freebsd.org/changeset/base/243873 Log: - Create a branch for physical bio (unmapped io) support. Sponsored by: EMC / Isilon Storage Division Added: - copied from r243872, head/ Directory Properties: projects/physbio/ (props changed) From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 02:47:10 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 5D8E6E2A; Wed, 5 Dec 2012 02:47:10 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 413858FC12; Wed, 5 Dec 2012 02:47:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB52lACi041332; Wed, 5 Dec 2012 02:47:10 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB52l6Zk041305; Wed, 5 Dec 2012 02:47:06 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201212050247.qB52l6Zk041305@svn.freebsd.org> From: Jeff Roberson Date: Wed, 5 Dec 2012 02:47:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243874 - in projects/physbio/sys: conf dev/advansys dev/aha dev/ahb dev/ahci dev/aic7xxx dev/arcmsr dev/ata dev/buslogic dev/ciss dev/dpt dev/firewire dev/hpt27xx dev/hptiop dev/hptmv ... 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, 05 Dec 2012 02:47:10 -0000 Author: jeff Date: Wed Dec 5 02:47:06 2012 New Revision: 243874 URL: http://svnweb.freebsd.org/changeset/base/243874 Log: - Implement the MI bus_dmamap_load_ccb() to load cam control blocks into physical segment lists. - Convert most cam drivers to use bus_dmamap_load_ccb() Sponsored by: EMC / Isilon Storage Division Added: projects/physbio/sys/kern/subr_busdma.c Modified: projects/physbio/sys/conf/files projects/physbio/sys/dev/advansys/advansys.c projects/physbio/sys/dev/advansys/adwcam.c projects/physbio/sys/dev/aha/aha.c projects/physbio/sys/dev/ahb/ahb.c projects/physbio/sys/dev/ahci/ahci.c projects/physbio/sys/dev/aic7xxx/aic79xx_osm.c projects/physbio/sys/dev/aic7xxx/aic7xxx_osm.c projects/physbio/sys/dev/arcmsr/arcmsr.c projects/physbio/sys/dev/ata/ata-dma.c projects/physbio/sys/dev/buslogic/bt.c projects/physbio/sys/dev/ciss/ciss.c projects/physbio/sys/dev/ciss/cissvar.h projects/physbio/sys/dev/dpt/dpt_scsi.c projects/physbio/sys/dev/firewire/sbp.c projects/physbio/sys/dev/hpt27xx/osm_bsd.c projects/physbio/sys/dev/hptiop/hptiop.c projects/physbio/sys/dev/hptmv/entry.c projects/physbio/sys/dev/hptrr/hptrr_osm_bsd.c projects/physbio/sys/dev/iir/iir.c projects/physbio/sys/dev/isci/isci_io_request.c projects/physbio/sys/dev/isp/isp_pci.c projects/physbio/sys/dev/isp/isp_sbus.c projects/physbio/sys/dev/mfi/mfi.c projects/physbio/sys/dev/mfi/mfi_cam.c projects/physbio/sys/dev/mfi/mfivar.h projects/physbio/sys/dev/mly/mly.c projects/physbio/sys/dev/mly/mlyvar.h projects/physbio/sys/dev/mps/mps.c projects/physbio/sys/dev/mps/mps_sas.c projects/physbio/sys/dev/mps/mpsvar.h projects/physbio/sys/dev/mpt/mpt_cam.c projects/physbio/sys/dev/mvs/mvs.c projects/physbio/sys/dev/siis/siis.c projects/physbio/sys/dev/sym/sym_hipd.c projects/physbio/sys/dev/trm/trm.c projects/physbio/sys/dev/twa/tw_osl.h projects/physbio/sys/dev/twa/tw_osl_cam.c projects/physbio/sys/dev/twa/tw_osl_freebsd.c projects/physbio/sys/dev/tws/tws.h projects/physbio/sys/dev/tws/tws_cam.c projects/physbio/sys/powerpc/ps3/ps3cdrom.c projects/physbio/sys/sys/bus_dma.h Modified: projects/physbio/sys/conf/files ============================================================================== --- projects/physbio/sys/conf/files Wed Dec 5 02:06:30 2012 (r243873) +++ projects/physbio/sys/conf/files Wed Dec 5 02:47:06 2012 (r243874) @@ -2671,6 +2671,7 @@ kern/subr_acl_posix1e.c optional ufs_ac kern/subr_autoconf.c standard kern/subr_blist.c standard kern/subr_bus.c standard +kern/subr_busdma.c standard kern/subr_bufring.c standard kern/subr_clock.c standard kern/subr_devstat.c standard Modified: projects/physbio/sys/dev/advansys/advansys.c ============================================================================== --- projects/physbio/sys/dev/advansys/advansys.c Wed Dec 5 02:06:30 2012 (r243873) +++ projects/physbio/sys/dev/advansys/advansys.c Wed Dec 5 02:47:06 2012 (r243874) @@ -207,6 +207,7 @@ adv_action(struct cam_sim *sim, union cc struct ccb_hdr *ccb_h; struct ccb_scsiio *csio; struct adv_ccb_info *cinfo; + int error; ccb_h = &ccb->ccb_h; csio = &ccb->csio; @@ -217,58 +218,17 @@ adv_action(struct cam_sim *sim, union cc ccb_h->ccb_cinfo_ptr = cinfo; cinfo->ccb = ccb; - /* Only use S/G if there is a transfer */ - if ((ccb_h->flags & CAM_DIR_MASK) != CAM_DIR_NONE) { - if ((ccb_h->flags & CAM_SCATTER_VALID) == 0) { - /* - * We've been given a pointer - * to a single buffer - */ - if ((ccb_h->flags & CAM_DATA_PHYS) == 0) { - int error; - - error = - bus_dmamap_load(adv->buffer_dmat, - cinfo->dmamap, - csio->data_ptr, - csio->dxfer_len, - adv_execute_ccb, - csio, /*flags*/0); - if (error == EINPROGRESS) { - /* - * So as to maintain ordering, - * freeze the controller queue - * until our mapping is - * returned. - */ - adv_set_state(adv, - ADV_BUSDMA_BLOCK); - } - } else { - struct bus_dma_segment seg; - - /* Pointer to physical buffer */ - seg.ds_addr = - (bus_addr_t)csio->data_ptr; - seg.ds_len = csio->dxfer_len; - adv_execute_ccb(csio, &seg, 1, 0); - } - } else { - struct bus_dma_segment *segs; - if ((ccb_h->flags & CAM_DATA_PHYS) != 0) - panic("adv_setup_data - Physical " - "segment pointers unsupported"); - - if ((ccb_h->flags & CAM_SG_LIST_PHYS) == 0) - panic("adv_setup_data - Virtual " - "segment addresses unsupported"); - - /* Just use the segments provided */ - segs = (struct bus_dma_segment *)csio->data_ptr; - adv_execute_ccb(ccb, segs, csio->sglist_cnt, 0); - } - } else { - adv_execute_ccb(ccb, NULL, 0, 0); + error = bus_dmamap_load_ccb(adv->buffer_dmat, + cinfo->dmamap, + ccb, + adv_execute_ccb, + csio, /*flags*/0); + if (error == EINPROGRESS) { + /* + * So as to maintain ordering, freeze the controller + * queue until our mapping is returned. + */ + adv_set_state(adv, ADV_BUSDMA_BLOCK); } break; } Modified: projects/physbio/sys/dev/advansys/adwcam.c ============================================================================== --- projects/physbio/sys/dev/advansys/adwcam.c Wed Dec 5 02:06:30 2012 (r243873) +++ projects/physbio/sys/dev/advansys/adwcam.c Wed Dec 5 02:47:06 2012 (r243874) @@ -353,6 +353,7 @@ adw_action(struct cam_sim *sim, union cc struct ccb_scsiio *csio; struct ccb_hdr *ccbh; struct acb *acb; + int error; csio = &ccb->csio; ccbh = &ccb->ccb_h; @@ -427,66 +428,18 @@ adw_action(struct cam_sim *sim, union cc acb->queue.cdb, csio->cdb_len); } - /* - * If we have any data to send with this command, - * map it into bus space. - */ - if ((ccbh->flags & CAM_DIR_MASK) != CAM_DIR_NONE) { - if ((ccbh->flags & CAM_SCATTER_VALID) == 0) { - /* - * We've been given a pointer - * to a single buffer. - */ - if ((ccbh->flags & CAM_DATA_PHYS) == 0) { - int error; - - error = - bus_dmamap_load(adw->buffer_dmat, - acb->dmamap, - csio->data_ptr, - csio->dxfer_len, - adwexecuteacb, - acb, /*flags*/0); - if (error == EINPROGRESS) { - /* - * So as to maintain ordering, - * freeze the controller queue - * until our mapping is - * returned. - */ - xpt_freeze_simq(sim, 1); - acb->state |= CAM_RELEASE_SIMQ; - } - } else { - struct bus_dma_segment seg; - - /* Pointer to physical buffer */ - seg.ds_addr = - (bus_addr_t)csio->data_ptr; - seg.ds_len = csio->dxfer_len; - adwexecuteacb(acb, &seg, 1, 0); - } - } else { - struct bus_dma_segment *segs; - - if ((ccbh->flags & CAM_DATA_PHYS) != 0) - panic("adw_action - Physical " - "segment pointers " - "unsupported"); - - if ((ccbh->flags&CAM_SG_LIST_PHYS)==0) - panic("adw_action - Virtual " - "segment addresses " - "unsupported"); - - /* Just use the segments provided */ - segs = (struct bus_dma_segment *)csio->data_ptr; - adwexecuteacb(acb, segs, csio->sglist_cnt, - (csio->sglist_cnt < ADW_SGSIZE) - ? 0 : EFBIG); - } - } else { - adwexecuteacb(acb, NULL, 0, 0); + error = bus_dmamap_load_ccb(adw->buffer_dmat, + acb->dmamap, + ccb, + adwexecuteacb, + acb, /*flags*/0); + if (error == EINPROGRESS) { + /* + * So as to maintain ordering, freeze the controller + * queue until our mapping is returned. + */ + xpt_freeze_simq(sim, 1); + acb->state |= CAM_RELEASE_SIMQ; } break; } Modified: projects/physbio/sys/dev/aha/aha.c ============================================================================== --- projects/physbio/sys/dev/aha/aha.c Wed Dec 5 02:06:30 2012 (r243873) +++ projects/physbio/sys/dev/aha/aha.c Wed Dec 5 02:47:06 2012 (r243874) @@ -778,6 +778,7 @@ ahaaction(struct cam_sim *sim, union ccb if (ccb->ccb_h.func_code == XPT_SCSI_IO) { struct ccb_scsiio *csio; struct ccb_hdr *ccbh; + int error; csio = &ccb->csio; ccbh = &csio->ccb_h; @@ -811,67 +812,22 @@ ahaaction(struct cam_sim *sim, union ccb * If we have any data to send with this command, * map it into bus space. */ - /* Only use S/G if there is a transfer */ - if ((ccbh->flags & CAM_DIR_MASK) != CAM_DIR_NONE) { - if ((ccbh->flags & CAM_SCATTER_VALID) == 0) { - /* - * We've been given a pointer - * to a single buffer. - */ - if ((ccbh->flags & CAM_DATA_PHYS)==0) { - int error; - - error = bus_dmamap_load( - aha->buffer_dmat, - accb->dmamap, - csio->data_ptr, - csio->dxfer_len, - ahaexecuteccb, - accb, - /*flags*/0); - if (error == EINPROGRESS) { - /* - * So as to maintain - * ordering, freeze the - * controller queue - * until our mapping is - * returned. - */ - xpt_freeze_simq(aha->sim, - 1); - csio->ccb_h.status |= - CAM_RELEASE_SIMQ; - } - } else { - struct bus_dma_segment seg; - - /* Pointer to physical buffer */ - seg.ds_addr = - (bus_addr_t)csio->data_ptr; - seg.ds_len = csio->dxfer_len; - ahaexecuteccb(accb, &seg, 1, 0); - } - } else { - struct bus_dma_segment *segs; - if ((ccbh->flags & CAM_DATA_PHYS) != 0) - panic("ahaaction - Physical " - "segment pointers " - "unsupported"); - - if ((ccbh->flags&CAM_SG_LIST_PHYS)==0) - panic("ahaaction - Virtual " - "segment addresses " - "unsupported"); - - /* Just use the segments provided */ - segs = (struct bus_dma_segment *) - csio->data_ptr; - ahaexecuteccb(accb, segs, - csio->sglist_cnt, 0); - } - } else { - ahaexecuteccb(accb, NULL, 0, 0); + error = bus_dmamap_load_ccb( + aha->buffer_dmat, + accb->dmamap, + ccb, + ahaexecuteccb, + accb, + /*flags*/0); + if (error == EINPROGRESS) { + /* + * So as to maintain ordering, freeze the + * controller queue until our mapping is + * returned. + */ + xpt_freeze_simq(aha->sim, 1); + csio->ccb_h.status |= CAM_RELEASE_SIMQ; } } else { hccb->opcode = INITIATOR_BUS_DEV_RESET; Modified: projects/physbio/sys/dev/ahb/ahb.c ============================================================================== --- projects/physbio/sys/dev/ahb/ahb.c Wed Dec 5 02:06:30 2012 (r243873) +++ projects/physbio/sys/dev/ahb/ahb.c Wed Dec 5 02:47:06 2012 (r243874) @@ -1056,65 +1056,19 @@ ahbaction(struct cam_sim *sim, union ccb hecb->cdb, hecb->cdb_len); } - /* - * If we have any data to send with this command, - * map it into bus space. - */ - if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { - if ((ccb->ccb_h.flags & CAM_SCATTER_VALID) == 0) { - /* - * We've been given a pointer - * to a single buffer. - */ - if ((ccb->ccb_h.flags & CAM_DATA_PHYS)==0) { - int error; - - error = bus_dmamap_load( - ahb->buffer_dmat, - ecb->dmamap, - ccb->csio.data_ptr, - ccb->csio.dxfer_len, - ahbexecuteecb, - ecb, /*flags*/0); - if (error == EINPROGRESS) { - /* - * So as to maintain ordering, - * freeze the controller queue - * until our mapping is - * returned. - */ - xpt_freeze_simq(ahb->sim, 1); - ccb->ccb_h.status |= - CAM_RELEASE_SIMQ; - } - } else { - struct bus_dma_segment seg; - - /* Pointer to physical buffer */ - seg.ds_addr = - (bus_addr_t)ccb->csio.data_ptr; - seg.ds_len = ccb->csio.dxfer_len; - ahbexecuteecb(ecb, &seg, 1, 0); - } - } else { - struct bus_dma_segment *segs; - - if ((ccb->ccb_h.flags & CAM_DATA_PHYS) != 0) - panic("ahbaction - Physical segment " - "pointers unsupported"); - - if ((ccb->ccb_h.flags & CAM_SG_LIST_PHYS) == 0) - panic("btaction - Virtual segment " - "addresses unsupported"); - - /* Just use the segments provided */ - segs = (struct bus_dma_segment *) - ccb->csio.data_ptr; - ahbexecuteecb(ecb, segs, ccb->csio.sglist_cnt, - 0); - } - } else { - ahbexecuteecb(ecb, NULL, 0, 0); + error = bus_dmamap_load_ccb( + ahb->buffer_dmat, + ecb->dmamap, + ccb, + ahbexecuteecb, + ecb, /*flags*/0); + if (error == EINPROGRESS) { + /* + * So as to maintain ordering, freeze the controller + * queue until our mapping is returned. + */ + xpt_freeze_simq(ahb->sim, 1); + ccb->ccb_h.status |= CAM_RELEASE_SIMQ; } break; } Modified: projects/physbio/sys/dev/ahci/ahci.c ============================================================================== --- projects/physbio/sys/dev/ahci/ahci.c Wed Dec 5 02:06:30 2012 (r243873) +++ projects/physbio/sys/dev/ahci/ahci.c Wed Dec 5 02:47:06 2012 (r243874) @@ -1667,23 +1667,8 @@ ahci_begin_transaction(device_t dev, uni (ccb->ataio.cmd.flags & (CAM_ATAIO_CONTROL | CAM_ATAIO_NEEDRESULT))) ch->aslots |= (1 << slot->slot); slot->dma.nsegs = 0; - /* If request moves data, setup and load SG list */ - if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { - void *buf; - bus_size_t size; - - slot->state = AHCI_SLOT_LOADING; - if (ccb->ccb_h.func_code == XPT_ATA_IO) { - buf = ccb->ataio.data_ptr; - size = ccb->ataio.dxfer_len; - } else { - buf = ccb->csio.data_ptr; - size = ccb->csio.dxfer_len; - } - bus_dmamap_load(ch->dma.data_tag, slot->dma.data_map, - buf, size, ahci_dmasetprd, slot, 0); - } else - ahci_execute_transaction(slot); + bus_dmamap_load_ccb(ch->dma.data_tag, slot->dma.data_map, ccb, + ahci_dmasetprd, slot, 0); } /* Locked by busdma engine. */ Modified: projects/physbio/sys/dev/aic7xxx/aic79xx_osm.c ============================================================================== --- projects/physbio/sys/dev/aic7xxx/aic79xx_osm.c Wed Dec 5 02:06:30 2012 (r243873) +++ projects/physbio/sys/dev/aic7xxx/aic79xx_osm.c Wed Dec 5 02:47:06 2012 (r243874) @@ -1071,6 +1071,7 @@ ahd_setup_data(struct ahd_softc *ahd, st { struct hardware_scb *hscb; struct ccb_hdr *ccb_h; + int error; hscb = scb->hscb; ccb_h = &csio->ccb_h; @@ -1120,64 +1121,18 @@ ahd_setup_data(struct ahd_softc *ahd, st } } - /* Only use S/G if there is a transfer */ - if ((ccb_h->flags & CAM_DIR_MASK) != CAM_DIR_NONE) { - if ((ccb_h->flags & CAM_SCATTER_VALID) == 0) { - /* We've been given a pointer to a single buffer */ - if ((ccb_h->flags & CAM_DATA_PHYS) == 0) { - int s; - int error; - - s = splsoftvm(); - error = bus_dmamap_load(ahd->buffer_dmat, - scb->dmamap, - csio->data_ptr, - csio->dxfer_len, - ahd_execute_scb, - scb, /*flags*/0); - if (error == EINPROGRESS) { - /* - * So as to maintain ordering, - * freeze the controller queue - * until our mapping is - * returned. - */ - xpt_freeze_simq(sim, - /*count*/1); - scb->io_ctx->ccb_h.status |= - CAM_RELEASE_SIMQ; - } - splx(s); - } else { - struct bus_dma_segment seg; - - /* Pointer to physical buffer */ - if (csio->dxfer_len > AHD_MAXTRANSFER_SIZE) - panic("ahd_setup_data - Transfer size " - "larger than can device max"); - - seg.ds_addr = - (bus_addr_t)(vm_offset_t)csio->data_ptr; - seg.ds_len = csio->dxfer_len; - ahd_execute_scb(scb, &seg, 1, 0); - } - } else { - struct bus_dma_segment *segs; - - if ((ccb_h->flags & CAM_DATA_PHYS) != 0) - panic("ahd_setup_data - Physical segment " - "pointers unsupported"); - - if ((ccb_h->flags & CAM_SG_LIST_PHYS) == 0) - panic("ahd_setup_data - Virtual segment " - "addresses unsupported"); - - /* Just use the segments provided */ - segs = (struct bus_dma_segment *)csio->data_ptr; - ahd_execute_scb(scb, segs, csio->sglist_cnt, 0); - } - } else { - ahd_execute_scb(scb, NULL, 0, 0); + error = bus_dmamap_load_ccb(ahd->buffer_dmat, + scb->dmamap, + (union ccb *)csio, + ahd_execute_scb, + scb, /*flags*/0); + if (error == EINPROGRESS) { + /* + * So as to maintain ordering, freeze the controller queue + * until our mapping is returned. + */ + xpt_freeze_simq(sim, /*count*/1); + scb->io_ctx->ccb_h.status |= CAM_RELEASE_SIMQ; } } Modified: projects/physbio/sys/dev/aic7xxx/aic7xxx_osm.c ============================================================================== --- projects/physbio/sys/dev/aic7xxx/aic7xxx_osm.c Wed Dec 5 02:06:30 2012 (r243873) +++ projects/physbio/sys/dev/aic7xxx/aic7xxx_osm.c Wed Dec 5 02:47:06 2012 (r243874) @@ -1138,6 +1138,7 @@ ahc_setup_data(struct ahc_softc *ahc, st { struct hardware_scb *hscb; struct ccb_hdr *ccb_h; + int error; hscb = scb->hscb; ccb_h = &csio->ccb_h; @@ -1179,64 +1180,21 @@ ahc_setup_data(struct ahc_softc *ahc, st } } - /* Only use S/G if there is a transfer */ - if ((ccb_h->flags & CAM_DIR_MASK) != CAM_DIR_NONE) { - if ((ccb_h->flags & CAM_SCATTER_VALID) == 0) { - /* We've been given a pointer to a single buffer */ - if ((ccb_h->flags & CAM_DATA_PHYS) == 0) { - int s; - int error; - - s = splsoftvm(); - error = bus_dmamap_load(ahc->buffer_dmat, - scb->dmamap, - csio->data_ptr, - csio->dxfer_len, - ahc_execute_scb, - scb, /*flags*/0); - if (error == EINPROGRESS) { - /* - * So as to maintain ordering, - * freeze the controller queue - * until our mapping is - * returned. - */ - xpt_freeze_simq(sim, - /*count*/1); - scb->io_ctx->ccb_h.status |= - CAM_RELEASE_SIMQ; - } - splx(s); - } else { - struct bus_dma_segment seg; - - /* Pointer to physical buffer */ - if (csio->dxfer_len > AHC_MAXTRANSFER_SIZE) - panic("ahc_setup_data - Transfer size " - "larger than can device max"); - - seg.ds_addr = - (bus_addr_t)(vm_offset_t)csio->data_ptr; - seg.ds_len = csio->dxfer_len; - ahc_execute_scb(scb, &seg, 1, 0); - } - } else { - struct bus_dma_segment *segs; - - if ((ccb_h->flags & CAM_DATA_PHYS) != 0) - panic("ahc_setup_data - Physical segment " - "pointers unsupported"); - - if ((ccb_h->flags & CAM_SG_LIST_PHYS) == 0) - panic("ahc_setup_data - Virtual segment " - "addresses unsupported"); - - /* Just use the segments provided */ - segs = (struct bus_dma_segment *)csio->data_ptr; - ahc_execute_scb(scb, segs, csio->sglist_cnt, 0); - } - } else { - ahc_execute_scb(scb, NULL, 0, 0); + error = bus_dmamap_load_ccb(ahc->buffer_dmat, + scb->dmamap, + (union ccb *)csio, + ahc_execute_scb, + scb, + 0); + if (error == EINPROGRESS) { + /* + * So as to maintain ordering, + * freeze the controller queue + * until our mapping is + * returned. + */ + xpt_freeze_simq(sim, /*count*/1); + scb->io_ctx->ccb_h.status |= CAM_RELEASE_SIMQ; } } Modified: projects/physbio/sys/dev/arcmsr/arcmsr.c ============================================================================== --- projects/physbio/sys/dev/arcmsr/arcmsr.c Wed Dec 5 02:06:30 2012 (r243873) +++ projects/physbio/sys/dev/arcmsr/arcmsr.c Wed Dec 5 02:47:06 2012 (r243874) @@ -2099,6 +2099,7 @@ static int arcmsr_iop_message_xfer(struc (u_int32_t ) pccb->csio.cdb_io.cdb_bytes[7] << 8 | (u_int32_t ) pccb->csio.cdb_io.cdb_bytes[8]; /* 4 bytes: Areca io control code */ + /* XXX Does not handle alternate data formats. */ if((pccb->ccb_h.flags & CAM_SCATTER_VALID) == 0) { buffer = pccb->csio.data_ptr; transfer_len = pccb->csio.dxfer_len; @@ -2489,6 +2490,7 @@ static void arcmsr_action(struct cam_sim case XPT_SCSI_IO: { struct CommandControlBlock *srb; int target=pccb->ccb_h.target_id; + int error; if(target == 16) { /* virtual device for iop message transfer */ @@ -2503,52 +2505,13 @@ static void arcmsr_action(struct cam_sim pccb->ccb_h.arcmsr_ccbsrb_ptr=srb; pccb->ccb_h.arcmsr_ccbacb_ptr=acb; srb->pccb=pccb; - if((pccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { - if(!(pccb->ccb_h.flags & CAM_SCATTER_VALID)) { - /* Single buffer */ - if(!(pccb->ccb_h.flags & CAM_DATA_PHYS)) { - /* Buffer is virtual */ - u_int32_t error, s; - - s=splsoftvm(); - error = bus_dmamap_load(acb->dm_segs_dmat - , srb->dm_segs_dmamap - , pccb->csio.data_ptr - , pccb->csio.dxfer_len - , arcmsr_execute_srb, srb, /*flags*/0); - if(error == EINPROGRESS) { - xpt_freeze_simq(acb->psim, 1); - pccb->ccb_h.status |= CAM_RELEASE_SIMQ; - } - splx(s); - } - else { /* Buffer is physical */ -#ifdef PAE - panic("arcmsr: CAM_DATA_PHYS not supported"); -#else - struct bus_dma_segment seg; - - seg.ds_addr = (bus_addr_t)pccb->csio.data_ptr; - seg.ds_len = pccb->csio.dxfer_len; - arcmsr_execute_srb(srb, &seg, 1, 0); -#endif - } - } else { - /* Scatter/gather list */ - struct bus_dma_segment *segs; - - if((pccb->ccb_h.flags & CAM_SG_LIST_PHYS) == 0 - || (pccb->ccb_h.flags & CAM_DATA_PHYS) != 0) { - pccb->ccb_h.status |= CAM_PROVIDE_FAIL; - xpt_done(pccb); - free(srb, M_DEVBUF); - return; - } - segs=(struct bus_dma_segment *)pccb->csio.data_ptr; - arcmsr_execute_srb(srb, segs, pccb->csio.sglist_cnt, 0); - } - } else { - arcmsr_execute_srb(srb, NULL, 0, 0); + error = bus_dmamap_load_ccb(acb->dm_segs_dmat + , srb->dm_segs_dmamap + , pccb + , arcmsr_execute_srb, srb, /*flags*/0); + if(error == EINPROGRESS) { + xpt_freeze_simq(acb->psim, 1); + pccb->ccb_h.status |= CAM_RELEASE_SIMQ; } break; } Modified: projects/physbio/sys/dev/ata/ata-dma.c ============================================================================== --- projects/physbio/sys/dev/ata/ata-dma.c Wed Dec 5 02:06:30 2012 (r243873) +++ projects/physbio/sys/dev/ata/ata-dma.c Wed Dec 5 02:47:06 2012 (r243874) @@ -304,10 +304,15 @@ ata_dmaload(struct ata_request *request, else dspa.dmatab = request->dma->sg; - if ((error = bus_dmamap_load(request->dma->data_tag, request->dma->data_map, - request->data, request->bytecount, - ch->dma.setprd, &dspa, BUS_DMA_NOWAIT)) || - (error = dspa.error)) { + if (request->ccb) + error = bus_dmamap_load_ccb(request->dma->data_tag, + request->dma->data_map, request->ccb, + ch->dma.setprd, &dspa, BUS_DMA_NOWAIT); + else + error = bus_dmamap_load(request->dma->data_tag, request->dma->data_map, + request->data, request->bytecount, + ch->dma.setprd, &dspa, BUS_DMA_NOWAIT); + if (error || (error = dspa.error)) { device_printf(request->parent, "FAILURE - load data\n"); goto error; } Modified: projects/physbio/sys/dev/buslogic/bt.c ============================================================================== --- projects/physbio/sys/dev/buslogic/bt.c Wed Dec 5 02:06:30 2012 (r243873) +++ projects/physbio/sys/dev/buslogic/bt.c Wed Dec 5 02:47:06 2012 (r243874) @@ -1158,6 +1158,7 @@ btaction(struct cam_sim *sim, union ccb if (ccb->ccb_h.func_code == XPT_SCSI_IO) { struct ccb_scsiio *csio; struct ccb_hdr *ccbh; + int error; csio = &ccb->csio; ccbh = &csio->ccb_h; @@ -1205,67 +1206,21 @@ btaction(struct cam_sim *sim, union ccb * If we have any data to send with this command, * map it into bus space. */ - /* Only use S/G if there is a transfer */ - if ((ccbh->flags & CAM_DIR_MASK) != CAM_DIR_NONE) { - if ((ccbh->flags & CAM_SCATTER_VALID) == 0) { - /* - * We've been given a pointer - * to a single buffer. - */ - if ((ccbh->flags & CAM_DATA_PHYS)==0) { - int error; - - error = bus_dmamap_load( - bt->buffer_dmat, - bccb->dmamap, - csio->data_ptr, - csio->dxfer_len, - btexecuteccb, - bccb, - /*flags*/0); - if (error == EINPROGRESS) { - /* - * So as to maintain - * ordering, freeze the - * controller queue - * until our mapping is - * returned. - */ - xpt_freeze_simq(bt->sim, - 1); - csio->ccb_h.status |= - CAM_RELEASE_SIMQ; - } - } else { - struct bus_dma_segment seg; - - /* Pointer to physical buffer */ - seg.ds_addr = - (bus_addr_t)csio->data_ptr; - seg.ds_len = csio->dxfer_len; - btexecuteccb(bccb, &seg, 1, 0); - } - } else { - struct bus_dma_segment *segs; - - if ((ccbh->flags & CAM_DATA_PHYS) != 0) - panic("btaction - Physical " - "segment pointers " - "unsupported"); - - if ((ccbh->flags&CAM_SG_LIST_PHYS)==0) - panic("btaction - Virtual " - "segment addresses " - "unsupported"); - - /* Just use the segments provided */ - segs = (struct bus_dma_segment *) - csio->data_ptr; - btexecuteccb(bccb, segs, - csio->sglist_cnt, 0); - } - } else { - btexecuteccb(bccb, NULL, 0, 0); + error = bus_dmamap_load_ccb( + bt->buffer_dmat, + bccb->dmamap, + ccb, + btexecuteccb, + bccb, + /*flags*/0); + if (error == EINPROGRESS) { + /* + * So as to maintain ordering, freeze the + * controller queue until our mapping is + * returned. + */ + xpt_freeze_simq(bt->sim, 1); + csio->ccb_h.status |= CAM_RELEASE_SIMQ; } } else { hccb->opcode = INITIATOR_BUS_DEV_RESET; Modified: projects/physbio/sys/dev/ciss/ciss.c ============================================================================== --- projects/physbio/sys/dev/ciss/ciss.c Wed Dec 5 02:06:30 2012 (r243873) +++ projects/physbio/sys/dev/ciss/ciss.c Wed Dec 5 02:47:06 2012 (r243874) @@ -2676,9 +2676,14 @@ ciss_map_request(struct ciss_request *cr BUS_DMASYNC_PREWRITE); if (cr->cr_data != NULL) { - error = bus_dmamap_load(sc->ciss_buffer_dmat, cr->cr_datamap, - cr->cr_data, cr->cr_length, - ciss_request_map_helper, cr, 0); + if (cr->cr_flags & CISS_REQ_CCB) + error = bus_dmamap_load_ccb(sc->ciss_buffer_dmat, + cr->cr_datamap, cr->cr_data, + ciss_request_map_helper, cr, 0); + else + error = bus_dmamap_load(sc->ciss_buffer_dmat, cr->cr_datamap, + cr->cr_data, cr->cr_length, + ciss_request_map_helper, cr, 0); if (error != 0) return (error); } else { @@ -3082,7 +3087,7 @@ ciss_cam_action_io(struct cam_sim *sim, * Build the command. */ cc = cr->cr_cc; - cr->cr_data = csio->data_ptr; + cr->cr_data = csio; cr->cr_length = csio->dxfer_len; cr->cr_complete = ciss_cam_complete; cr->cr_private = csio; @@ -3109,6 +3114,7 @@ ciss_cam_action_io(struct cam_sim *sim, cr->cr_flags = 0; cc->cdb.direction = CISS_CDB_DIRECTION_NONE; } + cr->cr_flags |= CISS_REQ_CCB; cc->cdb.timeout = (csio->ccb_h.timeout / 1000) + 1; if (csio->ccb_h.flags & CAM_CDB_POINTER) { bcopy(csio->cdb_io.cdb_ptr, &cc->cdb.cdb[0], csio->cdb_len); Modified: projects/physbio/sys/dev/ciss/cissvar.h ============================================================================== --- projects/physbio/sys/dev/ciss/cissvar.h Wed Dec 5 02:06:30 2012 (r243873) +++ projects/physbio/sys/dev/ciss/cissvar.h Wed Dec 5 02:47:06 2012 (r243874) @@ -113,6 +113,7 @@ struct ciss_request #define CISS_REQ_DATAOUT (1<<3) /* data host->adapter */ #define CISS_REQ_DATAIN (1<<4) /* data adapter->host */ #define CISS_REQ_BUSY (1<<5) /* controller has req */ +#define CISS_REQ_CCB (1<<6) /* data is ccb */ void (* cr_complete)(struct ciss_request *); void *cr_private; Modified: projects/physbio/sys/dev/dpt/dpt_scsi.c ============================================================================== --- projects/physbio/sys/dev/dpt/dpt_scsi.c Wed Dec 5 02:06:30 2012 (r243873) +++ projects/physbio/sys/dev/dpt/dpt_scsi.c Wed Dec 5 02:47:06 2012 (r243874) @@ -910,56 +910,22 @@ dpt_action(struct cam_sim *sim, union cc */ /* Only use S/G if there is a transfer */ if ((ccbh->flags & CAM_DIR_MASK) != CAM_DIR_NONE) { - if ((ccbh->flags & CAM_SCATTER_VALID) == 0) { + int error; + + error = bus_dmamap_load_ccb(dpt->buffer_dmat, + dccb->dmamap, + ccb, + dptexecuteccb, + dccb, /*flags*/0); + if (error == EINPROGRESS) { /* - * We've been given a pointer - * to a single buffer. + * So as to maintain ordering, + * freeze the controller queue + * until our mapping is + * returned. */ - if ((ccbh->flags & CAM_DATA_PHYS) == 0) { - int error; - - error = - bus_dmamap_load(dpt->buffer_dmat, - dccb->dmamap, - csio->data_ptr, - csio->dxfer_len, - dptexecuteccb, - dccb, /*flags*/0); - if (error == EINPROGRESS) { - /* - * So as to maintain ordering, - * freeze the controller queue - * until our mapping is - * returned. - */ - xpt_freeze_simq(sim, 1); - dccb->state |= CAM_RELEASE_SIMQ; - } - } else { - struct bus_dma_segment seg; - - /* Pointer to physical buffer */ - seg.ds_addr = - (bus_addr_t)csio->data_ptr; - seg.ds_len = csio->dxfer_len; - dptexecuteccb(dccb, &seg, 1, 0); - } - } else { - struct bus_dma_segment *segs; - - if ((ccbh->flags & CAM_DATA_PHYS) != 0) - panic("dpt_action - Physical " - "segment pointers " - "unsupported"); - - if ((ccbh->flags&CAM_SG_LIST_PHYS)==0) - panic("dpt_action - Virtual " - "segment addresses " - "unsupported"); - - /* Just use the segments provided */ - segs = (struct bus_dma_segment *)csio->data_ptr; - dptexecuteccb(dccb, segs, csio->sglist_cnt, 0); + xpt_freeze_simq(sim, 1); + dccb->state |= CAM_RELEASE_SIMQ; } } else { /* Modified: projects/physbio/sys/dev/firewire/sbp.c ============================================================================== --- projects/physbio/sys/dev/firewire/sbp.c Wed Dec 5 02:06:30 2012 (r243873) +++ projects/physbio/sys/dev/firewire/sbp.c Wed Dec 5 02:47:06 2012 (r243874) @@ -2496,10 +2496,9 @@ printf("ORB %08x %08x %08x %08x\n", ntoh int s, error; s = splsoftvm(); - error = bus_dmamap_load(/*dma tag*/sbp->dmat, + error = bus_dmamap_load_ccb(/*dma tag*/sbp->dmat, /*dma map*/ocb->dmamap, - ccb->csio.data_ptr, - ccb->csio.dxfer_len, + ccb, sbp_execute_ocb, ocb, /*flags*/0); Modified: projects/physbio/sys/dev/hpt27xx/osm_bsd.c ============================================================================== --- projects/physbio/sys/dev/hpt27xx/osm_bsd.c Wed Dec 5 02:06:30 2012 (r243873) +++ projects/physbio/sys/dev/hpt27xx/osm_bsd.c Wed Dec 5 02:47:06 2012 (r243874) @@ -660,6 +660,7 @@ static void hpt_scsi_io(PVBUS_EXT vbus_e case 0x2f: case 0x8f: /* VERIFY_16 */ { + int error; pCmd = ldm_alloc_cmds(vbus, vd->cmds_per_request); if(!pCmd){ KdPrint(("Failed to allocate command!")); @@ -716,42 +717,20 @@ static void hpt_scsi_io(PVBUS_EXT vbus_e pCmd->target = vd; pCmd->done = os_cmddone; pCmd->buildsgl = os_buildsgl; - pCmd->psg = ext->psg; - - if (ccb->ccb_h.flags & CAM_SCATTER_VALID) { - int idx; - bus_dma_segment_t *sgList = (bus_dma_segment_t *)ccb->csio.data_ptr; - - if (ccb->ccb_h.flags & CAM_SG_LIST_PHYS) - pCmd->flags.physical_sg = 1; - - for (idx = 0; idx < ccb->csio.sglist_cnt; idx++) { - pCmd->psg[idx].addr.bus = sgList[idx].ds_addr; - pCmd->psg[idx].size = sgList[idx].ds_len; - pCmd->psg[idx].eot = (idx==ccb->csio.sglist_cnt-1)? 1 : 0; - } - - ccb->ccb_h.timeout_ch = timeout(hpt_timeout, pCmd, HPT_OSM_TIMEOUT); - ldm_queue_cmd(pCmd); - } - else { - int error; - pCmd->flags.physical_sg = 1; - error = bus_dmamap_load(vbus_ext->io_dmat, - ext->dma_map, - ccb->csio.data_ptr, ccb->csio.dxfer_len, - hpt_io_dmamap_callback, pCmd, + pCmd->flags.physical_sg = 1; + error = bus_dmamap_load_ccb(vbus_ext->io_dmat, + ext->dma_map, ccb, + hpt_io_dmamap_callback, pCmd, BUS_DMA_WAITOK ); - KdPrint(("bus_dmamap_load return %d", error)); - if (error && error!=EINPROGRESS) { - os_printk("bus_dmamap_load error %d", error); - cmdext_put(ext); - ldm_free_cmds(pCmd); - ccb->ccb_h.status = CAM_REQ_CMP_ERR; - xpt_done(ccb); - } + KdPrint(("bus_dmamap_load return %d", error)); + if (error && error!=EINPROGRESS) { + os_printk("bus_dmamap_load error %d", error); + cmdext_put(ext); + ldm_free_cmds(pCmd); + ccb->ccb_h.status = CAM_REQ_CMP_ERR; + xpt_done(ccb); } return; } Modified: projects/physbio/sys/dev/hptiop/hptiop.c ============================================================================== --- projects/physbio/sys/dev/hptiop/hptiop.c Wed Dec 5 02:06:30 2012 (r243873) +++ projects/physbio/sys/dev/hptiop/hptiop.c Wed Dec 5 02:47:06 2012 (r243874) @@ -2358,6 +2358,7 @@ static void hptiop_action(struct cam_sim { struct hpt_iop_hba * hba = (struct hpt_iop_hba *)cam_sim_softc(sim); struct hpt_iop_srb * srb; + int error; switch (ccb->ccb_h.func_code) { @@ -2380,52 +2381,22 @@ static void hptiop_action(struct cam_sim } srb->ccb = ccb; - - if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_NONE) - hptiop_post_scsi_command(srb, NULL, 0, 0); - else if ((ccb->ccb_h.flags & CAM_SCATTER_VALID) == 0) { - if ((ccb->ccb_h.flags & CAM_DATA_PHYS) == 0) { - int error; - - error = bus_dmamap_load(hba->io_dmat, - srb->dma_map, - ccb->csio.data_ptr, - ccb->csio.dxfer_len, - hptiop_post_scsi_command, - srb, 0); - - if (error && error != EINPROGRESS) { - device_printf(hba->pcidev, - "%d bus_dmamap_load error %d", - hba->pciunit, error); - xpt_freeze_simq(hba->sim, 1); - ccb->ccb_h.status = CAM_REQ_CMP_ERR; -invalid: - hptiop_free_srb(hba, srb); - xpt_done(ccb); - goto scsi_done; - } - } - else { - device_printf(hba->pcidev, - "CAM_DATA_PHYS not supported"); - ccb->ccb_h.status = CAM_REQ_CMP_ERR; - goto invalid; - } - } - else { - struct bus_dma_segment *segs; - *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 04:52:03 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 8BCC7C99; Wed, 5 Dec 2012 04:52:03 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 709FB8FC17; Wed, 5 Dec 2012 04:52:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB54q3et065388; Wed, 5 Dec 2012 04:52:03 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB54px6O065330; Wed, 5 Dec 2012 04:51:59 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201212050451.qB54px6O065330@svn.freebsd.org> From: Jeff Roberson Date: Wed, 5 Dec 2012 04:51:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243876 - in projects/physbio/sys: cam cam/ctl cam/scsi dev/aac dev/ahci dev/aic dev/arcmsr dev/ciss dev/hpt27xx dev/hptmv dev/hptrr dev/iir dev/isci dev/mly dev/mps dev/mpt kern 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, 05 Dec 2012 04:52:03 -0000 Author: jeff Date: Wed Dec 5 04:51:59 2012 New Revision: 243876 URL: http://svnweb.freebsd.org/changeset/base/243876 Log: - Arrange the cam ccb data flags into a 3 bit data type field so that it can easily be parsed with a switch statement. Define all physical formats with the low bit set so drivers that don't support any physical formats may easily reject them. - Audit callbacks to make sure they work properly when no segments are passed to them if the command does not have data. Sponsored by: EMC / Isilon Storage Division Modified: projects/physbio/sys/cam/cam_ccb.h projects/physbio/sys/cam/cam_xpt.c projects/physbio/sys/cam/ctl/ctl_frontend_cam_sim.c projects/physbio/sys/cam/ctl/scsi_ctl.c projects/physbio/sys/cam/scsi/scsi_pass.c projects/physbio/sys/dev/aac/aac_cam.c projects/physbio/sys/dev/ahci/ahci.c projects/physbio/sys/dev/aic/aic.c projects/physbio/sys/dev/arcmsr/arcmsr.c projects/physbio/sys/dev/ciss/ciss.c projects/physbio/sys/dev/hpt27xx/osm_bsd.c projects/physbio/sys/dev/hptmv/entry.c projects/physbio/sys/dev/hptrr/hptrr_osm_bsd.c projects/physbio/sys/dev/iir/iir.c projects/physbio/sys/dev/isci/isci_io_request.c projects/physbio/sys/dev/mly/mly.c projects/physbio/sys/dev/mps/mps_sas.c projects/physbio/sys/dev/mpt/mpt_cam.c projects/physbio/sys/kern/subr_busdma.c Modified: projects/physbio/sys/cam/cam_ccb.h ============================================================================== --- projects/physbio/sys/cam/cam_ccb.h Wed Dec 5 04:22:53 2012 (r243875) +++ projects/physbio/sys/cam/cam_ccb.h Wed Dec 5 04:51:59 2012 (r243876) @@ -64,27 +64,33 @@ typedef enum { * Perform transport negotiation * with this command. */ - CAM_SCATTER_VALID = 0x00000010,/* Scatter/gather list is valid */ - CAM_DIS_AUTOSENSE = 0x00000020,/* Disable autosense feature */ + CAM_DIS_AUTOSENSE = 0x00000010,/* Disable autosense feature */ CAM_DIR_BOTH = 0x00000000,/* Data direction (00:IN/OUT) */ - CAM_DIR_IN = 0x00000040,/* Data direction (01:DATA IN) */ - CAM_DIR_OUT = 0x00000080,/* Data direction (10:DATA OUT) */ - CAM_DIR_NONE = 0x000000C0,/* Data direction (11:no data) */ - CAM_DIR_MASK = 0x000000C0,/* Data direction Mask */ - CAM_SOFT_RST_OP = 0x00000100,/* Use Soft reset alternative */ - CAM_ENG_SYNC = 0x00000200,/* Flush resid bytes on complete */ - CAM_DEV_QFRZDIS = 0x00000400,/* Disable DEV Q freezing */ - CAM_DEV_QFREEZE = 0x00000800,/* Freeze DEV Q on execution */ - CAM_HIGH_POWER = 0x00001000,/* Command takes a lot of power */ - CAM_SENSE_PTR = 0x00002000,/* Sense data is a pointer */ - CAM_SENSE_PHYS = 0x00004000,/* Sense pointer is physical addr*/ - CAM_TAG_ACTION_VALID = 0x00008000,/* Use the tag action in this ccb*/ - CAM_PASS_ERR_RECOVER = 0x00010000,/* Pass driver does err. recovery*/ - CAM_DIS_DISCONNECT = 0x00020000,/* Disable disconnect */ - CAM_SG_LIST_PHYS = 0x00040000,/* SG list has physical addrs. */ - CAM_MSG_BUF_PHYS = 0x00080000,/* Message buffer ptr is physical*/ - CAM_SNS_BUF_PHYS = 0x00100000,/* Autosense data ptr is physical*/ - CAM_DATA_PHYS = 0x00200000,/* SG/Buffer data ptrs are phys. */ + CAM_DIR_IN = 0x00000020,/* Data direction (01:DATA IN) */ + CAM_DIR_OUT = 0x00000040,/* Data direction (10:DATA OUT) */ + CAM_DIR_NONE = 0x00000060,/* Data direction (11:no data) */ + CAM_DIR_MASK = 0x00000060,/* Data direction Mask */ + CAM_DATA_ISPHYS = 0x00000080,/* Data type with physical addrs */ + CAM_DATA_VADDR = 0x00000000,/* Data type (000:Virtual) */ + CAM_DATA_PADDR = 0x00000080,/* Data type (001:Physical) */ + CAM_DATA_SG = 0x00000100,/* Data type (010:sglist) */ + CAM_DATA_SG_PADDR = 0x00000180,/* Data type (011:sglist phys) */ + CAM_DATA_BIO = 0x00000200,/* Data type (100:bio) */ + CAM_DATA_MASK = 0x00000380,/* Data type mask. */ + CAM_SOFT_RST_OP = 0x00000400,/* Use Soft reset alternative */ + CAM_ENG_SYNC = 0x00000800,/* Flush resid bytes on complete */ + CAM_DEV_QFRZDIS = 0x00001000,/* Disable DEV Q freezing */ + CAM_DEV_QFREEZE = 0x00002000,/* Freeze DEV Q on execution */ + CAM_HIGH_POWER = 0x00004000,/* Command takes a lot of power */ + CAM_SENSE_PTR = 0x00008000,/* Sense data is a pointer */ + CAM_SENSE_PHYS = 0x00010000,/* Sense pointer is physical addr*/ + CAM_TAG_ACTION_VALID = 0x00020000,/* Use the tag action in this ccb*/ + CAM_PASS_ERR_RECOVER = 0x00040000,/* Pass driver does err. recovery*/ + CAM_DIS_DISCONNECT = 0x00080000,/* Disable disconnect */ + CAM_MSG_BUF_PHYS = 0x00100000,/* Message buffer ptr is physical*/ + CAM_SNS_BUF_PHYS = 0x00200000,/* Autosense data ptr is physical*/ + + CAM_CDB_PHYS = 0x00400000,/* CDB poiner is physical */ CAM_ENG_SGLIST = 0x00800000,/* SG list is for the HBA engine */ Modified: projects/physbio/sys/cam/cam_xpt.c ============================================================================== --- projects/physbio/sys/cam/cam_xpt.c Wed Dec 5 04:22:53 2012 (r243875) +++ projects/physbio/sys/cam/cam_xpt.c Wed Dec 5 04:51:59 2012 (r243876) @@ -547,7 +547,8 @@ xptioctl(struct cdev *dev, u_long cmd, c * We can't deal with physical addresses for this * type of transaction. */ - if (inccb->ccb_h.flags & CAM_DATA_PHYS) { + if ((inccb->ccb_h.flags & CAM_DATA_MASK) != + CAM_DATA_VADDR) { error = EINVAL; break; } Modified: projects/physbio/sys/cam/ctl/ctl_frontend_cam_sim.c ============================================================================== --- projects/physbio/sys/cam/ctl/ctl_frontend_cam_sim.c Wed Dec 5 04:22:53 2012 (r243875) +++ projects/physbio/sys/cam/ctl/ctl_frontend_cam_sim.c Wed Dec 5 04:51:59 2012 (r243876) @@ -93,8 +93,8 @@ struct cfcs_softc { * handle physical addresses yet. That would require mapping things in * order to do the copy. */ -#define CFCS_BAD_CCB_FLAGS (CAM_DATA_PHYS | CAM_SG_LIST_PHYS | \ - CAM_MSG_BUF_PHYS | CAM_SNS_BUF_PHYS | CAM_CDB_PHYS | CAM_SENSE_PTR |\ +#define CFCS_BAD_CCB_FLAGS (CAM_DATA_ISPHYS | CAM_MSG_BUF_PHYS | \ + CAM_SNS_BUF_PHYS | CAM_CDB_PHYS | CAM_SENSE_PTR | \ CAM_SENSE_PHYS) int cfcs_init(void); @@ -393,36 +393,35 @@ cfcs_datamove(union ctl_io *io) * Simplify things on both sides by putting single buffers into a * single entry S/G list. */ - if (ccb->ccb_h.flags & CAM_SCATTER_VALID) { - if (ccb->ccb_h.flags & CAM_SG_LIST_PHYS) { - /* We should filter this out on entry */ - panic("%s: physical S/G list, should not get here", - __func__); - } else { - int len_seen; - - cam_sglist = (bus_dma_segment_t *)ccb->csio.data_ptr; - cam_sg_count = ccb->csio.sglist_cnt; - - for (i = 0, len_seen = 0; i < cam_sg_count; i++) { - if ((len_seen + cam_sglist[i].ds_len) >= - io->scsiio.kern_rel_offset) { - cam_sg_start = i; - cam_sg_offset = - io->scsiio.kern_rel_offset - - len_seen; - break; - } - len_seen += cam_sglist[i].ds_len; + switch ((ccb->ccb_h.flags & CAM_DATA_MASK)) { + case CAM_DATA_SG: { + int len_seen; + + cam_sglist = (bus_dma_segment_t *)ccb->csio.data_ptr; + cam_sg_count = ccb->csio.sglist_cnt; + + for (i = 0, len_seen = 0; i < cam_sg_count; i++) { + if ((len_seen + cam_sglist[i].ds_len) >= + io->scsiio.kern_rel_offset) { + cam_sg_start = i; + cam_sg_offset = io->scsiio.kern_rel_offset - + len_seen; + break; } + len_seen += cam_sglist[i].ds_len; } - } else { + break; + } + case CAM_DATA_VADDR: cam_sglist = &cam_sg_entry; cam_sglist[0].ds_len = ccb->csio.dxfer_len; cam_sglist[0].ds_addr = (bus_addr_t)ccb->csio.data_ptr; cam_sg_count = 1; cam_sg_start = 0; cam_sg_offset = io->scsiio.kern_rel_offset; + break; + default: + panic("Invalid CAM flags %#x", ccb->ccb_h.flags); } if (io->scsiio.kern_sg_entries > 0) { Modified: projects/physbio/sys/cam/ctl/scsi_ctl.c ============================================================================== --- projects/physbio/sys/cam/ctl/scsi_ctl.c Wed Dec 5 04:22:53 2012 (r243875) +++ projects/physbio/sys/cam/ctl/scsi_ctl.c Wed Dec 5 04:51:59 2012 (r243876) @@ -889,6 +889,7 @@ ctlfestart(struct cam_periph *periph, un csio->cdb_len = atio->cdb_len; + flags &= ~CAM_DATA_MASK; if (io->scsiio.kern_sg_entries == 0) { /* No S/G list */ data_ptr = io->scsiio.kern_data_ptr; @@ -896,7 +897,9 @@ ctlfestart(struct cam_periph *periph, un csio->sglist_cnt = 0; if (io->io_hdr.flags & CTL_FLAG_BUS_ADDR) - flags |= CAM_DATA_PHYS; + flags |= CAM_DATA_PADDR; + else + flags |= CAM_DATA_VADDR; } else if (io->scsiio.kern_sg_entries <= (sizeof(cmd_info->cam_sglist)/ sizeof(cmd_info->cam_sglist[0]))) { @@ -920,11 +923,10 @@ ctlfestart(struct cam_periph *periph, un ctl_sglist[i].len; } csio->sglist_cnt = io->scsiio.kern_sg_entries; - flags |= CAM_SCATTER_VALID; if (io->io_hdr.flags & CTL_FLAG_BUS_ADDR) - flags |= CAM_SG_LIST_PHYS; + flags |= CAM_DATA_SG_PADDR; else - flags &= ~CAM_SG_LIST_PHYS; + flags &= ~CAM_DATA_SG; data_ptr = (uint8_t *)cam_sglist; dxfer_len = io->scsiio.kern_data_len; } else { Modified: projects/physbio/sys/cam/scsi/scsi_pass.c ============================================================================== --- projects/physbio/sys/cam/scsi/scsi_pass.c Wed Dec 5 04:22:53 2012 (r243875) +++ projects/physbio/sys/cam/scsi/scsi_pass.c Wed Dec 5 04:51:59 2012 (r243876) @@ -639,8 +639,11 @@ passsendccb(struct cam_periph *periph, u * do the right thing, even if there isn't data to map, but since CCBs * without data are a reasonably common occurance (e.g. test unit * ready), it will save a few cycles if we check for it here. + * + * XXX What happens if a sg list is supplied? We don't filter that + * out. */ - if (((ccb->ccb_h.flags & CAM_DATA_PHYS) == 0) + if (((ccb->ccb_h.flags & CAM_DATA_MASK) == CAM_DATA_VADDR) && (((ccb->ccb_h.func_code == XPT_SCSI_IO || ccb->ccb_h.func_code == XPT_ATA_IO) && ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE)) Modified: projects/physbio/sys/dev/aac/aac_cam.c ============================================================================== --- projects/physbio/sys/dev/aac/aac_cam.c Wed Dec 5 04:22:53 2012 (r243875) +++ projects/physbio/sys/dev/aac/aac_cam.c Wed Dec 5 04:51:59 2012 (r243876) @@ -448,26 +448,28 @@ aac_cam_action(struct cam_sim *sim, unio /* Map the s/g list. XXX 32bit addresses only! */ if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { - if ((ccb->ccb_h.flags & CAM_SCATTER_VALID) == 0) { + switch ((ccb->ccb_h.flags & CAM_DATA_MASK)) { + case CAM_DATA_VADDR: srb->data_len = csio->dxfer_len; - if (ccb->ccb_h.flags & CAM_DATA_PHYS) { - /* Send a 32bit command */ - fib->Header.Command = ScsiPortCommand; - srb->sg_map.SgCount = 1; - srb->sg_map.SgEntry[0].SgAddress = - (uint32_t)(uintptr_t)csio->data_ptr; - srb->sg_map.SgEntry[0].SgByteCount = - csio->dxfer_len; - } else { - /* - * Arrange things so that the S/G - * map will get set up automagically - */ - cm->cm_data = (void *)csio->data_ptr; - cm->cm_datalen = csio->dxfer_len; - cm->cm_sgtable = &srb->sg_map; - } - } else { + /* + * Arrange things so that the S/G + * map will get set up automagically + */ + cm->cm_data = (void *)csio->data_ptr; + cm->cm_datalen = csio->dxfer_len; + cm->cm_sgtable = &srb->sg_map; + break; + case CAM_DATA_PADDR: + /* Send a 32bit command */ + fib->Header.Command = ScsiPortCommand; + srb->sg_map.SgCount = 1; + srb->sg_map.SgEntry[0].SgAddress = + (uint32_t)(uintptr_t)csio->data_ptr; + srb->sg_map.SgEntry[0].SgByteCount = + csio->dxfer_len; + srb->data_len = csio->dxfer_len; + break; + default: /* XXX Need to handle multiple s/g elements */ panic("aac_cam: multiple s/g elements"); } Modified: projects/physbio/sys/dev/ahci/ahci.c ============================================================================== --- projects/physbio/sys/dev/ahci/ahci.c Wed Dec 5 04:22:53 2012 (r243875) +++ projects/physbio/sys/dev/ahci/ahci.c Wed Dec 5 04:51:59 2012 (r243876) @@ -1667,8 +1667,11 @@ ahci_begin_transaction(device_t dev, uni (ccb->ataio.cmd.flags & (CAM_ATAIO_CONTROL | CAM_ATAIO_NEEDRESULT))) ch->aslots |= (1 << slot->slot); slot->dma.nsegs = 0; - bus_dmamap_load_ccb(ch->dma.data_tag, slot->dma.data_map, ccb, - ahci_dmasetprd, slot, 0); + if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { + bus_dmamap_load_ccb(ch->dma.data_tag, slot->dma.data_map, ccb, + ahci_dmasetprd, slot, 0); + } else + ahci_execute_transaction(slot); } /* Locked by busdma engine. */ Modified: projects/physbio/sys/dev/aic/aic.c ============================================================================== --- projects/physbio/sys/dev/aic/aic.c Wed Dec 5 04:22:53 2012 (r243875) +++ projects/physbio/sys/dev/aic/aic.c Wed Dec 5 04:51:59 2012 (r243876) @@ -146,8 +146,8 @@ aic_action(struct cam_sim *sim, union cc scb->cmd_ptr = ccb->csio.cdb_io.cdb_bytes; } if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { - if ((ccb->ccb_h.flags & CAM_SCATTER_VALID) || - (ccb->ccb_h.flags & CAM_DATA_PHYS)) { + if ((ccb->ccb_h.flags & CAM_DATA_MASK) != + CAM_DATA_VADDR) { ccb->ccb_h.status = CAM_REQ_INVALID; aic_free_scb(aic, scb); xpt_done(ccb); Modified: projects/physbio/sys/dev/arcmsr/arcmsr.c ============================================================================== --- projects/physbio/sys/dev/arcmsr/arcmsr.c Wed Dec 5 04:22:53 2012 (r243875) +++ projects/physbio/sys/dev/arcmsr/arcmsr.c Wed Dec 5 04:51:59 2012 (r243876) @@ -2100,7 +2100,7 @@ static int arcmsr_iop_message_xfer(struc (u_int32_t ) pccb->csio.cdb_io.cdb_bytes[8]; /* 4 bytes: Areca io control code */ /* XXX Does not handle alternate data formats. */ - if((pccb->ccb_h.flags & CAM_SCATTER_VALID) == 0) { + if ((pccb->ccb_h.flags & CAM_DATA_MASK) != CAM_DATA_VADDR) { buffer = pccb->csio.data_ptr; transfer_len = pccb->csio.dxfer_len; } else { Modified: projects/physbio/sys/dev/ciss/ciss.c ============================================================================== --- projects/physbio/sys/dev/ciss/ciss.c Wed Dec 5 04:22:53 2012 (r243875) +++ projects/physbio/sys/dev/ciss/ciss.c Wed Dec 5 04:51:59 2012 (r243876) @@ -3049,18 +3049,6 @@ ciss_cam_action_io(struct cam_sim *sim, csio->ccb_h.status = CAM_REQ_CMP_ERR; } - /* if there is data transfer, it must be to/from a virtual address */ - if ((csio->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { - if (csio->ccb_h.flags & CAM_DATA_PHYS) { /* we can't map it */ - debug(3, " data pointer is to physical address"); - csio->ccb_h.status = CAM_REQ_CMP_ERR; - } - if (csio->ccb_h.flags & CAM_SCATTER_VALID) { /* we want to do the s/g setup */ - debug(3, " data has premature s/g setup"); - csio->ccb_h.status = CAM_REQ_CMP_ERR; - } - } - /* abandon aborted ccbs or those that have failed validation */ if ((csio->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_INPROG) { debug(3, "abandoning CCB due to abort/validation failure"); @@ -3111,6 +3099,7 @@ ciss_cam_action_io(struct cam_sim *sim, cr->cr_flags = CISS_REQ_DATAIN; cc->cdb.direction = CISS_CDB_DIRECTION_READ; } else { + cr->cr_data = NULL; cr->cr_flags = 0; cc->cdb.direction = CISS_CDB_DIRECTION_NONE; } Modified: projects/physbio/sys/dev/hpt27xx/osm_bsd.c ============================================================================== --- projects/physbio/sys/dev/hpt27xx/osm_bsd.c Wed Dec 5 04:22:53 2012 (r243875) +++ projects/physbio/sys/dev/hpt27xx/osm_bsd.c Wed Dec 5 04:51:59 2012 (r243876) @@ -473,33 +473,6 @@ static void os_cmddone(PCOMMAND pCmd) static int os_buildsgl(PCOMMAND pCmd, PSG pSg, int logical) { - POS_CMDEXT ext = (POS_CMDEXT)pCmd->priv; - union ccb *ccb = ext->ccb; - bus_dma_segment_t *sgList = (bus_dma_segment_t *)ccb->csio.data_ptr; - int idx; - - if(logical) { - if (ccb->ccb_h.flags & CAM_DATA_PHYS) - panic("physical address unsupported"); - - if (ccb->ccb_h.flags & CAM_SCATTER_VALID) { - if (ccb->ccb_h.flags & CAM_SG_LIST_PHYS) - panic("physical address unsupported"); - - for (idx = 0; idx < ccb->csio.sglist_cnt; idx++) { - os_set_sgptr(&pSg[idx], (HPT_U8 *)(HPT_UPTR)sgList[idx].ds_addr); - pSg[idx].size = sgList[idx].ds_len; - pSg[idx].eot = (idx==ccb->csio.sglist_cnt-1)? 1 : 0; - } - } - else { - os_set_sgptr(pSg, (HPT_U8 *)ccb->csio.data_ptr); - pSg->size = ccb->csio.dxfer_len; - pSg->eot = 1; - } - return TRUE; - } - /* since we have provided physical sg, nobody will ask us to build physical sg */ HPT_ASSERT(0); return FALSE; @@ -514,7 +487,7 @@ static void hpt_io_dmamap_callback(void HPT_ASSERT(pCmd->flags.physical_sg); - if (error || nsegs == 0) + if (error) panic("busdma error"); HPT_ASSERT(nsegs<=os_max_sg_descriptors); @@ -524,7 +497,8 @@ static void hpt_io_dmamap_callback(void psg->size = segs[idx].ds_len; psg->eot = 0; } - psg[-1].eot = 1; + if (nsegs) + psg[-1].eot = 1; if (pCmd->flags.data_in) { bus_dmamap_sync(ext->vbus_ext->io_dmat, ext->dma_map, BUS_DMASYNC_PREREAD); Modified: projects/physbio/sys/dev/hptmv/entry.c ============================================================================== --- projects/physbio/sys/dev/hptmv/entry.c Wed Dec 5 04:22:53 2012 (r243875) +++ projects/physbio/sys/dev/hptmv/entry.c Wed Dec 5 04:51:59 2012 (r243876) @@ -2620,32 +2620,7 @@ launch_worker_thread(void) int HPTLIBAPI fOsBuildSgl(_VBUS_ARG PCommand pCmd, FPSCAT_GATH pSg, int logical) { - union ccb *ccb = (union ccb *)pCmd->pOrgCommand; - bus_dma_segment_t *sgList = (bus_dma_segment_t *)ccb->csio.data_ptr; - int idx; - if(logical) { - if (ccb->ccb_h.flags & CAM_DATA_PHYS) - panic("physical address unsupported"); - - if (ccb->ccb_h.flags & CAM_SCATTER_VALID) { - if (ccb->ccb_h.flags & CAM_SG_LIST_PHYS) - panic("physical address unsupported"); - - for (idx = 0; idx < ccb->csio.sglist_cnt; idx++) { - pSg[idx].dSgAddress = (ULONG_PTR)(UCHAR *)sgList[idx].ds_addr; - pSg[idx].wSgSize = sgList[idx].ds_len; - pSg[idx].wSgFlag = (idx==ccb->csio.sglist_cnt-1)? SG_FLAG_EOT : 0; - } - } - else { - pSg->dSgAddress = (ULONG_PTR)(UCHAR *)ccb->csio.data_ptr; - pSg->wSgSize = ccb->csio.dxfer_len; - pSg->wSgFlag = SG_FLAG_EOT; - } - return TRUE; - } - /* since we have provided physical sg, nobody will ask us to build physical sg */ HPT_ASSERT(0); return FALSE; @@ -2757,7 +2732,7 @@ hpt_io_dmamap_callback(void *arg, bus_dm HPT_ASSERT(pCmd->cf_physical_sg); - if (error || nsegs == 0) + if (error) panic("busdma error"); HPT_ASSERT(nsegs<= MAX_SG_DESCRIPTORS); @@ -2768,7 +2743,9 @@ hpt_io_dmamap_callback(void *arg, bus_dm psg->wSgFlag = (idx == nsegs-1)? SG_FLAG_EOT: 0; /* KdPrint(("psg[%d]:add=%p,size=%x,flag=%x\n", idx, psg->dSgAddress,psg->wSgSize,psg->wSgFlag)); */ } -/* psg[-1].wSgFlag = SG_FLAG_EOT; */ + if (nsegs) { + /* psg[-1].wSgFlag = SG_FLAG_EOT; */ + } if (pCmd->cf_data_in) { bus_dmamap_sync(pAdapter->io_dma_parent, pmap->dma_map, BUS_DMASYNC_PREREAD); Modified: projects/physbio/sys/dev/hptrr/hptrr_osm_bsd.c ============================================================================== --- projects/physbio/sys/dev/hptrr/hptrr_osm_bsd.c Wed Dec 5 04:22:53 2012 (r243875) +++ projects/physbio/sys/dev/hptrr/hptrr_osm_bsd.c Wed Dec 5 04:51:59 2012 (r243876) @@ -481,32 +481,6 @@ static void os_cmddone(PCOMMAND pCmd) static int os_buildsgl(PCOMMAND pCmd, PSG pSg, int logical) { - POS_CMDEXT ext = (POS_CMDEXT)pCmd->priv; - union ccb *ccb = ext->ccb; - bus_dma_segment_t *sgList = (bus_dma_segment_t *)ccb->csio.data_ptr; - int idx; - - if(logical) { - if (ccb->ccb_h.flags & CAM_DATA_PHYS) - panic("physical address unsupported"); - - if (ccb->ccb_h.flags & CAM_SCATTER_VALID) { - if (ccb->ccb_h.flags & CAM_SG_LIST_PHYS) - panic("physical address unsupported"); - - for (idx = 0; idx < ccb->csio.sglist_cnt; idx++) { - os_set_sgptr(&pSg[idx], (HPT_U8 *)(HPT_UPTR)sgList[idx].ds_addr); - pSg[idx].size = sgList[idx].ds_len; - pSg[idx].eot = (idx==ccb->csio.sglist_cnt-1)? 1 : 0; - } - } - else { - os_set_sgptr(pSg, (HPT_U8 *)ccb->csio.data_ptr); - pSg->size = ccb->csio.dxfer_len; - pSg->eot = 1; - } - return TRUE; - } /* since we have provided physical sg, nobody will ask us to build physical sg */ HPT_ASSERT(0); @@ -522,7 +496,7 @@ static void hpt_io_dmamap_callback(void HPT_ASSERT(pCmd->flags.physical_sg); - if (error || nsegs == 0) + if (error) panic("busdma error"); HPT_ASSERT(nsegs<=os_max_sg_descriptors); @@ -532,7 +506,8 @@ static void hpt_io_dmamap_callback(void psg->size = segs[idx].ds_len; psg->eot = 0; } - psg[-1].eot = 1; + if (nsegs) + psg[-1].eot = 1; if (pCmd->flags.data_in) { bus_dmamap_sync(ext->vbus_ext->io_dmat, ext->dma_map, BUS_DMASYNC_PREREAD); @@ -724,7 +699,6 @@ static void hpt_scsi_io(PVBUS_EXT vbus_e pCmd->target = vd; pCmd->done = os_cmddone; pCmd->buildsgl = os_buildsgl; - pCmd->psg = ext->psg; pCmd->flags.physical_sg = 1; error = bus_dmamap_load_ccb(vbus_ext->io_dmat, Modified: projects/physbio/sys/dev/iir/iir.c ============================================================================== --- projects/physbio/sys/dev/iir/iir.c Wed Dec 5 04:22:53 2012 (r243875) +++ projects/physbio/sys/dev/iir/iir.c Wed Dec 5 04:51:59 2012 (r243876) @@ -867,6 +867,7 @@ gdt_cache_cmd(struct gdt_softc *gdt, uni u_int8_t *cmdp; u_int16_t opcode; u_int32_t blockno, blockcnt; + int error; GDT_DPRINTF(GDT_D_CMD, ("gdt_cache_cmd(%p, %p)\n", gdt, ccb)); @@ -917,49 +918,15 @@ gdt_cache_cmd(struct gdt_softc *gdt, uni gdt_enc32(gccb->gc_cmd + GDT_CMD_UNION + GDT_CACHE_BLOCKCNT, blockcnt); - /* - * If we have any data to send with this command, - * map it into bus space. - */ - /* Only use S/G if there is a transfer */ - if ((ccb->ccb_h.flags & CAM_SCATTER_VALID) == 0) { - if ((ccb->ccb_h.flags & CAM_DATA_PHYS) == 0) { - int s; - int error; - - /* vorher unlock von splcam() ??? */ - s = splsoftvm(); - error = - bus_dmamap_load(gdt->sc_buffer_dmat, + error = bus_dmamap_load_ccb(gdt->sc_buffer_dmat, gccb->gc_dmamap, - ccb->csio.data_ptr, - ccb->csio.dxfer_len, + ccb, gdtexecuteccb, gccb, /*flags*/0); - if (error == EINPROGRESS) { - xpt_freeze_simq(sim, 1); - gccb->gc_ccb->ccb_h.status |= CAM_RELEASE_SIMQ; - } - splx(s); - } else { - panic("iir: CAM_DATA_PHYS not supported"); - } - } else { - struct bus_dma_segment *segs; - - if ((ccb->ccb_h.flags & CAM_DATA_PHYS) != 0) - panic("iir%d: iir_action - Physical " - "segment pointers unsupported", gdt->sc_hanum); - - if ((ccb->ccb_h.flags & CAM_SG_LIST_PHYS)==0) - panic("iir%d: iir_action - Virtual " - "segment addresses unsupported", gdt->sc_hanum); - - /* Just use the segments provided */ - segs = (struct bus_dma_segment *)ccb->csio.data_ptr; - gdtexecuteccb(gccb, segs, ccb->csio.sglist_cnt, 0); + if (error == EINPROGRESS) { + xpt_freeze_simq(sim, 1); + gccb->gc_ccb->ccb_h.status |= CAM_RELEASE_SIMQ; } - *lock = splcam(); return (gccb); } Modified: projects/physbio/sys/dev/isci/isci_io_request.c ============================================================================== --- projects/physbio/sys/dev/isci/isci_io_request.c Wed Dec 5 04:22:53 2012 (r243875) +++ projects/physbio/sys/dev/isci/isci_io_request.c Wed Dec 5 04:51:59 2012 (r243876) @@ -748,12 +748,8 @@ isci_io_request_execute_scsi_io(union cc io_request->current_sge_index = 0; io_request->parent.remote_device_handle = device->sci_object; - if ((ccb->ccb_h.flags & CAM_SCATTER_VALID) != 0) - panic("Unexpected CAM_SCATTER_VALID flag! flags = 0x%x\n", - ccb->ccb_h.flags); - - if ((ccb->ccb_h.flags & CAM_DATA_PHYS) != 0) - panic("Unexpected CAM_DATA_PHYS flag! flags = 0x%x\n", + if ((ccb->ccb_h.flags & CAM_DATA_MASK) != CAM_DATA_VADDR) + panic("Unexpected cam data format! flags = 0x%x\n", ccb->ccb_h.flags); error = bus_dmamap_load_ccb(io_request->parent.dma_tag, Modified: projects/physbio/sys/dev/mly/mly.c ============================================================================== --- projects/physbio/sys/dev/mly/mly.c Wed Dec 5 04:22:53 2012 (r243875) +++ projects/physbio/sys/dev/mly/mly.c Wed Dec 5 04:51:59 2012 (r243876) @@ -2224,18 +2224,6 @@ mly_cam_action_io(struct cam_sim *sim, s csio->ccb_h.status = CAM_REQ_CMP_ERR; } - /* if there is data transfer, it must be to/from a virtual address */ - if ((csio->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { - if (csio->ccb_h.flags & CAM_DATA_PHYS) { /* we can't map it */ - debug(0, " data pointer is to physical address"); - csio->ccb_h.status = CAM_REQ_CMP_ERR; - } - if (csio->ccb_h.flags & CAM_SCATTER_VALID) { /* we want to do the s/g setup */ - debug(0, " data has premature s/g setup"); - csio->ccb_h.status = CAM_REQ_CMP_ERR; - } - } - /* abandon aborted ccbs or those that have failed validation */ if ((csio->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_INPROG) { debug(2, "abandoning CCB due to abort/validation failure"); Modified: projects/physbio/sys/dev/mps/mps_sas.c ============================================================================== --- projects/physbio/sys/dev/mps/mps_sas.c Wed Dec 5 04:22:53 2012 (r243875) +++ projects/physbio/sys/dev/mps/mps_sas.c Wed Dec 5 04:51:59 2012 (r243876) @@ -1755,9 +1755,13 @@ mpssas_action_scsiio(struct mpssas_softc } } - cm->cm_data = ccb; - cm->cm_flags |= MPS_CM_FLAGS_USE_CCB; cm->cm_length = csio->dxfer_len; + if (cm->cm_length != 0) { + cm->cm_data = ccb; + cm->cm_flags |= MPS_CM_FLAGS_USE_CCB; + } else { + cm->cm_data = NULL; + } cm->cm_sge = &req->SGL; cm->cm_sglsize = (32 - 24) * 4; cm->cm_desc.SCSIIO.RequestFlags = MPI2_REQ_DESCRIPT_FLAGS_SCSI_IO; @@ -2692,19 +2696,15 @@ mpssas_send_smpcmd(struct mpssas_softc * /* * XXX We don't yet support physical addresses here. */ - if (ccb->ccb_h.flags & (CAM_DATA_PHYS|CAM_SG_LIST_PHYS)) { + switch ((ccb->ccb_h.flags & CAM_DATA_MASK)) { + case CAM_DATA_PADDR: + case CAM_DATA_SG_PADDR: mps_printf(sc, "%s: physical addresses not supported\n", __func__); ccb->ccb_h.status = CAM_REQ_INVALID; xpt_done(ccb); return; - } - - /* - * If the user wants to send an S/G list, check to make sure they - * have single buffers. - */ - if (ccb->ccb_h.flags & CAM_SCATTER_VALID) { + case CAM_DATA_SG: /* * The chip does not support more than one buffer for the * request or response. @@ -2742,9 +2742,15 @@ mpssas_send_smpcmd(struct mpssas_softc * response = (uint8_t *)(uintptr_t)rsp_sg[0].ds_addr; } else response = ccb->smpio.smp_response; - } else { + break; + case CAM_DATA_VADDR: request = ccb->smpio.smp_request; response = ccb->smpio.smp_response; + break; + default: + ccb->ccb_h.status = CAM_REQ_INVALID; + xpt_done(ccb); + return; } cm = mps_alloc_command(sc); Modified: projects/physbio/sys/dev/mpt/mpt_cam.c ============================================================================== --- projects/physbio/sys/dev/mpt/mpt_cam.c Wed Dec 5 04:22:53 2012 (r243875) +++ projects/physbio/sys/dev/mpt/mpt_cam.c Wed Dec 5 04:51:59 2012 (r243876) @@ -1382,7 +1382,7 @@ bad: } } - if (!(ccb->ccb_h.flags & (CAM_SG_LIST_PHYS|CAM_DATA_PHYS))) { + if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { bus_dmasync_op_t op; if (istgt == 0) { if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) { @@ -1623,7 +1623,7 @@ out: mpt_prt(mpt, "mpt_execute_req_a64: I/O cancelled (status 0x%x)\n", ccb->ccb_h.status & CAM_STATUS_MASK); - if (nseg && (ccb->ccb_h.flags & CAM_SG_LIST_PHYS) == 0) { + if (nseg) { bus_dmamap_unload(mpt->buffer_dmat, req->dmap); } ccb->ccb_h.status &= ~CAM_SIM_QUEUED; @@ -1785,7 +1785,7 @@ bad: } } - if (!(ccb->ccb_h.flags & (CAM_SG_LIST_PHYS|CAM_DATA_PHYS))) { + if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { bus_dmasync_op_t op; if (istgt) { if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN) { @@ -2010,7 +2010,7 @@ out: mpt_prt(mpt, "mpt_execute_req: I/O cancelled (status 0x%x)\n", ccb->ccb_h.status & CAM_STATUS_MASK); - if (nseg && (ccb->ccb_h.flags & CAM_SG_LIST_PHYS) == 0) { + if (nseg) { bus_dmamap_unload(mpt->buffer_dmat, req->dmap); } ccb->ccb_h.status &= ~CAM_SIM_QUEUED; Modified: projects/physbio/sys/kern/subr_busdma.c ============================================================================== --- projects/physbio/sys/kern/subr_busdma.c Wed Dec 5 04:22:53 2012 (r243875) +++ projects/physbio/sys/kern/subr_busdma.c Wed Dec 5 04:51:59 2012 (r243876) @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -76,27 +77,8 @@ bus_dmamap_load_ccb(bus_dma_tag_t dmat, ccb_h->func_code); } - if ((ccb_h->flags & CAM_SCATTER_VALID) != 0) { - struct bus_dma_segment *segs; - - if ((ccb_h->flags & CAM_DATA_PHYS) != 0) - panic("bus_dmamap_load_ccb - Physical segment " - "pointers unsupported"); - - if ((ccb_h->flags & CAM_SG_LIST_PHYS) == 0) - panic("bus_dmamap_load_ccb - Virtual segment " - "addresses unsupported"); - - /* Just use the segments provided */ - segs = (struct bus_dma_segment *)data_ptr; - callback(callback_arg, segs, sglist_cnt, 0); - } else if ((ccb_h->flags & CAM_DATA_PHYS) != 0) { - struct bus_dma_segment seg; - - seg.ds_addr = (bus_addr_t)(vm_offset_t)data_ptr; - seg.ds_len = dxfer_len; - callback(callback_arg, &seg, 1, 0); - } else { + switch ((ccb_h->flags & CAM_DATA_MASK)) { + case CAM_DATA_VADDR: return bus_dmamap_load(dmat, map, data_ptr, @@ -104,6 +86,43 @@ bus_dmamap_load_ccb(bus_dma_tag_t dmat, callback, callback_arg, /*flags*/0); + case CAM_DATA_PADDR: { + struct bus_dma_segment seg; + + seg.ds_addr = (bus_addr_t)(vm_offset_t)data_ptr; + seg.ds_len = dxfer_len; + callback(callback_arg, &seg, 1, 0); + break; + } + case CAM_DATA_SG: { +#if 0 + struct uio sguio; + KASSERT((sizeof (sguio.uio_iov) == sizeof (data_ptr) && + sizeof (sguio.uio_iovcnt) >= sizeof (sglist_cnt) && + sizeof (sguio.uio_resid) >= sizeof (dxfer_len)), + ("uio won't fit csio data")); + sguio.uio_iov = (struct iovec *)data_ptr; + sguio.uio_iovcnt = csio->sglist_cnt; + sguio.uio_resid = csio->dxfer_len; + sguio.uio_segflg = UIO_SYSSPACE; + return bus_dmamap_load_uio(dmat, map, &sguio, callback, + callback_arg, 0); +#else + panic("bus_dmamap_load_ccb: flags 0x%X unimplemented", + ccb_h->flags); +#endif + } + case CAM_DATA_SG_PADDR: { + struct bus_dma_segment *segs; + /* Just use the segments provided */ + segs = (struct bus_dma_segment *)data_ptr; + callback(callback_arg, segs, sglist_cnt, 0); + break; + } + case CAM_DATA_BIO: + default: + panic("bus_dmamap_load_ccb: flags 0x%X unimplemented", + ccb_h->flags); } return (0); } From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 06:00: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 132396D4; Wed, 5 Dec 2012 06:00:55 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EFAAA8FC13; Wed, 5 Dec 2012 06:00:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB560ssc078365; Wed, 5 Dec 2012 06:00:54 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB560s80078362; Wed, 5 Dec 2012 06:00:54 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201212050600.qB560s80078362@svn.freebsd.org> From: Mark Linimon Date: Wed, 5 Dec 2012 06:00:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243877 - projects/portbuild/conf 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, 05 Dec 2012 06:00:55 -0000 Author: linimon (doc,ports committer) Date: Wed Dec 5 06:00:54 2012 New Revision: 243877 URL: http://svnweb.freebsd.org/changeset/base/243877 Log: Try to factor out userid as well. Modified: projects/portbuild/conf/server.conf Modified: projects/portbuild/conf/server.conf ============================================================================== --- projects/portbuild/conf/server.conf Wed Dec 5 04:51:59 2012 (r243876) +++ projects/portbuild/conf/server.conf Wed Dec 5 06:00:54 2012 (r243877) @@ -52,9 +52,10 @@ WORLDDIR=${ZFS_MOUNTPOINT}/chroot/ # # ownership definitions. Note: ports builds are hardwired to ports-. -# Comment this out to make them also group ports-. +# Comment PORTBUILD_GROUP out to make them group ports- instead. # +PORTBUILD_USER="portbuild" PORTBUILD_GROUP="portbuild" # From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 06:36:00 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 D562CD5E; Wed, 5 Dec 2012 06:36:00 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BC87E8FC08; Wed, 5 Dec 2012 06:36:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB56a0XJ085146; Wed, 5 Dec 2012 06:36:00 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB56a0FL085144; Wed, 5 Dec 2012 06:36:00 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201212050636.qB56a0FL085144@svn.freebsd.org> From: Mark Linimon Date: Wed, 5 Dec 2012 06:36:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243878 - projects/portbuild/tools 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, 05 Dec 2012 06:36:01 -0000 Author: linimon (doc,ports committer) Date: Wed Dec 5 06:36:00 2012 New Revision: 243878 URL: http://svnweb.freebsd.org/changeset/base/243878 Log: Remove uid/gid hardcoding. Create mlist file if missing. Modified: projects/portbuild/tools/addarch Modified: projects/portbuild/tools/addarch ============================================================================== --- projects/portbuild/tools/addarch Wed Dec 5 06:00:54 2012 (r243877) +++ projects/portbuild/tools/addarch Wed Dec 5 06:36:00 2012 (r243878) @@ -19,14 +19,18 @@ usage () { exit 1 } +if [ ! -e ${pbc}/conf/server.conf ] ; then + echo "You must first create ${pbc}/conf/server.conf." + exit 1 +fi +. ${pbc}/conf/server.conf + if [ $# -lt 1 ]; then usage fi arch=$1 -. ${pbc}/conf/server.conf - # validate arch. this somewhat duplicates buildenv. valid_arch=0 for i in ${SUPPORTED_ARCHS}; do @@ -41,13 +45,20 @@ if [ $valid_arch = 0 ]; then exit 1 fi +uid=ports-${arch} +if [ ! -z "${PORTBUILD_GROUP}" ]; then + gid=${PORTBUILD_GROUP} +else + gid=${uid} +fi + # create arch-specific directory if it does not already exist. -# Exit if it is not manageable by ports-:portmgr. +# Exit if it is not manageable by uid:gid. archdir=${pbd}/${arch} if [ ! -d ${archdir} ]; then echo "The ${archdir} directory does not exist. I'll create it for you." mkdir -p ${archdir} || exit 1 - chown -R ports-${arch}:portmgr ${archdir} || exit 1 + chown -R ${uid}:${gid} ${archdir} || exit 1 chmod 775 ${archdir} || exit 1 fi @@ -57,7 +68,7 @@ mountpoint=$(realpath ${archdir}) if ! test_fs "${archfs}"; then echo "The ${archfs} filesystem does not exist. I'll create and mount it for you." zfs create -o mountpoint=${mountpoint} ${archfs} || exit 1 - chown -R ports-${arch}:portmgr ${archdir} || exit 1 + chown -R ${uid}:${gid} ${archdir} || exit 1 chmod -R g+w ${archdir} || exit 1 fi @@ -66,17 +77,25 @@ sshdir=${archdir}/.ssh if [ ! -d ${sshdir} ]; then echo "The ${sshdir} directory does not exist. I'll create it for you, but you will need to populate it." mkdir -p ${sshdir} || exit 1 - chown -R ports-${arch}:portmgr ${sshdir} || exit 1 + chown -R ${uid}:${gid} ${sshdir} || exit 1 chmod 700 ${sshdir} || exit 1 fi +mlist=${archdir}/mlist +if [ ! -e ${mlist} ]; then + echo "${mlist} does not exist. I'll create an empty one." + touch ${mlist} + chown -R ${uid}:${gid} ${mlist} || exit 1 + chmod 664 ${mlist} || exit 1 +fi + conf=${archdir}/portbuild.conf if [ ! -e ${conf} ]; then echo "${conf} does not exist. I'll try to create it, but you may not like the defaults." cat >> ${conf} << EOF arch=${arch} -client_user=ports-${arch} -user=ports-${arch} +client_user=${uid} +user=${uid} pb=/var/portbuild rsync_gzip=-z @@ -95,13 +114,13 @@ use_jail=1 use_md_swap=1 use_zfs=0 EOF + chown -R ${uid}:${gid} ${conf} || exit 1 + chmod 664 ${conf} || exit 1 fi -chown -R ports-${arch}:portmgr ${conf} || exit 1 -chmod 664 ${conf} || exit 1 qm=${pbc}/qmanager/qmanager.py if [ ! -x $qm ]; then - echo "you need to install qmanager under /var/portbuild/qmanager/ and re-run this script." + echo "you need to install qmanager under ${pbc}/qmanager/ and re-run this script." exit 1 else running=`ps ax | grep -v grep | grep $qm` @@ -110,7 +129,7 @@ else exit 1 else echo "adding ${arch} to qmanager ..." - python ${pbc}/qmanager/qclient add_acl name=ports-${arch} uidlist=ports-${arch} gidlist=portmgr sense=1 + python ${pbc}/qmanager/qclient add_acl name=ports-${arch} uidlist=${uid} gidlist=${gid} sense=1 echo "... done." fi fi From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 06:41: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 DFD62EBC; Wed, 5 Dec 2012 06:41:12 +0000 (UTC) (envelope-from gibbs@scsiguy.com) Received: from aslan.scsiguy.com (mail.scsiguy.com [70.89.174.89]) by mx1.freebsd.org (Postfix) with ESMTP id 8C61E8FC0C; Wed, 5 Dec 2012 06:41:12 +0000 (UTC) Received: from [192.168.0.99] (macbook.scsiguy.com [192.168.0.99]) (authenticated bits=0) by aslan.scsiguy.com (8.14.5/8.14.5) with ESMTP id qB56fBpn096690 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Tue, 4 Dec 2012 23:41:11 -0700 (MST) (envelope-from gibbs@scsiguy.com) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 6.2 \(1499\)) Subject: Re: svn commit: r243876 - in projects/physbio/sys: cam cam/ctl cam/scsi dev/aac dev/ahci dev/aic dev/arcmsr dev/ciss dev/hpt27xx dev/hptmv dev/hptrr dev/iir dev/isci dev/mly dev/mps dev/mpt kern From: "Justin T. Gibbs" In-Reply-To: <201212050451.qB54px6O065330@svn.freebsd.org> Date: Tue, 4 Dec 2012 23:41:08 -0700 Content-Transfer-Encoding: 7bit Message-Id: References: <201212050451.qB54px6O065330@svn.freebsd.org> To: Jeff Roberson X-Mailer: Apple Mail (2.1499) X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (aslan.scsiguy.com [192.168.0.4]); Tue, 04 Dec 2012 23:41:11 -0700 (MST) Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org 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, 05 Dec 2012 06:41:12 -0000 On Dec 4, 2012, at 9:51 PM, Jeff Roberson wrote: > Author: jeff > Date: Wed Dec 5 04:51:59 2012 > New Revision: 243876 > URL: http://svnweb.freebsd.org/changeset/base/243876 > > Log: > - Arrange the cam ccb data flags into a 3 bit data type field so that it > can easily be parsed with a switch statement. Define all physical > formats with the low bit set so drivers that don't support any physical > formats may easily reject them. Most of the CAM ccb flags came from the original CAM specification, so their existence in the header doesn't imply usage. But, there are some combinations that the old bit flags support that the new definition does not. For example, it was possible to independently indicate the virtual/physical nature of a pointer to an S/G list (controlled by CAM_DATA_PHYS) as well as the virtual/physical nature of the data pointers within the list (controlled by CAM_SG_LIST_PHYS). In general, I'd like to see this kind of knowledge extracted from CAM in a way that allows data of different formats to be transferred seemlessly between userland/kernel and kernel subsystems. It should be possible for the constructor of a request to specify it in a manner convenient to it (e.g. user addresses) and have the processor convert it into the format necessary to execute the request. bus_dmamap_load (or even bus_vmap_load() if kernel access is required?) already has callback semantics so even potentially blocking operations (like the pinning of user space pages) could be deferred until load time. Just within CAM we have lots of ugly code to deal with address and data format mapping: CAM ccbs that originate from userland go through a complicated mapping process (see cam_periph_mapmem), CTL jumps through different hoops depending on whether its backing store is a file (needs a uio) or a block device (multiple bios), and the driver bits your earlier commit cleans up. I know the immediate goal is to get unmapped I/O working, but it would be nice to at least define a path toward fixing the rest of this problem. -- Justin From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 06:54: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 4C6031E4; Wed, 5 Dec 2012 06:54:08 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 3341D8FC08; Wed, 5 Dec 2012 06:54:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB56s81E088372; Wed, 5 Dec 2012 06:54:08 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB56s8RX088371; Wed, 5 Dec 2012 06:54:08 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201212050654.qB56s8RX088371@svn.freebsd.org> From: Mark Linimon Date: Wed, 5 Dec 2012 06:54:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243879 - projects/portbuild/scripts 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, 05 Dec 2012 06:54:08 -0000 Author: linimon (doc,ports committer) Date: Wed Dec 5 06:54:07 2012 New Revision: 243879 URL: http://svnweb.freebsd.org/changeset/base/243879 Log: Make more resistant to errors on initial setup. Modified: projects/portbuild/scripts/pollmachine Modified: projects/portbuild/scripts/pollmachine ============================================================================== --- projects/portbuild/scripts/pollmachine Wed Dec 5 06:36:00 2012 (r243878) +++ projects/portbuild/scripts/pollmachine Wed Dec 5 06:54:07 2012 (r243879) @@ -296,17 +296,20 @@ logging.getLogger('').addHandler(log_con while True: for arch in arches: + now = set() try: now = mlist[arch] except KeyError: mlistfile="%s/%s/mlist" % (pbd, arch) try: f = file(mlistfile, "r") + now=set(mach.rstrip() for mach in f.readlines()) + try: + f.close() + except: + pass except OSError, error: - raise - - now=set(mach.rstrip() for mach in f.readlines()) - f.close() + print "pollmachine: could not find %s, skipping" % mlistfile gone = machines[arch].difference(now) new = now.difference(machines[arch]) From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 06:59:18 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 A6328339; Wed, 5 Dec 2012 06:59:18 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8C6D48FC12; Wed, 5 Dec 2012 06:59:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB56xIh3089316; Wed, 5 Dec 2012 06:59:18 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB56xI3h089311; Wed, 5 Dec 2012 06:59:18 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201212050659.qB56xI3h089311@svn.freebsd.org> From: Mark Linimon Date: Wed, 5 Dec 2012 06:59:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243880 - projects/portbuild/scripts 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, 05 Dec 2012 06:59:18 -0000 Author: linimon (doc,ports committer) Date: Wed Dec 5 06:59:17 2012 New Revision: 243880 URL: http://svnweb.freebsd.org/changeset/base/243880 Log: Remove yet more uid:gid hardcoding. Modified: projects/portbuild/scripts/buildproxy projects/portbuild/scripts/updatesnap projects/portbuild/scripts/updatesnap.ports Modified: projects/portbuild/scripts/buildproxy ============================================================================== --- projects/portbuild/scripts/buildproxy Wed Dec 5 06:54:07 2012 (r243879) +++ projects/portbuild/scripts/buildproxy Wed Dec 5 06:59:17 2012 (r243880) @@ -58,13 +58,17 @@ def process(cmd, sockfile): config = getConfig( pbc, CONFIG_SUBDIR, CONFIG_FILENAME ) BUILDPROXY_SOCKET_FILE = config.get( 'BUILDPROXY_SOCKET_FILE' ) +PORTBUILD_GROUP = config.get( 'PORTBUILD_GROUP' ) if os.path.exists(BUILDPROXY_SOCKET_FILE): os.unlink(BUILDPROXY_SOCKET_FILE) s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) s.bind(BUILDPROXY_SOCKET_FILE) -os.chmod(BUILDPROXY_SOCKET_FILE, 0660) -os.chown(BUILDPROXY_SOCKET_FILE, -1, getgidbyname('portmgr')) +if not PORTBUILD_GROUP: + os.chmod(BUILDPROXY_SOCKET_FILE, 0600) +else: + os.chmod(BUILDPROXY_SOCKET_FILE, 0660) + os.chown(BUILDPROXY_SOCKET_FILE, -1, getgidbyname(PORTBUILD_GROUP)) s.listen(10) Modified: projects/portbuild/scripts/updatesnap ============================================================================== --- projects/portbuild/scripts/updatesnap Wed Dec 5 06:54:07 2012 (r243879) +++ projects/portbuild/scripts/updatesnap Wed Dec 5 06:59:17 2012 (r243880) @@ -32,16 +32,23 @@ finish() { begin=$(date +%s) echo "Started at $(date)" -# We need to preserve group writability so portmgr group can write +# We need to preserve group writability umask 002 +uid=${PORTBUILD_USER} +if [ ! -z "${PORTBUILD_GROUP}" ]; then + gid=${PORTBUILD_GROUP} +else + gid=${uid} +fi + # create /a/snap if not already there if [ ! -d ${base} ]; then echo "creating new base directory using ${base}" mkdir -p ${base} || finish 1 echo "zfs create -o mountpoint=${base} ${zbase}" zfs create -o mountpoint=${base} ${zbase} || finish 1 - chown -R portmgr:portmgr ${base} + chown -R ${uid}:${gid} ${base} chmod -R g+w ${base} fi @@ -53,7 +60,7 @@ for branch in $SRC_BRANCHES; do mkdir ${mountpoint} || finish 1 echo "zfs create -o mountpoint=${mountpoint} ${zbase_prefix}${branch}" zfs create -o mountpoint=${mountpoint} ${zbase_prefix}${branch} || finish 1 - chown -R portmgr:portmgr ${mountpoint} + chown -R ${uid}:${gid} ${mountpoint} chmod -R g+w ${mountpoint} fi # create /a/snap/src-/src if not already there @@ -62,7 +69,7 @@ for branch in $SRC_BRANCHES; do mkdir ${mountpoint}/src || finish 1 echo "zfs create -o mountpoint=${mountpoint}/src ${zbase_prefix}${branch}/src" zfs create -o mountpoint=${mountpoint}/src ${zbase_prefix}${branch}/src || finish 1 - chown -R portmgr:portmgr ${mountpoint}/src + chown -R ${uid}:${gid} ${mountpoint}/src chmod -R g+w ${mountpoint}/src fi cd ${mountpoint} @@ -88,7 +95,7 @@ for branch in $SRC_BRANCHES; do fi echo ${fulldate} > src/.updated # hack for zfs breakiness - find . -group wheel|xargs chgrp portmgr + find . -group wheel | xargs chgrp ${gid} snapdate=$(stamp ${fulldate}) if [ $VERBOSE ]; then echo "zfs snapshot ${zbase_prefix}${branch}/src@${snapdate}" Modified: projects/portbuild/scripts/updatesnap.ports ============================================================================== --- projects/portbuild/scripts/updatesnap.ports Wed Dec 5 06:54:07 2012 (r243879) +++ projects/portbuild/scripts/updatesnap.ports Wed Dec 5 06:59:17 2012 (r243880) @@ -32,16 +32,23 @@ finish() { begin=$(date +%s) echo "Started at $(date)" -# We need to preserve group writability so portmgr group can write +# We need to preserve group writability umask 002 +uid=${PORTBUILD_USER} +if [ ! -z "${PORTBUILD_GROUP}" ]; then + gid=${PORTBUILD_GROUP} +else + gid=${uid} +fi + # create /a/snap/ if not already there if [ ! -d ${base} ]; then echo "creating new base directory using ${base}" mkdir -p ${base} || finish 1 echo "zfs create -o mountpoint=${base} ${zbase}" zfs create -o mountpoint=${base} ${zbase} || finish 1 - chown -R portmgr:portmgr ${base} + chown -R ${uid}:${gid} ${base} chmod -R g+w ${base} fi @@ -51,7 +58,7 @@ if [ ! -d ${head} ]; then mkdir ${head} || finish 1 echo "zfs create -o mountpoint=${head} ${zhead}" zfs create -o mountpoint=${head} ${zhead} || finish 1 - chown -R portmgr:portmgr ${head} + chown -R ${uid}:${gid} ${head} chmod -R g+w ${head} fi @@ -61,7 +68,7 @@ if [ ! -d ${head}/ports ]; then mkdir ${head}/ports || finish 1 echo "zfs create -o mountpoint=${head}/ports ${zhead}/ports" zfs create -o mountpoint=${head}/ports ${zhead}/ports || finish 1 - chown -R portmgr:portmgr ${head}/ports + chown -R ${uid}:${gid} ${head}/ports chmod -R g+w ${head}/ports fi @@ -80,7 +87,7 @@ else fi echo ${fulldate} > ports/.updated # hack for zfs breakiness -find . -group wheel|xargs chgrp portmgr +find . -group wheel | xargs chgrp ${gid} snapdate=$(stamp ${fulldate}) if [ $VERBOSE ]; then echo "zfs snapshot ${zhead}/ports@${snapdate}" From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 07:03:38 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 4E9C348C; Wed, 5 Dec 2012 07:03:38 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 2BA068FC14; Wed, 5 Dec 2012 07:03:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB573c8D090310; Wed, 5 Dec 2012 07:03:38 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB573cEm090309; Wed, 5 Dec 2012 07:03:38 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201212050703.qB573cEm090309@svn.freebsd.org> From: Mark Linimon Date: Wed, 5 Dec 2012 07:03:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243881 - projects/portbuild/scripts 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, 05 Dec 2012 07:03:38 -0000 Author: linimon (doc,ports committer) Date: Wed Dec 5 07:03:37 2012 New Revision: 243881 URL: http://svnweb.freebsd.org/changeset/base/243881 Log: With some trepidation, remove the last of the uid:gid hardcoding. Modified: projects/portbuild/scripts/build Modified: projects/portbuild/scripts/build ============================================================================== --- projects/portbuild/scripts/build Wed Dec 5 06:59:17 2012 (r243880) +++ projects/portbuild/scripts/build Wed Dec 5 07:03:37 2012 (r243881) @@ -53,20 +53,20 @@ do_create() { shift 3 # exit if arch-specific directory does not already exist or is - # not manageable by ports-:portmgr. + # not manageable by uid:gid. archdir=${pbd}/${arch} if [ ! -d ${archdir} ]; then - echo "${archdir} must exist and be owned by ports-${arch}:portmgr mode 77x." + echo "${archdir} must exist and be owned by ${uid}:${gid} mode 77x." exit 1 fi - chown -R ports-${arch}:portmgr ${archdir} || exit 1 + chown -R ${uid}:${gid} ${archdir} || exit 1 chmod 775 ${archdir} || exit 1 # create zfs instance for arch if it does not already exist archfs=${ZFS_VOLUME}/portbuild/${arch} if ! test_fs "${archfs}"; then zfs create -o mountpoint=${archdir} ${archfs} || exit 1 - chown -R ports-${arch}:portmgr ${archdir} + chown -R ${uid}:${gid} ${archdir} chmod -R g+w ${archdir} fi @@ -74,7 +74,7 @@ do_create() { sshdir=${pbd}/${arch}/.ssh if [ ! -d ${sshdir} ]; then mkdir -p ${sshdir} || exit 1 - chown -R ports-${arch}:portmgr ${sshdir} + chown -R ${uid}:${gid} ${sshdir} chmod 700 ${sshdir} fi @@ -82,7 +82,7 @@ do_create() { archivedir=${pbd}/${arch}/archive if [ ! -d ${archivedir} ]; then mkdir -p ${archivedir} || exit 1 - chown -R ports-${arch}:portmgr ${archivedir} + chown -R ${uid}:${gid} ${archivedir} chmod -R g+w ${archivedir} fi @@ -90,7 +90,7 @@ do_create() { buildlogsdir=${archivedir}/buildlogs if [ ! -d ${buildlogsdir} ]; then mkdir -p ${buildlogsdir} || exit 1 - chown -R ports-${arch}:portmgr ${buildlogsdir} + chown -R ${uid}:${gid} ${buildlogsdir} chmod -R g+w ${buildlogsdir} fi @@ -98,7 +98,7 @@ do_create() { errorlogsdir=${archivedir}/errorlogs if [ ! -d ${errorlogsdir} ]; then mkdir -p ${errorlogsdir} || exit 1 - chown -R ports-${arch}:portmgr ${errorlogsdir} + chown -R ${uid}:${gid} ${errorlogsdir} chmod -R g+w ${errorlogsdir} fi @@ -106,7 +106,7 @@ do_create() { buildsdir=${pbab}/builds if [ ! -d ${buildsdir} ]; then mkdir -p ${buildsdir} || exit 1 - chown -R ports-${arch}:portmgr ${pbab} + chown -R ${uid}:${gid} ${pbab} chmod -R g+w ${pbab} fi @@ -121,7 +121,7 @@ do_create() { mountpoint=${builddir} newfs=${ZFS_VOLUME}/portbuild/${arch}/${buildid} zfs create -o mountpoint=${mountpoint} ${newfs} || exit 1 - chown -R ports-${arch}:portmgr ${mountpoint} + chown -R ${uid}:${gid} ${mountpoint} chmod -R g+w ${mountpoint} # populate ports for latest build on buildenv @@ -137,7 +137,7 @@ do_create() { clientsdir=${pbd}/${arch}/clients if [ ! -d ${clientsdir} ]; then mkdir -p ${clientsdir} || exit 1 - chown -R ports-${arch}:portmgr ${clientsdir} + chown -R ${uid}:${gid} ${clientsdir} chmod -R g+w ${clientsdir} fi @@ -145,7 +145,7 @@ do_create() { loadsdir=${pbd}/${arch}/loads if [ ! -d ${loadsdir} ]; then mkdir -p ${loadsdir} || exit 1 - chown -R ports-${arch}:portmgr ${loadsdir} + chown -R ${uid}:${gid} ${loadsdir} chmod -R g+w ${loadsdir} fi @@ -153,7 +153,7 @@ do_create() { mlist=${pbd}/${arch}/mlist if [ ! -d ${mlist} ]; then touch ${mlist} || exit 1 - chown -R ports-${arch}:portmgr ${mlist} + chown -R ${uid}:${gid} ${mlist} chmod -R g+w ${mlist} fi @@ -521,7 +521,7 @@ proxy_root() { exit ${error} } -# Run a command as the ports-${arch} user if root +# Run a command as the ${uid} user if root proxy_user() { cmd=$1 arch=$2 @@ -536,7 +536,7 @@ proxy_user() { eval "do_${cmd} ${arch} ${branch} ${buildid} \"${builddir}\" ${args}" error=$? else - su ports-${arch} -c "${pbc}/scripts/build ${cmd} ${arch} ${branch} ${buildid} \"${builddir}\" ${args}" + su ${uid} -c "${pbc}/scripts/build ${cmd} ${arch} ${branch} ${buildid} \"${builddir}\" ${args}" error=$? fi @@ -567,6 +567,13 @@ pbab=${pbd}/${arch}/${branch} validate_env ${arch} ${branch} || exit 1 +uid=ports-${arch} +if [ ! -z "${PORTBUILD_GROUP}" ]; then + gid=${PORTBUILD_GROUP} +else + gid=${uid} +fi + # Not every command requires a buildid as arg if [ $# -ge 1 ]; then buildid=$1 From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 20:25:46 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 415F9E01; Wed, 5 Dec 2012 20:25:46 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 277508FC14; Wed, 5 Dec 2012 20:25:46 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB5KPksr030048; Wed, 5 Dec 2012 20:25:46 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB5KPkvP030047; Wed, 5 Dec 2012 20:25:46 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201212052025.qB5KPkvP030047@svn.freebsd.org> From: Mark Linimon Date: Wed, 5 Dec 2012 20:25:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243905 - projects/portbuild/scripts 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, 05 Dec 2012 20:25:46 -0000 Author: linimon (doc,ports committer) Date: Wed Dec 5 20:25:45 2012 New Revision: 243905 URL: http://svnweb.freebsd.org/changeset/base/243905 Log: Make this a little more error-resistant, mostly for new installs. Modified: projects/portbuild/scripts/dopackagestats Modified: projects/portbuild/scripts/dopackagestats ============================================================================== --- projects/portbuild/scripts/dopackagestats Wed Dec 5 20:21:33 2012 (r243904) +++ projects/portbuild/scripts/dopackagestats Wed Dec 5 20:25:45 2012 (r243905) @@ -337,8 +337,8 @@ write_header # (i.e. where build = branch, e.g. "7", "10") for arch in ${SUPPORTED_ARCHS}; do - cd ${pbd}/${arch} - builds=`ls | \ + builds=`cd ${pbd}/${arch} 2> /dev/null && \ + ls 2> /dev/null | \ grep "${SRC_BRANCHES_PATTERN}$" | \ sort -n` if [ ! -z "$builds" ]; then @@ -357,8 +357,8 @@ done # examples: 8.1; 8-exp; 8-exp-gettext; 8.1R for arch in ${SUPPORTED_ARCHS}; do - cd ${pbd}/${arch} - branches=`ls | \ + branches=`cd ${pbd}/${arch} 2> /dev/null && \ + ls 2> /dev/null | \ grep "${SRC_BRANCHES_PATTERN}[-\.]" | \ sed -e "s@[-\.].*@@" | \ uniq | \ From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 21:05:01 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 32F81AD4; Wed, 5 Dec 2012 21:05:01 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 1942D8FC08; Wed, 5 Dec 2012 21:05:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB5L50uM035555; Wed, 5 Dec 2012 21:05:00 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB5L50uB035553; Wed, 5 Dec 2012 21:05:00 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201212052105.qB5L50uB035553@svn.freebsd.org> From: Mark Linimon Date: Wed, 5 Dec 2012 21:05:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243908 - projects/portbuild/pxedust 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, 05 Dec 2012 21:05:01 -0000 Author: linimon (doc,ports committer) Date: Wed Dec 5 21:05:00 2012 New Revision: 243908 URL: http://svnweb.freebsd.org/changeset/base/243908 Log: Scripts to aid in building PXEbootable images for portbuild client nodes. Added: projects/portbuild/pxedust/ projects/portbuild/pxedust/pxedust (contents, props changed) projects/portbuild/pxedust/pxepackages (contents, props changed) Added: projects/portbuild/pxedust/pxedust ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/portbuild/pxedust/pxedust Wed Dec 5 21:05:00 2012 (r243908) @@ -0,0 +1,170 @@ +#!/bin/sh +# +# script to generate a PXE-bootable image for package building nodes, complete +# with merged customization. MCL 20121123 +# +# note: must be run as root. +# + +# +# ------------- you should not need to do anything after this ------------- +# +# (at least, once the script is completed) + +if [ -z "${BRANCH}" \ + -o -z "${INSTALLDIR}" \ + -o -z "${PXEFILES}" \ + -o -z "${SITE}" \ + -o -z "${SRCDIR}" \ + -o -z "${TARGET}" ]; then + echo "$0: the following must all be set: BRANCH INSTALLDIR PXEFILES SITE SRCDIR TARGET" + echo "$0: you may optionally set: N_TASKS" + exit 1 +fi + +if [ -z ${N_TASKS} ]; then + N_TASKS=8 +fi + +DESTDIR="${INSTALLDIR}/${TARGET}-${BRANCH}" + +ARCH_PACKAGES="${PXEFILES}/ARCH_PACKAGES" +ARCH_SPECIFIC="${PXEFILES}/ARCH_SPECIFIC" +NODE_GENERIC="${PXEFILES}/NODE_GENERIC" +SITE_SPECIFIC="${PXEFILES}/SITE_SPECIFIC" + +TARGET_ARCH="${TARGET}" + +COMMON_ENV="TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} DESTDIR=${DESTDIR}" + +KERNCONF="PACKAGE_NODE_${TARGET}" + +LOGFILE="diff.out" + +# using a src directory, populate a dst directory, or note differences +setup () { + srcdir=$1 + dstdir=$2 + logfile=$3 + + echo "setting up files in ${dstdir} ..." + + dirs=`cd ${srcdir} && find . -type d -print` + for dir in $dirs; do + echo "src dir is ${srcdir}/$dir" + if [ ! -d ${dstdir}/$dir ]; then + echo "create and populate dst dir ${dstdir}/$dir" + echo "(cd ${srcdir}/$dir; find -dx . | cpio -dump ${dstdir}/$dir)" + (cd ${srcdir}/$dir; find -dx . | cpio -dump ${dstdir}/$dir) + else + echo "dst dir ${dstdir}/$dir exists" + files=`cd ${srcdir}/$dir && find . -type f -maxdepth 1 -print` + for file in $files; do + echo "thinking about file ${srcdir}/$dir/$file" # XXX DEBUG + if [ -e ${dstdir}/$dir/$file ]; then + echo "cmp ${srcdir}/$dir/$file ${dstdir}/$dir/$file > /dev/null 2> /dev/null" # XXX DEBUG + cmp ${srcdir}/$dir/$file ${dstdir}/$dir/$file > /dev/null 2> /dev/null + if [ $? != 0 ]; then + echo "diff ${srcdir}/$dir/$file ${dstdir}/$dir/$file" >> ${logfile} + diff -ruN ${srcdir}/$dir/$file ${dstdir}/$dir/$file >> ${logfile} + echo >> ${logfile} + else + echo "same files: ${srcdir}/$dir/$file ${dstdir}/$dir/$file" + fi + else + echo "cp -p ${srcdir}/$dir/$file ${dstdir}/$dir/$file" + cp -p ${srcdir}/$dir/$file ${dstdir}/$dir/$file + fi + done + fi + done +} + +id=$(id -u) +if [ ${id} -ne 0 ]; then + echo "you need to run this script as root." + exit 1 +fi + +kernconfdir="${SRCDIR}/sys/${TARGET}/conf" +kernconf="${kernconfdir}/${KERNCONF}" +if [ ! -f ${kernconf} ]; then + standard_kernconfdir="${PXEFILES}/ARCH_SPECIFIC/${TARGET}/kernconf" + standard_kernconf="${standard_kernconfdir}/${KERNCONF}" + if [ ! -f ${standard_kernconf} ]; then + echo "missing standard kernel config file: ${standard_kernconf}" + exit 1 + else + cp -p ${standard_kernconf} ${kernconfdir}/ || exit 1 + fi +fi + +mkdir -p ${DESTDIR} + +cd ${SRCDIR} || exit 1 +echo "make ${COMMON_ENV} -j${N_TASKS} buildworld" +#make ${COMMON_ENV} -j${N_TASKS} buildworld || exit 1 +echo "make ${COMMON_ENV} buildkernel KERNCONF=${KERNCONF}" +#make ${COMMON_ENV} buildkernel KERNCONF=${KERNCONF} || exit 1 +echo "make ${COMMON_ENV} installkernel KERNCONF=${KERNCONF}" +#make ${COMMON_ENV} installkernel KERNCONF=${KERNCONF} || exit 1 +echo "make ${COMMON_ENV} installworld" +#make ${COMMON_ENV} installworld || exit 1 +echo "make ${COMMON_ENV} distribution" +#make ${COMMON_ENV} distribution || exit 1 +echo "make distribution: finished." +echo + +#mkdir -p ${DESTDIR}/usr2 || exit 1 +#mkdir -p ${DESTDIR}/usr3 || exit 1 + +cp /dev/null ${LOGFILE} + +# create a jail. needed for packages. +jname=${TARGET}-${BRANCH}-`basename $0` +jail -c persist name=${jname} ip4.addr=127.0.0.1 ip6=disable path=${DESTDIR} \ + host.hostname=${jname} +portsdir="/usr/ports" +packagedir="${portsdir}/packages/All" + +# copy over packages for that arch/branch. +# note the intentionally ommitted /. +setup ${ARCH_PACKAGES}/${TARGET}/${BRANCH} ${DESTDIR}${packagedir} ${LOGFILE} +echo + +# install the packages +jexec -U root ${jname} /bin/ls -al /usr/ports/packages/All +packages=`jexec -U root ${jname} /usr/bin/find ${packagedir} -type f -maxdepth 1` +for package in ${packages}; do + echo "adding ${package} in ${jname}" + # pre-pkgng + jexec -U root ${jname} /usr/sbin/pkg_add -f ${package} + # pkgng + # jexec -U root ${jname} /usr/sbin/pkg add ${package} +done +echo + +jail -r ${jname} + +# create files in conf/default/etc. Some will be overridden below. +#setup ${DESTDIR}/etc ${DESTDIR}/conf/default/etc ${LOGFILE} +echo + +# override (or create) files that are specific to an architecture +# (including overrides of package configs) +#setup ${ARCH_SPECIFIC}/${TARGET} ${DESTDIR} ${LOGFILE} +echo + +# override (or create) files that are generic to all nodes +#setup ${NODE_GENERIC} ${DESTDIR} ${LOGFILE} +echo + +# override (or create) files that are specific to a site +#setup ${SITE_SPECIFIC}/${SITE} ${DESTDIR} ${LOGFILE} +echo + +echo "finished." +echo " be sure to check ${LOGFILE} for things that have to be adjusted manually:" +ls -al ${LOGFILE} + +exit 0 Added: projects/portbuild/pxedust/pxepackages ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/portbuild/pxedust/pxepackages Wed Dec 5 21:05:00 2012 (r243908) @@ -0,0 +1,78 @@ +#!/bin/sh +# +# script to generate packages to be install in pxe-bootable images. +# MCL 20121123 +# +# note: must be run as root. +# + +REQUIRED_PORTS="ports-mgmt/pkg" +REQUIRED_PORTS="${REQUIRED_PORTS} net/rsync" +# dependencies for sudo. I'm getting tired of fighting tonight. +REQUIRED_PORTS="${REQUIRED_PORTS} devel/gettext" +REQUIRED_PORTS="${REQUIRED_PORTS} devel/libtool" +REQUIRED_PORTS="${REQUIRED_PORTS} converters/libiconv" +REQUIRED_PORTS="${REQUIRED_PORTS} security/sudo" +# XXX +#REQUIRED_PORTS="${REQUIRED_PORTS} XXX" + +# +# ------------- you should not need to do anything after this ------------- +# +# (at least, once the script is completed) + +if [ -z "${BRANCH}" \ + -o -z "${BUILDID}" \ + -o -z "${INSTALLDIR}" \ + -o -z "${PORTSDIR}" \ + -o -z "${PXEFILES}" \ + -o -z "${TARGET}" ]; then + echo "$0: the following must all be set: BRANCH BUILDID INSTALLDIR PORTSDIR PXEFILES TARGET" + exit 1 +fi + +DESTDIR="${INSTALLDIR}/${TARGET}-${BRANCH}" + +ARCH_PACKAGES="${PXEFILES}/ARCH_PACKAGES" + +id=$(id -u) +if [ ${id} -ne 0 ]; then + echo "you need to run this script as root." + exit 1 +fi + +# XXX MCL turn off due to 9.0R not having kickstart. ARGH! +#export WITH_PKGNG=yes + +WHERETO=${ARCH_PACKAGES}/${TARGET}/${BRANCH} + +mkdir -p ${WHERETO} || exit 1 +chown ports-${TARGET}:portmgr ${WHERETO} || exit 1 +cd ${WHERETO} || exit 1 + +# XXX MCL FRUSTRATED +export PORTSDIR="/var/portbuild/${ARCH}/${BRANCH}/builds/${BUILDID}/ports" + +# make the packages +for port in ${REQUIRED_PORTS}; do + pkgname=`cd ${PORTSDIR}/${port} && make -V PKGNAME` + pkg_sufx=`cd ${PORTSDIR}/${port} && make -V PKG_SUFX` + if [ -z "${pkgname}" ]; then + echo "could not figure out PKGNAME for $port!" + else + package="${WHERETO}/${pkgname}${pkg_sufx}" + if [ -e ${package} ]; then + echo "skipping ${package} since it already exists" + else + echo "making ${package}" + dir=`cd ${PORTSDIR}/${port} && make -V PACKAGES` + mkdir -p ${dir} + cd ${PORTSDIR}/${port} && make -DFORCE_PKG_REGISTER package + fi + fi +done + +echo "copying `ls -l ${PORTSDIR}/packages/All/`" +cp -p ${PORTSDIR}/packages/All/* ${WHERETO} || exit 1 + +exit 0 From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 21:33:32 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 AFD99487; Wed, 5 Dec 2012 21:33:32 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 7D0F28FC12; Wed, 5 Dec 2012 21:33:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB5LXW4q040509; Wed, 5 Dec 2012 21:33:32 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB5LXW8q040508; Wed, 5 Dec 2012 21:33:32 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201212052133.qB5LXW8q040508@svn.freebsd.org> From: Mark Linimon Date: Wed, 5 Dec 2012 21:33:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243910 - projects/portbuild/pxedust 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, 05 Dec 2012 21:33:32 -0000 Author: linimon (doc,ports committer) Date: Wed Dec 5 21:33:31 2012 New Revision: 243910 URL: http://svnweb.freebsd.org/changeset/base/243910 Log: Forgot to uncomment everything before committing. Modified: projects/portbuild/pxedust/pxedust Modified: projects/portbuild/pxedust/pxedust ============================================================================== --- projects/portbuild/pxedust/pxedust Wed Dec 5 21:07:27 2012 (r243909) +++ projects/portbuild/pxedust/pxedust Wed Dec 5 21:33:31 2012 (r243910) @@ -103,20 +103,20 @@ mkdir -p ${DESTDIR} cd ${SRCDIR} || exit 1 echo "make ${COMMON_ENV} -j${N_TASKS} buildworld" -#make ${COMMON_ENV} -j${N_TASKS} buildworld || exit 1 +make ${COMMON_ENV} -j${N_TASKS} buildworld || exit 1 echo "make ${COMMON_ENV} buildkernel KERNCONF=${KERNCONF}" -#make ${COMMON_ENV} buildkernel KERNCONF=${KERNCONF} || exit 1 +make ${COMMON_ENV} buildkernel KERNCONF=${KERNCONF} || exit 1 echo "make ${COMMON_ENV} installkernel KERNCONF=${KERNCONF}" -#make ${COMMON_ENV} installkernel KERNCONF=${KERNCONF} || exit 1 +make ${COMMON_ENV} installkernel KERNCONF=${KERNCONF} || exit 1 echo "make ${COMMON_ENV} installworld" -#make ${COMMON_ENV} installworld || exit 1 +make ${COMMON_ENV} installworld || exit 1 echo "make ${COMMON_ENV} distribution" -#make ${COMMON_ENV} distribution || exit 1 +make ${COMMON_ENV} distribution || exit 1 echo "make distribution: finished." echo -#mkdir -p ${DESTDIR}/usr2 || exit 1 -#mkdir -p ${DESTDIR}/usr3 || exit 1 +mkdir -p ${DESTDIR}/usr2 || exit 1 +mkdir -p ${DESTDIR}/usr3 || exit 1 cp /dev/null ${LOGFILE} @@ -147,20 +147,20 @@ echo jail -r ${jname} # create files in conf/default/etc. Some will be overridden below. -#setup ${DESTDIR}/etc ${DESTDIR}/conf/default/etc ${LOGFILE} +setup ${DESTDIR}/etc ${DESTDIR}/conf/default/etc ${LOGFILE} echo # override (or create) files that are specific to an architecture # (including overrides of package configs) -#setup ${ARCH_SPECIFIC}/${TARGET} ${DESTDIR} ${LOGFILE} +setup ${ARCH_SPECIFIC}/${TARGET} ${DESTDIR} ${LOGFILE} echo # override (or create) files that are generic to all nodes -#setup ${NODE_GENERIC} ${DESTDIR} ${LOGFILE} +setup ${NODE_GENERIC} ${DESTDIR} ${LOGFILE} echo # override (or create) files that are specific to a site -#setup ${SITE_SPECIFIC}/${SITE} ${DESTDIR} ${LOGFILE} +setup ${SITE_SPECIFIC}/${SITE} ${DESTDIR} ${LOGFILE} echo echo "finished." From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 21:49:10 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 BBEF47ED; Wed, 5 Dec 2012 21:49:10 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9E30D8FC08; Wed, 5 Dec 2012 21:49:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB5LnAVp042645; Wed, 5 Dec 2012 21:49:10 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB5LnA6N042644; Wed, 5 Dec 2012 21:49:10 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201212052149.qB5LnA6N042644@svn.freebsd.org> From: Mark Linimon Date: Wed, 5 Dec 2012 21:49:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243911 - projects/portbuild/pxedust 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, 05 Dec 2012 21:49:11 -0000 Author: linimon (doc,ports committer) Date: Wed Dec 5 21:49:10 2012 New Revision: 243911 URL: http://svnweb.freebsd.org/changeset/base/243911 Log: Sigh. Also needs uid:gid generalization. Modified: projects/portbuild/pxedust/pxepackages Modified: projects/portbuild/pxedust/pxepackages ============================================================================== --- projects/portbuild/pxedust/pxepackages Wed Dec 5 21:33:31 2012 (r243910) +++ projects/portbuild/pxedust/pxepackages Wed Dec 5 21:49:10 2012 (r243911) @@ -41,13 +41,27 @@ if [ ${id} -ne 0 ]; then exit 1 fi +pbc=${PORTBUILD_CHECKOUT:-/var/portbuild} + +. ${pbc}/conf/server.conf + # XXX MCL turn off due to 9.0R not having kickstart. ARGH! #export WITH_PKGNG=yes WHERETO=${ARCH_PACKAGES}/${TARGET}/${BRANCH} +# We need to preserve group writability +umask 002 + +uid=ports-${TARGET} +if [ ! -z "${PORTBUILD_GROUP}" ]; then + gid=${PORTBUILD_GROUP} +else + gid=${uid} +fi + mkdir -p ${WHERETO} || exit 1 -chown ports-${TARGET}:portmgr ${WHERETO} || exit 1 +chown ${uid}:${gid} ${WHERETO} || exit 1 cd ${WHERETO} || exit 1 # XXX MCL FRUSTRATED From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 23:12:02 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 6A54F658; Wed, 5 Dec 2012 23:12:02 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 370208FC17; Wed, 5 Dec 2012 23:12:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB5NC2jW056352; Wed, 5 Dec 2012 23:12:02 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB5NC2Hn056351; Wed, 5 Dec 2012 23:12:02 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212052312.qB5NC2Hn056351@svn.freebsd.org> From: Jung-uk Kim Date: Wed, 5 Dec 2012 23:12:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243914 - projects/bpfjit 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, 05 Dec 2012 23:12:02 -0000 Author: jkim Date: Wed Dec 5 23:12:01 2012 New Revision: 243914 URL: http://svnweb.freebsd.org/changeset/base/243914 Log: Create a branch for BPF just-in-time compiler based on sljit. Added: - copied from r243913, head/ Directory Properties: projects/bpfjit/ (props changed) From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 23:14:52 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 05B177AB; Wed, 5 Dec 2012 23:14:52 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from mail-vc0-f182.google.com (mail-vc0-f182.google.com [209.85.220.182]) by mx1.freebsd.org (Postfix) with ESMTP id 250988FC14; Wed, 5 Dec 2012 23:14:50 +0000 (UTC) Received: by mail-vc0-f182.google.com with SMTP id fo14so6582414vcb.13 for ; Wed, 05 Dec 2012 15:14:50 -0800 (PST) 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=AJn89QzHKcJeZEqvGCY2T8U16VBkNmEo0Mw6lJ/EW7E=; b=LJLgvA0fFsq9pIqrvVPSzVJU1GfQkPnigx5AnGWjWiX6bGorNujqXBN8axXS/RwQqO E32a7sfSzQcAgeDXOQmvmS4JtzrBcvVaTYqslIxEUjZKgWhLGKV5fbQH5W5n7f8cfepo N4sZlA+rV1guFSRbhQJsMJ+tp/w7KxecgWkgje/R8oIAz3m/+POaFp8DUiOcCW+xOsUJ 9FHV0zbDgeXumIkFopC8Z/rqqu1oe04kgbL7pLYYEeT64Su+L0adYarN33m1Q4wMfquV O63i3iqHB+w24uCOtAkoteJobQ7CqEuCn0L2/Q0BYUUnq7gOb09h+21MPFWUR7gueEqN KX2g== MIME-Version: 1.0 Received: by 10.52.70.46 with SMTP id j14mr14366074vdu.99.1354749290289; Wed, 05 Dec 2012 15:14:50 -0800 (PST) Sender: asmrookie@gmail.com Received: by 10.220.6.7 with HTTP; Wed, 5 Dec 2012 15:14:49 -0800 (PST) In-Reply-To: References: <201207301350.q6UDobCI099069@svn.freebsd.org> <201207301732.33474.jhb@freebsd.org> <20121029155136.O943@besplex.bde.org> <20121109034942.C5338@besplex.bde.org> Date: Wed, 5 Dec 2012 23:14:49 +0000 X-Google-Sender-Auth: xZkIJ50vQj9R_ycf2YHN-S0_iP0 Message-ID: Subject: Re: svn commit: r238907 - projects/calloutng/sys/kern From: Attilio Rao To: Bruce Evans Content-Type: text/plain; charset=UTF-8 Cc: src-committers@freebsd.org, John Baldwin , Jeff Roberson , Florian Smeets , Bruce Evans , svn-src-projects@freebsd.org 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, 05 Dec 2012 23:14:52 -0000 On Sat, Nov 24, 2012 at 3:43 PM, Attilio Rao wrote: > On Thu, Nov 8, 2012 at 5:26 PM, Bruce Evans wrote: >> On Fri, 2 Nov 2012, Attilio Rao wrote: >> >>> On 10/29/12, Bruce Evans wrote: >>>> >>>> On Mon, 29 Oct 2012, Attilio Rao wrote: >>>> >>>>> Now that sched_pin()/sched_unpin() are fixed I would like to introduce >>>>> this new patch, making critical_enter()/critical_exit() inline: >>>>> http://www.freebsd.org/~attilio/inline_critical.patch >>>> >>>> ... >>>> >>>> My version goes the other way and uninlines mtx_lock_spin() and >>>> mtx_unlock_spin(). Then it inlines (open codes) critical_enter() and >>>> ... >>> >>> >>> So, I thought more about this and I think that inlining >>> critical_exit() is not really going to bring any benefit here but >>> bloat. >>> This is because nested critical sections are rare rather not, which >> >> >> Rather rare !not? :-) >> >> >>> means you will end up in doing the function call most of the time and >>> plus we have the possible pessimization introduced by the memory >>> clobber (__compiler_membar()) and as you note possible deficiency >>> caming from the branch misprediction*. >> >> >> This seems best. >> >> I see a point about the rareness of the branch in critical_exit(). >> Not sure if it is the one you are making: since the nested case is >> rare, then the branch will normally be correctly predicted. If the >> function remains uninlined, then the branch still has a good chance >> of being correctly predicted. This depends on the nested case being >> so rare across all callers, that the non-nested case doesn't mess >> up the prediction by happening often. The branch predictor only >> has to maintain history for 1 branch for this. However, if the >> call is inlined and there are many callers, there might be too many >> to maintain history for them all. > > Yes, that's basically the same conclusion I came up with. > > It seems you are not opposed to this version of the patch. > I made some in-kernel benchmarks but they didn't really show a > performance improvements, bigger than 1-2%, which on SMP system is > basically accountable to thirdy-part effects. > > However we already employ the same code for sched_pin() and I then > think that we can just commit this patch as-is. I made up my mind on instead not committing this patch, as I cannot prove a real performance gain, as also Jeff agreed with privately. Instead, I would like to commit this small comment explaining why it is not inlined (see below). Let me know what you think. Thanks, Attilio Index: sys/kern/kern_switch.c =================================================================== --- sys/kern/kern_switch.c (revision 243911) +++ sys/kern/kern_switch.c (working copy) @@ -176,6 +176,11 @@ retry: /* * Kernel thread preemption implementation. Critical sections mark * regions of code in which preemptions are not allowed. + * It would seem a good idea to inline such function but, in order + * to prevent instructions reordering by the compiler, a __compiler_membar() + * must be used here (look at sched_pin() case). The performance penalty + * imposed by the membar could, then, produce slower code than + * the function call itself, for most cases. */ void critical_enter(void) From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 23:29:11 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 C48C3B5D; Wed, 5 Dec 2012 23:29:11 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A93E88FC0C; Wed, 5 Dec 2012 23:29:11 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB5NTBlU007141; Wed, 5 Dec 2012 23:29:11 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB5NTBri007136; Wed, 5 Dec 2012 23:29:11 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212052329.qB5NTBri007136@svn.freebsd.org> From: Jung-uk Kim Date: Wed, 5 Dec 2012 23:29:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243915 - projects/bpfjit/sys/contrib/sljit 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, 05 Dec 2012 23:29:11 -0000 Author: jkim Date: Wed Dec 5 23:29:10 2012 New Revision: 243915 URL: http://svnweb.freebsd.org/changeset/base/243915 Log: Import sljit 0.90. This version supports the following architectures: Intel x86-32 AMD x86-64 ARM (Including ARM-v5, ARM-v7 and Thumb2 instruction sets) IBM PowerPC-32 IBM PowerPC-64 MIPS-32 SPARC-32 http://sljit.sourceforge.net/ Note: there is no support for mips64 and sparc64 yet. Added: projects/bpfjit/sys/contrib/sljit/ projects/bpfjit/sys/contrib/sljit/sljitConfig.h (contents, props changed) projects/bpfjit/sys/contrib/sljit/sljitConfigInternal.h (contents, props changed) projects/bpfjit/sys/contrib/sljit/sljitExecAllocator.c (contents, props changed) projects/bpfjit/sys/contrib/sljit/sljitLir.c (contents, props changed) projects/bpfjit/sys/contrib/sljit/sljitLir.h (contents, props changed) projects/bpfjit/sys/contrib/sljit/sljitNativeARM_Thumb2.c (contents, props changed) projects/bpfjit/sys/contrib/sljit/sljitNativeARM_v5.c (contents, props changed) projects/bpfjit/sys/contrib/sljit/sljitNativeMIPS_32.c (contents, props changed) projects/bpfjit/sys/contrib/sljit/sljitNativeMIPS_common.c (contents, props changed) projects/bpfjit/sys/contrib/sljit/sljitNativePPC_32.c (contents, props changed) projects/bpfjit/sys/contrib/sljit/sljitNativePPC_64.c (contents, props changed) projects/bpfjit/sys/contrib/sljit/sljitNativePPC_common.c (contents, props changed) projects/bpfjit/sys/contrib/sljit/sljitNativeSPARC_32.c (contents, props changed) projects/bpfjit/sys/contrib/sljit/sljitNativeSPARC_common.c (contents, props changed) projects/bpfjit/sys/contrib/sljit/sljitNativeX86_32.c (contents, props changed) projects/bpfjit/sys/contrib/sljit/sljitNativeX86_64.c (contents, props changed) projects/bpfjit/sys/contrib/sljit/sljitNativeX86_common.c (contents, props changed) projects/bpfjit/sys/contrib/sljit/sljitUtils.c (contents, props changed) Added: projects/bpfjit/sys/contrib/sljit/sljitConfig.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bpfjit/sys/contrib/sljit/sljitConfig.h Wed Dec 5 23:29:10 2012 (r243915) @@ -0,0 +1,110 @@ +/* + * Stack-less Just-In-Time compiler + * + * Copyright 2009-2012 Zoltan Herczeg (hzmester@freemail.hu). All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) 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 COPYRIGHT HOLDER(S) 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. + */ + +#ifndef _SLJIT_CONFIG_H_ +#define _SLJIT_CONFIG_H_ + +/* --------------------------------------------------------------------- */ +/* Custom defines */ +/* --------------------------------------------------------------------- */ + +/* Put your custom defines here. This empty section will never change + which helps maintaining patches (with diff / patch utilities). */ + +/* --------------------------------------------------------------------- */ +/* Architecture */ +/* --------------------------------------------------------------------- */ + +/* Architecture selection. */ +/* #define SLJIT_CONFIG_X86_32 1 */ +/* #define SLJIT_CONFIG_X86_64 1 */ +/* #define SLJIT_CONFIG_ARM_V5 1 */ +/* #define SLJIT_CONFIG_ARM_V7 1 */ +/* #define SLJIT_CONFIG_ARM_THUMB2 1 */ +/* #define SLJIT_CONFIG_PPC_32 1 */ +/* #define SLJIT_CONFIG_PPC_64 1 */ +/* #define SLJIT_CONFIG_MIPS_32 1 */ +/* #define SLJIT_CONFIG_SPARC_32 1 */ + +/* #define SLJIT_CONFIG_AUTO 1 */ +/* #define SLJIT_CONFIG_UNSUPPORTED 1 */ + +/* --------------------------------------------------------------------- */ +/* Utilities */ +/* --------------------------------------------------------------------- */ + +/* Useful for thread-safe compiling of global functions. */ +#ifndef SLJIT_UTIL_GLOBAL_LOCK +/* Enabled by default */ +#define SLJIT_UTIL_GLOBAL_LOCK 1 +#endif + +/* Implements a stack like data structure (by using mmap / VirtualAlloc). */ +#ifndef SLJIT_UTIL_STACK +/* Enabled by default */ +#define SLJIT_UTIL_STACK 1 +#endif + +/* Single threaded application. Does not require any locks. */ +#ifndef SLJIT_SINGLE_THREADED +/* Disabled by default. */ +#define SLJIT_SINGLE_THREADED 0 +#endif + +/* --------------------------------------------------------------------- */ +/* Configuration */ +/* --------------------------------------------------------------------- */ + +/* If SLJIT_STD_MACROS_DEFINED is not defined, the application should + define SLJIT_MALLOC, SLJIT_FREE, SLJIT_MEMMOVE, and NULL. */ +#ifndef SLJIT_STD_MACROS_DEFINED +/* Disabled by default. */ +#define SLJIT_STD_MACROS_DEFINED 0 +#endif + +/* Executable code allocation: + If SLJIT_EXECUTABLE_ALLOCATOR is not defined, the application should + define both SLJIT_MALLOC_EXEC and SLJIT_FREE_EXEC. */ +#ifndef SLJIT_EXECUTABLE_ALLOCATOR +/* Enabled by default. */ +#define SLJIT_EXECUTABLE_ALLOCATOR 1 +#endif + +/* Debug checks (assertions, etc.). */ +#ifndef SLJIT_DEBUG +/* Enabled by default */ +#define SLJIT_DEBUG 1 +#endif + +/* Verbose operations */ +#ifndef SLJIT_VERBOSE +/* Enabled by default */ +#define SLJIT_VERBOSE 1 +#endif + +/* See the beginning of sljitConfigInternal.h */ + +#endif Added: projects/bpfjit/sys/contrib/sljit/sljitConfigInternal.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bpfjit/sys/contrib/sljit/sljitConfigInternal.h Wed Dec 5 23:29:10 2012 (r243915) @@ -0,0 +1,484 @@ +/* + * Stack-less Just-In-Time compiler + * + * Copyright 2009-2012 Zoltan Herczeg (hzmester@freemail.hu). All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) 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 COPYRIGHT HOLDER(S) 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. + */ + +#ifndef _SLJIT_CONFIG_INTERNAL_H_ +#define _SLJIT_CONFIG_INTERNAL_H_ + +/* + SLJIT defines the following macros depending on the target architecture: + + Feature detection (boolean) macros: + SLJIT_32BIT_ARCHITECTURE : 32 bit architecture + SLJIT_64BIT_ARCHITECTURE : 64 bit architecture + SLJIT_WORD_SHIFT : the shift required to apply when accessing a sljit_sw/sljit_uw array by index + SLJIT_DOUBLE_SHIFT : the shift required to apply when accessing a double array by index + SLJIT_LITTLE_ENDIAN : little endian architecture + SLJIT_BIG_ENDIAN : big endian architecture + SLJIT_UNALIGNED : allows unaligned memory accesses for non-fpu operations (only!) + SLJIT_INDIRECT_CALL : see SLJIT_FUNC_OFFSET() for more information + SLJIT_RETURN_ADDRESS_OFFSET : a return instruction always adds this offset to the return address + + Types and useful macros: + sljit_sb, sljit_ub : signed and unsigned 8 bit byte + sljit_sh, sljit_uh : signed and unsigned 16 bit half-word (short) type + sljit_si, sljit_ui : signed and unsigned 32 bit integer type + sljit_sw, sljit_uw : signed and unsigned machine word, enough to store a pointer + sljit_p : unsgined pointer value (usually the same as sljit_uw, but + some 64 bit ABIs may use 32 bit pointers) + sljit_s : single precision floating point value + sljit_d : double precision floating point value + SLJIT_CALL : C calling convention define for both calling JIT form C and C callbacks for JIT + SLJIT_W(number) : defining 64 bit constants on 64 bit architectures (compiler independent helper) +*/ + +#if !((defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) \ + || (defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64) \ + || (defined SLJIT_CONFIG_ARM_V5 && SLJIT_CONFIG_ARM_V5) \ + || (defined SLJIT_CONFIG_ARM_V7 && SLJIT_CONFIG_ARM_V7) \ + || (defined SLJIT_CONFIG_ARM_THUMB2 && SLJIT_CONFIG_ARM_THUMB2) \ + || (defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32) \ + || (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) \ + || (defined SLJIT_CONFIG_MIPS_32 && SLJIT_CONFIG_MIPS_32) \ + || (defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) \ + || (defined SLJIT_CONFIG_AUTO && SLJIT_CONFIG_AUTO) \ + || (defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED)) +#error "An architecture must be selected" +#endif + +/* Sanity check. */ +#if (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) \ + + (defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64) \ + + (defined SLJIT_CONFIG_ARM_V5 && SLJIT_CONFIG_ARM_V5) \ + + (defined SLJIT_CONFIG_ARM_V7 && SLJIT_CONFIG_ARM_V7) \ + + (defined SLJIT_CONFIG_ARM_THUMB2 && SLJIT_CONFIG_ARM_THUMB2) \ + + (defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32) \ + + (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) \ + + (defined SLJIT_CONFIG_MIPS_32 && SLJIT_CONFIG_MIPS_32) \ + + (defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) \ + + (defined SLJIT_CONFIG_AUTO && SLJIT_CONFIG_AUTO) \ + + (defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED) >= 2 +#error "Multiple architectures are selected" +#endif + +/* Auto select option (requires compiler support) */ +#if (defined SLJIT_CONFIG_AUTO && SLJIT_CONFIG_AUTO) + +#ifndef _WIN32 + +#if defined(__i386__) || defined(__i386) +#define SLJIT_CONFIG_X86_32 1 +#elif defined(__x86_64__) +#define SLJIT_CONFIG_X86_64 1 +#elif defined(__arm__) || defined(__ARM__) +#ifdef __thumb2__ +#define SLJIT_CONFIG_ARM_THUMB2 1 +#elif defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) +#define SLJIT_CONFIG_ARM_V7 1 +#else +#define SLJIT_CONFIG_ARM_V5 1 +#endif +#elif defined(__ppc64__) || defined(__powerpc64__) || defined(_ARCH_PPC64) || (defined(_POWER) && defined(__64BIT__)) +#define SLJIT_CONFIG_PPC_64 1 +#elif defined(__ppc__) || defined(__powerpc__) || defined(_ARCH_PPC) || defined(_ARCH_PWR) || defined(_ARCH_PWR2) || defined(_POWER) +#define SLJIT_CONFIG_PPC_32 1 +#elif defined(__mips__) +#define SLJIT_CONFIG_MIPS_32 1 +#elif defined(__sparc__) || defined(__sparc) +#define SLJIT_CONFIG_SPARC_32 1 +#else +/* Unsupported architecture */ +#define SLJIT_CONFIG_UNSUPPORTED 1 +#endif + +#else /* !_WIN32 */ + +#if defined(_M_X64) || defined(__x86_64__) +#define SLJIT_CONFIG_X86_64 1 +#elif defined(_ARM_) +#define SLJIT_CONFIG_ARM_V5 1 +#else +#define SLJIT_CONFIG_X86_32 1 +#endif + +#endif /* !WIN32 */ +#endif /* SLJIT_CONFIG_AUTO */ + +#if (defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED) +#undef SLJIT_EXECUTABLE_ALLOCATOR +#endif + +#if !(defined SLJIT_STD_MACROS_DEFINED && SLJIT_STD_MACROS_DEFINED) + +/* These libraries are needed for the macros below. */ +#include +#include + +#endif /* STD_MACROS_DEFINED */ + +/* General macros: + Note: SLJIT is designed to be independent from them as possible. + + In release mode (SLJIT_DEBUG is not defined) only the following macros are needed: +*/ + +#ifndef SLJIT_MALLOC +#define SLJIT_MALLOC(size) malloc(size) +#endif + +#ifndef SLJIT_FREE +#define SLJIT_FREE(ptr) free(ptr) +#endif + +#ifndef SLJIT_MEMMOVE +#define SLJIT_MEMMOVE(dest, src, len) memmove(dest, src, len) +#endif + +#ifndef SLJIT_ZEROMEM +#define SLJIT_ZEROMEM(dest, len) memset(dest, 0, len) +#endif + +#if !defined(SLJIT_LIKELY) && !defined(SLJIT_UNLIKELY) + +#if defined(__GNUC__) && (__GNUC__ >= 3) +#define SLJIT_LIKELY(x) __builtin_expect((x), 1) +#define SLJIT_UNLIKELY(x) __builtin_expect((x), 0) +#else +#define SLJIT_LIKELY(x) (x) +#define SLJIT_UNLIKELY(x) (x) +#endif + +#endif /* !defined(SLJIT_LIKELY) && !defined(SLJIT_UNLIKELY) */ + +#ifndef SLJIT_INLINE +/* Inline functions. */ +#define SLJIT_INLINE __inline +#endif + +#ifndef SLJIT_CONST +/* Const variables. */ +#define SLJIT_CONST const +#endif + +#ifndef SLJIT_UNUSED_ARG +/* Unused arguments. */ +#define SLJIT_UNUSED_ARG(arg) (void)arg +#endif + +#if (defined SLJIT_CONFIG_STATIC && SLJIT_CONFIG_STATIC) +/* Static ABI functions. For all-in-one programs. */ + +#if defined(__GNUC__) +/* Disable unused warnings in gcc. */ +#define SLJIT_API_FUNC_ATTRIBUTE static __attribute__((unused)) +#else +#define SLJIT_API_FUNC_ATTRIBUTE static +#endif + +#else +#define SLJIT_API_FUNC_ATTRIBUTE +#endif /* (defined SLJIT_CONFIG_STATIC && SLJIT_CONFIG_STATIC) */ + +#ifndef SLJIT_CACHE_FLUSH + +#if (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) || (defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64) + +/* Not required to implement on archs with unified caches. */ +#define SLJIT_CACHE_FLUSH(from, to) + +#elif defined __APPLE__ + +/* Supported by all macs since Mac OS 10.5. + However, it does not work on non-jailbroken iOS devices, + although the compilation is successful. */ + +#define SLJIT_CACHE_FLUSH(from, to) \ + sys_icache_invalidate((char*)(from), (char*)(to) - (char*)(from)) + +#elif (defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32) || (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) + +/* The __clear_cache() implementation of GCC is a dummy function on PowerPC. */ +#define SLJIT_CACHE_FLUSH(from, to) \ + ppc_cache_flush((from), (to)) + +#elif (defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) + +/* The __clear_cache() implementation of GCC is a dummy function on Sparc. */ +#define SLJIT_CACHE_FLUSH(from, to) \ + sparc_cache_flush((from), (to)) + +#else + +/* Calls __ARM_NR_cacheflush on ARM-Linux. */ +#define SLJIT_CACHE_FLUSH(from, to) \ + __clear_cache((char*)(from), (char*)(to)) + +#endif + +#endif /* !SLJIT_CACHE_FLUSH */ + +/* 8 bit byte type. */ +typedef unsigned char sljit_ub; +typedef signed char sljit_sb; + +/* 16 bit half-word type. */ +typedef unsigned short int sljit_uh; +typedef signed short int sljit_sh; + +/* 32 bit integer type. */ +typedef unsigned int sljit_ui; +typedef signed int sljit_si; + +/* Machine word type. Can encapsulate a pointer. + 32 bit for 32 bit machines. + 64 bit for 64 bit machines. */ +#if (defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED) +/* Just to have something. */ +#define SLJIT_WORD_SHIFT 0 +typedef unsigned long int sljit_uw; +typedef long int sljit_sw; +#elif !(defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64) && !(defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) +#define SLJIT_32BIT_ARCHITECTURE 1 +#define SLJIT_WORD_SHIFT 2 +typedef unsigned int sljit_uw; +typedef int sljit_sw; +#else +#define SLJIT_64BIT_ARCHITECTURE 1 +#define SLJIT_WORD_SHIFT 3 +#ifdef _WIN32 +typedef unsigned __int64 sljit_uw; +typedef __int64 sljit_sw; +#else +typedef unsigned long int sljit_uw; +typedef long int sljit_sw; +#endif +#endif + +typedef sljit_uw sljit_p; + +/* Floating point types. */ +typedef float sljit_s; +typedef double sljit_d; + +/* Shift for pointer sized data. */ +#define SLJIT_POINTER_SHIFT SLJIT_WORD_SHIFT + +/* Shift for double precision sized data. */ +#define SLJIT_DOUBLE_SHIFT 3 + +#ifndef SLJIT_W + +/* Defining long constants. */ +#if (defined SLJIT_64BIT_ARCHITECTURE && SLJIT_64BIT_ARCHITECTURE) +#define SLJIT_W(w) (w##ll) +#else +#define SLJIT_W(w) (w) +#endif + +#endif /* !SLJIT_W */ + +#ifndef SLJIT_CALL + +/* ABI (Application Binary Interface) types. */ +#if (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) + +#if defined(__GNUC__) + +#define SLJIT_CALL __attribute__ ((fastcall)) +#define SLJIT_X86_32_FASTCALL 1 + +#elif defined(_MSC_VER) + +#define SLJIT_CALL __fastcall +#define SLJIT_X86_32_FASTCALL 1 + +#elif defined(__BORLANDC__) + +#define SLJIT_CALL __msfastcall +#define SLJIT_X86_32_FASTCALL 1 + +#else /* Unknown compiler. */ + +/* The cdecl attribute is the default. */ +#define SLJIT_CALL + +#endif + +#else /* Non x86-32 architectures. */ + +#define SLJIT_CALL + +#endif /* SLJIT_CONFIG_X86_32 */ + +#endif /* !SLJIT_CALL */ + +#if !defined(SLJIT_BIG_ENDIAN) && !defined(SLJIT_LITTLE_ENDIAN) + +/* These macros are useful for the application. */ +#if (defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32) \ + || (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) \ + || (defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) +#define SLJIT_BIG_ENDIAN 1 + +#elif (defined SLJIT_CONFIG_MIPS_32 && SLJIT_CONFIG_MIPS_32) + +#ifdef __MIPSEL__ +#define SLJIT_LITTLE_ENDIAN 1 +#else +#define SLJIT_BIG_ENDIAN 1 +#endif + +#else +#define SLJIT_LITTLE_ENDIAN 1 +#endif + +#endif /* !defined(SLJIT_BIG_ENDIAN) && !defined(SLJIT_LITTLE_ENDIAN) */ + +/* Sanity check. */ +#if (defined SLJIT_BIG_ENDIAN && SLJIT_BIG_ENDIAN) && (defined SLJIT_LITTLE_ENDIAN && SLJIT_LITTLE_ENDIAN) +#error "Exactly one endianness must be selected" +#endif + +#if !(defined SLJIT_BIG_ENDIAN && SLJIT_BIG_ENDIAN) && !(defined SLJIT_LITTLE_ENDIAN && SLJIT_LITTLE_ENDIAN) +#error "Exactly one endianness must be selected" +#endif + +#ifndef SLJIT_INDIRECT_CALL +#if (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) || (defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32 && defined _AIX) +/* It seems certain ppc compilers use an indirect addressing for functions + which makes things complicated. */ +#define SLJIT_INDIRECT_CALL 1 +#endif +#endif /* SLJIT_INDIRECT_CALL */ + +#ifndef SLJIT_RETURN_ADDRESS_OFFSET +#if (defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) +#define SLJIT_RETURN_ADDRESS_OFFSET 8 +#else +#define SLJIT_RETURN_ADDRESS_OFFSET 0 +#endif +#endif /* SLJIT_RETURN_ADDRESS_OFFSET */ + +#ifndef SLJIT_SSE2 + +#if (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) || (defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64) +/* Turn on SSE2 support on x86. */ +#define SLJIT_SSE2 1 + +#if (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) +/* Auto detect SSE2 support using CPUID. + On 64 bit x86 cpus, sse2 must be present. */ +#define SLJIT_DETECT_SSE2 1 +#endif + +#endif /* (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) || (defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64) */ + +#endif /* !SLJIT_SSE2 */ + +#ifndef SLJIT_UNALIGNED + +#if (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) \ + || (defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64) \ + || (defined SLJIT_CONFIG_ARM_V7 && SLJIT_CONFIG_ARM_V7) \ + || (defined SLJIT_CONFIG_ARM_THUMB2 && SLJIT_CONFIG_ARM_THUMB2) \ + || (defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32) \ + || (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) +#define SLJIT_UNALIGNED 1 +#endif + +#endif /* !SLJIT_UNALIGNED */ + +#if (defined SLJIT_EXECUTABLE_ALLOCATOR && SLJIT_EXECUTABLE_ALLOCATOR) +SLJIT_API_FUNC_ATTRIBUTE void* sljit_malloc_exec(sljit_uw size); +SLJIT_API_FUNC_ATTRIBUTE void sljit_free_exec(void* ptr); +#define SLJIT_MALLOC_EXEC(size) sljit_malloc_exec(size) +#define SLJIT_FREE_EXEC(ptr) sljit_free_exec(ptr) +#endif + +#if (defined SLJIT_VERBOSE && SLJIT_VERBOSE) +#include +#endif + +#if (defined SLJIT_DEBUG && SLJIT_DEBUG) + +#if !defined(SLJIT_ASSERT) || !defined(SLJIT_ASSERT_STOP) + +/* SLJIT_HALT_PROCESS must halt the process. */ +#ifndef SLJIT_HALT_PROCESS +#include + +#define SLJIT_HALT_PROCESS() \ + abort(); +#endif /* !SLJIT_HALT_PROCESS */ + +#include + +#endif /* !SLJIT_ASSERT || !SLJIT_ASSERT_STOP */ + +/* Feel free to redefine these two macros. */ +#ifndef SLJIT_ASSERT + +#define SLJIT_ASSERT(x) \ + do { \ + if (SLJIT_UNLIKELY(!(x))) { \ + printf("Assertion failed at " __FILE__ ":%d\n", __LINE__); \ + SLJIT_HALT_PROCESS(); \ + } \ + } while (0) + +#endif /* !SLJIT_ASSERT */ + +#ifndef SLJIT_ASSERT_STOP + +#define SLJIT_ASSERT_STOP() \ + do { \ + printf("Should never been reached " __FILE__ ":%d\n", __LINE__); \ + SLJIT_HALT_PROCESS(); \ + } while (0) + +#endif /* !SLJIT_ASSERT_STOP */ + +#else /* (defined SLJIT_DEBUG && SLJIT_DEBUG) */ + +/* Forcing empty, but valid statements. */ +#undef SLJIT_ASSERT +#undef SLJIT_ASSERT_STOP + +#define SLJIT_ASSERT(x) \ + do { } while (0) +#define SLJIT_ASSERT_STOP() \ + do { } while (0) + +#endif /* (defined SLJIT_DEBUG && SLJIT_DEBUG) */ + +#ifndef SLJIT_COMPILE_ASSERT + +/* Should be improved eventually. */ +#define SLJIT_COMPILE_ASSERT(x, description) \ + SLJIT_ASSERT(x) + +#endif /* !SLJIT_COMPILE_ASSERT */ + +#endif Added: projects/bpfjit/sys/contrib/sljit/sljitExecAllocator.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bpfjit/sys/contrib/sljit/sljitExecAllocator.c Wed Dec 5 23:29:10 2012 (r243915) @@ -0,0 +1,289 @@ +/* + * Stack-less Just-In-Time compiler + * + * Copyright 2009-2012 Zoltan Herczeg (hzmester@freemail.hu). All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) 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 COPYRIGHT HOLDER(S) 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. + */ + +/* + This file contains a simple executable memory allocator + + It is assumed, that executable code blocks are usually medium (or sometimes + large) memory blocks, and the allocator is not too frequently called (less + optimized than other allocators). Thus, using it as a generic allocator is + not suggested. + + How does it work: + Memory is allocated in continuous memory areas called chunks by alloc_chunk() + Chunk format: + [ block ][ block ] ... [ block ][ block terminator ] + + All blocks and the block terminator is started with block_header. The block + header contains the size of the previous and the next block. These sizes + can also contain special values. + Block size: + 0 - The block is a free_block, with a different size member. + 1 - The block is a block terminator. + n - The block is used at the moment, and the value contains its size. + Previous block size: + 0 - This is the first block of the memory chunk. + n - The size of the previous block. + + Using these size values we can go forward or backward on the block chain. + The unused blocks are stored in a chain list pointed by free_blocks. This + list is useful if we need to find a suitable memory area when the allocator + is called. + + When a block is freed, the new free block is connected to its adjacent free + blocks if possible. + + [ free block ][ used block ][ free block ] + and "used block" is freed, the three blocks are connected together: + [ one big free block ] +*/ + +/* --------------------------------------------------------------------- */ +/* System (OS) functions */ +/* --------------------------------------------------------------------- */ + +/* 64 KByte. */ +#define CHUNK_SIZE 0x10000 + +/* + alloc_chunk / free_chunk : + * allocate executable system memory chunks + * the size is always divisible by CHUNK_SIZE + allocator_grab_lock / allocator_release_lock : + * make the allocator thread safe + * can be empty if the OS (or the application) does not support threading + * only the allocator requires this lock, sljit is fully thread safe + as it only uses local variables +*/ + +#ifdef _WIN32 + +static SLJIT_INLINE void* alloc_chunk(sljit_uw size) +{ + return VirtualAlloc(NULL, size, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); +} + +static SLJIT_INLINE void free_chunk(void* chunk, sljit_uw size) +{ + SLJIT_UNUSED_ARG(size); + VirtualFree(chunk, 0, MEM_RELEASE); +} + +#else + +static SLJIT_INLINE void* alloc_chunk(sljit_uw size) +{ + void* retval; + +#ifdef MAP_ANON + retval = mmap(NULL, size, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_PRIVATE | MAP_ANON, -1, 0); +#else + if (dev_zero < 0) { + if (open_dev_zero()) + return NULL; + } + retval = mmap(NULL, size, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_PRIVATE, dev_zero, 0); +#endif + + return (retval != MAP_FAILED) ? retval : NULL; +} + +static SLJIT_INLINE void free_chunk(void* chunk, sljit_uw size) +{ + munmap(chunk, size); +} + +#endif + +/* --------------------------------------------------------------------- */ +/* Common functions */ +/* --------------------------------------------------------------------- */ + +#define CHUNK_MASK (~(CHUNK_SIZE - 1)) + +struct block_header { + sljit_uw size; + sljit_uw prev_size; +}; + +struct free_block { + struct block_header header; + struct free_block *next; + struct free_block *prev; + sljit_uw size; +}; + +#define AS_BLOCK_HEADER(base, offset) \ + ((struct block_header*)(((sljit_ub*)base) + offset)) +#define AS_FREE_BLOCK(base, offset) \ + ((struct free_block*)(((sljit_ub*)base) + offset)) +#define MEM_START(base) ((void*)(((sljit_ub*)base) + sizeof(struct block_header))) +#define ALIGN_SIZE(size) (((size) + sizeof(struct block_header) + 7) & ~7) + +static struct free_block* free_blocks; +static sljit_uw allocated_size; +static sljit_uw total_size; + +static SLJIT_INLINE void sljit_insert_free_block(struct free_block *free_block, sljit_uw size) +{ + free_block->header.size = 0; + free_block->size = size; + + free_block->next = free_blocks; + free_block->prev = 0; + if (free_blocks) + free_blocks->prev = free_block; + free_blocks = free_block; +} + +static SLJIT_INLINE void sljit_remove_free_block(struct free_block *free_block) +{ + if (free_block->next) + free_block->next->prev = free_block->prev; + + if (free_block->prev) + free_block->prev->next = free_block->next; + else { + SLJIT_ASSERT(free_blocks == free_block); + free_blocks = free_block->next; + } +} + +SLJIT_API_FUNC_ATTRIBUTE void* sljit_malloc_exec(sljit_uw size) +{ + struct block_header *header; + struct block_header *next_header; + struct free_block *free_block; + sljit_uw chunk_size; + + allocator_grab_lock(); + if (size < sizeof(struct free_block)) + size = sizeof(struct free_block); + size = ALIGN_SIZE(size); + + free_block = free_blocks; + while (free_block) { + if (free_block->size >= size) { + chunk_size = free_block->size; + if (chunk_size > size + 64) { + /* We just cut a block from the end of the free block. */ + chunk_size -= size; + free_block->size = chunk_size; + header = AS_BLOCK_HEADER(free_block, chunk_size); + header->prev_size = chunk_size; + AS_BLOCK_HEADER(header, size)->prev_size = size; + } + else { + sljit_remove_free_block(free_block); + header = (struct block_header*)free_block; + size = chunk_size; + } + allocated_size += size; + header->size = size; + allocator_release_lock(); + return MEM_START(header); + } + free_block = free_block->next; + } + + chunk_size = (size + sizeof(struct block_header) + CHUNK_SIZE - 1) & CHUNK_MASK; + header = (struct block_header*)alloc_chunk(chunk_size); + if (!header) { + allocator_release_lock(); + return NULL; + } + + chunk_size -= sizeof(struct block_header); + total_size += chunk_size; + + header->prev_size = 0; + if (chunk_size > size + 64) { + /* Cut the allocated space into a free and a used block. */ + allocated_size += size; + header->size = size; + chunk_size -= size; + + free_block = AS_FREE_BLOCK(header, size); + free_block->header.prev_size = size; + sljit_insert_free_block(free_block, chunk_size); + next_header = AS_BLOCK_HEADER(free_block, chunk_size); + } + else { + /* All space belongs to this allocation. */ + allocated_size += chunk_size; + header->size = chunk_size; + next_header = AS_BLOCK_HEADER(header, chunk_size); + } + next_header->size = 1; + next_header->prev_size = chunk_size; + allocator_release_lock(); + return MEM_START(header); +} + +SLJIT_API_FUNC_ATTRIBUTE void sljit_free_exec(void* ptr) +{ + struct block_header *header; + struct free_block* free_block; + + allocator_grab_lock(); + header = AS_BLOCK_HEADER(ptr, -(sljit_sw)sizeof(struct block_header)); + allocated_size -= header->size; + + /* Connecting free blocks together if possible. */ + + /* If header->prev_size == 0, free_block will equal to header. + In this case, free_block->header.size will be > 0. */ + free_block = AS_FREE_BLOCK(header, -(sljit_sw)header->prev_size); + if (SLJIT_UNLIKELY(!free_block->header.size)) { + free_block->size += header->size; + header = AS_BLOCK_HEADER(free_block, free_block->size); + header->prev_size = free_block->size; + } + else { + free_block = (struct free_block*)header; + sljit_insert_free_block(free_block, header->size); + } + + header = AS_BLOCK_HEADER(free_block, free_block->size); + if (SLJIT_UNLIKELY(!header->size)) { + free_block->size += ((struct free_block*)header)->size; + sljit_remove_free_block((struct free_block*)header); + header = AS_BLOCK_HEADER(free_block, free_block->size); + header->prev_size = free_block->size; + } + + /* The whole chunk is free. */ + if (SLJIT_UNLIKELY(!free_block->header.prev_size && header->size == 1)) { + /* If this block is freed, we still have (allocated_size / 2) free space. */ + if (total_size - free_block->size > (allocated_size * 3 / 2)) { + total_size -= free_block->size; + sljit_remove_free_block(free_block); + free_chunk(free_block, free_block->size + sizeof(struct block_header)); + } + } + + allocator_release_lock(); +} Added: projects/bpfjit/sys/contrib/sljit/sljitLir.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bpfjit/sys/contrib/sljit/sljitLir.c Wed Dec 5 23:29:10 2012 (r243915) @@ -0,0 +1,1766 @@ +/* + * Stack-less Just-In-Time compiler + * + * Copyright 2009-2012 Zoltan Herczeg (hzmester@freemail.hu). All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) 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 COPYRIGHT HOLDER(S) OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "sljitLir.h" + +#define CHECK_ERROR() \ + do { \ + if (SLJIT_UNLIKELY(compiler->error)) \ + return compiler->error; \ + } while (0) + +#define CHECK_ERROR_PTR() \ + do { \ + if (SLJIT_UNLIKELY(compiler->error)) \ + return NULL; \ + } while (0) + +#define CHECK_ERROR_VOID() \ + do { \ + if (SLJIT_UNLIKELY(compiler->error)) \ + return; \ + } while (0) + +#define FAIL_IF(expr) \ + do { \ + if (SLJIT_UNLIKELY(expr)) \ + return compiler->error; \ + } while (0) + +#define PTR_FAIL_IF(expr) \ + do { \ + if (SLJIT_UNLIKELY(expr)) \ + return NULL; \ + } while (0) + +#define FAIL_IF_NULL(ptr) \ + do { \ + if (SLJIT_UNLIKELY(!(ptr))) { \ + compiler->error = SLJIT_ERR_ALLOC_FAILED; \ + return SLJIT_ERR_ALLOC_FAILED; \ + } \ + } while (0) + +#define PTR_FAIL_IF_NULL(ptr) \ + do { \ + if (SLJIT_UNLIKELY(!(ptr))) { \ + compiler->error = SLJIT_ERR_ALLOC_FAILED; \ + return NULL; \ + } \ + } while (0) + +#define PTR_FAIL_WITH_EXEC_IF(ptr) \ + do { \ + if (SLJIT_UNLIKELY(!(ptr))) { \ + compiler->error = SLJIT_ERR_EX_ALLOC_FAILED; \ + return NULL; \ + } \ + } while (0) + +#if !(defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED) + +#define GET_OPCODE(op) \ + ((op) & ~(SLJIT_INT_OP | SLJIT_SET_E | SLJIT_SET_S | SLJIT_SET_U | SLJIT_SET_O | SLJIT_SET_C | SLJIT_KEEP_FLAGS)) + +#define GET_FLAGS(op) \ + ((op) & (SLJIT_SET_E | SLJIT_SET_S | SLJIT_SET_U | SLJIT_SET_O | SLJIT_SET_C)) + +#define GET_ALL_FLAGS(op) \ + ((op) & (SLJIT_INT_OP | SLJIT_SET_E | SLJIT_SET_S | SLJIT_SET_U | SLJIT_SET_O | SLJIT_SET_C | SLJIT_KEEP_FLAGS)) + +#define TYPE_CAST_NEEDED(op) \ + (((op) >= SLJIT_MOV_UB && (op) <= SLJIT_MOV_SH) || ((op) >= SLJIT_MOVU_UB && (op) <= SLJIT_MOVU_SH)) + +#define BUF_SIZE 4096 + +#if (defined SLJIT_32BIT_ARCHITECTURE && SLJIT_32BIT_ARCHITECTURE) +#define ABUF_SIZE 2048 +#else +#define ABUF_SIZE 4096 +#endif + +/* Jump flags. */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 23:32:35 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 0B96AD77; Wed, 5 Dec 2012 23:32:35 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E39A08FC08; Wed, 5 Dec 2012 23:32:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB5NWY2K007619; Wed, 5 Dec 2012 23:32:34 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB5NWYl1007617; Wed, 5 Dec 2012 23:32:34 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212052332.qB5NWYl1007617@svn.freebsd.org> From: Jung-uk Kim Date: Wed, 5 Dec 2012 23:32:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243916 - projects/bpfjit/sys/net 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, 05 Dec 2012 23:32:35 -0000 Author: jkim Date: Wed Dec 5 23:32:34 2012 New Revision: 243916 URL: http://svnweb.freebsd.org/changeset/base/243916 Log: Import bpfjit.c and bpfjit.h from NetBSD head. Added: projects/bpfjit/sys/net/bpfjit.c (contents, props changed) projects/bpfjit/sys/net/bpfjit.h (contents, props changed) Added: projects/bpfjit/sys/net/bpfjit.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bpfjit/sys/net/bpfjit.c Wed Dec 5 23:32:34 2012 (r243916) @@ -0,0 +1,1753 @@ +/*- + * Copyright (c) 2011-2012 Alexander Nasonov. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 + * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#ifdef _KERNEL +__KERNEL_RCSID(0, "$NetBSD$"); +#else +__RCSID("$NetBSD$"); +#endif + +#include + +#ifndef _KERNEL +#include +#define BPFJIT_ASSERT(c) assert(c) +#else +#define BPFJIT_ASSERT(c) KASSERT(c) +#endif + +#ifndef _KERNEL +#include +#define BPFJIT_MALLOC(sz) malloc(sz) +#define BPFJIT_FREE(p) free(p) +#else +#include +#define BPFJIT_MALLOC(sz) kern_malloc(sz, M_WAITOK) +#define BPFJIT_FREE(p) kern_free(p) +#endif + +#ifndef _KERNEL +#include +#include +#include +#include +#else +#include +#include +#include +#include +#include +#endif + +#include +#include + +#include + +#if !defined(_KERNEL) && defined(SLJIT_VERBOSE) && SLJIT_VERBOSE +#include /* for stderr */ +#endif + + +#define BPFJIT_A SLJIT_TEMPORARY_REG1 +#define BPFJIT_X SLJIT_TEMPORARY_EREG1 +#define BPFJIT_TMP1 SLJIT_TEMPORARY_REG2 +#define BPFJIT_TMP2 SLJIT_TEMPORARY_REG3 +#define BPFJIT_BUF SLJIT_SAVED_REG1 +#define BPFJIT_WIRELEN SLJIT_SAVED_REG2 +#define BPFJIT_BUFLEN SLJIT_SAVED_REG3 +#define BPFJIT_KERN_TMP SLJIT_TEMPORARY_EREG2 + +/* + * Flags for bpfjit_optimization_hints(). + */ +#define BPFJIT_INIT_X 0x10000 +#define BPFJIT_INIT_A 0x20000 + + +/* + * Node of bj_jumps list. + */ +struct bpfjit_jump +{ + struct sljit_jump *bj_jump; + SLIST_ENTRY(bpfjit_jump) bj_entries; + uint32_t bj_safe_length; +}; + +/* + * Data for BPF_JMP instruction. + */ +struct bpfjit_jump_data +{ + /* + * These entries make up bj_jumps list: + * bj_jtf[0] - when coming from jt path, + * bj_jtf[1] - when coming from jf path. + */ + struct bpfjit_jump bj_jtf[2]; +}; + +/* + * Data for "read from packet" instructions. + * See also read_pkt_insn() function below. + */ +struct bpfjit_read_pkt_data +{ + /* + * If positive, emit "if (buflen < bj_check_length) return 0". + * We assume that buflen is never equal to UINT32_MAX (otherwise, + * we need a special bool variable to emit unconditional "return 0"). + */ + uint32_t bj_check_length; +}; + +/* + * Additional (optimization-related) data for bpf_insn. + */ +struct bpfjit_insn_data +{ + /* List of jumps to this insn. */ + SLIST_HEAD(, bpfjit_jump) bj_jumps; + + union { + struct bpfjit_jump_data bj_jdata; + struct bpfjit_read_pkt_data bj_rdata; + } bj_aux; + + bool bj_unreachable; +}; + +#ifdef _KERNEL + +uint32_t m_xword(const struct mbuf *, uint32_t, int *); +uint32_t m_xhalf(const struct mbuf *, uint32_t, int *); +uint32_t m_xbyte(const struct mbuf *, uint32_t, int *); + +MODULE(MODULE_CLASS_MISC, bpfjit, "sljit") + +static int +bpfjit_modcmd(modcmd_t cmd, void *arg) +{ + + switch (cmd) { + case MODULE_CMD_INIT: + bpfjit_module_ops.bj_free_code = &bpfjit_free_code; + membar_producer(); + bpfjit_module_ops.bj_generate_code = &bpfjit_generate_code; + membar_producer(); + return 0; + + case MODULE_CMD_FINI: + return EOPNOTSUPP; + + default: + return ENOTTY; + } +} +#endif + +static uint32_t +read_width(struct bpf_insn *pc) +{ + + switch (BPF_SIZE(pc->code)) { + case BPF_W: + return 4; + case BPF_H: + return 2; + case BPF_B: + return 1; + default: + BPFJIT_ASSERT(false); + return 0; + } +} + +/* + * Get offset of M[k] on the stack. + */ +static size_t +mem_local_offset(uint32_t k, unsigned int minm) +{ + size_t moff = (k - minm) * sizeof(uint32_t); + +#ifdef _KERNEL + /* + * 4 bytes for the third argument of m_xword/m_xhalf/m_xbyte. + */ + return sizeof(uint32_t) + moff; +#else + return moff; +#endif +} + +/* + * Generate code for BPF_LD+BPF_B+BPF_ABS A <- P[k:1]. + */ +static int +emit_read8(struct sljit_compiler* compiler, uint32_t k) +{ + + return sljit_emit_op1(compiler, + SLJIT_MOV_UB, + BPFJIT_A, 0, + SLJIT_MEM1(BPFJIT_BUF), k); +} + +/* + * Generate code for BPF_LD+BPF_H+BPF_ABS A <- P[k:2]. + */ +static int +emit_read16(struct sljit_compiler* compiler, uint32_t k) +{ + int status; + + /* tmp1 = buf[k]; */ + status = sljit_emit_op1(compiler, + SLJIT_MOV_UB, + BPFJIT_TMP1, 0, + SLJIT_MEM1(BPFJIT_BUF), k); + if (status != SLJIT_SUCCESS) + return status; + + /* A = buf[k+1]; */ + status = sljit_emit_op1(compiler, + SLJIT_MOV_UB, + BPFJIT_A, 0, + SLJIT_MEM1(BPFJIT_BUF), k+1); + if (status != SLJIT_SUCCESS) + return status; + + /* tmp1 = tmp1 << 8; */ + status = sljit_emit_op2(compiler, + SLJIT_SHL, + BPFJIT_TMP1, 0, + BPFJIT_TMP1, 0, + SLJIT_IMM, 8); + if (status != SLJIT_SUCCESS) + return status; + + /* A = A + tmp1; */ + status = sljit_emit_op2(compiler, + SLJIT_ADD, + BPFJIT_A, 0, + BPFJIT_A, 0, + BPFJIT_TMP1, 0); + return status; +} + +/* + * Generate code for BPF_LD+BPF_W+BPF_ABS A <- P[k:4]. + */ +static int +emit_read32(struct sljit_compiler* compiler, uint32_t k) +{ + int status; + + /* tmp1 = buf[k]; */ + status = sljit_emit_op1(compiler, + SLJIT_MOV_UB, + BPFJIT_TMP1, 0, + SLJIT_MEM1(BPFJIT_BUF), k); + if (status != SLJIT_SUCCESS) + return status; + + /* tmp2 = buf[k+1]; */ + status = sljit_emit_op1(compiler, + SLJIT_MOV_UB, + BPFJIT_TMP2, 0, + SLJIT_MEM1(BPFJIT_BUF), k+1); + if (status != SLJIT_SUCCESS) + return status; + + /* A = buf[k+3]; */ + status = sljit_emit_op1(compiler, + SLJIT_MOV_UB, + BPFJIT_A, 0, + SLJIT_MEM1(BPFJIT_BUF), k+3); + if (status != SLJIT_SUCCESS) + return status; + + /* tmp1 = tmp1 << 24; */ + status = sljit_emit_op2(compiler, + SLJIT_SHL, + BPFJIT_TMP1, 0, + BPFJIT_TMP1, 0, + SLJIT_IMM, 24); + if (status != SLJIT_SUCCESS) + return status; + + /* A = A + tmp1; */ + status = sljit_emit_op2(compiler, + SLJIT_ADD, + BPFJIT_A, 0, + BPFJIT_A, 0, + BPFJIT_TMP1, 0); + if (status != SLJIT_SUCCESS) + return status; + + /* tmp1 = buf[k+2]; */ + status = sljit_emit_op1(compiler, + SLJIT_MOV_UB, + BPFJIT_TMP1, 0, + SLJIT_MEM1(BPFJIT_BUF), k+2); + if (status != SLJIT_SUCCESS) + return status; + + /* tmp2 = tmp2 << 16; */ + status = sljit_emit_op2(compiler, + SLJIT_SHL, + BPFJIT_TMP2, 0, + BPFJIT_TMP2, 0, + SLJIT_IMM, 16); + if (status != SLJIT_SUCCESS) + return status; + + /* A = A + tmp2; */ + status = sljit_emit_op2(compiler, + SLJIT_ADD, + BPFJIT_A, 0, + BPFJIT_A, 0, + BPFJIT_TMP2, 0); + if (status != SLJIT_SUCCESS) + return status; + + /* tmp1 = tmp1 << 8; */ + status = sljit_emit_op2(compiler, + SLJIT_SHL, + BPFJIT_TMP1, 0, + BPFJIT_TMP1, 0, + SLJIT_IMM, 8); + if (status != SLJIT_SUCCESS) + return status; + + /* A = A + tmp1; */ + status = sljit_emit_op2(compiler, + SLJIT_ADD, + BPFJIT_A, 0, + BPFJIT_A, 0, + BPFJIT_TMP1, 0); + return status; +} + +#ifdef _KERNEL +/* + * Generate m_xword/m_xhalf/m_xbyte call. + * + * pc is one of: + * BPF_LD+BPF_W+BPF_ABS A <- P[k:4] + * BPF_LD+BPF_H+BPF_ABS A <- P[k:2] + * BPF_LD+BPF_B+BPF_ABS A <- P[k:1] + * BPF_LD+BPF_W+BPF_IND A <- P[X+k:4] + * BPF_LD+BPF_H+BPF_IND A <- P[X+k:2] + * BPF_LD+BPF_B+BPF_IND A <- P[X+k:1] + * BPF_LDX+BPF_B+BPF_MSH X <- 4*(P[k:1]&0xf) + * + * dst must be BPFJIT_A for BPF_LD instructions and BPFJIT_X + * or any of BPFJIT_TMP* registrers for BPF_MSH instruction. + */ +static int +emit_xcall(struct sljit_compiler* compiler, struct bpf_insn *pc, + int dst, sljit_w dstw, struct sljit_jump **ret0_jump, + uint32_t (*fn)(const struct mbuf *, uint32_t, int *)) +{ +#if BPFJIT_X != SLJIT_TEMPORARY_EREG1 || \ + BPFJIT_X == SLJIT_RETURN_REG +#error "Not supported assignment of registers." +#endif + int status; + + /* + * The third argument of fn is an address on stack. + */ + const int arg3_offset = 0; + + if (BPF_CLASS(pc->code) == BPF_LDX) { + /* save A */ + status = sljit_emit_op1(compiler, + SLJIT_MOV, + BPFJIT_KERN_TMP, 0, + BPFJIT_A, 0); + if (status != SLJIT_SUCCESS) + return status; + } + + /* + * Prepare registers for fn(buf, k, &err) call. + */ + status = sljit_emit_op1(compiler, + SLJIT_MOV, + SLJIT_TEMPORARY_REG1, 0, + BPFJIT_BUF, 0); + if (status != SLJIT_SUCCESS) + return status; + + if (BPF_CLASS(pc->code) == BPF_LD && BPF_MODE(pc->code) == BPF_IND) { + status = sljit_emit_op2(compiler, + SLJIT_ADD, + SLJIT_TEMPORARY_REG2, 0, + BPFJIT_X, 0, + SLJIT_IMM, (uint32_t)pc->k); + } else { + status = sljit_emit_op1(compiler, + SLJIT_MOV, + SLJIT_TEMPORARY_REG2, 0, + SLJIT_IMM, (uint32_t)pc->k); + } + + if (status != SLJIT_SUCCESS) + return status; + + status = sljit_get_local_base(compiler, + SLJIT_TEMPORARY_REG3, 0, arg3_offset); + if (status != SLJIT_SUCCESS) + return status; + + /* fn(buf, k, &err); */ + status = sljit_emit_ijump(compiler, + SLJIT_CALL3, + SLJIT_IMM, SLJIT_FUNC_OFFSET(fn)); + + if (BPF_CLASS(pc->code) == BPF_LDX) { + + /* move return value to dst */ + BPFJIT_ASSERT(dst != SLJIT_RETURN_REG); + status = sljit_emit_op1(compiler, + SLJIT_MOV, + dst, dstw, + SLJIT_RETURN_REG, 0); + if (status != SLJIT_SUCCESS) + return status; + + /* restore A */ + status = sljit_emit_op1(compiler, + SLJIT_MOV, + BPFJIT_A, 0, + BPFJIT_KERN_TMP, 0); + if (status != SLJIT_SUCCESS) + return status; + + } else if (dst != SLJIT_RETURN_REG) { + status = sljit_emit_op1(compiler, + SLJIT_MOV, + dst, dstw, + SLJIT_RETURN_REG, 0); + if (status != SLJIT_SUCCESS) + return status; + } + + /* tmp3 = *err; */ + status = sljit_emit_op1(compiler, + SLJIT_MOV_UI, + SLJIT_TEMPORARY_REG3, 0, + SLJIT_MEM1(SLJIT_LOCALS_REG), arg3_offset); + if (status != SLJIT_SUCCESS) + return status; + + /* if (tmp3 != 0) return 0; */ + *ret0_jump = sljit_emit_cmp(compiler, + SLJIT_C_NOT_EQUAL, + SLJIT_TEMPORARY_REG3, 0, + SLJIT_IMM, 0); + if (*ret0_jump == NULL) + return SLJIT_ERR_ALLOC_FAILED; + + return status; +} +#endif + +/* + * Generate code for + * BPF_LD+BPF_W+BPF_ABS A <- P[k:4] + * BPF_LD+BPF_H+BPF_ABS A <- P[k:2] + * BPF_LD+BPF_B+BPF_ABS A <- P[k:1] + * BPF_LD+BPF_W+BPF_IND A <- P[X+k:4] + * BPF_LD+BPF_H+BPF_IND A <- P[X+k:2] + * BPF_LD+BPF_B+BPF_IND A <- P[X+k:1] + */ +static int +emit_pkt_read(struct sljit_compiler* compiler, + struct bpf_insn *pc, struct sljit_jump *to_mchain_jump, + struct sljit_jump **ret0, size_t *ret0_size) +{ + int status; + uint32_t width; + struct sljit_jump *jump; +#ifdef _KERNEL + struct sljit_label *label; + struct sljit_jump *over_mchain_jump; + const bool check_zero_buflen = (to_mchain_jump != NULL); +#endif + const uint32_t k = pc->k; + +#ifdef _KERNEL + if (to_mchain_jump == NULL) { + to_mchain_jump = sljit_emit_cmp(compiler, + SLJIT_C_EQUAL, + BPFJIT_BUFLEN, 0, + SLJIT_IMM, 0); + if (to_mchain_jump == NULL) + return SLJIT_ERR_ALLOC_FAILED; + } +#endif + + width = read_width(pc); + + if (BPF_MODE(pc->code) == BPF_IND) { + /* tmp1 = buflen - (pc->k + width); */ + status = sljit_emit_op2(compiler, + SLJIT_SUB, + BPFJIT_TMP1, 0, + BPFJIT_BUFLEN, 0, + SLJIT_IMM, k + width); + if (status != SLJIT_SUCCESS) + return status; + + /* buf += X; */ + status = sljit_emit_op2(compiler, + SLJIT_ADD, + BPFJIT_BUF, 0, + BPFJIT_BUF, 0, + BPFJIT_X, 0); + if (status != SLJIT_SUCCESS) + return status; + + /* if (tmp1 < X) return 0; */ + jump = sljit_emit_cmp(compiler, + SLJIT_C_LESS, + BPFJIT_TMP1, 0, + BPFJIT_X, 0); + if (jump == NULL) + return SLJIT_ERR_ALLOC_FAILED; + ret0[(*ret0_size)++] = jump; + } + + switch (width) { + case 4: + status = emit_read32(compiler, k); + break; + case 2: + status = emit_read16(compiler, k); + break; + case 1: + status = emit_read8(compiler, k); + break; + } + + if (status != SLJIT_SUCCESS) + return status; + + if (BPF_MODE(pc->code) == BPF_IND) { + /* buf -= X; */ + status = sljit_emit_op2(compiler, + SLJIT_SUB, + BPFJIT_BUF, 0, + BPFJIT_BUF, 0, + BPFJIT_X, 0); + if (status != SLJIT_SUCCESS) + return status; + } + +#ifdef _KERNEL + over_mchain_jump = sljit_emit_jump(compiler, SLJIT_JUMP); + if (over_mchain_jump == NULL) + return SLJIT_ERR_ALLOC_FAILED; + + /* entry point to mchain handler */ + label = sljit_emit_label(compiler); + if (label == NULL) + return SLJIT_ERR_ALLOC_FAILED; + sljit_set_label(to_mchain_jump, label); + + if (check_zero_buflen) { + /* if (buflen != 0) return 0; */ + jump = sljit_emit_cmp(compiler, + SLJIT_C_NOT_EQUAL, + BPFJIT_BUFLEN, 0, + SLJIT_IMM, 0); + if (jump == NULL) + return SLJIT_ERR_ALLOC_FAILED; + ret0[(*ret0_size)++] = jump; + } + + switch (width) { + case 4: + status = emit_xcall(compiler, pc, BPFJIT_A, 0, &jump, &m_xword); + break; + case 2: + status = emit_xcall(compiler, pc, BPFJIT_A, 0, &jump, &m_xhalf); + break; + case 1: + status = emit_xcall(compiler, pc, BPFJIT_A, 0, &jump, &m_xbyte); + break; + } + + if (status != SLJIT_SUCCESS) + return status; + + ret0[(*ret0_size)++] = jump; + + label = sljit_emit_label(compiler); + if (label == NULL) + return SLJIT_ERR_ALLOC_FAILED; + sljit_set_label(over_mchain_jump, label); +#endif + + return status; +} + +/* + * Generate code for BPF_LDX+BPF_B+BPF_MSH X <- 4*(P[k:1]&0xf). + */ +static int +emit_msh(struct sljit_compiler* compiler, + struct bpf_insn *pc, struct sljit_jump *to_mchain_jump, + struct sljit_jump **ret0, size_t *ret0_size) +{ + int status; +#ifdef _KERNEL + struct sljit_label *label; + struct sljit_jump *jump, *over_mchain_jump; + const bool check_zero_buflen = (to_mchain_jump != NULL); +#endif + const uint32_t k = pc->k; + +#ifdef _KERNEL + if (to_mchain_jump == NULL) { + to_mchain_jump = sljit_emit_cmp(compiler, + SLJIT_C_EQUAL, + BPFJIT_BUFLEN, 0, + SLJIT_IMM, 0); + if (to_mchain_jump == NULL) + return SLJIT_ERR_ALLOC_FAILED; + } +#endif + + /* tmp1 = buf[k] */ + status = sljit_emit_op1(compiler, + SLJIT_MOV_UB, + BPFJIT_TMP1, 0, + SLJIT_MEM1(BPFJIT_BUF), k); + if (status != SLJIT_SUCCESS) + return status; + + /* tmp1 &= 0xf */ + status = sljit_emit_op2(compiler, + SLJIT_AND, + BPFJIT_TMP1, 0, + BPFJIT_TMP1, 0, + SLJIT_IMM, 0xf); + if (status != SLJIT_SUCCESS) + return status; + + /* tmp1 = tmp1 << 2 */ + status = sljit_emit_op2(compiler, + SLJIT_SHL, + BPFJIT_X, 0, + BPFJIT_TMP1, 0, + SLJIT_IMM, 2); + if (status != SLJIT_SUCCESS) + return status; + +#ifdef _KERNEL + over_mchain_jump = sljit_emit_jump(compiler, SLJIT_JUMP); + if (over_mchain_jump == NULL) + return SLJIT_ERR_ALLOC_FAILED; + + /* entry point to mchain handler */ + label = sljit_emit_label(compiler); + if (label == NULL) + return SLJIT_ERR_ALLOC_FAILED; + sljit_set_label(to_mchain_jump, label); + + if (check_zero_buflen) { + /* if (buflen != 0) return 0; */ + jump = sljit_emit_cmp(compiler, + SLJIT_C_NOT_EQUAL, + BPFJIT_BUFLEN, 0, + SLJIT_IMM, 0); + if (jump == NULL) + return SLJIT_ERR_ALLOC_FAILED; + ret0[(*ret0_size)++] = jump; + } + + status = emit_xcall(compiler, pc, BPFJIT_TMP1, 0, &jump, &m_xbyte); + if (status != SLJIT_SUCCESS) + return status; + ret0[(*ret0_size)++] = jump; + + /* tmp1 &= 0xf */ + status = sljit_emit_op2(compiler, + SLJIT_AND, + BPFJIT_TMP1, 0, + BPFJIT_TMP1, 0, + SLJIT_IMM, 0xf); + if (status != SLJIT_SUCCESS) + return status; + + /* tmp1 = tmp1 << 2 */ + status = sljit_emit_op2(compiler, + SLJIT_SHL, + BPFJIT_X, 0, + BPFJIT_TMP1, 0, + SLJIT_IMM, 2); + if (status != SLJIT_SUCCESS) + return status; + + + label = sljit_emit_label(compiler); + if (label == NULL) + return SLJIT_ERR_ALLOC_FAILED; + sljit_set_label(over_mchain_jump, label); +#endif + + return status; +} + +static int +emit_pow2_division(struct sljit_compiler* compiler, uint32_t k) +{ + int shift = 0; + int status = SLJIT_SUCCESS; + + while (k > 1) { + k >>= 1; + shift++; + } + + BPFJIT_ASSERT(k == 1 && shift < 32); + + if (shift != 0) { + status = sljit_emit_op2(compiler, + SLJIT_LSHR|SLJIT_INT_OP, + BPFJIT_A, 0, + BPFJIT_A, 0, + SLJIT_IMM, shift); + } + + return status; +} + +#if !defined(BPFJIT_USE_UDIV) +static sljit_uw +divide(sljit_uw x, sljit_uw y) +{ + + return (uint32_t)x / (uint32_t)y; +} +#endif + +/* + * Generate A = A / div. + * divt,divw are either SLJIT_IMM,pc->k or BPFJIT_X,0. + */ +static int +emit_division(struct sljit_compiler* compiler, int divt, sljit_w divw) +{ + int status; + +#if BPFJIT_X == SLJIT_TEMPORARY_REG1 || \ + BPFJIT_X == SLJIT_RETURN_REG || \ + BPFJIT_X == SLJIT_TEMPORARY_REG2 || \ + BPFJIT_A == SLJIT_TEMPORARY_REG2 +#error "Not supported assignment of registers." +#endif + +#if BPFJIT_A != SLJIT_TEMPORARY_REG1 + status = sljit_emit_op1(compiler, + SLJIT_MOV, + SLJIT_TEMPORARY_REG1, 0, + BPFJIT_A, 0); + if (status != SLJIT_SUCCESS) + return status; +#endif + + status = sljit_emit_op1(compiler, + SLJIT_MOV, + SLJIT_TEMPORARY_REG2, 0, + divt, divw); + if (status != SLJIT_SUCCESS) + return status; + +#if defined(BPFJIT_USE_UDIV) + status = sljit_emit_op0(compiler, SLJIT_UDIV|SLJIT_INT_OP); + +#if BPFJIT_A != SLJIT_TEMPORARY_REG1 + status = sljit_emit_op1(compiler, + SLJIT_MOV, + BPFJIT_A, 0, + SLJIT_TEMPORARY_REG1, 0); + if (status != SLJIT_SUCCESS) + return status; +#endif +#else + status = sljit_emit_ijump(compiler, + SLJIT_CALL2, + SLJIT_IMM, SLJIT_FUNC_OFFSET(divide)); + +#if BPFJIT_A != SLJIT_RETURN_REG + status = sljit_emit_op1(compiler, + SLJIT_MOV, + BPFJIT_A, 0, + SLJIT_RETURN_REG, 0); + if (status != SLJIT_SUCCESS) + return status; +#endif +#endif + + return status; +} + +/* + * Count BPF_RET instructions. + */ +static size_t +count_returns(struct bpf_insn *insns, size_t insn_count) +{ + size_t i; + size_t rv; + + rv = 0; + for (i = 0; i < insn_count; i++) { + if (BPF_CLASS(insns[i].code) == BPF_RET) + rv++; + } + + return rv; +} + +/* + * Return true if pc is a "read from packet" instruction. + * If length is not NULL and return value is true, *length will + * be set to a safe length required to read a packet. + */ +static bool +read_pkt_insn(struct bpf_insn *pc, uint32_t *length) +{ + bool rv; + uint32_t width; + + switch (BPF_CLASS(pc->code)) { + default: + rv = false; + break; + + case BPF_LD: + rv = BPF_MODE(pc->code) == BPF_ABS || + BPF_MODE(pc->code) == BPF_IND; + if (rv) + width = read_width(pc); + break; + + case BPF_LDX: + rv = pc->code == (BPF_LDX|BPF_B|BPF_MSH); + width = 1; + break; + } + + if (rv && length != NULL) { + *length = (pc->k > UINT32_MAX - width) ? + UINT32_MAX : pc->k + width; + } + + return rv; +} + +/* + * Set bj_check_length for all "read from packet" instructions + * in a linear block of instructions [from, to). + */ +static void +set_check_length(struct bpf_insn *insns, struct bpfjit_insn_data *insn_dat, + size_t from, size_t to, uint32_t length) +{ + + for (; from < to; from++) { + if (read_pkt_insn(&insns[from], NULL)) { + insn_dat[from].bj_aux.bj_rdata.bj_check_length = length; + length = 0; + } + } +} + +/* + * The function divides instructions into blocks. Destination of a jump + * instruction starts a new block. BPF_RET and BPF_JMP instructions + * terminate a block. Blocks are linear, that is, there are no jumps out + * from the middle of a block and there are no jumps in to the middle of + * a block. + * If a block has one or more "read from packet" instructions, + * bj_check_length will be set to one value for the whole block and that + * value will be equal to the greatest value of safe lengths of "read from + * packet" instructions inside the block. + */ +static int +optimize(struct bpf_insn *insns, + struct bpfjit_insn_data *insn_dat, size_t insn_count) +{ + size_t i; + size_t first_read; + bool unreachable; + uint32_t jt, jf; + uint32_t length, safe_length; + struct bpfjit_jump *jmp, *jtf; + + for (i = 0; i < insn_count; i++) + SLIST_INIT(&insn_dat[i].bj_jumps); + + safe_length = 0; + unreachable = false; + first_read = SIZE_MAX; + + for (i = 0; i < insn_count; i++) { + + if (!SLIST_EMPTY(&insn_dat[i].bj_jumps)) { + unreachable = false; + + set_check_length(insns, insn_dat, + first_read, i, safe_length); + first_read = SIZE_MAX; + + safe_length = UINT32_MAX; + SLIST_FOREACH(jmp, &insn_dat[i].bj_jumps, bj_entries) { + if (jmp->bj_safe_length < safe_length) + safe_length = jmp->bj_safe_length; + } + } + + insn_dat[i].bj_unreachable = unreachable; + if (unreachable) + continue; + + if (read_pkt_insn(&insns[i], &length)) { + if (first_read == SIZE_MAX) + first_read = i; + if (length > safe_length) + safe_length = length; + } + + switch (BPF_CLASS(insns[i].code)) { + case BPF_RET: + unreachable = true; + continue; + + case BPF_JMP: + if (insns[i].code == (BPF_JMP|BPF_JA)) { + jt = jf = insns[i].k; + } else { + jt = insns[i].jt; + jf = insns[i].jf; + } + + if (jt >= insn_count - (i + 1) || + jf >= insn_count - (i + 1)) { + return -1; + } + + if (jt > 0 && jf > 0) + unreachable = true; + + jtf = insn_dat[i].bj_aux.bj_jdata.bj_jtf; + + jtf[0].bj_jump = NULL; + jtf[0].bj_safe_length = safe_length; + SLIST_INSERT_HEAD(&insn_dat[i + 1 + jt].bj_jumps, + &jtf[0], bj_entries); + + if (jf != jt) { + jtf[1].bj_jump = NULL; + jtf[1].bj_safe_length = safe_length; + SLIST_INSERT_HEAD(&insn_dat[i + 1 + jf].bj_jumps, + &jtf[1], bj_entries); + } + + continue; + } + } + + set_check_length(insns, insn_dat, first_read, insn_count, safe_length); + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 23:37:52 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 CC51DECC; Wed, 5 Dec 2012 23:37:52 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 97AF68FC12; Wed, 5 Dec 2012 23:37:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB5NbqDa008320; Wed, 5 Dec 2012 23:37:52 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB5Nbq28008319; Wed, 5 Dec 2012 23:37:52 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212052337.qB5Nbq28008319@svn.freebsd.org> From: Jung-uk Kim Date: Wed, 5 Dec 2012 23:37:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243917 - projects/bpfjit/sys/contrib/sljit 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, 05 Dec 2012 23:37:52 -0000 Author: jkim Date: Wed Dec 5 23:37:52 2012 New Revision: 243917 URL: http://svnweb.freebsd.org/changeset/base/243917 Log: Make it buildable for FreeBSD kernel. Modified: projects/bpfjit/sys/contrib/sljit/sljitConfig.h (contents, props changed) Modified: projects/bpfjit/sys/contrib/sljit/sljitConfig.h ============================================================================== --- projects/bpfjit/sys/contrib/sljit/sljitConfig.h Wed Dec 5 23:32:34 2012 (r243916) +++ projects/bpfjit/sys/contrib/sljit/sljitConfig.h Wed Dec 5 23:37:52 2012 (r243917) @@ -22,6 +22,8 @@ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ */ #ifndef _SLJIT_CONFIG_H_ @@ -34,6 +36,27 @@ /* Put your custom defines here. This empty section will never change which helps maintaining patches (with diff / patch utilities). */ +#ifdef _KERNEL +#include +#include + +#define SLJIT_CALL +#define SLJIT_CONFIG_AUTO 1 +#define SLJIT_DEBUG 0 +#define SLJIT_EXECUTABLE_ALLOCATOR 0 +#define SLJIT_STD_MACROS_DEFINED 1 +#define SLJIT_SINGLE_THREADED 1 +#define SLJIT_UTIL_STACK 0 +#define SLJIT_VERBOSE 0 + +#define SLJIT_FREE(ptr) free(ptr, M_TEMP) +#define SLJIT_FREE_EXEC(ptr) free(ptr, M_TEMP) +#define SLJIT_MALLOC(size) malloc(size, M_TEMP, M_NOWAIT) +#define SLJIT_MALLOC_EXEC(size) malloc(size, M_TEMP, M_NOWAIT) +#define SLJIT_MEMMOVE(dest, src, len) bcopy(src, dest, len) +#define SLJIT_ZEROMEM(dest, len) bzero(dest, len) +#endif + /* --------------------------------------------------------------------- */ /* Architecture */ /* --------------------------------------------------------------------- */ From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 23:44:26 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 0635F1F0; Wed, 5 Dec 2012 23:44:26 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id DF76D8FC08; Wed, 5 Dec 2012 23:44:25 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB5NiPeh011012; Wed, 5 Dec 2012 23:44:25 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB5NiPn1011008; Wed, 5 Dec 2012 23:44:25 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212052344.qB5NiPn1011008@svn.freebsd.org> From: Jung-uk Kim Date: Wed, 5 Dec 2012 23:44:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243918 - projects/bpfjit/sys/net 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, 05 Dec 2012 23:44:26 -0000 Author: jkim Date: Wed Dec 5 23:44:25 2012 New Revision: 243918 URL: http://svnweb.freebsd.org/changeset/base/243918 Log: FreeBSDify bpfjit and fix style(9) bugs. Modified: projects/bpfjit/sys/net/bpfjit.c (contents, props changed) projects/bpfjit/sys/net/bpfjit.h (contents, props changed) Modified: projects/bpfjit/sys/net/bpfjit.c ============================================================================== --- projects/bpfjit/sys/net/bpfjit.c Wed Dec 5 23:37:52 2012 (r243917) +++ projects/bpfjit/sys/net/bpfjit.c Wed Dec 5 23:44:25 2012 (r243918) @@ -28,68 +28,72 @@ */ #include +__FBSDID("$FreeBSD$"); + #ifdef _KERNEL -__KERNEL_RCSID(0, "$NetBSD$"); -#else -__RCSID("$NetBSD$"); -#endif +#include +#include +#include +#include +#include +#include +#include #include -#ifndef _KERNEL -#include -#define BPFJIT_ASSERT(c) assert(c) -#else -#define BPFJIT_ASSERT(c) KASSERT(c) +#if defined(SLJIT_CONFIG_UNSUPPORTED) && (SLJIT_CONFIG_UNSUPPORTED != 0) +#error "sljit does not support this platform" #endif -#ifndef _KERNEL -#include -#define BPFJIT_MALLOC(sz) malloc(sz) -#define BPFJIT_FREE(p) free(p) +static MALLOC_DEFINE(M_BPFJIT, "BPFJIT", "BPF JIT compiler"); + +#define BPFJIT_ASSERT(c) KASSERT(c, ("%s: %d", __func__, __LINE__)) +#define BPFJIT_FREE(p) free(p, M_BPFJIT) +#define BPFJIT_MALLOC(sz) malloc(sz, M_BPFJIT, M_NOWAIT) + +uint32_t m_xword(const struct mbuf *, uint32_t, int *); +uint32_t m_xhalf(const struct mbuf *, uint32_t, int *); +uint32_t m_xbyte(const struct mbuf *, uint32_t, int *); + +int bpfjit_disable = 0; +SYSCTL_NODE(_net, OID_AUTO, bpfjit, CTLFLAG_RW, 0, "BPF just-in-time compiler"); +SYSCTL_INT(_net_bpfjit, OID_AUTO, disable, CTLFLAG_RW, &bpfjit_disable, 0, + "disable BPF just-in-time compiler"); + #else -#include -#define BPFJIT_MALLOC(sz) kern_malloc(sz, M_WAITOK) -#define BPFJIT_FREE(p) kern_free(p) -#endif -#ifndef _KERNEL +#include #include #include #include #include -#else -#include -#include -#include -#include -#include -#endif - -#include -#include +#include +#include -#include +#include "sljitLir.h" +#include "bpfjit.h" -#if !defined(_KERNEL) && defined(SLJIT_VERBOSE) && SLJIT_VERBOSE -#include /* for stderr */ +#define BPFJIT_ASSERT(c) assert(c) +#define BPFJIT_MALLOC(sz) malloc(sz) +#define BPFJIT_FREE(p) free(p) #endif +#include -#define BPFJIT_A SLJIT_TEMPORARY_REG1 -#define BPFJIT_X SLJIT_TEMPORARY_EREG1 -#define BPFJIT_TMP1 SLJIT_TEMPORARY_REG2 -#define BPFJIT_TMP2 SLJIT_TEMPORARY_REG3 -#define BPFJIT_BUF SLJIT_SAVED_REG1 -#define BPFJIT_WIRELEN SLJIT_SAVED_REG2 -#define BPFJIT_BUFLEN SLJIT_SAVED_REG3 -#define BPFJIT_KERN_TMP SLJIT_TEMPORARY_EREG2 +#define BPFJIT_A SLJIT_SCRATCH_REG1 +#define BPFJIT_X SLJIT_TEMPORARY_EREG1 +#define BPFJIT_TMP1 SLJIT_SCRATCH_REG2 +#define BPFJIT_TMP2 SLJIT_SCRATCH_REG3 +#define BPFJIT_BUF SLJIT_SAVED_REG1 +#define BPFJIT_WIRELEN SLJIT_SAVED_REG2 +#define BPFJIT_BUFLEN SLJIT_SAVED_REG3 +#define BPFJIT_KERN_TMP SLJIT_TEMPORARY_EREG2 -/* +/* * Flags for bpfjit_optimization_hints(). */ -#define BPFJIT_INIT_X 0x10000 -#define BPFJIT_INIT_A 0x20000 +#define BPFJIT_INIT_X 0x10000 +#define BPFJIT_INIT_A 0x20000 /* @@ -122,9 +126,9 @@ struct bpfjit_jump_data struct bpfjit_read_pkt_data { /* - * If positive, emit "if (buflen < bj_check_length) return 0". + * If positive, emit "if (buflen < bj_check_length) return (0)". * We assume that buflen is never equal to UINT32_MAX (otherwise, - * we need a special bool variable to emit unconditional "return 0"). + * we need a special bool variable to emit unconditional "return (0)"). */ uint32_t bj_check_length; }; @@ -138,56 +142,27 @@ struct bpfjit_insn_data SLIST_HEAD(, bpfjit_jump) bj_jumps; union { - struct bpfjit_jump_data bj_jdata; + struct bpfjit_jump_data bj_jdata; struct bpfjit_read_pkt_data bj_rdata; } bj_aux; bool bj_unreachable; }; -#ifdef _KERNEL - -uint32_t m_xword(const struct mbuf *, uint32_t, int *); -uint32_t m_xhalf(const struct mbuf *, uint32_t, int *); -uint32_t m_xbyte(const struct mbuf *, uint32_t, int *); - -MODULE(MODULE_CLASS_MISC, bpfjit, "sljit") - -static int -bpfjit_modcmd(modcmd_t cmd, void *arg) -{ - - switch (cmd) { - case MODULE_CMD_INIT: - bpfjit_module_ops.bj_free_code = &bpfjit_free_code; - membar_producer(); - bpfjit_module_ops.bj_generate_code = &bpfjit_generate_code; - membar_producer(); - return 0; - - case MODULE_CMD_FINI: - return EOPNOTSUPP; - - default: - return ENOTTY; - } -} -#endif - static uint32_t read_width(struct bpf_insn *pc) { switch (BPF_SIZE(pc->code)) { case BPF_W: - return 4; + return (4); case BPF_H: - return 2; + return (2); case BPF_B: - return 1; + return (1); default: BPFJIT_ASSERT(false); - return 0; + return (0); } } @@ -203,9 +178,9 @@ mem_local_offset(uint32_t k, unsigned in /* * 4 bytes for the third argument of m_xword/m_xhalf/m_xbyte. */ - return sizeof(uint32_t) + moff; + return (sizeof(uint32_t) + moff); #else - return moff; + return (moff); #endif } @@ -216,10 +191,10 @@ static int emit_read8(struct sljit_compiler* compiler, uint32_t k) { - return sljit_emit_op1(compiler, + return (sljit_emit_op1(compiler, SLJIT_MOV_UB, BPFJIT_A, 0, - SLJIT_MEM1(BPFJIT_BUF), k); + SLJIT_MEM1(BPFJIT_BUF), k)); } /* @@ -236,7 +211,7 @@ emit_read16(struct sljit_compiler* compi BPFJIT_TMP1, 0, SLJIT_MEM1(BPFJIT_BUF), k); if (status != SLJIT_SUCCESS) - return status; + return (status); /* A = buf[k+1]; */ status = sljit_emit_op1(compiler, @@ -244,7 +219,7 @@ emit_read16(struct sljit_compiler* compi BPFJIT_A, 0, SLJIT_MEM1(BPFJIT_BUF), k+1); if (status != SLJIT_SUCCESS) - return status; + return (status); /* tmp1 = tmp1 << 8; */ status = sljit_emit_op2(compiler, @@ -253,7 +228,7 @@ emit_read16(struct sljit_compiler* compi BPFJIT_TMP1, 0, SLJIT_IMM, 8); if (status != SLJIT_SUCCESS) - return status; + return (status); /* A = A + tmp1; */ status = sljit_emit_op2(compiler, @@ -261,7 +236,7 @@ emit_read16(struct sljit_compiler* compi BPFJIT_A, 0, BPFJIT_A, 0, BPFJIT_TMP1, 0); - return status; + return (status); } /* @@ -278,7 +253,7 @@ emit_read32(struct sljit_compiler* compi BPFJIT_TMP1, 0, SLJIT_MEM1(BPFJIT_BUF), k); if (status != SLJIT_SUCCESS) - return status; + return (status); /* tmp2 = buf[k+1]; */ status = sljit_emit_op1(compiler, @@ -286,7 +261,7 @@ emit_read32(struct sljit_compiler* compi BPFJIT_TMP2, 0, SLJIT_MEM1(BPFJIT_BUF), k+1); if (status != SLJIT_SUCCESS) - return status; + return (status); /* A = buf[k+3]; */ status = sljit_emit_op1(compiler, @@ -294,7 +269,7 @@ emit_read32(struct sljit_compiler* compi BPFJIT_A, 0, SLJIT_MEM1(BPFJIT_BUF), k+3); if (status != SLJIT_SUCCESS) - return status; + return (status); /* tmp1 = tmp1 << 24; */ status = sljit_emit_op2(compiler, @@ -303,7 +278,7 @@ emit_read32(struct sljit_compiler* compi BPFJIT_TMP1, 0, SLJIT_IMM, 24); if (status != SLJIT_SUCCESS) - return status; + return (status); /* A = A + tmp1; */ status = sljit_emit_op2(compiler, @@ -312,7 +287,7 @@ emit_read32(struct sljit_compiler* compi BPFJIT_A, 0, BPFJIT_TMP1, 0); if (status != SLJIT_SUCCESS) - return status; + return (status); /* tmp1 = buf[k+2]; */ status = sljit_emit_op1(compiler, @@ -320,7 +295,7 @@ emit_read32(struct sljit_compiler* compi BPFJIT_TMP1, 0, SLJIT_MEM1(BPFJIT_BUF), k+2); if (status != SLJIT_SUCCESS) - return status; + return (status); /* tmp2 = tmp2 << 16; */ status = sljit_emit_op2(compiler, @@ -329,7 +304,7 @@ emit_read32(struct sljit_compiler* compi BPFJIT_TMP2, 0, SLJIT_IMM, 16); if (status != SLJIT_SUCCESS) - return status; + return (status); /* A = A + tmp2; */ status = sljit_emit_op2(compiler, @@ -338,7 +313,7 @@ emit_read32(struct sljit_compiler* compi BPFJIT_A, 0, BPFJIT_TMP2, 0); if (status != SLJIT_SUCCESS) - return status; + return (status); /* tmp1 = tmp1 << 8; */ status = sljit_emit_op2(compiler, @@ -347,7 +322,7 @@ emit_read32(struct sljit_compiler* compi BPFJIT_TMP1, 0, SLJIT_IMM, 8); if (status != SLJIT_SUCCESS) - return status; + return (status); /* A = A + tmp1; */ status = sljit_emit_op2(compiler, @@ -355,7 +330,7 @@ emit_read32(struct sljit_compiler* compi BPFJIT_A, 0, BPFJIT_A, 0, BPFJIT_TMP1, 0); - return status; + return (status); } #ifdef _KERNEL @@ -376,7 +351,7 @@ emit_read32(struct sljit_compiler* compi */ static int emit_xcall(struct sljit_compiler* compiler, struct bpf_insn *pc, - int dst, sljit_w dstw, struct sljit_jump **ret0_jump, + int dst, sljit_sw dstw, struct sljit_jump **ret0_jump, uint32_t (*fn)(const struct mbuf *, uint32_t, int *)) { #if BPFJIT_X != SLJIT_TEMPORARY_EREG1 || \ @@ -397,7 +372,7 @@ emit_xcall(struct sljit_compiler* compil BPFJIT_KERN_TMP, 0, BPFJIT_A, 0); if (status != SLJIT_SUCCESS) - return status; + return (status); } /* @@ -405,31 +380,31 @@ emit_xcall(struct sljit_compiler* compil */ status = sljit_emit_op1(compiler, SLJIT_MOV, - SLJIT_TEMPORARY_REG1, 0, + SLJIT_SCRATCH_REG1, 0, BPFJIT_BUF, 0); if (status != SLJIT_SUCCESS) - return status; + return (status); if (BPF_CLASS(pc->code) == BPF_LD && BPF_MODE(pc->code) == BPF_IND) { status = sljit_emit_op2(compiler, SLJIT_ADD, - SLJIT_TEMPORARY_REG2, 0, + SLJIT_SCRATCH_REG2, 0, BPFJIT_X, 0, SLJIT_IMM, (uint32_t)pc->k); } else { status = sljit_emit_op1(compiler, SLJIT_MOV, - SLJIT_TEMPORARY_REG2, 0, + SLJIT_SCRATCH_REG2, 0, SLJIT_IMM, (uint32_t)pc->k); } if (status != SLJIT_SUCCESS) - return status; + return (status); status = sljit_get_local_base(compiler, - SLJIT_TEMPORARY_REG3, 0, arg3_offset); + SLJIT_SCRATCH_REG3, 0, arg3_offset); if (status != SLJIT_SUCCESS) - return status; + return (status); /* fn(buf, k, &err); */ status = sljit_emit_ijump(compiler, @@ -445,7 +420,7 @@ emit_xcall(struct sljit_compiler* compil dst, dstw, SLJIT_RETURN_REG, 0); if (status != SLJIT_SUCCESS) - return status; + return (status); /* restore A */ status = sljit_emit_op1(compiler, @@ -453,7 +428,7 @@ emit_xcall(struct sljit_compiler* compil BPFJIT_A, 0, BPFJIT_KERN_TMP, 0); if (status != SLJIT_SUCCESS) - return status; + return (status); } else if (dst != SLJIT_RETURN_REG) { status = sljit_emit_op1(compiler, @@ -461,26 +436,26 @@ emit_xcall(struct sljit_compiler* compil dst, dstw, SLJIT_RETURN_REG, 0); if (status != SLJIT_SUCCESS) - return status; + return (status); } /* tmp3 = *err; */ status = sljit_emit_op1(compiler, SLJIT_MOV_UI, - SLJIT_TEMPORARY_REG3, 0, + SLJIT_SCRATCH_REG3, 0, SLJIT_MEM1(SLJIT_LOCALS_REG), arg3_offset); if (status != SLJIT_SUCCESS) - return status; + return (status); - /* if (tmp3 != 0) return 0; */ + /* if (tmp3 != 0) return (0); */ *ret0_jump = sljit_emit_cmp(compiler, SLJIT_C_NOT_EQUAL, - SLJIT_TEMPORARY_REG3, 0, + SLJIT_SCRATCH_REG3, 0, SLJIT_IMM, 0); if (*ret0_jump == NULL) - return SLJIT_ERR_ALLOC_FAILED; + return (SLJIT_ERR_ALLOC_FAILED); - return status; + return (status); } #endif @@ -498,7 +473,7 @@ emit_pkt_read(struct sljit_compiler* com struct bpf_insn *pc, struct sljit_jump *to_mchain_jump, struct sljit_jump **ret0, size_t *ret0_size) { - int status; + int status = SLJIT_SUCCESS; uint32_t width; struct sljit_jump *jump; #ifdef _KERNEL @@ -515,7 +490,7 @@ emit_pkt_read(struct sljit_compiler* com BPFJIT_BUFLEN, 0, SLJIT_IMM, 0); if (to_mchain_jump == NULL) - return SLJIT_ERR_ALLOC_FAILED; + return (SLJIT_ERR_ALLOC_FAILED); } #endif @@ -529,7 +504,7 @@ emit_pkt_read(struct sljit_compiler* com BPFJIT_BUFLEN, 0, SLJIT_IMM, k + width); if (status != SLJIT_SUCCESS) - return status; + return (status); /* buf += X; */ status = sljit_emit_op2(compiler, @@ -538,15 +513,15 @@ emit_pkt_read(struct sljit_compiler* com BPFJIT_BUF, 0, BPFJIT_X, 0); if (status != SLJIT_SUCCESS) - return status; + return (status); - /* if (tmp1 < X) return 0; */ + /* if (tmp1 < X) return (0); */ jump = sljit_emit_cmp(compiler, SLJIT_C_LESS, BPFJIT_TMP1, 0, BPFJIT_X, 0); if (jump == NULL) - return SLJIT_ERR_ALLOC_FAILED; + return (SLJIT_ERR_ALLOC_FAILED); ret0[(*ret0_size)++] = jump; } @@ -563,7 +538,7 @@ emit_pkt_read(struct sljit_compiler* com } if (status != SLJIT_SUCCESS) - return status; + return (status); if (BPF_MODE(pc->code) == BPF_IND) { /* buf -= X; */ @@ -573,28 +548,28 @@ emit_pkt_read(struct sljit_compiler* com BPFJIT_BUF, 0, BPFJIT_X, 0); if (status != SLJIT_SUCCESS) - return status; + return (status); } #ifdef _KERNEL over_mchain_jump = sljit_emit_jump(compiler, SLJIT_JUMP); if (over_mchain_jump == NULL) - return SLJIT_ERR_ALLOC_FAILED; + return (SLJIT_ERR_ALLOC_FAILED); /* entry point to mchain handler */ label = sljit_emit_label(compiler); if (label == NULL) - return SLJIT_ERR_ALLOC_FAILED; + return (SLJIT_ERR_ALLOC_FAILED); sljit_set_label(to_mchain_jump, label); if (check_zero_buflen) { - /* if (buflen != 0) return 0; */ + /* if (buflen != 0) return (0); */ jump = sljit_emit_cmp(compiler, SLJIT_C_NOT_EQUAL, BPFJIT_BUFLEN, 0, SLJIT_IMM, 0); if (jump == NULL) - return SLJIT_ERR_ALLOC_FAILED; + return (SLJIT_ERR_ALLOC_FAILED); ret0[(*ret0_size)++] = jump; } @@ -611,17 +586,17 @@ emit_pkt_read(struct sljit_compiler* com } if (status != SLJIT_SUCCESS) - return status; + return (status); ret0[(*ret0_size)++] = jump; label = sljit_emit_label(compiler); if (label == NULL) - return SLJIT_ERR_ALLOC_FAILED; + return (SLJIT_ERR_ALLOC_FAILED); sljit_set_label(over_mchain_jump, label); #endif - return status; + return (status); } /* @@ -647,7 +622,7 @@ emit_msh(struct sljit_compiler* compiler BPFJIT_BUFLEN, 0, SLJIT_IMM, 0); if (to_mchain_jump == NULL) - return SLJIT_ERR_ALLOC_FAILED; + return (SLJIT_ERR_ALLOC_FAILED); } #endif @@ -657,7 +632,7 @@ emit_msh(struct sljit_compiler* compiler BPFJIT_TMP1, 0, SLJIT_MEM1(BPFJIT_BUF), k); if (status != SLJIT_SUCCESS) - return status; + return (status); /* tmp1 &= 0xf */ status = sljit_emit_op2(compiler, @@ -666,7 +641,7 @@ emit_msh(struct sljit_compiler* compiler BPFJIT_TMP1, 0, SLJIT_IMM, 0xf); if (status != SLJIT_SUCCESS) - return status; + return (status); /* tmp1 = tmp1 << 2 */ status = sljit_emit_op2(compiler, @@ -675,33 +650,33 @@ emit_msh(struct sljit_compiler* compiler BPFJIT_TMP1, 0, SLJIT_IMM, 2); if (status != SLJIT_SUCCESS) - return status; + return (status); #ifdef _KERNEL over_mchain_jump = sljit_emit_jump(compiler, SLJIT_JUMP); if (over_mchain_jump == NULL) - return SLJIT_ERR_ALLOC_FAILED; + return (SLJIT_ERR_ALLOC_FAILED); /* entry point to mchain handler */ label = sljit_emit_label(compiler); if (label == NULL) - return SLJIT_ERR_ALLOC_FAILED; + return (SLJIT_ERR_ALLOC_FAILED); sljit_set_label(to_mchain_jump, label); if (check_zero_buflen) { - /* if (buflen != 0) return 0; */ + /* if (buflen != 0) return (0); */ jump = sljit_emit_cmp(compiler, SLJIT_C_NOT_EQUAL, BPFJIT_BUFLEN, 0, SLJIT_IMM, 0); if (jump == NULL) - return SLJIT_ERR_ALLOC_FAILED; + return (SLJIT_ERR_ALLOC_FAILED); ret0[(*ret0_size)++] = jump; } status = emit_xcall(compiler, pc, BPFJIT_TMP1, 0, &jump, &m_xbyte); if (status != SLJIT_SUCCESS) - return status; + return (status); ret0[(*ret0_size)++] = jump; /* tmp1 &= 0xf */ @@ -711,7 +686,7 @@ emit_msh(struct sljit_compiler* compiler BPFJIT_TMP1, 0, SLJIT_IMM, 0xf); if (status != SLJIT_SUCCESS) - return status; + return (status); /* tmp1 = tmp1 << 2 */ status = sljit_emit_op2(compiler, @@ -720,16 +695,16 @@ emit_msh(struct sljit_compiler* compiler BPFJIT_TMP1, 0, SLJIT_IMM, 2); if (status != SLJIT_SUCCESS) - return status; + return (status); label = sljit_emit_label(compiler); if (label == NULL) - return SLJIT_ERR_ALLOC_FAILED; + return (SLJIT_ERR_ALLOC_FAILED); sljit_set_label(over_mchain_jump, label); #endif - return status; + return (status); } static int @@ -753,7 +728,7 @@ emit_pow2_division(struct sljit_compiler SLJIT_IMM, shift); } - return status; + return (status); } #if !defined(BPFJIT_USE_UDIV) @@ -761,7 +736,7 @@ static sljit_uw divide(sljit_uw x, sljit_uw y) { - return (uint32_t)x / (uint32_t)y; + return ((uint32_t)x / (uint32_t)y); } #endif @@ -770,43 +745,43 @@ divide(sljit_uw x, sljit_uw y) * divt,divw are either SLJIT_IMM,pc->k or BPFJIT_X,0. */ static int -emit_division(struct sljit_compiler* compiler, int divt, sljit_w divw) +emit_division(struct sljit_compiler* compiler, int divt, sljit_sw divw) { int status; -#if BPFJIT_X == SLJIT_TEMPORARY_REG1 || \ +#if BPFJIT_X == SLJIT_SCRATCH_REG1 || \ BPFJIT_X == SLJIT_RETURN_REG || \ - BPFJIT_X == SLJIT_TEMPORARY_REG2 || \ - BPFJIT_A == SLJIT_TEMPORARY_REG2 + BPFJIT_X == SLJIT_SCRATCH_REG2 || \ + BPFJIT_A == SLJIT_SCRATCH_REG2 #error "Not supported assignment of registers." #endif -#if BPFJIT_A != SLJIT_TEMPORARY_REG1 +#if BPFJIT_A != SLJIT_SCRATCH_REG1 status = sljit_emit_op1(compiler, SLJIT_MOV, - SLJIT_TEMPORARY_REG1, 0, + SLJIT_SCRATCH_REG1, 0, BPFJIT_A, 0); if (status != SLJIT_SUCCESS) - return status; + return (status); #endif status = sljit_emit_op1(compiler, SLJIT_MOV, - SLJIT_TEMPORARY_REG2, 0, + SLJIT_SCRATCH_REG2, 0, divt, divw); if (status != SLJIT_SUCCESS) - return status; + return (status); #if defined(BPFJIT_USE_UDIV) status = sljit_emit_op0(compiler, SLJIT_UDIV|SLJIT_INT_OP); -#if BPFJIT_A != SLJIT_TEMPORARY_REG1 +#if BPFJIT_A != SLJIT_SCRATCH_REG1 status = sljit_emit_op1(compiler, SLJIT_MOV, BPFJIT_A, 0, - SLJIT_TEMPORARY_REG1, 0); + SLJIT_SCRATCH_REG1, 0); if (status != SLJIT_SUCCESS) - return status; + return (status); #endif #else status = sljit_emit_ijump(compiler, @@ -819,11 +794,11 @@ emit_division(struct sljit_compiler* com BPFJIT_A, 0, SLJIT_RETURN_REG, 0); if (status != SLJIT_SUCCESS) - return status; + return (status); #endif #endif - return status; + return (status); } /* @@ -841,7 +816,7 @@ count_returns(struct bpf_insn *insns, si rv++; } - return rv; + return (rv); } /* @@ -878,7 +853,7 @@ read_pkt_insn(struct bpf_insn *pc, uint3 UINT32_MAX : pc->k + width; } - return rv; + return (rv); } /* @@ -969,7 +944,7 @@ optimize(struct bpf_insn *insns, if (jt >= insn_count - (i + 1) || jf >= insn_count - (i + 1)) { - return -1; + return (-1); } if (jt > 0 && jf > 0) @@ -995,7 +970,7 @@ optimize(struct bpf_insn *insns, set_check_length(insns, insn_dat, first_read, insn_count, safe_length); - return 0; + return (0); } /* @@ -1035,7 +1010,7 @@ get_ret0_size(struct bpf_insn *insns, st } } - return rv; + return (rv); } /* @@ -1050,16 +1025,23 @@ bpf_alu_to_sljit_op(struct bpf_insn *pc) * instruction so SLJIT_INT_OP doesn't have any overhead. */ switch (BPF_OP(pc->code)) { - case BPF_ADD: return SLJIT_ADD; - case BPF_SUB: return SLJIT_SUB; - case BPF_MUL: return SLJIT_MUL|SLJIT_INT_OP; - case BPF_OR: return SLJIT_OR; - case BPF_AND: return SLJIT_AND; - case BPF_LSH: return SLJIT_SHL; - case BPF_RSH: return SLJIT_LSHR|SLJIT_INT_OP; + case BPF_ADD: + return (SLJIT_ADD); + case BPF_SUB: + return (SLJIT_SUB); + case BPF_MUL: + return (SLJIT_MUL|SLJIT_INT_OP); + case BPF_OR: + return (SLJIT_OR); + case BPF_AND: + return (SLJIT_AND); + case BPF_LSH: + return (SLJIT_SHL); + case BPF_RSH: + return (SLJIT_LSHR|SLJIT_INT_OP); default: BPFJIT_ASSERT(false); - return 0; + return (0); } } @@ -1090,9 +1072,10 @@ bpf_jmp_to_sljit_cond(struct bpf_insn *p break; default: BPFJIT_ASSERT(false); + return (0); } - return rv; + return (rv); } static unsigned int @@ -1166,10 +1149,11 @@ bpfjit_optimization_hints(struct bpf_ins continue; default: BPFJIT_ASSERT(false); + return (0); } } - return rv | (maxm << 8) | minm; + return (rv | (maxm << 8) | minm); } /* @@ -1180,30 +1164,35 @@ kx_to_reg(struct bpf_insn *pc) { switch (BPF_SRC(pc->code)) { - case BPF_K: return SLJIT_IMM; - case BPF_X: return BPFJIT_X; + case BPF_K: + return (SLJIT_IMM); + case BPF_X: + return (BPFJIT_X); default: BPFJIT_ASSERT(false); - return 0; + return (0); } } -static sljit_w +static sljit_sw kx_to_reg_arg(struct bpf_insn *pc) { switch (BPF_SRC(pc->code)) { - case BPF_K: return (uint32_t)pc->k; /* SLJIT_IMM, pc->k, */ - case BPF_X: return 0; /* BPFJIT_X, 0, */ + case BPF_K: + return ((uint32_t)pc->k); /* SLJIT_IMM, pc->k, */ + case BPF_X: + return (0); /* BPFJIT_X, 0, */ default: BPFJIT_ASSERT(false); - return 0; + return (0); } } bpfjit_function_t bpfjit_generate_code(struct bpf_insn *insns, size_t insn_count) { + static struct bpf_insn bpf_accept_all = BPF_STMT(BPF_RET+BPF_K, -1); void *rv; size_t i; int status; @@ -1242,6 +1231,12 @@ bpfjit_generate_code(struct bpf_insn *in returns = NULL; ret0 = NULL; + /* An empty filter means accept all. */ + if (insn_count == 0) { + insns = &bpf_accept_all; + insn_count++; + } + opts = bpfjit_optimization_hints(insns, insn_count); minm = opts & 0xff; maxm = (opts >> 8) & 0xff; @@ -1341,14 +1336,14 @@ bpfjit_generate_code(struct bpf_insn *in if (read_pkt_insn(&insns[i], NULL) && insn_dat[i].bj_aux.bj_rdata.bj_check_length > 0) { - /* if (buflen < bj_check_length) return 0; */ + /* if (buflen < bj_check_length) return (0); */ jump = sljit_emit_cmp(compiler, SLJIT_C_LESS, BPFJIT_BUFLEN, 0, SLJIT_IMM, insn_dat[i].bj_aux.bj_rdata.bj_check_length); if (jump == NULL) - goto fail; + goto fail; #ifdef _KERNEL to_mchain_jump = jump; #else @@ -1535,7 +1530,7 @@ bpfjit_generate_code(struct bpf_insn *in if (src == BPF_X) { jump = sljit_emit_cmp(compiler, SLJIT_C_EQUAL|SLJIT_INT_OP, - BPFJIT_X, 0, + BPFJIT_X, 0, SLJIT_IMM, 0); if (jump == NULL) goto fail; @@ -1553,11 +1548,11 @@ bpfjit_generate_code(struct bpf_insn *in goto fail; } else if (pc->k != 0) { if (pc->k & (pc->k - 1)) { - status = emit_division(compiler, - SLJIT_IMM, (uint32_t)pc->k); + status = emit_division(compiler, + SLJIT_IMM, (uint32_t)pc->k); } else { - status = emit_pow2_division(compiler, - (uint32_t)pc->k); + status = emit_pow2_division(compiler, + (uint32_t)pc->k); } if (status != SLJIT_SUCCESS) goto fail; @@ -1567,11 +1562,19 @@ bpfjit_generate_code(struct bpf_insn *in case BPF_JMP: - if (pc->code == (BPF_JMP|BPF_JA)) { + switch (BPF_OP(pc->code)) { + case BPF_JA: jt = jf = pc->k; - } else { + break; + case BPF_JEQ: + case BPF_JGT: + case BPF_JGE: + case BPF_JSET: jt = pc->jt; jf = pc->jf; + break; + default: + goto fail; } negate = (jt == 0) ? 1 : 0; @@ -1742,7 +1745,7 @@ fail: if (ret0 != NULL) BPFJIT_FREE(ret0); - return (bpfjit_function_t)rv; + return ((bpfjit_function_t)rv); } void Modified: projects/bpfjit/sys/net/bpfjit.h ============================================================================== --- projects/bpfjit/sys/net/bpfjit.h Wed Dec 5 23:37:52 2012 (r243917) +++ projects/bpfjit/sys/net/bpfjit.h Wed Dec 5 23:44:25 2012 (r243918) @@ -27,23 +27,23 @@ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. + * + * $FreeBSD$ */ #ifndef _NET_BPFJIT_H_ #define _NET_BPFJIT_H_ -#ifndef _KERNEL +#ifdef _KERNEL +#include + +extern int bpfjit_disable; +#else #include #include #endif -#include *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Wed Dec 5 23:51:31 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 34A7B56C; Wed, 5 Dec 2012 23:51:31 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 180DB8FC16; Wed, 5 Dec 2012 23:51:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB5NpUns011983; Wed, 5 Dec 2012 23:51:30 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB5NpT09011972; Wed, 5 Dec 2012 23:51:29 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212052351.qB5NpT09011972@svn.freebsd.org> From: Jung-uk Kim Date: Wed, 5 Dec 2012 23:51:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243919 - in projects/bpfjit/sys: amd64/amd64 amd64/conf conf i386/conf i386/i386 net pc98/conf 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, 05 Dec 2012 23:51:31 -0000 Author: jkim Date: Wed Dec 5 23:51:28 2012 New Revision: 243919 URL: http://svnweb.freebsd.org/changeset/base/243919 Log: Disconnect bpf_jitter from build. Deleted: projects/bpfjit/sys/amd64/amd64/bpf_jit_machdep.c projects/bpfjit/sys/amd64/amd64/bpf_jit_machdep.h projects/bpfjit/sys/i386/i386/bpf_jit_machdep.c projects/bpfjit/sys/i386/i386/bpf_jit_machdep.h projects/bpfjit/sys/net/bpf_jitter.c projects/bpfjit/sys/net/bpf_jitter.h Modified: projects/bpfjit/sys/amd64/conf/NOTES projects/bpfjit/sys/conf/files projects/bpfjit/sys/conf/files.amd64 projects/bpfjit/sys/conf/files.i386 projects/bpfjit/sys/conf/files.pc98 projects/bpfjit/sys/conf/options.amd64 projects/bpfjit/sys/conf/options.i386 projects/bpfjit/sys/conf/options.pc98 projects/bpfjit/sys/i386/conf/NOTES projects/bpfjit/sys/pc98/conf/NOTES Modified: projects/bpfjit/sys/amd64/conf/NOTES ============================================================================== --- projects/bpfjit/sys/amd64/conf/NOTES Wed Dec 5 23:44:25 2012 (r243918) +++ projects/bpfjit/sys/amd64/conf/NOTES Wed Dec 5 23:51:28 2012 (r243919) @@ -86,10 +86,6 @@ cpu HAMMER # aka K8, aka Opteron & At options DEVICE_POLLING -# BPF_JITTER adds support for BPF just-in-time compiler. - -options BPF_JITTER - # OpenFabrics Enterprise Distribution (Infiniband). options OFED options OFED_DEBUG_INIT Modified: projects/bpfjit/sys/conf/files ============================================================================== --- projects/bpfjit/sys/conf/files Wed Dec 5 23:44:25 2012 (r243918) +++ projects/bpfjit/sys/conf/files Wed Dec 5 23:51:28 2012 (r243919) @@ -2858,7 +2858,6 @@ libkern/strtouq.c standard libkern/strvalid.c standard net/bpf.c standard net/bpf_buffer.c optional bpf -net/bpf_jitter.c optional bpf_jitter net/bpf_filter.c optional bpf | netgraph_bpf net/bpf_zerocopy.c optional bpf net/bridgestp.c optional bridge | if_bridge Modified: projects/bpfjit/sys/conf/files.amd64 ============================================================================== --- projects/bpfjit/sys/conf/files.amd64 Wed Dec 5 23:44:25 2012 (r243918) +++ projects/bpfjit/sys/conf/files.amd64 Wed Dec 5 23:51:28 2012 (r243919) @@ -98,7 +98,6 @@ amd64/amd64/amd64_mem.c optional mem amd64/amd64/atomic.c standard amd64/amd64/autoconf.c standard amd64/amd64/bios.c standard -amd64/amd64/bpf_jit_machdep.c optional bpf_jitter amd64/amd64/cpu_switch.S standard amd64/amd64/db_disasm.c optional ddb amd64/amd64/db_interface.c optional ddb Modified: projects/bpfjit/sys/conf/files.i386 ============================================================================== --- projects/bpfjit/sys/conf/files.i386 Wed Dec 5 23:44:25 2012 (r243918) +++ projects/bpfjit/sys/conf/files.i386 Wed Dec 5 23:51:28 2012 (r243919) @@ -403,7 +403,6 @@ i386/i386/atomic.c standard \ i386/i386/autoconf.c standard i386/i386/bios.c optional native i386/i386/bioscall.s optional native -i386/i386/bpf_jit_machdep.c optional bpf_jitter i386/i386/db_disasm.c optional ddb i386/i386/db_interface.c optional ddb i386/i386/db_trace.c optional ddb Modified: projects/bpfjit/sys/conf/files.pc98 ============================================================================== --- projects/bpfjit/sys/conf/files.pc98 Wed Dec 5 23:44:25 2012 (r243918) +++ projects/bpfjit/sys/conf/files.pc98 Wed Dec 5 23:51:28 2012 (r243919) @@ -134,7 +134,6 @@ i386/i386/atomic.c standard \ i386/i386/autoconf.c standard i386/i386/bios.c standard i386/i386/bioscall.s standard -i386/i386/bpf_jit_machdep.c optional bpf_jitter i386/i386/db_disasm.c optional ddb i386/i386/db_interface.c optional ddb i386/i386/db_trace.c optional ddb Modified: projects/bpfjit/sys/conf/options.amd64 ============================================================================== --- projects/bpfjit/sys/conf/options.amd64 Wed Dec 5 23:44:25 2012 (r243918) +++ projects/bpfjit/sys/conf/options.amd64 Wed Dec 5 23:51:28 2012 (r243919) @@ -61,9 +61,6 @@ DEV_ATPIC opt_atpic.h # Debugging KDTRACE_FRAME opt_kdtrace.h -# BPF just-in-time compiler -BPF_JITTER opt_bpf.h - XENHVM opt_global.h # options for the Intel C600 SAS driver (isci) Modified: projects/bpfjit/sys/conf/options.i386 ============================================================================== --- projects/bpfjit/sys/conf/options.i386 Wed Dec 5 23:44:25 2012 (r243918) +++ projects/bpfjit/sys/conf/options.i386 Wed Dec 5 23:51:28 2012 (r243919) @@ -114,9 +114,6 @@ ASR_COMPAT opt_asr.h # Debugging NPX_DEBUG opt_npx.h -# BPF just-in-time compiler -BPF_JITTER opt_bpf.h - NATIVE opt_global.h XEN opt_global.h XENHVM opt_global.h Modified: projects/bpfjit/sys/conf/options.pc98 ============================================================================== --- projects/bpfjit/sys/conf/options.pc98 Wed Dec 5 23:44:25 2012 (r243918) +++ projects/bpfjit/sys/conf/options.pc98 Wed Dec 5 23:51:28 2012 (r243919) @@ -97,6 +97,3 @@ DEV_NPX opt_npx.h # Debugging NPX_DEBUG opt_npx.h AGP_DEBUG opt_agp.h - -# BPF just-in-time compiler -BPF_JITTER opt_bpf.h Modified: projects/bpfjit/sys/i386/conf/NOTES ============================================================================== --- projects/bpfjit/sys/i386/conf/NOTES Wed Dec 5 23:44:25 2012 (r243918) +++ projects/bpfjit/sys/i386/conf/NOTES Wed Dec 5 23:51:28 2012 (r243919) @@ -256,10 +256,6 @@ device xboxfb options DEVICE_POLLING -# BPF_JITTER adds support for BPF just-in-time compiler. - -options BPF_JITTER - # OpenFabrics Enterprise Distribution (Infiniband). options OFED options OFED_DEBUG_INIT Modified: projects/bpfjit/sys/pc98/conf/NOTES ============================================================================== --- projects/bpfjit/sys/pc98/conf/NOTES Wed Dec 5 23:44:25 2012 (r243918) +++ projects/bpfjit/sys/pc98/conf/NOTES Wed Dec 5 23:51:28 2012 (r243919) @@ -187,10 +187,6 @@ options PERFMON options DEVICE_POLLING -# BPF_JITTER adds support for BPF just-in-time compiler. - -options BPF_JITTER - ##################################################################### # MISCELLANEOUS DEVICES AND OPTIONS From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 00:06:15 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 CE3D6D24; Thu, 6 Dec 2012 00:06:15 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B2BBE8FC0C; Thu, 6 Dec 2012 00:06:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB606FfZ015175; Thu, 6 Dec 2012 00:06:15 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB606Flk015174; Thu, 6 Dec 2012 00:06:15 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212060006.qB606Flk015174@svn.freebsd.org> From: Jung-uk Kim Date: Thu, 6 Dec 2012 00:06:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243920 - projects/bpfjit/sys/net 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, 06 Dec 2012 00:06:15 -0000 Author: jkim Date: Thu Dec 6 00:06:15 2012 New Revision: 243920 URL: http://svnweb.freebsd.org/changeset/base/243920 Log: Slightly reduce diff against the original NetBSD version. Modified: projects/bpfjit/sys/net/bpfjit.h Modified: projects/bpfjit/sys/net/bpfjit.h ============================================================================== --- projects/bpfjit/sys/net/bpfjit.h Wed Dec 5 23:51:28 2012 (r243919) +++ projects/bpfjit/sys/net/bpfjit.h Thu Dec 6 00:06:15 2012 (r243920) @@ -34,16 +34,22 @@ #ifndef _NET_BPFJIT_H_ #define _NET_BPFJIT_H_ -#ifdef _KERNEL -#include - -extern int bpfjit_disable; -#else +#ifndef _KERNEL #include #include #endif +#include + +#ifdef __linux +#include +#else #include +#endif + +#ifdef _KERNEL +extern int bpfjit_disable; +#endif /* * RETURN value and arguments of a function generated by sljit have sljit_uw From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 00:13:58 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 A3D5C108; Thu, 6 Dec 2012 00:13:58 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6FB818FC12; Thu, 6 Dec 2012 00:13:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB60Dw81016527; Thu, 6 Dec 2012 00:13:58 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB60Dw4i016526; Thu, 6 Dec 2012 00:13:58 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212060013.qB60Dw4i016526@svn.freebsd.org> From: Jung-uk Kim Date: Thu, 6 Dec 2012 00:13:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243921 - projects/bpfjit/sys/net 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, 06 Dec 2012 00:13:58 -0000 Author: jkim Date: Thu Dec 6 00:13:57 2012 New Revision: 243921 URL: http://svnweb.freebsd.org/changeset/base/243921 Log: Add m_xbyte() and make m_xhalf(), m_xword(), and m_xbyte() global. These functions are used by bpfjit.c later. While I am here, make it compilable again in userland (broken in r224044). Modified: projects/bpfjit/sys/net/bpf_filter.c Modified: projects/bpfjit/sys/net/bpf_filter.c ============================================================================== --- projects/bpfjit/sys/net/bpf_filter.c Thu Dec 6 00:06:15 2012 (r243920) +++ projects/bpfjit/sys/net/bpf_filter.c Thu Dec 6 00:13:57 2012 (r243921) @@ -66,6 +66,7 @@ __FBSDID("$FreeBSD$"); #include #else #include +#include #endif #include #ifdef _KERNEL @@ -82,11 +83,12 @@ __FBSDID("$FreeBSD$"); } \ } -static u_int16_t m_xhalf(struct mbuf *m, bpf_u_int32 k, int *err); -static u_int32_t m_xword(struct mbuf *m, bpf_u_int32 k, int *err); +uint32_t m_xhalf(const struct mbuf *, uint32_t, int *); +uint32_t m_xword(const struct mbuf *, uint32_t, int *); +uint32_t m_xbyte(const struct mbuf *, uint32_t, int *); -static u_int32_t -m_xword(struct mbuf *m, bpf_u_int32 k, int *err) +uint32_t +m_xword(const struct mbuf *m, uint32_t k, int *err) { size_t len; u_char *cp, *np; @@ -134,8 +136,8 @@ m_xword(struct mbuf *m, bpf_u_int32 k, i return (0); } -static u_int16_t -m_xhalf(struct mbuf *m, bpf_u_int32 k, int *err) +uint32_t +m_xhalf(const struct mbuf *m, uint32_t k, int *err) { size_t len; u_char *cp; @@ -163,6 +165,15 @@ m_xhalf(struct mbuf *m, bpf_u_int32 k, i *err = 1; return (0); } + +uint32_t +m_xbyte(const struct mbuf *m, uint32_t k, int *err) +{ + + *err = 0; + MINDEX(m, k); + return (mtod(m, u_char *)[k]); +} #endif /* From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 00:17:26 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 19559336; Thu, 6 Dec 2012 00:17:26 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id F21CC8FC0C; Thu, 6 Dec 2012 00:17:25 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB60HPoc017036; Thu, 6 Dec 2012 00:17:25 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB60HPtZ017032; Thu, 6 Dec 2012 00:17:25 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212060017.qB60HPtZ017032@svn.freebsd.org> From: Jung-uk Kim Date: Thu, 6 Dec 2012 00:17:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243922 - in projects/bpfjit/sys: net netgraph 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, 06 Dec 2012 00:17:26 -0000 Author: jkim Date: Thu Dec 6 00:17:25 2012 New Revision: 243922 URL: http://svnweb.freebsd.org/changeset/base/243922 Log: Convert bpf(4) and ng_bpf(4) to new bpfjit APIs. Modified: projects/bpfjit/sys/net/bpf.c projects/bpfjit/sys/netgraph/ng_bpf.c Modified: projects/bpfjit/sys/net/bpf.c ============================================================================== --- projects/bpfjit/sys/net/bpf.c Thu Dec 6 00:13:57 2012 (r243921) +++ projects/bpfjit/sys/net/bpf.c Thu Dec 6 00:17:25 2012 (r243922) @@ -71,8 +71,8 @@ __FBSDID("$FreeBSD$"); #define BPF_INTERNAL #include #include -#ifdef BPF_JITTER -#include +#ifdef BPFJIT +#include #endif #include #include @@ -1724,8 +1724,8 @@ bpf_setf(struct bpf_d *d, struct bpf_pro struct bpf_program32 *fp32; #endif struct bpf_insn *fcode, *old; -#ifdef BPF_JITTER - bpf_jit_filter *jfunc, *ofunc; +#ifdef BPFJIT + bpfjit_function_t jfunc, ofunc; #endif size_t size; u_int flen; @@ -1753,7 +1753,7 @@ bpf_setf(struct bpf_d *d, struct bpf_pro #endif fcode = NULL; -#ifdef BPF_JITTER +#ifdef BPFJIT jfunc = ofunc = NULL; #endif need_upgrade = 0; @@ -1774,9 +1774,12 @@ bpf_setf(struct bpf_d *d, struct bpf_pro free(fcode, M_BPF); return (EINVAL); } -#ifdef BPF_JITTER +#ifdef BPFJIT /* Filter is copied inside fcode and is perfectly valid. */ - jfunc = bpf_jitter(fcode, flen); + jfunc = bpfjit_generate_code(fcode, flen); + + if (jfunc == NULL && bootverbose) + printf("bpf_setf: failed to compile filter\n"); #endif } @@ -1796,7 +1799,7 @@ bpf_setf(struct bpf_d *d, struct bpf_pro } else { old = d->bd_rfilter; d->bd_rfilter = fcode; -#ifdef BPF_JITTER +#ifdef BPFJIT ofunc = d->bd_bfilter; d->bd_bfilter = jfunc; #endif @@ -1820,9 +1823,9 @@ bpf_setf(struct bpf_d *d, struct bpf_pro BPFIF_WUNLOCK(d->bd_bif); if (old != NULL) free(old, M_BPF); -#ifdef BPF_JITTER +#ifdef BPFJIT if (ofunc != NULL) - bpf_destroy_jit_filter(ofunc); + bpfjit_free_code(ofunc); #endif /* Move d to active readers list. */ @@ -2031,8 +2034,8 @@ bpf_tap(struct bpf_if *bp, u_char *pkt, { struct bintime bt; struct bpf_d *d; -#ifdef BPF_JITTER - bpf_jit_filter *bf; +#ifdef BPFJIT + bpfjit_function_t bf; #endif u_int slen; int gottime; @@ -2058,10 +2061,10 @@ bpf_tap(struct bpf_if *bp, u_char *pkt, * is inbound or outbound. In the bpf_mtap() routines, we use * the interface pointers on the mbuf to figure it out. */ -#ifdef BPF_JITTER - bf = bpf_jitter_enable != 0 ? d->bd_bfilter : NULL; +#ifdef BPFJIT + bf = bpfjit_disable == 0 ? d->bd_bfilter : NULL; if (bf != NULL) - slen = (*(bf->func))(pkt, pktlen, pktlen); + slen = bf(pkt, pktlen, pktlen); else #endif slen = bpf_filter(d->bd_rfilter, pkt, pktlen, pktlen); @@ -2098,8 +2101,8 @@ bpf_mtap(struct bpf_if *bp, struct mbuf { struct bintime bt; struct bpf_d *d; -#ifdef BPF_JITTER - bpf_jit_filter *bf; +#ifdef BPFJIT + bpfjit_function_t bf; #endif u_int pktlen, slen; int gottime; @@ -2119,11 +2122,10 @@ bpf_mtap(struct bpf_if *bp, struct mbuf if (BPF_CHECK_DIRECTION(d, m->m_pkthdr.rcvif, bp->bif_ifp)) continue; ++d->bd_rcount; -#ifdef BPF_JITTER - bf = bpf_jitter_enable != 0 ? d->bd_bfilter : NULL; - /* XXX We cannot handle multiple mbufs. */ - if (bf != NULL && m->m_next == NULL) - slen = (*(bf->func))(mtod(m, u_char *), pktlen, pktlen); +#ifdef BPFJIT + bf = bpfjit_disable == 0 ? d->bd_bfilter : NULL; + if (bf != NULL) + slen = bf((u_char *)m, pktlen, 0); else #endif slen = bpf_filter(d->bd_rfilter, (u_char *)m, pktlen, 0); @@ -2154,6 +2156,9 @@ bpf_mtap2(struct bpf_if *bp, void *data, struct bintime bt; struct mbuf mb; struct bpf_d *d; +#ifdef BPFJIT + bpfjit_function_t bf; +#endif u_int pktlen, slen; int gottime; @@ -2182,6 +2187,12 @@ bpf_mtap2(struct bpf_if *bp, void *data, if (BPF_CHECK_DIRECTION(d, m->m_pkthdr.rcvif, bp->bif_ifp)) continue; ++d->bd_rcount; +#ifdef BPFJIT + bf = bpfjit_disable == 0 ? d->bd_bfilter : NULL; + if (bf != NULL) + slen = bf((u_char *)&mb, pktlen, 0); + else +#endif slen = bpf_filter(d->bd_rfilter, (u_char *)&mb, pktlen, 0); if (slen != 0) { BPFD_LOCK(d); @@ -2429,9 +2440,9 @@ bpf_freed(struct bpf_d *d) bpf_free(d); if (d->bd_rfilter != NULL) { free((caddr_t)d->bd_rfilter, M_BPF); -#ifdef BPF_JITTER +#ifdef BPFJIT if (d->bd_bfilter != NULL) - bpf_destroy_jit_filter(d->bd_bfilter); + bpfjit_free_code(d->bd_bfilter); #endif } if (d->bd_wfilter != NULL) Modified: projects/bpfjit/sys/netgraph/ng_bpf.c ============================================================================== --- projects/bpfjit/sys/netgraph/ng_bpf.c Thu Dec 6 00:13:57 2012 (r243921) +++ projects/bpfjit/sys/netgraph/ng_bpf.c Thu Dec 6 00:17:25 2012 (r243922) @@ -64,8 +64,8 @@ #include #include -#ifdef BPF_JITTER -#include +#ifdef BPFJIT +#include #endif #include @@ -89,8 +89,8 @@ struct ng_bpf_hookinfo { hook_p match; hook_p nomatch; struct ng_bpf_hookprog *prog; -#ifdef BPF_JITTER - bpf_jit_filter *jit_prog; +#ifdef BPFJIT + bpfjit_function_t jit_prog; #endif struct ng_bpf_hookstat stats; }; @@ -437,8 +437,8 @@ ng_bpf_rcvdata(hook_p hook, item_p item) goto ready; } -#ifdef BPF_JITTER - if (bpf_jitter_enable != 0 && hip->jit_prog != NULL) +#ifdef BPFJIT + if (bpfjit_disable == 0 && hip->jit_prog != NULL) usejit = 1; #endif @@ -465,9 +465,9 @@ ng_bpf_rcvdata(hook_p hook, item_p item) } /* Run packet through filter */ -#ifdef BPF_JITTER +#ifdef BPFJIT if (usejit) - len = (*(hip->jit_prog->func))(data, totlen, totlen); + len = (hip->jit_prog)(data, totlen, totlen); else #endif if (data) @@ -533,9 +533,9 @@ ng_bpf_disconnect(hook_p hook) NG_NODE_FOREACH_HOOK(node, ng_bpf_remrefs, hook, tmp); free(hip->prog, M_NETGRAPH_BPF); -#ifdef BPF_JITTER +#ifdef BPFJIT if (hip->jit_prog != NULL) - bpf_destroy_jit_filter(hip->jit_prog); + bpfjit_free_code(hip->jit_prog); #endif free(hip, M_NETGRAPH_BPF); if ((NG_NODE_NUMHOOKS(node) == 0) && @@ -557,8 +557,8 @@ ng_bpf_setprog(hook_p hook, const struct { const hinfo_p hip = NG_HOOK_PRIVATE(hook); struct ng_bpf_hookprog *hp; -#ifdef BPF_JITTER - bpf_jit_filter *jit_prog; +#ifdef BPFJIT + bpfjit_function_t jit_prog; #endif int size; @@ -573,17 +573,17 @@ ng_bpf_setprog(hook_p hook, const struct if (hp == NULL) return (ENOMEM); bcopy(hp0, hp, size); -#ifdef BPF_JITTER - jit_prog = bpf_jitter(hp->bpf_prog, hp->bpf_prog_len); +#ifdef BPFJIT + jit_prog = bpfjit_generate_code(hp->bpf_prog, hp->bpf_prog_len); #endif /* Free previous program, if any, and assign new one */ if (hip->prog != NULL) free(hip->prog, M_NETGRAPH_BPF); hip->prog = hp; -#ifdef BPF_JITTER +#ifdef BPFJIT if (hip->jit_prog != NULL) - bpf_destroy_jit_filter(hip->jit_prog); + bpfjit_free_code(hip->jit_prog); hip->jit_prog = jit_prog; #endif From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 00:31:53 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 AB83F863; Thu, 6 Dec 2012 00:31:53 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 854E88FC08; Thu, 6 Dec 2012 00:31:53 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB60VrWx019114; Thu, 6 Dec 2012 00:31:53 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB60Vqfg019106; Thu, 6 Dec 2012 00:31:52 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212060031.qB60Vqfg019106@svn.freebsd.org> From: Jung-uk Kim Date: Thu, 6 Dec 2012 00:31:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243924 - in projects/bpfjit/tools/regression/bpf/bpf_filter: . tests 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, 06 Dec 2012 00:31:53 -0000 Author: jkim Date: Thu Dec 6 00:31:51 2012 New Revision: 243924 URL: http://svnweb.freebsd.org/changeset/base/243924 Log: Convert bpf regression tests to the bpfjit APIs. Modified: projects/bpfjit/tools/regression/bpf/bpf_filter/Makefile projects/bpfjit/tools/regression/bpf/bpf_filter/bpf_test.c projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0001.h projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0075.h projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0076.h projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0077.h projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0078.h Modified: projects/bpfjit/tools/regression/bpf/bpf_filter/Makefile ============================================================================== --- projects/bpfjit/tools/regression/bpf/bpf_filter/Makefile Thu Dec 6 00:25:42 2012 (r243923) +++ projects/bpfjit/tools/regression/bpf/bpf_filter/Makefile Thu Dec 6 00:31:51 2012 (r243924) @@ -24,7 +24,7 @@ TEST_CASES?= test0001 test0002 test0003 SYSDIR?= ${.CURDIR}/../../../../sys -SRCS= ${.CURDIR}/bpf_test.c +SRCS= ${.CURDIR}/bpf_test.c ${SYSDIR}/net/bpf_filter.c CFLAGS+= -g -I${SYSDIR} -I${.CURDIR}/tests @@ -38,17 +38,17 @@ CFLAGS+= -DLOG_LEVEL="${LOG_LEVEL}" CFLAGS+= -DBPF_VALIDATE .endif -.if defined(BPF_JIT) && \ - (${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386") -SRCS+= ${SYSDIR}/net/bpf_jitter.c \ - ${SYSDIR}/${MACHINE_ARCH}/${MACHINE_ARCH}/bpf_jit_machdep.c -CFLAGS+= -DBPF_JIT_COMPILER -LIBS+= -lutil -WARNS?= 6 +.if defined(BPF_JIT) +SRCS+= ${SYSDIR}/net/bpfjit.c ${SYSDIR}/contrib/sljit/sljitLir.c +CFLAGS+= -DBPF_JIT_COMPILER -I${SYSDIR}/contrib/sljit +CFLAGS+= -DBPFJIT_USE_UDIV -DSLJIT_CONFIG_AUTO=1 -DSLJIT_DEBUG=0 +.if !defined(BPF_BENCHMARK) && defined(LOG_LEVEL) && (${LOG_LEVEL} > 2) +CFLAGS+= -DSLJIT_VERBOSE=1 .else -SRCS+= ${SYSDIR}/net/bpf_filter.c -WARNS?= 2 +CFLAGS+= -DSLJIT_VERBOSE=0 +.endif .endif +WARNS?= 2 .for TEST in ${TEST_CASES} ${TEST}: ${.CURDIR}/tests/${TEST}.h ${SRCS} Modified: projects/bpfjit/tools/regression/bpf/bpf_filter/bpf_test.c ============================================================================== --- projects/bpfjit/tools/regression/bpf/bpf_filter/bpf_test.c Thu Dec 6 00:25:42 2012 (r243923) +++ projects/bpfjit/tools/regression/bpf/bpf_filter/bpf_test.c Thu Dec 6 00:31:51 2012 (r243924) @@ -59,31 +59,28 @@ static int verbose = LOG_LEVEL; #include -#include +#include static u_int bpf_compile_and_filter(void) { - bpf_jit_filter *filter; + bpfjit_function_t filter; u_int i, ret; /* Compile the BPF filter program and generate native code. */ - if ((filter = bpf_jitter(pc, nins)) == NULL) { + filter = bpfjit_generate_code(pc, nins); + if (filter == NULL && invalid == 0) { if (verbose > 1) printf("Failed to allocate memory:\t"); if (verbose > 0) printf("FATAL\n"); exit(FATAL); } - if (verbose > 2) { - printf("\n"); - hexdump(filter->func, filter->size, NULL, HD_OMIT_CHARS); - } for (i = 0; i < BPF_NRUNS; i++) - ret = (*(filter->func))(pkt, wirelen, buflen); + ret = filter(pkt, wirelen, buflen); - bpf_destroy_jit_filter(filter); + bpfjit_free_code(filter); return (ret); } Modified: projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0001.h ============================================================================== --- projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0001.h Thu Dec 6 00:25:42 2012 (r243923) +++ projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0001.h Thu Dec 6 00:31:51 2012 (r243924) @@ -28,4 +28,8 @@ int invalid = 1; u_int expect = 0; /* Expected signal */ +#ifdef BPF_JIT_COMPILER +int expect_signal = SIGSEGV; +#else int expect_signal = SIGABRT; +#endif Modified: projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0075.h ============================================================================== --- projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0075.h Thu Dec 6 00:25:42 2012 (r243923) +++ projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0075.h Thu Dec 6 00:31:51 2012 (r243924) @@ -29,8 +29,8 @@ int invalid = 1; u_int expect = 0xdeadc0de; /* Expected signal */ -#ifdef __amd64__ -int expect_signal = SIGBUS; -#else +#ifdef BPF_JIT_COMPILER int expect_signal = SIGSEGV; +#else +int expect_signal = SIGBUS; #endif Modified: projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0076.h ============================================================================== --- projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0076.h Thu Dec 6 00:25:42 2012 (r243923) +++ projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0076.h Thu Dec 6 00:31:51 2012 (r243924) @@ -30,8 +30,8 @@ int invalid = 1; u_int expect = 0xdeadc0de; /* Expected signal */ -#ifdef __amd64__ -int expect_signal = SIGBUS; -#else +#ifdef BPF_JIT_COMPILER int expect_signal = SIGSEGV; +#else +int expect_signal = SIGBUS; #endif Modified: projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0077.h ============================================================================== --- projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0077.h Thu Dec 6 00:25:42 2012 (r243923) +++ projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0077.h Thu Dec 6 00:31:51 2012 (r243924) @@ -29,8 +29,8 @@ int invalid = 1; u_int expect = 0xdeadc0de; /* Expected signal */ -#ifdef __amd64__ -int expect_signal = SIGBUS; -#else +#ifdef BPF_JIT_COMPILER int expect_signal = SIGSEGV; +#else +int expect_signal = SIGBUS; #endif Modified: projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0078.h ============================================================================== --- projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0078.h Thu Dec 6 00:25:42 2012 (r243923) +++ projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0078.h Thu Dec 6 00:31:51 2012 (r243924) @@ -30,8 +30,8 @@ int invalid = 1; u_int expect = 0xdeadc0de; /* Expected signal */ -#ifdef __amd64__ -int expect_signal = SIGBUS; -#else +#ifdef BPF_JIT_COMPILER int expect_signal = SIGSEGV; +#else +int expect_signal = SIGBUS; #endif From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 00:32: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 D7A5B97A; Thu, 6 Dec 2012 00:32:47 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A3AAA8FC0C; Thu, 6 Dec 2012 00:32:47 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB60Wl8H019318; Thu, 6 Dec 2012 00:32:47 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB60Wlqo019316; Thu, 6 Dec 2012 00:32:47 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212060032.qB60Wlqo019316@svn.freebsd.org> From: Jung-uk Kim Date: Thu, 6 Dec 2012 00:32:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243925 - projects/bpfjit/sys/conf 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, 06 Dec 2012 00:32:47 -0000 Author: jkim Date: Thu Dec 6 00:32:46 2012 New Revision: 243925 URL: http://svnweb.freebsd.org/changeset/base/243925 Log: Connect bpfjit to the build. Modified: projects/bpfjit/sys/conf/files projects/bpfjit/sys/conf/options Modified: projects/bpfjit/sys/conf/files ============================================================================== --- projects/bpfjit/sys/conf/files Thu Dec 6 00:31:51 2012 (r243924) +++ projects/bpfjit/sys/conf/files Thu Dec 6 00:32:46 2012 (r243925) @@ -513,6 +513,7 @@ contrib/ngatm/netnatm/sig/sig_unimsgcpy. compile-with "${NORMAL_C} -I$S/contrib/ngatm" contrib/ngatm/netnatm/sig/sig_verify.c optional ngatm_uni \ compile-with "${NORMAL_C} -I$S/contrib/ngatm" +contrib/sljit/sljitLir.c optional bpfjit crypto/blowfish/bf_ecb.c optional ipsec crypto/blowfish/bf_skey.c optional crypto | ipsec crypto/camellia/camellia.c optional crypto | ipsec @@ -2858,8 +2859,9 @@ libkern/strtouq.c standard libkern/strvalid.c standard net/bpf.c standard net/bpf_buffer.c optional bpf -net/bpf_filter.c optional bpf | netgraph_bpf +net/bpf_filter.c optional bpf | bpfjit | netgraph_bpf net/bpf_zerocopy.c optional bpf +net/bpfjit.c optional bpfjit net/bridgestp.c optional bridge | if_bridge net/flowtable.c optional flowtable inet | flowtable inet6 net/ieee8023ad_lacp.c optional lagg Modified: projects/bpfjit/sys/conf/options ============================================================================== --- projects/bpfjit/sys/conf/options Thu Dec 6 00:31:51 2012 (r243924) +++ projects/bpfjit/sys/conf/options Thu Dec 6 00:32:46 2012 (r243925) @@ -894,3 +894,6 @@ RACCT opt_global.h # Resource Limits RCTL opt_global.h + +# BPF just-in-time compiler +BPFJIT opt_bpf.h From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 00:38:51 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 8FE6ACCD; Thu, 6 Dec 2012 00:38:51 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 748038FC08; Thu, 6 Dec 2012 00:38:51 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB60cp7S020240; Thu, 6 Dec 2012 00:38:51 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB60cpiw020237; Thu, 6 Dec 2012 00:38:51 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212060038.qB60cpiw020237@svn.freebsd.org> From: Jung-uk Kim Date: Thu, 6 Dec 2012 00:38:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243926 - in projects/bpfjit/sys: conf sparc64/conf 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, 06 Dec 2012 00:38:51 -0000 Author: jkim Date: Thu Dec 6 00:38:50 2012 New Revision: 243926 URL: http://svnweb.freebsd.org/changeset/base/243926 Log: Add BPFJIT to the NOTES files but exclude it from sparc64's NOTES. Modified: projects/bpfjit/sys/conf/NOTES projects/bpfjit/sys/sparc64/conf/NOTES Modified: projects/bpfjit/sys/conf/NOTES ============================================================================== --- projects/bpfjit/sys/conf/NOTES Thu Dec 6 00:32:46 2012 (r243925) +++ projects/bpfjit/sys/conf/NOTES Thu Dec 6 00:38:50 2012 (r243926) @@ -806,6 +806,7 @@ device sppp # aware of the legal and administrative consequences of enabling this # option. DHCP requires bpf. device bpf +options BPFJIT # enable BPF just-in-time compiler # The `netmap' device implements memory-mapped access to network # devices from userspace, enabling wire-speed packet capture and Modified: projects/bpfjit/sys/sparc64/conf/NOTES ============================================================================== --- projects/bpfjit/sys/sparc64/conf/NOTES Thu Dec 6 00:32:46 2012 (r243925) +++ projects/bpfjit/sys/sparc64/conf/NOTES Thu Dec 6 00:38:50 2012 (r243926) @@ -145,6 +145,7 @@ nooption SC_NORM_ATTR nooption SC_DFLT_FONT nooption SC_ALT_MOUSE_IMAGE nooption EXT2FS +nooption BPFJIT ##################################################################### From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 00:43:13 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 C245CE0A; Thu, 6 Dec 2012 00:43:13 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9CAFB8FC12; Thu, 6 Dec 2012 00:43:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB60hDDj020913; Thu, 6 Dec 2012 00:43:13 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB60hCju020906; Thu, 6 Dec 2012 00:43:12 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212060043.qB60hCju020906@svn.freebsd.org> From: Jung-uk Kim Date: Thu, 6 Dec 2012 00:43:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243927 - in projects/bpfjit/sys: amd64/conf i386/conf ia64/conf pc98/conf powerpc/conf 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, 06 Dec 2012 00:43:13 -0000 Author: jkim Date: Thu Dec 6 00:43:12 2012 New Revision: 243927 URL: http://svnweb.freebsd.org/changeset/base/243927 Log: Add BPFJIT to the GENERIC kernels on all supported platforms. Modified: projects/bpfjit/sys/amd64/conf/GENERIC projects/bpfjit/sys/i386/conf/GENERIC projects/bpfjit/sys/ia64/conf/GENERIC projects/bpfjit/sys/pc98/conf/GENERIC projects/bpfjit/sys/powerpc/conf/GENERIC Modified: projects/bpfjit/sys/amd64/conf/GENERIC ============================================================================== --- projects/bpfjit/sys/amd64/conf/GENERIC Thu Dec 6 00:38:50 2012 (r243926) +++ projects/bpfjit/sys/amd64/conf/GENERIC Thu Dec 6 00:43:12 2012 (r243927) @@ -306,6 +306,7 @@ device firmware # firmware assist modul # Be aware of the administrative consequences of enabling this! # Note that 'bpf' is required for DHCP. device bpf # Berkeley packet filter +options BPFJIT # enable BPF just-in-time compiler # USB support options USB_DEBUG # enable debug msgs Modified: projects/bpfjit/sys/i386/conf/GENERIC ============================================================================== --- projects/bpfjit/sys/i386/conf/GENERIC Thu Dec 6 00:38:50 2012 (r243926) +++ projects/bpfjit/sys/i386/conf/GENERIC Thu Dec 6 00:43:12 2012 (r243927) @@ -320,6 +320,7 @@ device firmware # firmware assist modul # Be aware of the administrative consequences of enabling this! # Note that 'bpf' is required for DHCP. device bpf # Berkeley packet filter +options BPFJIT # enable BPF just-in-time compiler # USB support options USB_DEBUG # enable debug msgs Modified: projects/bpfjit/sys/ia64/conf/GENERIC ============================================================================== --- projects/bpfjit/sys/ia64/conf/GENERIC Thu Dec 6 00:38:50 2012 (r243926) +++ projects/bpfjit/sys/ia64/conf/GENERIC Thu Dec 6 00:43:12 2012 (r243927) @@ -212,3 +212,4 @@ device firmware # firmware assist modul # Be aware of the administrative consequences of enabling this! # Note that 'bpf' is required for DHCP. device bpf # Berkeley packet filter +options BPFJIT # enable BPF just-in-time compiler Modified: projects/bpfjit/sys/pc98/conf/GENERIC ============================================================================== --- projects/bpfjit/sys/pc98/conf/GENERIC Thu Dec 6 00:38:50 2012 (r243926) +++ projects/bpfjit/sys/pc98/conf/GENERIC Thu Dec 6 00:43:12 2012 (r243927) @@ -231,6 +231,7 @@ device firmware # firmware assist modul # Be aware of the administrative consequences of enabling this! # Note that 'bpf' is required for DHCP. device bpf # Berkeley packet filter +options BPFJIT # enable BPF just-in-time compiler # USB support #options USB_DEBUG # enable debug msgs Modified: projects/bpfjit/sys/powerpc/conf/GENERIC ============================================================================== --- projects/bpfjit/sys/powerpc/conf/GENERIC Thu Dec 6 00:38:50 2012 (r243926) +++ projects/bpfjit/sys/powerpc/conf/GENERIC Thu Dec 6 00:43:12 2012 (r243927) @@ -157,6 +157,7 @@ device firmware # firmware assist modul # Be aware of the administrative consequences of enabling this! # Note that 'bpf' is required for DHCP. device bpf #Berkeley packet filter +options BPFJIT # enable BPF just-in-time compiler # USB support options USB_DEBUG # enable debug msgs From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 00:48:22 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 71EDAF3B; Thu, 6 Dec 2012 00:48:22 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 575728FC08; Thu, 6 Dec 2012 00:48:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB60mMhj021685; Thu, 6 Dec 2012 00:48:22 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB60mM9N021683; Thu, 6 Dec 2012 00:48:22 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212060048.qB60mM9N021683@svn.freebsd.org> From: Jung-uk Kim Date: Thu, 6 Dec 2012 00:48:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243928 - projects/bpfjit/sys/ia64/conf 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, 06 Dec 2012 00:48:22 -0000 Author: jkim Date: Thu Dec 6 00:48:21 2012 New Revision: 243928 URL: http://svnweb.freebsd.org/changeset/base/243928 Log: sljit does not support ia64, oops. Modified: projects/bpfjit/sys/ia64/conf/GENERIC projects/bpfjit/sys/ia64/conf/NOTES Modified: projects/bpfjit/sys/ia64/conf/GENERIC ============================================================================== --- projects/bpfjit/sys/ia64/conf/GENERIC Thu Dec 6 00:43:12 2012 (r243927) +++ projects/bpfjit/sys/ia64/conf/GENERIC Thu Dec 6 00:48:21 2012 (r243928) @@ -212,4 +212,3 @@ device firmware # firmware assist modul # Be aware of the administrative consequences of enabling this! # Note that 'bpf' is required for DHCP. device bpf # Berkeley packet filter -options BPFJIT # enable BPF just-in-time compiler Modified: projects/bpfjit/sys/ia64/conf/NOTES ============================================================================== --- projects/bpfjit/sys/ia64/conf/NOTES Thu Dec 6 00:43:12 2012 (r243927) +++ projects/bpfjit/sys/ia64/conf/NOTES Thu Dec 6 00:48:21 2012 (r243928) @@ -103,3 +103,5 @@ options AGP_DEBUG # The following devices are not supported. nodevice fdc nooption FDC_DEBUG + +nooption BPFJIT From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 00:50:00 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 3C6EFF0; Thu, 6 Dec 2012 00:50:00 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 21D608FC08; Thu, 6 Dec 2012 00:50:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB60o01N021935; Thu, 6 Dec 2012 00:50:00 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB60nxXk021929; Thu, 6 Dec 2012 00:50:00 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212060050.qB60nxXk021929@svn.freebsd.org> From: Jung-uk Kim Date: Thu, 6 Dec 2012 00:49:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243929 - projects/bpfjit 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, 06 Dec 2012 00:50:00 -0000 Author: jkim Date: Thu Dec 6 00:49:59 2012 New Revision: 243929 URL: http://svnweb.freebsd.org/changeset/base/243929 Log: Add an UPDATING entry for the BPF_JITTER deprecation. Modified: projects/bpfjit/UPDATING Modified: projects/bpfjit/UPDATING ============================================================================== --- projects/bpfjit/UPDATING Thu Dec 6 00:48:21 2012 (r243928) +++ projects/bpfjit/UPDATING Thu Dec 6 00:49:59 2012 (r243929) @@ -26,6 +26,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +XXXXXXXX: + The BPF_JITTER kernel option has been removed. Its functionality + is now replaced by BPFJIT option and the GENERIC kernels on all + supported architectures (i.e., amd64, i386, pc98, and powerpc) + include the new option. + 20121201: With the addition of auditdistd(8), a new auditdistd user is now depended on during installworld. "mergemaster -p" can be used to add From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 05:04:19 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 73DFC343; Thu, 6 Dec 2012 05:04:19 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 51C808FC13; Thu, 6 Dec 2012 05:04:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB654J9l067491; Thu, 6 Dec 2012 05:04:19 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB654Jss067490; Thu, 6 Dec 2012 05:04:19 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212060504.qB654Jss067490@svn.freebsd.org> From: Jung-uk Kim Date: Thu, 6 Dec 2012 05:04:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243936 - projects/bpfjit/tools/regression/bpf/bpf_filter 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, 06 Dec 2012 05:04:19 -0000 Author: jkim Date: Thu Dec 6 05:04:18 2012 New Revision: 243936 URL: http://svnweb.freebsd.org/changeset/base/243936 Log: Do not compile bpf_filter.c for bpfjit as it is not necessary in user land. Modified: projects/bpfjit/tools/regression/bpf/bpf_filter/Makefile Modified: projects/bpfjit/tools/regression/bpf/bpf_filter/Makefile ============================================================================== --- projects/bpfjit/tools/regression/bpf/bpf_filter/Makefile Thu Dec 6 01:44:19 2012 (r243935) +++ projects/bpfjit/tools/regression/bpf/bpf_filter/Makefile Thu Dec 6 05:04:18 2012 (r243936) @@ -24,7 +24,7 @@ TEST_CASES?= test0001 test0002 test0003 SYSDIR?= ${.CURDIR}/../../../../sys -SRCS= ${.CURDIR}/bpf_test.c ${SYSDIR}/net/bpf_filter.c +SRCS= ${.CURDIR}/bpf_test.c CFLAGS+= -g -I${SYSDIR} -I${.CURDIR}/tests @@ -47,8 +47,11 @@ CFLAGS+= -DSLJIT_VERBOSE=1 .else CFLAGS+= -DSLJIT_VERBOSE=0 .endif -.endif +WARNS?= 3 +.else +SRCS+= ${SYSDIR}/net/bpf_filter.c WARNS?= 2 +.endif .for TEST in ${TEST_CASES} ${TEST}: ${.CURDIR}/tests/${TEST}.h ${SRCS} From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 05:08:35 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 91BC6633; Thu, 6 Dec 2012 05:08:35 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6F3938FC16; Thu, 6 Dec 2012 05:08:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB658Z6G068283; Thu, 6 Dec 2012 05:08:35 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB658ZG4068281; Thu, 6 Dec 2012 05:08:35 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212060508.qB658ZG4068281@svn.freebsd.org> From: Jung-uk Kim Date: Thu, 6 Dec 2012 05:08:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243937 - projects/bpfjit 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, 06 Dec 2012 05:08:35 -0000 Author: jkim Date: Thu Dec 6 05:08:34 2012 New Revision: 243937 URL: http://svnweb.freebsd.org/changeset/base/243937 Log: Re-word the UPDATING entry for bpfjit. Modified: projects/bpfjit/UPDATING Modified: projects/bpfjit/UPDATING ============================================================================== --- projects/bpfjit/UPDATING Thu Dec 6 05:04:18 2012 (r243936) +++ projects/bpfjit/UPDATING Thu Dec 6 05:08:34 2012 (r243937) @@ -28,9 +28,8 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 XXXXXXXX: The BPF_JITTER kernel option has been removed. Its functionality - is now replaced by BPFJIT option and the GENERIC kernels on all - supported architectures (i.e., amd64, i386, pc98, and powerpc) - include the new option. + is now replaced with BPFJIT option and GENERIC kernel configurations + for amd64, i386, pc98, and powerpc architectures include the option. 20121201: With the addition of auditdistd(8), a new auditdistd user is now From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 08:43:56 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 079D3188; Thu, 6 Dec 2012 08:43:56 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id BD8028FC0C; Thu, 6 Dec 2012 08:43:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB68htEl001680; Thu, 6 Dec 2012 08:43:55 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB68hoPX001635; Thu, 6 Dec 2012 08:43:50 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201212060843.qB68hoPX001635@svn.freebsd.org> From: Alexander Motin Date: Thu, 6 Dec 2012 08:43:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243945 - in projects/calloutng: . cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/cmd/ztest contrib/less contrib/libc++/include contrib/llv... 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, 06 Dec 2012 08:43:56 -0000 Author: mav Date: Thu Dec 6 08:43:48 2012 New Revision: 243945 URL: http://svnweb.freebsd.org/changeset/base/243945 Log: MFC @r243900 Added: projects/calloutng/contrib/llvm/include/llvm/ADT/MapVector.h - copied unchanged from r243900, head/contrib/llvm/include/llvm/ADT/MapVector.h projects/calloutng/contrib/llvm/include/llvm/AddressingMode.h - copied unchanged from r243900, head/contrib/llvm/include/llvm/AddressingMode.h projects/calloutng/contrib/llvm/include/llvm/Analysis/DependenceAnalysis.h - copied unchanged from r243900, head/contrib/llvm/include/llvm/Analysis/DependenceAnalysis.h projects/calloutng/contrib/llvm/include/llvm/Analysis/ProfileDataLoader.h - copied unchanged from r243900, head/contrib/llvm/include/llvm/Analysis/ProfileDataLoader.h projects/calloutng/contrib/llvm/include/llvm/Analysis/ProfileDataTypes.h - copied unchanged from r243900, head/contrib/llvm/include/llvm/Analysis/ProfileDataTypes.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/CommandFlags.h - copied unchanged from r243900, head/contrib/llvm/include/llvm/CodeGen/CommandFlags.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/MachinePostDominators.h - copied unchanged from r243900, head/contrib/llvm/include/llvm/CodeGen/MachinePostDominators.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/ScheduleDAGILP.h - copied unchanged from r243900, head/contrib/llvm/include/llvm/CodeGen/ScheduleDAGILP.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/TargetSchedule.h - copied unchanged from r243900, head/contrib/llvm/include/llvm/CodeGen/TargetSchedule.h projects/calloutng/contrib/llvm/include/llvm/DataLayout.h - copied unchanged from r243900, head/contrib/llvm/include/llvm/DataLayout.h projects/calloutng/contrib/llvm/include/llvm/ExecutionEngine/ObjectBuffer.h - copied unchanged from r243900, head/contrib/llvm/include/llvm/ExecutionEngine/ObjectBuffer.h projects/calloutng/contrib/llvm/include/llvm/ExecutionEngine/ObjectImage.h - copied unchanged from r243900, head/contrib/llvm/include/llvm/ExecutionEngine/ObjectImage.h projects/calloutng/contrib/llvm/include/llvm/Object/RelocVisitor.h - copied unchanged from r243900, head/contrib/llvm/include/llvm/Object/RelocVisitor.h projects/calloutng/contrib/llvm/include/llvm/Target/TargetTransformImpl.h - copied unchanged from r243900, head/contrib/llvm/include/llvm/Target/TargetTransformImpl.h projects/calloutng/contrib/llvm/include/llvm/TargetTransformInfo.h - copied unchanged from r243900, head/contrib/llvm/include/llvm/TargetTransformInfo.h projects/calloutng/contrib/llvm/include/llvm/Transforms/Utils/BypassSlowDivision.h - copied unchanged from r243900, head/contrib/llvm/include/llvm/Transforms/Utils/BypassSlowDivision.h projects/calloutng/contrib/llvm/include/llvm/Transforms/Utils/IntegerDivision.h - copied unchanged from r243900, head/contrib/llvm/include/llvm/Transforms/Utils/IntegerDivision.h projects/calloutng/contrib/llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h - copied unchanged from r243900, head/contrib/llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h projects/calloutng/contrib/llvm/lib/Analysis/CostModel.cpp - copied unchanged from r243900, head/contrib/llvm/lib/Analysis/CostModel.cpp projects/calloutng/contrib/llvm/lib/Analysis/DependenceAnalysis.cpp - copied unchanged from r243900, head/contrib/llvm/lib/Analysis/DependenceAnalysis.cpp projects/calloutng/contrib/llvm/lib/Analysis/ProfileDataLoader.cpp - copied unchanged from r243900, head/contrib/llvm/lib/Analysis/ProfileDataLoader.cpp projects/calloutng/contrib/llvm/lib/Analysis/ProfileDataLoaderPass.cpp - copied unchanged from r243900, head/contrib/llvm/lib/Analysis/ProfileDataLoaderPass.cpp projects/calloutng/contrib/llvm/lib/CodeGen/MachinePostDominators.cpp - copied unchanged from r243900, head/contrib/llvm/lib/CodeGen/MachinePostDominators.cpp projects/calloutng/contrib/llvm/lib/CodeGen/StackColoring.cpp - copied unchanged from r243900, head/contrib/llvm/lib/CodeGen/StackColoring.cpp projects/calloutng/contrib/llvm/lib/CodeGen/TargetSchedule.cpp - copied unchanged from r243900, head/contrib/llvm/lib/CodeGen/TargetSchedule.cpp projects/calloutng/contrib/llvm/lib/DebugInfo/DWARFDebugRangeList.cpp - copied unchanged from r243900, head/contrib/llvm/lib/DebugInfo/DWARFDebugRangeList.cpp projects/calloutng/contrib/llvm/lib/DebugInfo/DWARFDebugRangeList.h - copied unchanged from r243900, head/contrib/llvm/lib/DebugInfo/DWARFDebugRangeList.h projects/calloutng/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventsWrapper.h - copied unchanged from r243900, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventsWrapper.h projects/calloutng/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/ittnotify_config.h - copied unchanged from r243900, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/ittnotify_config.h projects/calloutng/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/ittnotify_types.h - copied unchanged from r243900, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/ittnotify_types.h projects/calloutng/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.c - copied unchanged from r243900, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.c projects/calloutng/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.h - copied unchanged from r243900, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.h projects/calloutng/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/ObjectImageCommon.h - copied unchanged from r243900, head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/ObjectImageCommon.h projects/calloutng/contrib/llvm/lib/Target/ARM/ARMScheduleSwift.td - copied unchanged from r243900, head/contrib/llvm/lib/Target/ARM/ARMScheduleSwift.td projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp - copied unchanged from r243900, head/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.h - copied unchanged from r243900, head/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.h projects/calloutng/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsDirectObjLower.cpp - copied unchanged from r243900, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsDirectObjLower.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsDirectObjLower.h - copied unchanged from r243900, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsDirectObjLower.h projects/calloutng/contrib/llvm/lib/Target/Mips/MipsDSPInstrFormats.td - copied unchanged from r243900, head/contrib/llvm/lib/Target/Mips/MipsDSPInstrFormats.td projects/calloutng/contrib/llvm/lib/Target/Mips/MipsDSPInstrInfo.td - copied unchanged from r243900, head/contrib/llvm/lib/Target/Mips/MipsDSPInstrInfo.td projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCScheduleE500mc.td - copied unchanged from r243900, head/contrib/llvm/lib/Target/PowerPC/PPCScheduleE500mc.td projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCScheduleE5500.td - copied unchanged from r243900, head/contrib/llvm/lib/Target/PowerPC/PPCScheduleE5500.td projects/calloutng/contrib/llvm/lib/Target/TargetTransformImpl.cpp - copied unchanged from r243900, head/contrib/llvm/lib/Target/TargetTransformImpl.cpp projects/calloutng/contrib/llvm/lib/Target/X86/X86InstrTSX.td - copied unchanged from r243900, head/contrib/llvm/lib/Target/X86/X86InstrTSX.td projects/calloutng/contrib/llvm/lib/Transforms/IPO/BarrierNoopPass.cpp - copied unchanged from r243900, head/contrib/llvm/lib/Transforms/IPO/BarrierNoopPass.cpp projects/calloutng/contrib/llvm/lib/Transforms/Instrumentation/BlackList.cpp - copied unchanged from r243900, head/contrib/llvm/lib/Transforms/Instrumentation/BlackList.cpp projects/calloutng/contrib/llvm/lib/Transforms/Instrumentation/BlackList.h - copied unchanged from r243900, head/contrib/llvm/lib/Transforms/Instrumentation/BlackList.h projects/calloutng/contrib/llvm/lib/Transforms/Scalar/SROA.cpp - copied unchanged from r243900, head/contrib/llvm/lib/Transforms/Scalar/SROA.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/BypassSlowDivision.cpp - copied unchanged from r243900, head/contrib/llvm/lib/Transforms/Utils/BypassSlowDivision.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/IntegerDivision.cpp - copied unchanged from r243900, head/contrib/llvm/lib/Transforms/Utils/IntegerDivision.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/MetaRenamer.cpp - copied unchanged from r243900, head/contrib/llvm/lib/Transforms/Utils/MetaRenamer.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp - copied unchanged from r243900, head/contrib/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp projects/calloutng/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp - copied unchanged from r243900, head/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp projects/calloutng/contrib/llvm/lib/VMCore/AttributesImpl.h - copied unchanged from r243900, head/contrib/llvm/lib/VMCore/AttributesImpl.h projects/calloutng/contrib/llvm/lib/VMCore/DataLayout.cpp - copied unchanged from r243900, head/contrib/llvm/lib/VMCore/DataLayout.cpp projects/calloutng/contrib/llvm/lib/VMCore/TargetTransformInfo.cpp - copied unchanged from r243900, head/contrib/llvm/lib/VMCore/TargetTransformInfo.cpp projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/CommentCommands.td - copied unchanged from r243900, head/contrib/llvm/tools/clang/include/clang/AST/CommentCommands.td projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/CommentHTMLTags.td - copied unchanged from r243900, head/contrib/llvm/tools/clang/include/clang/AST/CommentHTMLTags.td projects/calloutng/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTTypeTraits.h - copied unchanged from r243900, head/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTTypeTraits.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Analysis/DomainSpecific/ObjCNoReturn.h - copied unchanged from r243900, head/contrib/llvm/tools/clang/include/clang/Analysis/DomainSpecific/ObjCNoReturn.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.def - copied unchanged from r243900, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.def projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.h - copied unchanged from r243900, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.def - copied unchanged from r243900, head/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.def projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def - copied unchanged from r243900, head/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def projects/calloutng/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearchOptions.h - copied unchanged from r243900, head/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearchOptions.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Lex/PPMutationListener.h - copied unchanged from r243900, head/contrib/llvm/tools/clang/include/clang/Lex/PPMutationListener.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorOptions.h - copied unchanged from r243900, head/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorOptions.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Rewrite/Core/ - copied from r243900, head/contrib/llvm/tools/clang/include/clang/Rewrite/Core/ projects/calloutng/contrib/llvm/tools/clang/include/clang/Rewrite/Frontend/ - copied from r243900, head/contrib/llvm/tools/clang/include/clang/Rewrite/Frontend/ projects/calloutng/contrib/llvm/tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h - copied unchanged from r243900, head/contrib/llvm/tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Analyses.def - copied unchanged from r243900, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Analyses.def projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h - copied unchanged from r243900, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h - copied unchanged from r243900, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Tooling/CommonOptionsParser.h - copied unchanged from r243900, head/contrib/llvm/tools/clang/include/clang/Tooling/CommonOptionsParser.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabasePluginRegistry.h - copied unchanged from r243900, head/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabasePluginRegistry.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Tooling/FileMatchTrie.h - copied unchanged from r243900, head/contrib/llvm/tools/clang/include/clang/Tooling/FileMatchTrie.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Tooling/JSONCompilationDatabase.h - copied unchanged from r243900, head/contrib/llvm/tools/clang/include/clang/Tooling/JSONCompilationDatabase.h projects/calloutng/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.cpp - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.h - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.h projects/calloutng/contrib/llvm/tools/clang/lib/Analysis/ObjCNoReturn.cpp - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/Analysis/ObjCNoReturn.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.h - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.h projects/calloutng/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_aes.h - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_aes.h projects/calloutng/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_pclmul.h - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_pclmul.h projects/calloutng/contrib/llvm/tools/clang/lib/Headers/f16cintrin.h - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/Headers/f16cintrin.h projects/calloutng/contrib/llvm/tools/clang/lib/Headers/rtmintrin.h - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/Headers/rtmintrin.h projects/calloutng/contrib/llvm/tools/clang/lib/Rewrite/Core/ - copied from r243900, head/contrib/llvm/tools/clang/lib/Rewrite/Core/ projects/calloutng/contrib/llvm/tools/clang/lib/Rewrite/Frontend/ - copied from r243900, head/contrib/llvm/tools/clang/lib/Rewrite/Frontend/ projects/calloutng/contrib/llvm/tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/ScopeInfo.cpp - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/Sema/ScopeInfo.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Tooling/CommonOptionsParser.cpp - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/Tooling/CommonOptionsParser.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Tooling/FileMatchTrie.cpp - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/Tooling/FileMatchTrie.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Tooling/JSONCompilationDatabase.cpp - copied unchanged from r243900, head/contrib/llvm/tools/clang/lib/Tooling/JSONCompilationDatabase.cpp projects/calloutng/contrib/llvm/tools/clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp - copied unchanged from r243900, head/contrib/llvm/tools/clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp projects/calloutng/contrib/llvm/tools/clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp - copied unchanged from r243900, head/contrib/llvm/tools/clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp projects/calloutng/contrib/llvm/tools/lli/RecordingMemoryManager.cpp - copied unchanged from r243900, head/contrib/llvm/tools/lli/RecordingMemoryManager.cpp projects/calloutng/contrib/llvm/tools/lli/RecordingMemoryManager.h - copied unchanged from r243900, head/contrib/llvm/tools/lli/RecordingMemoryManager.h projects/calloutng/contrib/llvm/tools/lli/RemoteTarget.cpp - copied unchanged from r243900, head/contrib/llvm/tools/lli/RemoteTarget.cpp projects/calloutng/contrib/llvm/tools/lli/RemoteTarget.h - copied unchanged from r243900, head/contrib/llvm/tools/lli/RemoteTarget.h projects/calloutng/contrib/llvm/utils/TableGen/CodeGenMapTable.cpp - copied unchanged from r243900, head/contrib/llvm/utils/TableGen/CodeGenMapTable.cpp projects/calloutng/contrib/openbsm/bin/auditdistd/ - copied from r243900, head/contrib/openbsm/bin/auditdistd/ projects/calloutng/contrib/openbsm/compat/closefrom.h - copied unchanged from r243900, head/contrib/openbsm/compat/closefrom.h projects/calloutng/contrib/openbsm/compat/compat.h - copied unchanged from r243900, head/contrib/openbsm/compat/compat.h projects/calloutng/contrib/openbsm/compat/endian_enc.h - copied unchanged from r243900, head/contrib/openbsm/compat/endian_enc.h projects/calloutng/contrib/openbsm/compat/flopen.h - copied unchanged from r243900, head/contrib/openbsm/compat/flopen.h projects/calloutng/contrib/openbsm/compat/pidfile.h - copied unchanged from r243900, head/contrib/openbsm/compat/pidfile.h projects/calloutng/contrib/openbsm/compat/vis.h - copied unchanged from r243900, head/contrib/openbsm/compat/vis.h projects/calloutng/contrib/openbsm/config/ylwrap - copied unchanged from r243900, head/contrib/openbsm/config/ylwrap projects/calloutng/contrib/openbsm/m4/ - copied from r243900, head/contrib/openbsm/m4/ projects/calloutng/etc/rc.d/auditdistd - copied unchanged from r243900, head/etc/rc.d/auditdistd projects/calloutng/lib/clang/include/MipsGenAsmMatcher.inc - copied unchanged from r243900, head/lib/clang/include/MipsGenAsmMatcher.inc projects/calloutng/lib/clang/include/MipsGenMCPseudoLowering.inc - copied unchanged from r243900, head/lib/clang/include/MipsGenMCPseudoLowering.inc projects/calloutng/lib/clang/include/clang/AST/CommentCommandInfo.inc - copied unchanged from r243900, head/lib/clang/include/clang/AST/CommentCommandInfo.inc projects/calloutng/lib/clang/include/clang/AST/CommentHTMLTags.inc - copied unchanged from r243900, head/lib/clang/include/clang/AST/CommentHTMLTags.inc projects/calloutng/lib/clang/include/clang/AST/CommentHTMLTagsProperties.inc - copied unchanged from r243900, head/lib/clang/include/clang/AST/CommentHTMLTagsProperties.inc projects/calloutng/lib/clang/libclangrewritecore/ - copied from r243900, head/lib/clang/libclangrewritecore/ projects/calloutng/lib/clang/libclangrewritefrontend/ - copied from r243900, head/lib/clang/libclangrewritefrontend/ projects/calloutng/sys/arm/broadcom/bcm2835/bcm2835_gpio.c - copied unchanged from r243900, head/sys/arm/broadcom/bcm2835/bcm2835_gpio.c projects/calloutng/sys/arm/conf/Makefile - copied unchanged from r243900, head/sys/arm/conf/Makefile projects/calloutng/sys/arm/conf/NOTES - copied unchanged from r243900, head/sys/arm/conf/NOTES projects/calloutng/sys/contrib/dev/acpica/components/disassembler/dmdeferred.c - copied unchanged from r243900, head/sys/contrib/dev/acpica/components/disassembler/dmdeferred.c projects/calloutng/sys/powerpc/wii/locore.S - copied unchanged from r243900, head/sys/powerpc/wii/locore.S projects/calloutng/sys/ufs/ffs/ffs_suspend.c - copied unchanged from r243900, head/sys/ufs/ffs/ffs_suspend.c projects/calloutng/tools/tools/ath/athalq/ar5416_ds_tdma.c - copied unchanged from r243900, head/tools/tools/ath/athalq/ar5416_ds_tdma.c projects/calloutng/usr.sbin/auditdistd/ - copied from r243900, head/usr.sbin/auditdistd/ projects/calloutng/usr.sbin/pkg/dns_utils.c - copied unchanged from r243900, head/usr.sbin/pkg/dns_utils.c projects/calloutng/usr.sbin/pkg/dns_utils.h - copied unchanged from r243900, head/usr.sbin/pkg/dns_utils.h Deleted: projects/calloutng/contrib/llvm/include/llvm/ADT/Trie.h projects/calloutng/contrib/llvm/include/llvm/Analysis/LoopDependenceAnalysis.h projects/calloutng/contrib/llvm/include/llvm/ExecutionEngine/IntelJITEventsWrapper.h projects/calloutng/contrib/llvm/include/llvm/TableGen/TableGenAction.h projects/calloutng/contrib/llvm/include/llvm/Target/TargetData.h projects/calloutng/contrib/llvm/include/llvm/Target/TargetELFWriterInfo.h projects/calloutng/contrib/llvm/lib/Analysis/LoopDependenceAnalysis.cpp projects/calloutng/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJITMemoryManager.cpp projects/calloutng/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJITMemoryManager.h projects/calloutng/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/ObjectImage.h projects/calloutng/contrib/llvm/lib/TableGen/TableGenAction.cpp projects/calloutng/contrib/llvm/lib/Target/AMDGPU/ projects/calloutng/contrib/llvm/lib/Target/ARM/ARMELFWriterInfo.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/ARMELFWriterInfo.h projects/calloutng/contrib/llvm/lib/Target/MBlaze/MBlazeELFWriterInfo.cpp projects/calloutng/contrib/llvm/lib/Target/MBlaze/MBlazeELFWriterInfo.h projects/calloutng/contrib/llvm/lib/Target/TargetData.cpp projects/calloutng/contrib/llvm/lib/Target/TargetELFWriterInfo.cpp projects/calloutng/contrib/llvm/lib/Target/X86/X86ELFWriterInfo.cpp projects/calloutng/contrib/llvm/lib/Target/X86/X86ELFWriterInfo.h projects/calloutng/contrib/llvm/lib/Target/X86/X86MCInstLower.h projects/calloutng/contrib/llvm/lib/Transforms/Instrumentation/FunctionBlackList.cpp projects/calloutng/contrib/llvm/lib/Transforms/Instrumentation/FunctionBlackList.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/Analyses.def projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/AnalyzerOptions.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticOptions.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/HeaderSearchOptions.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/PreprocessorOptions.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Rewrite/ASTConsumers.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Rewrite/DeltaTree.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Rewrite/FixItRewriter.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Rewrite/FrontendActions.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Rewrite/HTMLRewrite.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Rewrite/RewriteRope.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Rewrite/Rewriter.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Rewrite/Rewriters.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Rewrite/TokenRewriter.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/DereferenceChecker.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Tooling/CommandLineClangTool.h projects/calloutng/contrib/llvm/tools/clang/lib/Rewrite/DeltaTree.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Rewrite/FixItRewriter.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Rewrite/FrontendActions.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Rewrite/HTMLPrint.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Rewrite/HTMLRewrite.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Rewrite/InclusionRewriter.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Rewrite/RewriteMacros.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Rewrite/RewriteModernObjC.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Rewrite/RewriteObjC.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Rewrite/RewriteRope.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Rewrite/RewriteTest.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Rewrite/Rewriter.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Rewrite/TokenRewriter.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AdjustedReturnValueChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/OSAtomicChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicConstraintManager.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Tooling/CommandLineClangTool.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Tooling/CustomCompilationDatabase.h projects/calloutng/lib/clang/libclangrewrite/ Modified: projects/calloutng/Makefile.inc1 projects/calloutng/ObsoleteFiles.inc projects/calloutng/UPDATING projects/calloutng/cddl/contrib/opensolaris/cmd/zfs/zfs.8 projects/calloutng/cddl/contrib/opensolaris/cmd/zpool/zpool.8 projects/calloutng/cddl/contrib/opensolaris/cmd/ztest/ztest.c projects/calloutng/contrib/less/NEWS projects/calloutng/contrib/less/README projects/calloutng/contrib/less/configure.ac projects/calloutng/contrib/less/defines.h.in projects/calloutng/contrib/less/less.man projects/calloutng/contrib/less/less.nro projects/calloutng/contrib/less/lessecho.man projects/calloutng/contrib/less/lessecho.nro projects/calloutng/contrib/less/lesskey.man projects/calloutng/contrib/less/lesskey.nro projects/calloutng/contrib/less/option.c projects/calloutng/contrib/less/version.c projects/calloutng/contrib/libc++/include/__config projects/calloutng/contrib/libc++/include/cstdlib projects/calloutng/contrib/libc++/include/cwchar projects/calloutng/contrib/libc++/include/exception projects/calloutng/contrib/libc++/include/iterator projects/calloutng/contrib/libc++/include/locale projects/calloutng/contrib/llvm/include/llvm-c/Core.h projects/calloutng/contrib/llvm/include/llvm-c/Disassembler.h projects/calloutng/contrib/llvm/include/llvm-c/Target.h projects/calloutng/contrib/llvm/include/llvm-c/TargetMachine.h projects/calloutng/contrib/llvm/include/llvm-c/Transforms/Vectorize.h projects/calloutng/contrib/llvm/include/llvm/ADT/APFloat.h projects/calloutng/contrib/llvm/include/llvm/ADT/APInt.h projects/calloutng/contrib/llvm/include/llvm/ADT/ArrayRef.h projects/calloutng/contrib/llvm/include/llvm/ADT/BitVector.h projects/calloutng/contrib/llvm/include/llvm/ADT/DAGDeltaAlgorithm.h projects/calloutng/contrib/llvm/include/llvm/ADT/DeltaAlgorithm.h projects/calloutng/contrib/llvm/include/llvm/ADT/DenseMap.h projects/calloutng/contrib/llvm/include/llvm/ADT/DenseMapInfo.h projects/calloutng/contrib/llvm/include/llvm/ADT/EquivalenceClasses.h projects/calloutng/contrib/llvm/include/llvm/ADT/FoldingSet.h projects/calloutng/contrib/llvm/include/llvm/ADT/Hashing.h projects/calloutng/contrib/llvm/include/llvm/ADT/ImmutableList.h projects/calloutng/contrib/llvm/include/llvm/ADT/ImmutableMap.h projects/calloutng/contrib/llvm/include/llvm/ADT/ImmutableSet.h projects/calloutng/contrib/llvm/include/llvm/ADT/Optional.h projects/calloutng/contrib/llvm/include/llvm/ADT/OwningPtr.h projects/calloutng/contrib/llvm/include/llvm/ADT/PackedVector.h projects/calloutng/contrib/llvm/include/llvm/ADT/PointerIntPair.h projects/calloutng/contrib/llvm/include/llvm/ADT/ScopedHashTable.h projects/calloutng/contrib/llvm/include/llvm/ADT/SetVector.h projects/calloutng/contrib/llvm/include/llvm/ADT/SmallBitVector.h projects/calloutng/contrib/llvm/include/llvm/ADT/SmallPtrSet.h projects/calloutng/contrib/llvm/include/llvm/ADT/SmallString.h projects/calloutng/contrib/llvm/include/llvm/ADT/SmallVector.h projects/calloutng/contrib/llvm/include/llvm/ADT/SparseBitVector.h projects/calloutng/contrib/llvm/include/llvm/ADT/SparseSet.h projects/calloutng/contrib/llvm/include/llvm/ADT/StringExtras.h projects/calloutng/contrib/llvm/include/llvm/ADT/StringRef.h projects/calloutng/contrib/llvm/include/llvm/ADT/StringSet.h projects/calloutng/contrib/llvm/include/llvm/ADT/Triple.h projects/calloutng/contrib/llvm/include/llvm/ADT/Twine.h projects/calloutng/contrib/llvm/include/llvm/ADT/ValueMap.h projects/calloutng/contrib/llvm/include/llvm/ADT/ilist.h projects/calloutng/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h projects/calloutng/contrib/llvm/include/llvm/Analysis/AliasSetTracker.h projects/calloutng/contrib/llvm/include/llvm/Analysis/BranchProbabilityInfo.h projects/calloutng/contrib/llvm/include/llvm/Analysis/CallGraph.h projects/calloutng/contrib/llvm/include/llvm/Analysis/CaptureTracking.h projects/calloutng/contrib/llvm/include/llvm/Analysis/CodeMetrics.h projects/calloutng/contrib/llvm/include/llvm/Analysis/ConstantFolding.h projects/calloutng/contrib/llvm/include/llvm/Analysis/Dominators.h projects/calloutng/contrib/llvm/include/llvm/Analysis/IVUsers.h projects/calloutng/contrib/llvm/include/llvm/Analysis/InlineCost.h projects/calloutng/contrib/llvm/include/llvm/Analysis/InstructionSimplify.h projects/calloutng/contrib/llvm/include/llvm/Analysis/IntervalPartition.h projects/calloutng/contrib/llvm/include/llvm/Analysis/LazyValueInfo.h projects/calloutng/contrib/llvm/include/llvm/Analysis/Loads.h projects/calloutng/contrib/llvm/include/llvm/Analysis/LoopInfo.h projects/calloutng/contrib/llvm/include/llvm/Analysis/LoopInfoImpl.h projects/calloutng/contrib/llvm/include/llvm/Analysis/MemoryBuiltins.h projects/calloutng/contrib/llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h projects/calloutng/contrib/llvm/include/llvm/Analysis/PHITransAddr.h projects/calloutng/contrib/llvm/include/llvm/Analysis/Passes.h projects/calloutng/contrib/llvm/include/llvm/Analysis/ProfileInfoTypes.h projects/calloutng/contrib/llvm/include/llvm/Analysis/RegionInfo.h projects/calloutng/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h projects/calloutng/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h projects/calloutng/contrib/llvm/include/llvm/Analysis/SparsePropagation.h projects/calloutng/contrib/llvm/include/llvm/Analysis/ValueTracking.h projects/calloutng/contrib/llvm/include/llvm/Argument.h projects/calloutng/contrib/llvm/include/llvm/Attributes.h projects/calloutng/contrib/llvm/include/llvm/BasicBlock.h projects/calloutng/contrib/llvm/include/llvm/Bitcode/Archive.h projects/calloutng/contrib/llvm/include/llvm/Bitcode/BitstreamReader.h projects/calloutng/contrib/llvm/include/llvm/Bitcode/BitstreamWriter.h projects/calloutng/contrib/llvm/include/llvm/Bitcode/LLVMBitCodes.h projects/calloutng/contrib/llvm/include/llvm/CallingConv.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/FastISel.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/GCMetadata.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/GCMetadataPrinter.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/IntrinsicLowering.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/LiveInterval.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/LiveVariables.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/MachineBranchProbabilityInfo.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/MachineConstantPool.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/MachineFunction.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/MachineInstr.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/MachineInstrBundle.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/MachineJumpTableInfo.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/MachineLoopInfo.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/MachineMemOperand.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/MachineOperand.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/MachineRegisterInfo.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/MachineSSAUpdater.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/MachineScheduler.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/PBQP/Graph.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/PBQP/HeuristicBase.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/Passes.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/PseudoSourceValue.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/RegAllocPBQP.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/RegisterClassInfo.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/RegisterPressure.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/RegisterScavenging.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/ScheduleDAG.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/SchedulerRegistry.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/ValueTypes.h projects/calloutng/contrib/llvm/include/llvm/CodeGen/ValueTypes.td projects/calloutng/contrib/llvm/include/llvm/Constant.h projects/calloutng/contrib/llvm/include/llvm/Constants.h projects/calloutng/contrib/llvm/include/llvm/DIBuilder.h projects/calloutng/contrib/llvm/include/llvm/DebugInfo.h projects/calloutng/contrib/llvm/include/llvm/DebugInfo/DIContext.h projects/calloutng/contrib/llvm/include/llvm/DefaultPasses.h projects/calloutng/contrib/llvm/include/llvm/DerivedTypes.h projects/calloutng/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h projects/calloutng/contrib/llvm/include/llvm/ExecutionEngine/JITEventListener.h projects/calloutng/contrib/llvm/include/llvm/ExecutionEngine/JITMemoryManager.h projects/calloutng/contrib/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h projects/calloutng/contrib/llvm/include/llvm/Function.h projects/calloutng/contrib/llvm/include/llvm/GlobalAlias.h projects/calloutng/contrib/llvm/include/llvm/GlobalValue.h projects/calloutng/contrib/llvm/include/llvm/GlobalVariable.h projects/calloutng/contrib/llvm/include/llvm/IRBuilder.h projects/calloutng/contrib/llvm/include/llvm/InitializePasses.h projects/calloutng/contrib/llvm/include/llvm/InlineAsm.h projects/calloutng/contrib/llvm/include/llvm/InstrTypes.h projects/calloutng/contrib/llvm/include/llvm/Instruction.h projects/calloutng/contrib/llvm/include/llvm/Instructions.h projects/calloutng/contrib/llvm/include/llvm/IntrinsicInst.h projects/calloutng/contrib/llvm/include/llvm/Intrinsics.h projects/calloutng/contrib/llvm/include/llvm/Intrinsics.td projects/calloutng/contrib/llvm/include/llvm/IntrinsicsARM.td projects/calloutng/contrib/llvm/include/llvm/IntrinsicsMips.td projects/calloutng/contrib/llvm/include/llvm/IntrinsicsX86.td projects/calloutng/contrib/llvm/include/llvm/LLVMContext.h projects/calloutng/contrib/llvm/include/llvm/LinkAllPasses.h projects/calloutng/contrib/llvm/include/llvm/MC/MCAsmBackend.h projects/calloutng/contrib/llvm/include/llvm/MC/MCAsmInfo.h projects/calloutng/contrib/llvm/include/llvm/MC/MCAssembler.h projects/calloutng/contrib/llvm/include/llvm/MC/MCCodeEmitter.h projects/calloutng/contrib/llvm/include/llvm/MC/MCContext.h projects/calloutng/contrib/llvm/include/llvm/MC/MCDwarf.h projects/calloutng/contrib/llvm/include/llvm/MC/MCELFObjectWriter.h projects/calloutng/contrib/llvm/include/llvm/MC/MCExpr.h projects/calloutng/contrib/llvm/include/llvm/MC/MCInst.h projects/calloutng/contrib/llvm/include/llvm/MC/MCInstPrinter.h projects/calloutng/contrib/llvm/include/llvm/MC/MCInstrDesc.h projects/calloutng/contrib/llvm/include/llvm/MC/MCLabel.h projects/calloutng/contrib/llvm/include/llvm/MC/MCMachObjectWriter.h projects/calloutng/contrib/llvm/include/llvm/MC/MCObjectFileInfo.h projects/calloutng/contrib/llvm/include/llvm/MC/MCObjectStreamer.h projects/calloutng/contrib/llvm/include/llvm/MC/MCObjectWriter.h projects/calloutng/contrib/llvm/include/llvm/MC/MCParser/AsmLexer.h projects/calloutng/contrib/llvm/include/llvm/MC/MCParser/MCAsmLexer.h projects/calloutng/contrib/llvm/include/llvm/MC/MCParser/MCAsmParser.h projects/calloutng/contrib/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h projects/calloutng/contrib/llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h projects/calloutng/contrib/llvm/include/llvm/MC/MCRegisterInfo.h projects/calloutng/contrib/llvm/include/llvm/MC/MCSchedule.h projects/calloutng/contrib/llvm/include/llvm/MC/MCSection.h projects/calloutng/contrib/llvm/include/llvm/MC/MCSectionCOFF.h projects/calloutng/contrib/llvm/include/llvm/MC/MCSectionELF.h projects/calloutng/contrib/llvm/include/llvm/MC/MCSectionMachO.h projects/calloutng/contrib/llvm/include/llvm/MC/MCStreamer.h projects/calloutng/contrib/llvm/include/llvm/MC/MCSubtargetInfo.h projects/calloutng/contrib/llvm/include/llvm/MC/MCSymbol.h projects/calloutng/contrib/llvm/include/llvm/MC/MCTargetAsmLexer.h projects/calloutng/contrib/llvm/include/llvm/MC/MCTargetAsmParser.h projects/calloutng/contrib/llvm/include/llvm/MC/MCValue.h projects/calloutng/contrib/llvm/include/llvm/MC/SubtargetFeature.h projects/calloutng/contrib/llvm/include/llvm/MDBuilder.h projects/calloutng/contrib/llvm/include/llvm/Metadata.h projects/calloutng/contrib/llvm/include/llvm/Object/Archive.h projects/calloutng/contrib/llvm/include/llvm/Object/Binary.h projects/calloutng/contrib/llvm/include/llvm/Object/COFF.h projects/calloutng/contrib/llvm/include/llvm/Object/ELF.h projects/calloutng/contrib/llvm/include/llvm/Object/MachO.h projects/calloutng/contrib/llvm/include/llvm/Object/MachOFormat.h projects/calloutng/contrib/llvm/include/llvm/Object/ObjectFile.h projects/calloutng/contrib/llvm/include/llvm/Operator.h projects/calloutng/contrib/llvm/include/llvm/Pass.h projects/calloutng/contrib/llvm/include/llvm/PassAnalysisSupport.h projects/calloutng/contrib/llvm/include/llvm/PassSupport.h projects/calloutng/contrib/llvm/include/llvm/Support/AlignOf.h projects/calloutng/contrib/llvm/include/llvm/Support/Allocator.h projects/calloutng/contrib/llvm/include/llvm/Support/CallSite.h projects/calloutng/contrib/llvm/include/llvm/Support/Casting.h projects/calloutng/contrib/llvm/include/llvm/Support/CommandLine.h projects/calloutng/contrib/llvm/include/llvm/Support/Compiler.h projects/calloutng/contrib/llvm/include/llvm/Support/DataExtractor.h projects/calloutng/contrib/llvm/include/llvm/Support/ELF.h projects/calloutng/contrib/llvm/include/llvm/Support/FileOutputBuffer.h projects/calloutng/contrib/llvm/include/llvm/Support/FileSystem.h projects/calloutng/contrib/llvm/include/llvm/Support/Format.h projects/calloutng/contrib/llvm/include/llvm/Support/FormattedStream.h projects/calloutng/contrib/llvm/include/llvm/Support/GCOV.h projects/calloutng/contrib/llvm/include/llvm/Support/InstVisitor.h projects/calloutng/contrib/llvm/include/llvm/Support/IntegersSubset.h projects/calloutng/contrib/llvm/include/llvm/Support/IntegersSubsetMapping.h projects/calloutng/contrib/llvm/include/llvm/Support/LEB128.h projects/calloutng/contrib/llvm/include/llvm/Support/LockFileManager.h projects/calloutng/contrib/llvm/include/llvm/Support/MathExtras.h projects/calloutng/contrib/llvm/include/llvm/Support/Memory.h projects/calloutng/contrib/llvm/include/llvm/Support/MemoryBuffer.h projects/calloutng/contrib/llvm/include/llvm/Support/Mutex.h projects/calloutng/contrib/llvm/include/llvm/Support/MutexGuard.h projects/calloutng/contrib/llvm/include/llvm/Support/PathV1.h projects/calloutng/contrib/llvm/include/llvm/Support/PathV2.h projects/calloutng/contrib/llvm/include/llvm/Support/PrettyStackTrace.h projects/calloutng/contrib/llvm/include/llvm/Support/Program.h projects/calloutng/contrib/llvm/include/llvm/Support/RWMutex.h projects/calloutng/contrib/llvm/include/llvm/Support/Regex.h projects/calloutng/contrib/llvm/include/llvm/Support/Registry.h projects/calloutng/contrib/llvm/include/llvm/Support/SourceMgr.h projects/calloutng/contrib/llvm/include/llvm/Support/StreamableMemoryObject.h projects/calloutng/contrib/llvm/include/llvm/Support/TargetFolder.h projects/calloutng/contrib/llvm/include/llvm/Support/TargetRegistry.h projects/calloutng/contrib/llvm/include/llvm/Support/Threading.h projects/calloutng/contrib/llvm/include/llvm/Support/TimeValue.h projects/calloutng/contrib/llvm/include/llvm/Support/Timer.h projects/calloutng/contrib/llvm/include/llvm/Support/ValueHandle.h projects/calloutng/contrib/llvm/include/llvm/Support/YAMLParser.h projects/calloutng/contrib/llvm/include/llvm/Support/circular_raw_ostream.h projects/calloutng/contrib/llvm/include/llvm/Support/raw_os_ostream.h projects/calloutng/contrib/llvm/include/llvm/Support/raw_ostream.h projects/calloutng/contrib/llvm/include/llvm/Support/system_error.h projects/calloutng/contrib/llvm/include/llvm/Support/type_traits.h projects/calloutng/contrib/llvm/include/llvm/SymbolTableListTraits.h projects/calloutng/contrib/llvm/include/llvm/TableGen/Error.h projects/calloutng/contrib/llvm/include/llvm/TableGen/Main.h projects/calloutng/contrib/llvm/include/llvm/TableGen/Record.h projects/calloutng/contrib/llvm/include/llvm/Target/Mangler.h projects/calloutng/contrib/llvm/include/llvm/Target/Target.td projects/calloutng/contrib/llvm/include/llvm/Target/TargetCallingConv.h projects/calloutng/contrib/llvm/include/llvm/Target/TargetInstrInfo.h projects/calloutng/contrib/llvm/include/llvm/Target/TargetIntrinsicInfo.h projects/calloutng/contrib/llvm/include/llvm/Target/TargetLibraryInfo.h projects/calloutng/contrib/llvm/include/llvm/Target/TargetLowering.h projects/calloutng/contrib/llvm/include/llvm/Target/TargetLoweringObjectFile.h projects/calloutng/contrib/llvm/include/llvm/Target/TargetMachine.h projects/calloutng/contrib/llvm/include/llvm/Target/TargetOpcodes.h projects/calloutng/contrib/llvm/include/llvm/Target/TargetOptions.h projects/calloutng/contrib/llvm/include/llvm/Target/TargetRegisterInfo.h projects/calloutng/contrib/llvm/include/llvm/Target/TargetSchedule.td projects/calloutng/contrib/llvm/include/llvm/Target/TargetSelectionDAG.td projects/calloutng/contrib/llvm/include/llvm/Target/TargetSelectionDAGInfo.h projects/calloutng/contrib/llvm/include/llvm/Target/TargetSubtargetInfo.h projects/calloutng/contrib/llvm/include/llvm/Transforms/IPO.h projects/calloutng/contrib/llvm/include/llvm/Transforms/IPO/InlinerPass.h projects/calloutng/contrib/llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h projects/calloutng/contrib/llvm/include/llvm/Transforms/Instrumentation.h projects/calloutng/contrib/llvm/include/llvm/Transforms/Scalar.h projects/calloutng/contrib/llvm/include/llvm/Transforms/Utils/AddrModeMatcher.h projects/calloutng/contrib/llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h projects/calloutng/contrib/llvm/include/llvm/Transforms/Utils/BuildLibCalls.h projects/calloutng/contrib/llvm/include/llvm/Transforms/Utils/Cloning.h projects/calloutng/contrib/llvm/include/llvm/Transforms/Utils/Local.h projects/calloutng/contrib/llvm/include/llvm/Transforms/Utils/SSAUpdater.h projects/calloutng/contrib/llvm/include/llvm/Transforms/Utils/SimplifyIndVar.h projects/calloutng/contrib/llvm/include/llvm/Transforms/Utils/ValueMapper.h projects/calloutng/contrib/llvm/include/llvm/Transforms/Vectorize.h projects/calloutng/contrib/llvm/include/llvm/Type.h projects/calloutng/contrib/llvm/include/llvm/Use.h projects/calloutng/contrib/llvm/include/llvm/User.h projects/calloutng/contrib/llvm/include/llvm/Value.h projects/calloutng/contrib/llvm/lib/Analysis/AliasAnalysis.cpp projects/calloutng/contrib/llvm/lib/Analysis/AliasSetTracker.cpp projects/calloutng/contrib/llvm/lib/Analysis/Analysis.cpp projects/calloutng/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp projects/calloutng/contrib/llvm/lib/Analysis/BranchProbabilityInfo.cpp projects/calloutng/contrib/llvm/lib/Analysis/CaptureTracking.cpp projects/calloutng/contrib/llvm/lib/Analysis/CodeMetrics.cpp projects/calloutng/contrib/llvm/lib/Analysis/ConstantFolding.cpp projects/calloutng/contrib/llvm/lib/Analysis/DominanceFrontier.cpp projects/calloutng/contrib/llvm/lib/Analysis/IPA/CallGraph.cpp projects/calloutng/contrib/llvm/lib/Analysis/IPA/GlobalsModRef.cpp projects/calloutng/contrib/llvm/lib/Analysis/IVUsers.cpp projects/calloutng/contrib/llvm/lib/Analysis/InlineCost.cpp projects/calloutng/contrib/llvm/lib/Analysis/InstructionSimplify.cpp projects/calloutng/contrib/llvm/lib/Analysis/LazyValueInfo.cpp projects/calloutng/contrib/llvm/lib/Analysis/Lint.cpp projects/calloutng/contrib/llvm/lib/Analysis/Loads.cpp projects/calloutng/contrib/llvm/lib/Analysis/LoopInfo.cpp projects/calloutng/contrib/llvm/lib/Analysis/MemoryBuiltins.cpp projects/calloutng/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp projects/calloutng/contrib/llvm/lib/Analysis/NoAliasAnalysis.cpp projects/calloutng/contrib/llvm/lib/Analysis/PHITransAddr.cpp projects/calloutng/contrib/llvm/lib/Analysis/ProfileEstimatorPass.cpp projects/calloutng/contrib/llvm/lib/Analysis/ProfileInfo.cpp projects/calloutng/contrib/llvm/lib/Analysis/RegionInfo.cpp projects/calloutng/contrib/llvm/lib/Analysis/RegionPass.cpp projects/calloutng/contrib/llvm/lib/Analysis/ScalarEvolution.cpp projects/calloutng/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp projects/calloutng/contrib/llvm/lib/Analysis/Trace.cpp projects/calloutng/contrib/llvm/lib/Analysis/ValueTracking.cpp projects/calloutng/contrib/llvm/lib/Archive/ArchiveInternals.h projects/calloutng/contrib/llvm/lib/Archive/ArchiveReader.cpp projects/calloutng/contrib/llvm/lib/AsmParser/LLLexer.cpp projects/calloutng/contrib/llvm/lib/AsmParser/LLParser.cpp projects/calloutng/contrib/llvm/lib/AsmParser/LLParser.h projects/calloutng/contrib/llvm/lib/AsmParser/LLToken.h projects/calloutng/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp projects/calloutng/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.h projects/calloutng/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp projects/calloutng/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.h projects/calloutng/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp projects/calloutng/contrib/llvm/lib/CodeGen/AllocationOrder.cpp projects/calloutng/contrib/llvm/lib/CodeGen/Analysis.cpp projects/calloutng/contrib/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp projects/calloutng/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp projects/calloutng/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp projects/calloutng/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp projects/calloutng/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.cpp projects/calloutng/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.h projects/calloutng/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp projects/calloutng/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.h projects/calloutng/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp projects/calloutng/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp projects/calloutng/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h projects/calloutng/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp projects/calloutng/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h projects/calloutng/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.cpp projects/calloutng/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.h projects/calloutng/contrib/llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp projects/calloutng/contrib/llvm/lib/CodeGen/AsmPrinter/Win64Exception.cpp projects/calloutng/contrib/llvm/lib/CodeGen/BranchFolding.cpp projects/calloutng/contrib/llvm/lib/CodeGen/CalcSpillWeights.cpp projects/calloutng/contrib/llvm/lib/CodeGen/CallingConvLower.cpp projects/calloutng/contrib/llvm/lib/CodeGen/CodeGen.cpp projects/calloutng/contrib/llvm/lib/CodeGen/CodePlacementOpt.cpp projects/calloutng/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp projects/calloutng/contrib/llvm/lib/CodeGen/DeadMachineInstructionElim.cpp projects/calloutng/contrib/llvm/lib/CodeGen/EarlyIfConversion.cpp projects/calloutng/contrib/llvm/lib/CodeGen/ExecutionDepsFix.cpp projects/calloutng/contrib/llvm/lib/CodeGen/ExpandPostRAPseudos.cpp projects/calloutng/contrib/llvm/lib/CodeGen/GCStrategy.cpp projects/calloutng/contrib/llvm/lib/CodeGen/IfConversion.cpp projects/calloutng/contrib/llvm/lib/CodeGen/InlineSpiller.cpp projects/calloutng/contrib/llvm/lib/CodeGen/IntrinsicLowering.cpp projects/calloutng/contrib/llvm/lib/CodeGen/LiveDebugVariables.cpp projects/calloutng/contrib/llvm/lib/CodeGen/LiveInterval.cpp projects/calloutng/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp projects/calloutng/contrib/llvm/lib/CodeGen/LiveIntervalUnion.h projects/calloutng/contrib/llvm/lib/CodeGen/LiveRangeCalc.cpp projects/calloutng/contrib/llvm/lib/CodeGen/LiveRangeEdit.cpp projects/calloutng/contrib/llvm/lib/CodeGen/LiveRegMatrix.cpp projects/calloutng/contrib/llvm/lib/CodeGen/LiveRegMatrix.h projects/calloutng/contrib/llvm/lib/CodeGen/LiveStackAnalysis.cpp projects/calloutng/contrib/llvm/lib/CodeGen/LiveVariables.cpp projects/calloutng/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp projects/calloutng/contrib/llvm/lib/CodeGen/MachineBlockPlacement.cpp projects/calloutng/contrib/llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp projects/calloutng/contrib/llvm/lib/CodeGen/MachineCSE.cpp projects/calloutng/contrib/llvm/lib/CodeGen/MachineCopyPropagation.cpp projects/calloutng/contrib/llvm/lib/CodeGen/MachineFunction.cpp projects/calloutng/contrib/llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp projects/calloutng/contrib/llvm/lib/CodeGen/MachineInstr.cpp projects/calloutng/contrib/llvm/lib/CodeGen/MachineInstrBundle.cpp projects/calloutng/contrib/llvm/lib/CodeGen/MachineLICM.cpp projects/calloutng/contrib/llvm/lib/CodeGen/MachineLoopInfo.cpp projects/calloutng/contrib/llvm/lib/CodeGen/MachineModuleInfo.cpp projects/calloutng/contrib/llvm/lib/CodeGen/MachineModuleInfoImpls.cpp projects/calloutng/contrib/llvm/lib/CodeGen/MachineRegisterInfo.cpp projects/calloutng/contrib/llvm/lib/CodeGen/MachineScheduler.cpp projects/calloutng/contrib/llvm/lib/CodeGen/MachineSink.cpp projects/calloutng/contrib/llvm/lib/CodeGen/MachineTraceMetrics.cpp projects/calloutng/contrib/llvm/lib/CodeGen/MachineTraceMetrics.h projects/calloutng/contrib/llvm/lib/CodeGen/MachineVerifier.cpp projects/calloutng/contrib/llvm/lib/CodeGen/Passes.cpp projects/calloutng/contrib/llvm/lib/CodeGen/PeepholeOptimizer.cpp projects/calloutng/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp projects/calloutng/contrib/llvm/lib/CodeGen/ProcessImplicitDefs.cpp projects/calloutng/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp projects/calloutng/contrib/llvm/lib/CodeGen/RegAllocBasic.cpp projects/calloutng/contrib/llvm/lib/CodeGen/RegAllocFast.cpp projects/calloutng/contrib/llvm/lib/CodeGen/RegAllocGreedy.cpp projects/calloutng/contrib/llvm/lib/CodeGen/RegAllocPBQP.cpp projects/calloutng/contrib/llvm/lib/CodeGen/RegisterClassInfo.cpp projects/calloutng/contrib/llvm/lib/CodeGen/RegisterCoalescer.cpp projects/calloutng/contrib/llvm/lib/CodeGen/RegisterCoalescer.h projects/calloutng/contrib/llvm/lib/CodeGen/RegisterPressure.cpp projects/calloutng/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp projects/calloutng/contrib/llvm/lib/CodeGen/ScheduleDAG.cpp projects/calloutng/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp projects/calloutng/contrib/llvm/lib/CodeGen/ScheduleDAGPrinter.cpp projects/calloutng/contrib/llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/SDNodeOrdering.h projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SelectionDAG/TargetSelectionDAGInfo.cpp projects/calloutng/contrib/llvm/lib/CodeGen/ShrinkWrapping.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SjLjEHPrepare.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SlotIndexes.cpp projects/calloutng/contrib/llvm/lib/CodeGen/SplitKit.cpp projects/calloutng/contrib/llvm/lib/CodeGen/StackProtector.cpp projects/calloutng/contrib/llvm/lib/CodeGen/StackSlotColoring.cpp projects/calloutng/contrib/llvm/lib/CodeGen/StrongPHIElimination.cpp projects/calloutng/contrib/llvm/lib/CodeGen/TailDuplication.cpp projects/calloutng/contrib/llvm/lib/CodeGen/TargetInstrInfoImpl.cpp projects/calloutng/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp projects/calloutng/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp projects/calloutng/contrib/llvm/lib/CodeGen/VirtRegMap.cpp projects/calloutng/contrib/llvm/lib/CodeGen/VirtRegMap.h projects/calloutng/contrib/llvm/lib/DebugInfo/DIContext.cpp projects/calloutng/contrib/llvm/lib/DebugInfo/DWARFCompileUnit.cpp projects/calloutng/contrib/llvm/lib/DebugInfo/DWARFCompileUnit.h projects/calloutng/contrib/llvm/lib/DebugInfo/DWARFContext.cpp projects/calloutng/contrib/llvm/lib/DebugInfo/DWARFContext.h projects/calloutng/contrib/llvm/lib/DebugInfo/DWARFDebugAranges.cpp projects/calloutng/contrib/llvm/lib/DebugInfo/DWARFDebugInfoEntry.cpp projects/calloutng/contrib/llvm/lib/DebugInfo/DWARFDebugInfoEntry.h projects/calloutng/contrib/llvm/lib/DebugInfo/DWARFDebugLine.cpp projects/calloutng/contrib/llvm/lib/DebugInfo/DWARFDebugLine.h projects/calloutng/contrib/llvm/lib/DebugInfo/DWARFFormValue.cpp projects/calloutng/contrib/llvm/lib/DebugInfo/DWARFFormValue.h projects/calloutng/contrib/llvm/lib/ExecutionEngine/ExecutionEngine.cpp projects/calloutng/contrib/llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp projects/calloutng/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp projects/calloutng/contrib/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp projects/calloutng/contrib/llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp projects/calloutng/contrib/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h projects/calloutng/contrib/llvm/lib/ExecutionEngine/JIT/JIT.cpp projects/calloutng/contrib/llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp projects/calloutng/contrib/llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.h projects/calloutng/contrib/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp projects/calloutng/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp projects/calloutng/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h projects/calloutng/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp projects/calloutng/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/JITRegistrar.h projects/calloutng/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp projects/calloutng/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp projects/calloutng/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h projects/calloutng/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h projects/calloutng/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp projects/calloutng/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h projects/calloutng/contrib/llvm/lib/ExecutionEngine/TargetSelect.cpp projects/calloutng/contrib/llvm/lib/MC/ELFObjectWriter.cpp projects/calloutng/contrib/llvm/lib/MC/MCAsmBackend.cpp projects/calloutng/contrib/llvm/lib/MC/MCAsmInfo.cpp projects/calloutng/contrib/llvm/lib/MC/MCAsmInfoCOFF.cpp projects/calloutng/contrib/llvm/lib/MC/MCAsmInfoDarwin.cpp projects/calloutng/contrib/llvm/lib/MC/MCAsmStreamer.cpp projects/calloutng/contrib/llvm/lib/MC/MCAssembler.cpp projects/calloutng/contrib/llvm/lib/MC/MCContext.cpp projects/calloutng/contrib/llvm/lib/MC/MCDisassembler/Disassembler.cpp projects/calloutng/contrib/llvm/lib/MC/MCDisassembler/EDDisassembler.cpp projects/calloutng/contrib/llvm/lib/MC/MCDwarf.cpp projects/calloutng/contrib/llvm/lib/MC/MCELFObjectTargetWriter.cpp projects/calloutng/contrib/llvm/lib/MC/MCELFStreamer.cpp projects/calloutng/contrib/llvm/lib/MC/MCExpr.cpp projects/calloutng/contrib/llvm/lib/MC/MCInst.cpp projects/calloutng/contrib/llvm/lib/MC/MCInstPrinter.cpp projects/calloutng/contrib/llvm/lib/MC/MCLabel.cpp projects/calloutng/contrib/llvm/lib/MC/MCMachOStreamer.cpp projects/calloutng/contrib/llvm/lib/MC/MCObjectFileInfo.cpp projects/calloutng/contrib/llvm/lib/MC/MCObjectStreamer.cpp projects/calloutng/contrib/llvm/lib/MC/MCParser/AsmLexer.cpp projects/calloutng/contrib/llvm/lib/MC/MCParser/AsmParser.cpp projects/calloutng/contrib/llvm/lib/MC/MCParser/ELFAsmParser.cpp projects/calloutng/contrib/llvm/lib/MC/MCParser/MCAsmLexer.cpp projects/calloutng/contrib/llvm/lib/MC/MCParser/MCAsmParser.cpp projects/calloutng/contrib/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp projects/calloutng/contrib/llvm/lib/MC/MCRegisterInfo.cpp projects/calloutng/contrib/llvm/lib/MC/MCStreamer.cpp projects/calloutng/contrib/llvm/lib/MC/MCSubtargetInfo.cpp projects/calloutng/contrib/llvm/lib/MC/MCSymbol.cpp projects/calloutng/contrib/llvm/lib/MC/MCValue.cpp projects/calloutng/contrib/llvm/lib/MC/MachObjectWriter.cpp projects/calloutng/contrib/llvm/lib/MC/SubtargetFeature.cpp projects/calloutng/contrib/llvm/lib/MC/WinCOFFStreamer.cpp projects/calloutng/contrib/llvm/lib/Object/COFFObjectFile.cpp projects/calloutng/contrib/llvm/lib/Object/MachOObjectFile.cpp projects/calloutng/contrib/llvm/lib/Support/APFloat.cpp projects/calloutng/contrib/llvm/lib/Support/Atomic.cpp projects/calloutng/contrib/llvm/lib/Support/CommandLine.cpp projects/calloutng/contrib/llvm/lib/Support/DAGDeltaAlgorithm.cpp projects/calloutng/contrib/llvm/lib/Support/DataExtractor.cpp projects/calloutng/contrib/llvm/lib/Support/DataStream.cpp projects/calloutng/contrib/llvm/lib/Support/DynamicLibrary.cpp projects/calloutng/contrib/llvm/lib/Support/Errno.cpp projects/calloutng/contrib/llvm/lib/Support/FoldingSet.cpp projects/calloutng/contrib/llvm/lib/Support/Host.cpp projects/calloutng/contrib/llvm/lib/Support/LockFileManager.cpp projects/calloutng/contrib/llvm/lib/Support/Memory.cpp projects/calloutng/contrib/llvm/lib/Support/MemoryBuffer.cpp projects/calloutng/contrib/llvm/lib/Support/SmallVector.cpp projects/calloutng/contrib/llvm/lib/Support/StreamableMemoryObject.cpp projects/calloutng/contrib/llvm/lib/Support/StringMap.cpp projects/calloutng/contrib/llvm/lib/Support/StringRef.cpp projects/calloutng/contrib/llvm/lib/Support/Triple.cpp projects/calloutng/contrib/llvm/lib/Support/Unix/Memory.inc projects/calloutng/contrib/llvm/lib/Support/Unix/Path.inc projects/calloutng/contrib/llvm/lib/Support/Unix/Signals.inc projects/calloutng/contrib/llvm/lib/Support/Windows/Memory.inc projects/calloutng/contrib/llvm/lib/Support/Windows/PathV2.inc projects/calloutng/contrib/llvm/lib/Support/YAMLParser.cpp projects/calloutng/contrib/llvm/lib/Support/raw_ostream.cpp projects/calloutng/contrib/llvm/lib/Support/regexec.c projects/calloutng/contrib/llvm/lib/Support/system_error.cpp projects/calloutng/contrib/llvm/lib/TableGen/Error.cpp projects/calloutng/contrib/llvm/lib/TableGen/Main.cpp projects/calloutng/contrib/llvm/lib/TableGen/Record.cpp projects/calloutng/contrib/llvm/lib/TableGen/TGParser.cpp projects/calloutng/contrib/llvm/lib/TableGen/TGParser.h projects/calloutng/contrib/llvm/lib/Target/ARM/ARM.h projects/calloutng/contrib/llvm/lib/Target/ARM/ARM.td projects/calloutng/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.h projects/calloutng/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.h projects/calloutng/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h projects/calloutng/contrib/llvm/lib/Target/ARM/ARMCallingConv.td projects/calloutng/contrib/llvm/lib/Target/ARM/ARMCodeEmitter.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/ARMConstantPoolValue.h projects/calloutng/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/ARMFastISel.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/ARMFrameLowering.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/ARMHazardRecognizer.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/ARMISelLowering.h projects/calloutng/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td projects/calloutng/contrib/llvm/lib/Target/ARM/ARMInstrInfo.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td projects/calloutng/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td projects/calloutng/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td projects/calloutng/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td projects/calloutng/contrib/llvm/lib/Target/ARM/ARMInstrVFP.td projects/calloutng/contrib/llvm/lib/Target/ARM/ARMJITInfo.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/ARMMachineFunctionInfo.h projects/calloutng/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.td projects/calloutng/contrib/llvm/lib/Target/ARM/ARMSchedule.td projects/calloutng/contrib/llvm/lib/Target/ARM/ARMScheduleA9.td projects/calloutng/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/ARMSubtarget.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/ARMSubtarget.h projects/calloutng/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/ARMTargetMachine.h projects/calloutng/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.h projects/calloutng/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h projects/calloutng/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp projects/calloutng/contrib/llvm/lib/Target/ARM/MLxExpansionPass.cpp projects/calloutng/contrib/llvm/lib/Target/CellSPU/SPUAsmPrinter.cpp projects/calloutng/contrib/llvm/lib/Target/CellSPU/SPUFrameLowering.cpp projects/calloutng/contrib/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp projects/calloutng/contrib/llvm/lib/Target/CellSPU/SPUSubtarget.h projects/calloutng/contrib/llvm/lib/Target/CellSPU/SPUTargetMachine.cpp projects/calloutng/contrib/llvm/lib/Target/CellSPU/SPUTargetMachine.h projects/calloutng/contrib/llvm/lib/Target/CppBackend/CPPBackend.cpp projects/calloutng/contrib/llvm/lib/Target/CppBackend/CPPTargetMachine.h projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonCallingConvLower.cpp projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonInstrFormats.td projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.td projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonPeephole.cpp projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.h projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonRemoveSZExtArgs.cpp projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonSchedule.td projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonScheduleV4.td projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonTargetMachine.h projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp projects/calloutng/contrib/llvm/lib/Target/Hexagon/HexagonVarargsCallingConvention.h projects/calloutng/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp projects/calloutng/contrib/llvm/lib/Target/MBlaze/AsmParser/MBlazeAsmParser.cpp projects/calloutng/contrib/llvm/lib/Target/MBlaze/MBlazeAsmPrinter.cpp projects/calloutng/contrib/llvm/lib/Target/MBlaze/MBlazeFrameLowering.cpp projects/calloutng/contrib/llvm/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp projects/calloutng/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.cpp projects/calloutng/contrib/llvm/lib/Target/MBlaze/MBlazeTargetMachine.cpp projects/calloutng/contrib/llvm/lib/Target/MBlaze/MBlazeTargetMachine.h projects/calloutng/contrib/llvm/lib/Target/MBlaze/MBlazeTargetObjectFile.cpp projects/calloutng/contrib/llvm/lib/Target/MBlaze/MCTargetDesc/MBlazeMCCodeEmitter.cpp projects/calloutng/contrib/llvm/lib/Target/MSP430/MSP430FrameLowering.cpp projects/calloutng/contrib/llvm/lib/Target/MSP430/MSP430FrameLowering.h projects/calloutng/contrib/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp projects/calloutng/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp projects/calloutng/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.h projects/calloutng/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp projects/calloutng/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.h projects/calloutng/contrib/llvm/lib/Target/MSP430/MSP430TargetMachine.cpp projects/calloutng/contrib/llvm/lib/Target/MSP430/MSP430TargetMachine.h projects/calloutng/contrib/llvm/lib/Target/Mangler.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h projects/calloutng/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/Mips.td projects/calloutng/contrib/llvm/lib/Target/Mips/Mips16FrameLowering.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/Mips16FrameLowering.h projects/calloutng/contrib/llvm/lib/Target/Mips/Mips16InstrInfo.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/Mips16InstrInfo.h projects/calloutng/contrib/llvm/lib/Target/Mips/Mips16InstrInfo.td projects/calloutng/contrib/llvm/lib/Target/Mips/Mips16RegisterInfo.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/Mips16RegisterInfo.h projects/calloutng/contrib/llvm/lib/Target/Mips/Mips64InstrInfo.td projects/calloutng/contrib/llvm/lib/Target/Mips/MipsAnalyzeImmediate.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.h projects/calloutng/contrib/llvm/lib/Target/Mips/MipsCallingConv.td projects/calloutng/contrib/llvm/lib/Target/Mips/MipsCodeEmitter.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MipsFrameLowering.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MipsFrameLowering.h projects/calloutng/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MipsISelLowering.h projects/calloutng/contrib/llvm/lib/Target/Mips/MipsInstrFPU.td projects/calloutng/contrib/llvm/lib/Target/Mips/MipsInstrFormats.td projects/calloutng/contrib/llvm/lib/Target/Mips/MipsInstrInfo.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MipsInstrInfo.h projects/calloutng/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td projects/calloutng/contrib/llvm/lib/Target/Mips/MipsLongBranch.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MipsMCInstLower.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MipsMCInstLower.h projects/calloutng/contrib/llvm/lib/Target/Mips/MipsMachineFunction.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MipsMachineFunction.h projects/calloutng/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.h projects/calloutng/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.td projects/calloutng/contrib/llvm/lib/Target/Mips/MipsSEFrameLowering.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MipsSEInstrInfo.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MipsSEInstrInfo.h projects/calloutng/contrib/llvm/lib/Target/Mips/MipsSERegisterInfo.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MipsSERegisterInfo.h projects/calloutng/contrib/llvm/lib/Target/Mips/MipsSubtarget.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MipsSubtarget.h projects/calloutng/contrib/llvm/lib/Target/Mips/MipsTargetMachine.cpp projects/calloutng/contrib/llvm/lib/Target/Mips/MipsTargetMachine.h projects/calloutng/contrib/llvm/lib/Target/Mips/MipsTargetObjectFile.cpp projects/calloutng/contrib/llvm/lib/Target/NVPTX/NVPTX.td projects/calloutng/contrib/llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.h projects/calloutng/contrib/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp projects/calloutng/contrib/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp projects/calloutng/contrib/llvm/lib/Target/NVPTX/NVPTXISelLowering.h projects/calloutng/contrib/llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp projects/calloutng/contrib/llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.h projects/calloutng/contrib/llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp projects/calloutng/contrib/llvm/lib/Target/NVPTX/NVPTXSubtarget.h projects/calloutng/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp projects/calloutng/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.h projects/calloutng/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp projects/calloutng/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp projects/calloutng/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp projects/calloutng/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h projects/calloutng/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp projects/calloutng/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp projects/calloutng/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPC.td projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCCallingConv.td projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.h projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCInstrAltivec.td projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCInstrFormats.td projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.h projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCSchedule.td projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCSchedule440.td projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCScheduleA2.td projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCScheduleG3.td projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCScheduleG4.td projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCScheduleG4Plus.td projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCScheduleG5.td projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.cpp projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.h projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp projects/calloutng/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.h projects/calloutng/contrib/llvm/lib/Target/Sparc/SparcFrameLowering.cpp projects/calloutng/contrib/llvm/lib/Target/Sparc/SparcISelLowering.cpp projects/calloutng/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.td projects/calloutng/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.cpp projects/calloutng/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.h projects/calloutng/contrib/llvm/lib/Target/Target.cpp projects/calloutng/contrib/llvm/lib/Target/TargetLibraryInfo.cpp projects/calloutng/contrib/llvm/lib/Target/TargetLoweringObjectFile.cpp projects/calloutng/contrib/llvm/lib/Target/TargetMachineC.cpp projects/calloutng/contrib/llvm/lib/Target/TargetRegisterInfo.cpp projects/calloutng/contrib/llvm/lib/Target/X86/AsmParser/X86AsmLexer.cpp projects/calloutng/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp projects/calloutng/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp projects/calloutng/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.h projects/calloutng/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c projects/calloutng/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h projects/calloutng/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h projects/calloutng/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp projects/calloutng/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.h projects/calloutng/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp projects/calloutng/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h projects/calloutng/contrib/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp projects/calloutng/contrib/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h projects/calloutng/contrib/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp projects/calloutng/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp projects/calloutng/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp projects/calloutng/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp projects/calloutng/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h projects/calloutng/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp projects/calloutng/contrib/llvm/lib/Target/X86/X86.td projects/calloutng/contrib/llvm/lib/Target/X86/X86AsmPrinter.cpp projects/calloutng/contrib/llvm/lib/Target/X86/X86AsmPrinter.h projects/calloutng/contrib/llvm/lib/Target/X86/X86COFFMachineModuleInfo.h projects/calloutng/contrib/llvm/lib/Target/X86/X86CallingConv.td projects/calloutng/contrib/llvm/lib/Target/X86/X86CodeEmitter.cpp projects/calloutng/contrib/llvm/lib/Target/X86/X86FastISel.cpp projects/calloutng/contrib/llvm/lib/Target/X86/X86FloatingPoint.cpp projects/calloutng/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp projects/calloutng/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp projects/calloutng/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/calloutng/contrib/llvm/lib/Target/X86/X86ISelLowering.h projects/calloutng/contrib/llvm/lib/Target/X86/X86InstrCompiler.td projects/calloutng/contrib/llvm/lib/Target/X86/X86InstrControl.td projects/calloutng/contrib/llvm/lib/Target/X86/X86InstrFMA.td projects/calloutng/contrib/llvm/lib/Target/X86/X86InstrFormats.td projects/calloutng/contrib/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td projects/calloutng/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp projects/calloutng/contrib/llvm/lib/Target/X86/X86InstrInfo.h projects/calloutng/contrib/llvm/lib/Target/X86/X86InstrInfo.td projects/calloutng/contrib/llvm/lib/Target/X86/X86InstrMMX.td projects/calloutng/contrib/llvm/lib/Target/X86/X86InstrSSE.td projects/calloutng/contrib/llvm/lib/Target/X86/X86InstrShiftRotate.td projects/calloutng/contrib/llvm/lib/Target/X86/X86InstrXOP.td projects/calloutng/contrib/llvm/lib/Target/X86/X86JITInfo.cpp projects/calloutng/contrib/llvm/lib/Target/X86/X86MCInstLower.cpp projects/calloutng/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp projects/calloutng/contrib/llvm/lib/Target/X86/X86RegisterInfo.h projects/calloutng/contrib/llvm/lib/Target/X86/X86RegisterInfo.td projects/calloutng/contrib/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp projects/calloutng/contrib/llvm/lib/Target/X86/X86Subtarget.cpp projects/calloutng/contrib/llvm/lib/Target/X86/X86Subtarget.h projects/calloutng/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp projects/calloutng/contrib/llvm/lib/Target/X86/X86TargetMachine.h projects/calloutng/contrib/llvm/lib/Target/X86/X86VZeroUpper.cpp projects/calloutng/contrib/llvm/lib/Target/XCore/XCoreAsmPrinter.cpp projects/calloutng/contrib/llvm/lib/Target/XCore/XCoreFrameLowering.cpp projects/calloutng/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp projects/calloutng/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.td projects/calloutng/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.cpp projects/calloutng/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.cpp projects/calloutng/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.h projects/calloutng/contrib/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp projects/calloutng/contrib/llvm/lib/Transforms/IPO/ConstantMerge.cpp projects/calloutng/contrib/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp projects/calloutng/contrib/llvm/lib/Transforms/IPO/ExtractGV.cpp projects/calloutng/contrib/llvm/lib/Transforms/IPO/FunctionAttrs.cpp projects/calloutng/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp projects/calloutng/contrib/llvm/lib/Transforms/IPO/IPO.cpp projects/calloutng/contrib/llvm/lib/Transforms/IPO/InlineAlways.cpp projects/calloutng/contrib/llvm/lib/Transforms/IPO/InlineSimple.cpp projects/calloutng/contrib/llvm/lib/Transforms/IPO/Inliner.cpp projects/calloutng/contrib/llvm/lib/Transforms/IPO/Internalize.cpp projects/calloutng/contrib/llvm/lib/Transforms/IPO/MergeFunctions.cpp projects/calloutng/contrib/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp projects/calloutng/contrib/llvm/lib/Transforms/IPO/PruneEH.cpp projects/calloutng/contrib/llvm/lib/Transforms/InstCombine/InstCombine.h projects/calloutng/contrib/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp projects/calloutng/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp projects/calloutng/contrib/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp projects/calloutng/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp projects/calloutng/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp projects/calloutng/contrib/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp projects/calloutng/contrib/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp projects/calloutng/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp projects/calloutng/contrib/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp projects/calloutng/contrib/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp projects/calloutng/contrib/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp projects/calloutng/contrib/llvm/lib/Transforms/InstCombine/InstCombineWorklist.h projects/calloutng/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp projects/calloutng/contrib/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp projects/calloutng/contrib/llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp projects/calloutng/contrib/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp projects/calloutng/contrib/llvm/lib/Transforms/Instrumentation/MaximumSpanningTree.h projects/calloutng/contrib/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/ConstantProp.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/DCE.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/EarlyCSE.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/GVN.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/GlobalMerge.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/LICM.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/ObjCARC.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/Reassociate.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/Scalar.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp projects/calloutng/contrib/llvm/lib/Transforms/Scalar/SimplifyLibCalls.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/AddrModeMatcher.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/BuildLibCalls.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/CloneFunction.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/CodeExtractor.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/LCSSA.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/Local.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/LoopSimplify.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/SSAUpdater.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/SimplifyInstructions.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/Utils.cpp projects/calloutng/contrib/llvm/lib/Transforms/Utils/ValueMapper.cpp projects/calloutng/contrib/llvm/lib/Transforms/Vectorize/BBVectorize.cpp projects/calloutng/contrib/llvm/lib/Transforms/Vectorize/Vectorize.cpp projects/calloutng/contrib/llvm/lib/VMCore/AsmWriter.cpp projects/calloutng/contrib/llvm/lib/VMCore/Attributes.cpp projects/calloutng/contrib/llvm/lib/VMCore/AutoUpgrade.cpp projects/calloutng/contrib/llvm/lib/VMCore/ConstantFold.cpp projects/calloutng/contrib/llvm/lib/VMCore/Constants.cpp projects/calloutng/contrib/llvm/lib/VMCore/ConstantsContext.h projects/calloutng/contrib/llvm/lib/VMCore/Core.cpp projects/calloutng/contrib/llvm/lib/VMCore/DIBuilder.cpp projects/calloutng/contrib/llvm/lib/VMCore/DebugInfo.cpp projects/calloutng/contrib/llvm/lib/VMCore/Dominators.cpp projects/calloutng/contrib/llvm/lib/VMCore/Function.cpp projects/calloutng/contrib/llvm/lib/VMCore/GCOV.cpp projects/calloutng/contrib/llvm/lib/VMCore/IRBuilder.cpp projects/calloutng/contrib/llvm/lib/VMCore/InlineAsm.cpp projects/calloutng/contrib/llvm/lib/VMCore/Instructions.cpp projects/calloutng/contrib/llvm/lib/VMCore/LLVMContext.cpp projects/calloutng/contrib/llvm/lib/VMCore/LLVMContextImpl.cpp projects/calloutng/contrib/llvm/lib/VMCore/LLVMContextImpl.h projects/calloutng/contrib/llvm/lib/VMCore/PassManager.cpp projects/calloutng/contrib/llvm/lib/VMCore/Type.cpp projects/calloutng/contrib/llvm/lib/VMCore/User.cpp projects/calloutng/contrib/llvm/lib/VMCore/Value.cpp projects/calloutng/contrib/llvm/lib/VMCore/ValueTypes.cpp projects/calloutng/contrib/llvm/lib/VMCore/Verifier.cpp projects/calloutng/contrib/llvm/tools/bugpoint/ExtractFunction.cpp projects/calloutng/contrib/llvm/tools/bugpoint/OptimizerDriver.cpp projects/calloutng/contrib/llvm/tools/clang/include/clang-c/Index.h projects/calloutng/contrib/llvm/tools/clang/include/clang/ARCMigrate/ARCMT.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/ASTConsumer.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/Attr.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/BuiltinTypes.def projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/CharUnits.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/Comment.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/CommentBriefParser.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/CommentCommandTraits.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/CommentLexer.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/CommentParser.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/CommentSema.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/Decl.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/DeclFriend.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/DeclarationName.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/Expr.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/ExprObjC.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/ExternalASTSource.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/NSAPI.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/NestedNameSpecifier.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/OperationKinds.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/PrettyPrinter.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/RawCommentList.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/RecordLayout.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/SelectorLocationsKind.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/Stmt.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/StmtCXX.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/StmtObjC.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/TemplateBase.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/Type.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/UnresolvedSet.h projects/calloutng/contrib/llvm/tools/clang/include/clang/AST/VTableBuilder.h projects/calloutng/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchFinder.h projects/calloutng/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers.h projects/calloutng/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h projects/calloutng/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersMacros.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/FormatString.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafety.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Analysis/AnalysisContext.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Analysis/CFG.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Analysis/ProgramPoint.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/Attr.td projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsMips.def projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsNVPTX.def projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/ConvertUTF.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticASTKinds.td projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommentKinds.td projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSerializationKinds.td projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/FileManager.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.def projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/Module.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/ObjCRuntime.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/OnDiskHashTable.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/TargetOptions.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/TypeTraits.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td projects/calloutng/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenAction.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Driver/Action.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Driver/Arg.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Driver/ArgList.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Driver/CC1AsOptions.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Driver/CC1AsOptions.td projects/calloutng/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td projects/calloutng/contrib/llvm/tools/clang/include/clang/Driver/Compilation.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Driver/Driver.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Driver/Job.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Driver/OptParser.td projects/calloutng/contrib/llvm/tools/clang/include/clang/Driver/OptTable.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Driver/Option.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Driver/Options.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/calloutng/contrib/llvm/tools/clang/include/clang/Driver/Tool.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Driver/Types.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInvocation.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticRenderer.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/FrontendAction.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/FrontendOptions.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/LangStandard.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/LangStandards.def projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/LogDiagnosticPrinter.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/MultiplexConsumer.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/SerializedDiagnosticPrinter.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnostic.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnosticPrinter.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Frontend/VerifyDiagnosticConsumer.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Lex/ExternalPreprocessorSource.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Lex/HeaderMap.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Lex/Lexer.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Lex/LiteralSupport.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Lex/MacroInfo.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Lex/ModuleMap.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Lex/PPCallbacks.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Lex/PTHLexer.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Lex/PTHManager.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorLexer.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Lex/Token.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Lex/TokenLexer.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Parse/Parser.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Sema/AttributeList.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteConsumer.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Sema/DelayedDiagnostic.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Sema/ExternalSemaSource.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Sema/Initialization.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Sema/LocInfoType.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Sema/Overload.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Sema/Ownership.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Sema/ParsedTemplate.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Sema/Scope.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Sema/ScopeInfo.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Sema/Sema.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Sema/SemaConsumer.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Sema/Template.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Sema/TemplateDeduction.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Sema/TypoCorrection.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Serialization/ASTDeserializationListener.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Serialization/ContinuousRangeMap.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Serialization/Module.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Serialization/ModuleManager.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h projects/calloutng/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/TaintManager.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabase.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring.h projects/calloutng/contrib/llvm/tools/clang/include/clang/Tooling/Tooling.h projects/calloutng/contrib/llvm/tools/clang/lib/ARCMigrate/ARCMT.cpp projects/calloutng/contrib/llvm/tools/clang/lib/ARCMigrate/FileRemapper.cpp projects/calloutng/contrib/llvm/tools/clang/lib/ARCMigrate/Internals.h projects/calloutng/contrib/llvm/tools/clang/lib/ARCMigrate/ObjCMT.cpp projects/calloutng/contrib/llvm/tools/clang/lib/ARCMigrate/Transforms.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/ASTConsumer.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/CXXInheritance.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/Comment.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/CommentBriefParser.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/CommentCommandTraits.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/CommentDumper.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/CommentLexer.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/CommentParser.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/CommentSema.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/Decl.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/DumpXML.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/Expr.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/NSAPI.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/ParentMap.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/RawCommentList.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/Stmt.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/StmtDumper.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/TemplateBase.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/Type.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/TypeLoc.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp projects/calloutng/contrib/llvm/tools/clang/lib/AST/VTableBuilder.cpp projects/calloutng/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchFinder.cpp projects/calloutng/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Analysis/AnalysisDeclContext.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Analysis/FormatString.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Analysis/ReachableCode.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Analysis/ScanfFormatString.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Analysis/ThreadSafety.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Analysis/UninitializedValues.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Basic/ConvertUTF.c projects/calloutng/contrib/llvm/tools/clang/lib/Basic/ConvertUTFWrapper.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Basic/Module.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Basic/SourceLocation.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Basic/Version.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/ABIInfo.h projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.h projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.h projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGExprComplex.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.h projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGRTTI.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayout.h projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.h projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp projects/calloutng/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Driver/Arg.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Driver/ArgList.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Driver/CC1AsOptions.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Driver/Compilation.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Driver/Driver.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Driver/DriverOptions.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Driver/OptTable.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Driver/Option.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Driver/ToolChains.h projects/calloutng/contrib/llvm/tools/clang/lib/Driver/Tools.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Driver/Tools.h projects/calloutng/contrib/llvm/tools/clang/lib/Driver/Types.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Driver/WindowsToolChain.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/ASTConsumers.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/ASTMerge.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/ChainedDiagnosticConsumer.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/ChainedIncludesSource.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/DependencyFile.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/DependencyGraph.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/DiagnosticRenderer.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/LogDiagnosticPrinter.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/TextDiagnostic.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Frontend/Warnings.cpp projects/calloutng/contrib/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Headers/altivec.h projects/calloutng/contrib/llvm/tools/clang/lib/Headers/bmi2intrin.h projects/calloutng/contrib/llvm/tools/clang/lib/Headers/cpuid.h projects/calloutng/contrib/llvm/tools/clang/lib/Headers/immintrin.h projects/calloutng/contrib/llvm/tools/clang/lib/Headers/module.map projects/calloutng/contrib/llvm/tools/clang/lib/Headers/unwind.h projects/calloutng/contrib/llvm/tools/clang/lib/Headers/wmmintrin.h projects/calloutng/contrib/llvm/tools/clang/lib/Headers/x86intrin.h projects/calloutng/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h projects/calloutng/contrib/llvm/tools/clang/lib/Lex/HeaderMap.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Lex/MacroArgs.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Lex/MacroInfo.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Lex/ModuleMap.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Lex/PPExpressions.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Lex/PPLexerChange.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Lex/PTHLexer.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Lex/PreprocessingRecord.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Lex/TokenLexer.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Parse/ParseAST.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Parse/ParseInit.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Parse/ParsePragma.h projects/calloutng/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Parse/Parser.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Parse/RAIIObjectsForParser.h projects/calloutng/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/CodeCompleteConsumer.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/DelayedDiagnostic.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/IdentifierResolver.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/Sema.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaAccess.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaAttr.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaCast.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaExprMember.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaLambda.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaPseudoObject.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaStmtAttr.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h projects/calloutng/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Serialization/GeneratePCH.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Serialization/Module.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Serialization/ModuleManager.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AttrNonNullChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/Checkers.td projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IdempotentOperationChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerContext.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Environment.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SVals.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Store.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/TextPathDiagnostics.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.h projects/calloutng/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Tooling/CompilationDatabase.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Tooling/Refactoring.cpp projects/calloutng/contrib/llvm/tools/clang/lib/Tooling/Tooling.cpp projects/calloutng/contrib/llvm/tools/clang/tools/driver/cc1_main.cpp projects/calloutng/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp projects/calloutng/contrib/llvm/tools/clang/tools/driver/driver.cpp projects/calloutng/contrib/llvm/tools/clang/utils/TableGen/ClangAttrEmitter.cpp projects/calloutng/contrib/llvm/tools/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp projects/calloutng/contrib/llvm/tools/clang/utils/TableGen/ClangSACheckersEmitter.cpp projects/calloutng/contrib/llvm/tools/clang/utils/TableGen/NeonEmitter.cpp projects/calloutng/contrib/llvm/tools/clang/utils/TableGen/OptParserEmitter.cpp projects/calloutng/contrib/llvm/tools/clang/utils/TableGen/TableGen.cpp projects/calloutng/contrib/llvm/tools/clang/utils/TableGen/TableGenBackends.h projects/calloutng/contrib/llvm/tools/llc/llc.cpp projects/calloutng/contrib/llvm/tools/lli/lli.cpp projects/calloutng/contrib/llvm/tools/llvm-ar/llvm-ar.cpp projects/calloutng/contrib/llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp projects/calloutng/contrib/llvm/tools/llvm-extract/llvm-extract.cpp projects/calloutng/contrib/llvm/tools/llvm-mc/llvm-mc.cpp projects/calloutng/contrib/llvm/tools/llvm-nm/llvm-nm.cpp projects/calloutng/contrib/llvm/tools/llvm-objdump/llvm-objdump.cpp projects/calloutng/contrib/llvm/tools/llvm-ranlib/llvm-ranlib.cpp projects/calloutng/contrib/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp projects/calloutng/contrib/llvm/tools/llvm-stress/llvm-stress.cpp projects/calloutng/contrib/llvm/tools/opt/opt.cpp projects/calloutng/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp projects/calloutng/contrib/llvm/utils/TableGen/AsmWriterEmitter.cpp projects/calloutng/contrib/llvm/utils/TableGen/AsmWriterInst.cpp projects/calloutng/contrib/llvm/utils/TableGen/CallingConvEmitter.cpp projects/calloutng/contrib/llvm/utils/TableGen/CodeEmitterGen.cpp projects/calloutng/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.cpp projects/calloutng/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.h projects/calloutng/contrib/llvm/utils/TableGen/CodeGenInstruction.cpp projects/calloutng/contrib/llvm/utils/TableGen/CodeGenInstruction.h projects/calloutng/contrib/llvm/utils/TableGen/CodeGenRegisters.cpp projects/calloutng/contrib/llvm/utils/TableGen/CodeGenRegisters.h projects/calloutng/contrib/llvm/utils/TableGen/CodeGenSchedule.cpp projects/calloutng/contrib/llvm/utils/TableGen/CodeGenSchedule.h projects/calloutng/contrib/llvm/utils/TableGen/CodeGenTarget.cpp projects/calloutng/contrib/llvm/utils/TableGen/CodeGenTarget.h projects/calloutng/contrib/llvm/utils/TableGen/DAGISelMatcher.h projects/calloutng/contrib/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp projects/calloutng/contrib/llvm/utils/TableGen/DAGISelMatcherGen.cpp projects/calloutng/contrib/llvm/utils/TableGen/DFAPacketizerEmitter.cpp projects/calloutng/contrib/llvm/utils/TableGen/DisassemblerEmitter.cpp projects/calloutng/contrib/llvm/utils/TableGen/EDEmitter.cpp projects/calloutng/contrib/llvm/utils/TableGen/FastISelEmitter.cpp projects/calloutng/contrib/llvm/utils/TableGen/FixedLenDecoderEmitter.cpp projects/calloutng/contrib/llvm/utils/TableGen/InstrInfoEmitter.cpp projects/calloutng/contrib/llvm/utils/TableGen/IntrinsicEmitter.cpp projects/calloutng/contrib/llvm/utils/TableGen/PseudoLoweringEmitter.cpp projects/calloutng/contrib/llvm/utils/TableGen/RegisterInfoEmitter.cpp projects/calloutng/contrib/llvm/utils/TableGen/SequenceToOffsetTable.h projects/calloutng/contrib/llvm/utils/TableGen/SetTheory.cpp projects/calloutng/contrib/llvm/utils/TableGen/SetTheory.h projects/calloutng/contrib/llvm/utils/TableGen/SubtargetEmitter.cpp projects/calloutng/contrib/llvm/utils/TableGen/TGValueTypes.cpp projects/calloutng/contrib/llvm/utils/TableGen/TableGen.cpp projects/calloutng/contrib/llvm/utils/TableGen/TableGenBackends.h projects/calloutng/contrib/llvm/utils/TableGen/X86DisassemblerTables.cpp projects/calloutng/contrib/llvm/utils/TableGen/X86ModRMFilters.h projects/calloutng/contrib/llvm/utils/TableGen/X86RecognizableInstr.cpp projects/calloutng/contrib/llvm/utils/TableGen/X86RecognizableInstr.h projects/calloutng/contrib/openbsm/CREDITS projects/calloutng/contrib/openbsm/INSTALL projects/calloutng/contrib/openbsm/LICENSE projects/calloutng/contrib/openbsm/Makefile.am projects/calloutng/contrib/openbsm/Makefile.in projects/calloutng/contrib/openbsm/NEWS projects/calloutng/contrib/openbsm/README projects/calloutng/contrib/openbsm/TODO projects/calloutng/contrib/openbsm/VERSION projects/calloutng/contrib/openbsm/aclocal.m4 projects/calloutng/contrib/openbsm/autogen.sh projects/calloutng/contrib/openbsm/bin/Makefile.am projects/calloutng/contrib/openbsm/bin/Makefile.in projects/calloutng/contrib/openbsm/bin/audit/Makefile.am projects/calloutng/contrib/openbsm/bin/audit/Makefile.in projects/calloutng/contrib/openbsm/bin/audit/audit.8 projects/calloutng/contrib/openbsm/bin/auditd/Makefile.am projects/calloutng/contrib/openbsm/bin/auditd/Makefile.in projects/calloutng/contrib/openbsm/bin/auditd/auditd.8 projects/calloutng/contrib/openbsm/bin/auditd/auditd.c projects/calloutng/contrib/openbsm/bin/auditfilterd/Makefile.am projects/calloutng/contrib/openbsm/bin/auditfilterd/Makefile.in projects/calloutng/contrib/openbsm/bin/auditreduce/Makefile.am projects/calloutng/contrib/openbsm/bin/auditreduce/Makefile.in projects/calloutng/contrib/openbsm/bin/auditreduce/auditreduce.1 projects/calloutng/contrib/openbsm/bin/praudit/Makefile.am projects/calloutng/contrib/openbsm/bin/praudit/Makefile.in projects/calloutng/contrib/openbsm/bin/praudit/praudit.1 projects/calloutng/contrib/openbsm/bin/praudit/praudit.c projects/calloutng/contrib/openbsm/bsm/Makefile.am projects/calloutng/contrib/openbsm/bsm/Makefile.in projects/calloutng/contrib/openbsm/bsm/auditd_lib.h projects/calloutng/contrib/openbsm/bsm/libbsm.h projects/calloutng/contrib/openbsm/compat/endian.h projects/calloutng/contrib/openbsm/config/config.h projects/calloutng/contrib/openbsm/config/config.h.in projects/calloutng/contrib/openbsm/config/ltmain.sh projects/calloutng/contrib/openbsm/configure projects/calloutng/contrib/openbsm/configure.ac projects/calloutng/contrib/openbsm/etc/audit_control projects/calloutng/contrib/openbsm/etc/audit_event projects/calloutng/contrib/openbsm/libauditd/Makefile.am projects/calloutng/contrib/openbsm/libauditd/Makefile.in projects/calloutng/contrib/openbsm/libauditd/auditd_lib.c projects/calloutng/contrib/openbsm/libbsm/Makefile.am projects/calloutng/contrib/openbsm/libbsm/Makefile.in projects/calloutng/contrib/openbsm/libbsm/au_control.3 projects/calloutng/contrib/openbsm/libbsm/au_fcntl_cmd.3 projects/calloutng/contrib/openbsm/libbsm/au_io.3 projects/calloutng/contrib/openbsm/libbsm/audit_submit.3 projects/calloutng/contrib/openbsm/libbsm/bsm_audit.c projects/calloutng/contrib/openbsm/libbsm/bsm_class.c projects/calloutng/contrib/openbsm/libbsm/bsm_control.c projects/calloutng/contrib/openbsm/libbsm/bsm_errno.c projects/calloutng/contrib/openbsm/libbsm/bsm_io.c projects/calloutng/contrib/openbsm/libbsm/bsm_token.c projects/calloutng/contrib/openbsm/libbsm/bsm_user.c projects/calloutng/contrib/openbsm/libbsm/bsm_wrappers.c projects/calloutng/contrib/openbsm/man/Makefile.am projects/calloutng/contrib/openbsm/man/Makefile.in projects/calloutng/contrib/openbsm/man/audit.log.5 projects/calloutng/contrib/openbsm/man/audit_control.5 projects/calloutng/contrib/openbsm/man/auditon.2 projects/calloutng/contrib/openbsm/man/getaudit.2 projects/calloutng/contrib/openbsm/man/setaudit.2 projects/calloutng/contrib/openbsm/modules/Makefile.am projects/calloutng/contrib/openbsm/modules/Makefile.in projects/calloutng/contrib/openbsm/modules/auditfilter_noop/Makefile.am projects/calloutng/contrib/openbsm/modules/auditfilter_noop/Makefile.in projects/calloutng/contrib/openbsm/sys/Makefile.am projects/calloutng/contrib/openbsm/sys/Makefile.in projects/calloutng/contrib/openbsm/sys/bsm/Makefile.am projects/calloutng/contrib/openbsm/sys/bsm/Makefile.in projects/calloutng/contrib/openbsm/sys/bsm/audit_errno.h projects/calloutng/contrib/openbsm/sys/bsm/audit_internal.h projects/calloutng/contrib/openbsm/sys/bsm/audit_kevents.h projects/calloutng/contrib/openbsm/test/Makefile.am projects/calloutng/contrib/openbsm/test/Makefile.in projects/calloutng/contrib/openbsm/test/bsm/Makefile.am projects/calloutng/contrib/openbsm/test/bsm/Makefile.in projects/calloutng/contrib/openbsm/tools/Makefile.am projects/calloutng/contrib/openbsm/tools/Makefile.in projects/calloutng/contrib/sendmail/src/sasl.c projects/calloutng/contrib/wpa/src/eap_server/eap_server_tls_common.c projects/calloutng/crypto/openssl/crypto/rand/rand_unix.c projects/calloutng/etc/defaults/rc.conf projects/calloutng/etc/devd/usb.conf projects/calloutng/etc/ftpusers projects/calloutng/etc/mail/aliases projects/calloutng/etc/master.passwd projects/calloutng/etc/mtree/BSD.var.dist projects/calloutng/etc/newsyslog.conf projects/calloutng/etc/rc.d/Makefile projects/calloutng/etc/rc.d/routing projects/calloutng/etc/rc.subr projects/calloutng/etc/root/dot.cshrc projects/calloutng/games/fortune/datfiles/fortunes projects/calloutng/include/paths.h projects/calloutng/lib/clang/Makefile projects/calloutng/lib/clang/clang.build.mk projects/calloutng/lib/clang/include/Makefile projects/calloutng/lib/clang/include/clang/Basic/Version.inc projects/calloutng/lib/clang/include/llvm/Config/config.h projects/calloutng/lib/clang/libclanganalysis/Makefile projects/calloutng/lib/clang/libclangast/Makefile projects/calloutng/lib/clang/libclangsema/Makefile projects/calloutng/lib/clang/libclangstaticanalyzercheckers/Makefile projects/calloutng/lib/clang/libclangstaticanalyzercore/Makefile projects/calloutng/lib/clang/libllvmanalysis/Makefile projects/calloutng/lib/clang/libllvmarmcodegen/Makefile projects/calloutng/lib/clang/libllvmcodegen/Makefile projects/calloutng/lib/clang/libllvmcore/Makefile projects/calloutng/lib/clang/libllvmdebuginfo/Makefile projects/calloutng/lib/clang/libllvminstrumentation/Makefile projects/calloutng/lib/clang/libllvmipo/Makefile projects/calloutng/lib/clang/libllvmmcjit/Makefile projects/calloutng/lib/clang/libllvmmipsasmparser/Makefile projects/calloutng/lib/clang/libllvmmipscodegen/Makefile projects/calloutng/lib/clang/libllvmmipsdesc/Makefile projects/calloutng/lib/clang/libllvmscalaropts/Makefile projects/calloutng/lib/clang/libllvmtablegen/Makefile projects/calloutng/lib/clang/libllvmtarget/Makefile projects/calloutng/lib/clang/libllvmtransformutils/Makefile projects/calloutng/lib/clang/libllvmvectorize/Makefile projects/calloutng/lib/clang/libllvmx86codegen/Makefile projects/calloutng/lib/libc/gen/fstab.c projects/calloutng/lib/libc/gen/glob.c projects/calloutng/lib/libc/net/sctp_sys_calls.c projects/calloutng/lib/libc/stdio/fdopen.c projects/calloutng/lib/libc/stdio/flags.c projects/calloutng/lib/libc/stdio/fopen.3 projects/calloutng/lib/libc/stdio/freopen.c projects/calloutng/lib/libc/stdio/getline.3 projects/calloutng/lib/libc/sys/bind.2 projects/calloutng/lib/libc/sys/getpeername.2 projects/calloutng/lib/libc/sys/getsockname.2 projects/calloutng/lib/libutil/gr_util.c projects/calloutng/libexec/rtld-elf/Makefile projects/calloutng/sbin/dump/dump.h projects/calloutng/sbin/growfs/growfs.8 projects/calloutng/sbin/growfs/growfs.c projects/calloutng/sbin/ifconfig/af_inet6.c projects/calloutng/sbin/mdconfig/mdconfig.c projects/calloutng/sbin/route/keywords projects/calloutng/sbin/route/route.8 projects/calloutng/sbin/route/route.c projects/calloutng/share/examples/etc/make.conf projects/calloutng/share/man/man4/audit.4 projects/calloutng/share/man/man4/ktr.4 projects/calloutng/share/man/man4/usb_quirk.4 projects/calloutng/share/man/man5/core.5 projects/calloutng/share/man/man5/make.conf.5 projects/calloutng/share/man/man7/ports.7 projects/calloutng/share/man/man9/sleep.9 projects/calloutng/share/man/man9/taskqueue.9 projects/calloutng/share/misc/Makefile projects/calloutng/share/misc/committers-ports.dot projects/calloutng/share/misc/organization.dot projects/calloutng/share/mk/bsd.cpu.mk projects/calloutng/share/mk/bsd.libnames.mk projects/calloutng/share/mk/bsd.own.mk projects/calloutng/share/skel/dot.cshrc projects/calloutng/sys/Makefile projects/calloutng/sys/amd64/amd64/db_trace.c projects/calloutng/sys/amd64/pci/pci_cfgreg.c projects/calloutng/sys/arm/arm/cpufunc.c projects/calloutng/sys/arm/arm/locore.S projects/calloutng/sys/arm/arm/machdep.c projects/calloutng/sys/arm/arm/mpcore_timer.c projects/calloutng/sys/arm/arm/pl310.c projects/calloutng/sys/arm/at91/files.at91 projects/calloutng/sys/arm/at91/if_ate.c projects/calloutng/sys/arm/at91/if_macb.c projects/calloutng/sys/arm/broadcom/bcm2835/bcm2835_fb.c projects/calloutng/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c projects/calloutng/sys/arm/broadcom/bcm2835/bcm2835_systimer.c projects/calloutng/sys/arm/broadcom/bcm2835/files.bcm2835 projects/calloutng/sys/arm/conf/CAMBRIA projects/calloutng/sys/arm/conf/RPI-B projects/calloutng/sys/arm/econa/if_ece.c projects/calloutng/sys/arm/include/cpufunc.h projects/calloutng/sys/arm/lpc/if_lpe.c projects/calloutng/sys/arm/mv/mvreg.h projects/calloutng/sys/arm/ti/am335x/am335x_dmtimer.c projects/calloutng/sys/arm/ti/cpsw/if_cpsw.c projects/calloutng/sys/arm/ti/ti_machdep.c projects/calloutng/sys/arm/xscale/i80321/ep80219_machdep.c projects/calloutng/sys/arm/xscale/i80321/iq31244_machdep.c projects/calloutng/sys/arm/xscale/ixp425/if_npe.c projects/calloutng/sys/boot/fdt/dts/bcm2835-rpi-b.dts projects/calloutng/sys/boot/fdt/fdt_loader_cmd.c projects/calloutng/sys/boot/forth/menu-commands.4th projects/calloutng/sys/boot/forth/menu.rc projects/calloutng/sys/boot/i386/efi/exec.c projects/calloutng/sys/boot/powerpc/boot1.chrp/boot1.c projects/calloutng/sys/boot/sparc64/boot1/boot1.c projects/calloutng/sys/boot/uboot/common/metadata.c projects/calloutng/sys/boot/uboot/lib/elf_freebsd.c projects/calloutng/sys/boot/userboot/userboot/conf.c projects/calloutng/sys/boot/userboot/userboot/main.c projects/calloutng/sys/bsm/audit_errno.h projects/calloutng/sys/bsm/audit_internal.h projects/calloutng/sys/bsm/audit_record.h projects/calloutng/sys/cam/ata/ata_xpt.c projects/calloutng/sys/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c projects/calloutng/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_map.h projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_impl.h projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/calloutng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c projects/calloutng/sys/compat/linux/linux_ioctl.c projects/calloutng/sys/compat/linux/linux_socket.c projects/calloutng/sys/compat/ndis/kern_ndis.c projects/calloutng/sys/conf/Makefile.arm projects/calloutng/sys/conf/NOTES projects/calloutng/sys/conf/files projects/calloutng/sys/conf/kern.pre.mk projects/calloutng/sys/conf/options.mips projects/calloutng/sys/contrib/dev/acpica/changes.txt (contents, props changed) projects/calloutng/sys/contrib/dev/acpica/common/adfile.c projects/calloutng/sys/contrib/dev/acpica/common/adisasm.c projects/calloutng/sys/contrib/dev/acpica/common/dmextern.c projects/calloutng/sys/contrib/dev/acpica/common/dmrestag.c projects/calloutng/sys/contrib/dev/acpica/compiler/aslcompile.c projects/calloutng/sys/contrib/dev/acpica/compiler/aslcompiler.h projects/calloutng/sys/contrib/dev/acpica/compiler/aslerror.c projects/calloutng/sys/contrib/dev/acpica/compiler/aslfiles.c projects/calloutng/sys/contrib/dev/acpica/compiler/aslglobal.h projects/calloutng/sys/contrib/dev/acpica/compiler/asllisting.c projects/calloutng/sys/contrib/dev/acpica/compiler/asllookup.c projects/calloutng/sys/contrib/dev/acpica/compiler/aslmain.c projects/calloutng/sys/contrib/dev/acpica/compiler/aslstartup.c projects/calloutng/sys/contrib/dev/acpica/compiler/dttemplate.c projects/calloutng/sys/contrib/dev/acpica/compiler/prutils.c projects/calloutng/sys/contrib/dev/acpica/components/debugger/dbfileio.c projects/calloutng/sys/contrib/dev/acpica/components/debugger/dbinput.c projects/calloutng/sys/contrib/dev/acpica/components/debugger/dbmethod.c projects/calloutng/sys/contrib/dev/acpica/components/disassembler/dmopcode.c projects/calloutng/sys/contrib/dev/acpica/components/disassembler/dmresrc.c projects/calloutng/sys/contrib/dev/acpica/components/disassembler/dmresrcl.c projects/calloutng/sys/contrib/dev/acpica/components/disassembler/dmresrcl2.c projects/calloutng/sys/contrib/dev/acpica/components/disassembler/dmresrcs.c projects/calloutng/sys/contrib/dev/acpica/components/dispatcher/dsmethod.c projects/calloutng/sys/contrib/dev/acpica/components/executer/exregion.c projects/calloutng/sys/contrib/dev/acpica/components/namespace/nsutils.c projects/calloutng/sys/contrib/dev/acpica/components/namespace/nsxfname.c projects/calloutng/sys/contrib/dev/acpica/components/resources/rscalc.c projects/calloutng/sys/contrib/dev/acpica/components/resources/rscreate.c projects/calloutng/sys/contrib/dev/acpica/components/resources/rsdump.c projects/calloutng/sys/contrib/dev/acpica/components/resources/rslist.c projects/calloutng/sys/contrib/dev/acpica/components/resources/rsmisc.c projects/calloutng/sys/contrib/dev/acpica/components/resources/rsxface.c projects/calloutng/sys/contrib/dev/acpica/components/utilities/utdelete.c projects/calloutng/sys/contrib/dev/acpica/components/utilities/utresrc.c projects/calloutng/sys/contrib/dev/acpica/components/utilities/utstate.c projects/calloutng/sys/contrib/dev/acpica/components/utilities/uttrack.c projects/calloutng/sys/contrib/dev/acpica/include/acdisasm.h projects/calloutng/sys/contrib/dev/acpica/include/acmacros.h projects/calloutng/sys/contrib/dev/acpica/include/acpixf.h projects/calloutng/sys/contrib/dev/acpica/include/acrestyp.h projects/calloutng/sys/contrib/dev/acpica/include/acutils.h projects/calloutng/sys/contrib/octeon-sdk/cvmx-dma-engine.c projects/calloutng/sys/contrib/octeon-sdk/cvmx-helper-board.c projects/calloutng/sys/contrib/octeon-sdk/cvmx-helper-spi.c projects/calloutng/sys/contrib/octeon-sdk/cvmx-pow.h projects/calloutng/sys/contrib/octeon-sdk/cvmx-spi.c projects/calloutng/sys/contrib/octeon-sdk/cvmx-utils.h projects/calloutng/sys/contrib/octeon-sdk/cvmx-warn.c projects/calloutng/sys/contrib/octeon-sdk/cvmx.h projects/calloutng/sys/contrib/octeon-sdk/octeon-model.c projects/calloutng/sys/contrib/octeon-sdk/octeon-model.h projects/calloutng/sys/dev/acpica/acpi_cpu.c projects/calloutng/sys/dev/age/if_age.c projects/calloutng/sys/dev/alc/if_alc.c projects/calloutng/sys/dev/ale/if_ale.c projects/calloutng/sys/dev/an/if_an.c projects/calloutng/sys/dev/ath/ath_hal/ah.h projects/calloutng/sys/dev/ath/ath_hal/ar5210/ar5210.h projects/calloutng/sys/dev/ath/ath_hal/ar5210/ar5210_misc.c projects/calloutng/sys/dev/ath/ath_hal/ar5210/ar5210_recv.c projects/calloutng/sys/dev/ath/ath_hal/ar5210/ar5210_reset.c projects/calloutng/sys/dev/ath/ath_hal/ar5210/ar5210reg.h projects/calloutng/sys/dev/ath/ath_hal/ar5211/ar5211desc.h projects/calloutng/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c projects/calloutng/sys/dev/ath/ath_hal/ar5212/ar5212_beacon.c projects/calloutng/sys/dev/ath/ath_hal/ar5416/ar5416.h projects/calloutng/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/calloutng/sys/dev/ath/ath_hal/ar5416/ar5416_btcoex.c projects/calloutng/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c projects/calloutng/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c projects/calloutng/sys/dev/ath/ath_hal/ar9002/ar9285_btcoex.c projects/calloutng/sys/dev/ath/if_ath.c projects/calloutng/sys/dev/ath/if_ath_alq.h projects/calloutng/sys/dev/ath/if_ath_beacon.c projects/calloutng/sys/dev/ath/if_ath_keycache.c projects/calloutng/sys/dev/ath/if_ath_rx.c projects/calloutng/sys/dev/ath/if_ath_rx_edma.c projects/calloutng/sys/dev/ath/if_ath_tdma.c projects/calloutng/sys/dev/ath/if_ath_tx.c projects/calloutng/sys/dev/ath/if_ath_tx_edma.c projects/calloutng/sys/dev/ath/if_ath_tx_ht.c projects/calloutng/sys/dev/ath/if_athvar.h projects/calloutng/sys/dev/bce/if_bce.c projects/calloutng/sys/dev/bfe/if_bfe.c projects/calloutng/sys/dev/bge/if_bge.c projects/calloutng/sys/dev/bge/if_bgereg.h projects/calloutng/sys/dev/bm/if_bm.c projects/calloutng/sys/dev/bwi/if_bwi.c projects/calloutng/sys/dev/bwn/if_bwn.c projects/calloutng/sys/dev/bxe/if_bxe.c projects/calloutng/sys/dev/cas/if_cas.c projects/calloutng/sys/dev/ce/if_ce.c projects/calloutng/sys/dev/cm/smc90cx6.c projects/calloutng/sys/dev/cp/if_cp.c projects/calloutng/sys/dev/cs/if_cs.c projects/calloutng/sys/dev/ctau/if_ct.c projects/calloutng/sys/dev/cx/if_cx.c projects/calloutng/sys/dev/cxgb/cxgb_main.c projects/calloutng/sys/dev/cxgb/cxgb_sge.c projects/calloutng/sys/dev/cxgb/sys/uipc_mvec.c projects/calloutng/sys/dev/cxgbe/t4_sge.c projects/calloutng/sys/dev/cxgbe/tom/t4_cpl_io.c projects/calloutng/sys/dev/cxgbe/tom/t4_ddp.c projects/calloutng/sys/dev/cxgbe/tom/t4_listen.c projects/calloutng/sys/dev/cxgbe/tom/t4_tom.h projects/calloutng/sys/dev/dc/if_dc.c projects/calloutng/sys/dev/de/if_de.c projects/calloutng/sys/dev/e1000/if_em.c projects/calloutng/sys/dev/e1000/if_igb.c projects/calloutng/sys/dev/e1000/if_lem.c projects/calloutng/sys/dev/ed/if_ed.c projects/calloutng/sys/dev/en/midway.c projects/calloutng/sys/dev/ep/if_ep.c projects/calloutng/sys/dev/et/if_et.c projects/calloutng/sys/dev/ex/if_ex.c projects/calloutng/sys/dev/fatm/if_fatm.c projects/calloutng/sys/dev/fdc/fdc.c projects/calloutng/sys/dev/fdt/fdt_common.c projects/calloutng/sys/dev/fdt/fdt_common.h projects/calloutng/sys/dev/fe/if_fe.c projects/calloutng/sys/dev/firewire/fwohci.c projects/calloutng/sys/dev/firewire/if_fwe.c projects/calloutng/sys/dev/firewire/if_fwip.c projects/calloutng/sys/dev/fxp/if_fxp.c projects/calloutng/sys/dev/gem/if_gem.c projects/calloutng/sys/dev/gpio/gpiobus.c projects/calloutng/sys/dev/gxemul/cons/gxemul_cons.c projects/calloutng/sys/dev/gxemul/ether/if_gx.c projects/calloutng/sys/dev/hatm/if_hatm_intr.c projects/calloutng/sys/dev/hatm/if_hatm_tx.c projects/calloutng/sys/dev/hifn/hifn7751.c projects/calloutng/sys/dev/hme/if_hme.c projects/calloutng/sys/dev/ie/if_ie.c projects/calloutng/sys/dev/if_ndis/if_ndis.c projects/calloutng/sys/dev/ipw/if_ipw.c projects/calloutng/sys/dev/iwi/if_iwi.c projects/calloutng/sys/dev/iwn/if_iwn.c projects/calloutng/sys/dev/ixgb/if_ixgb.c projects/calloutng/sys/dev/ixgbe/ixgbe.c projects/calloutng/sys/dev/ixgbe/ixgbe.h projects/calloutng/sys/dev/ixgbe/ixv.c projects/calloutng/sys/dev/jme/if_jme.c projects/calloutng/sys/dev/le/lance.c projects/calloutng/sys/dev/lge/if_lge.c projects/calloutng/sys/dev/lmc/if_lmc.c projects/calloutng/sys/dev/malo/if_malo.c projects/calloutng/sys/dev/md/md.c projects/calloutng/sys/dev/mge/if_mge.c projects/calloutng/sys/dev/mmc/mmc.c projects/calloutng/sys/dev/mn/if_mn.c projects/calloutng/sys/dev/msk/if_msk.c projects/calloutng/sys/dev/mwl/if_mwl.c projects/calloutng/sys/dev/mxge/if_mxge.c projects/calloutng/sys/dev/my/if_my.c projects/calloutng/sys/dev/netmap/ixgbe_netmap.h projects/calloutng/sys/dev/nfe/if_nfe.c projects/calloutng/sys/dev/nge/if_nge.c projects/calloutng/sys/dev/nve/if_nve.c projects/calloutng/sys/dev/nxge/if_nxge.c projects/calloutng/sys/dev/oce/oce_if.c projects/calloutng/sys/dev/patm/if_patm_intr.c projects/calloutng/sys/dev/patm/if_patm_rx.c projects/calloutng/sys/dev/patm/if_patm_tx.c projects/calloutng/sys/dev/pcn/if_pcn.c projects/calloutng/sys/dev/pdq/pdq_freebsd.h projects/calloutng/sys/dev/pdq/pdq_ifsubr.c projects/calloutng/sys/dev/pdq/pdqvar.h projects/calloutng/sys/dev/qlxgb/qla_os.c projects/calloutng/sys/dev/ral/rt2560.c projects/calloutng/sys/dev/ral/rt2661.c projects/calloutng/sys/dev/ral/rt2860.c projects/calloutng/sys/dev/re/if_re.c projects/calloutng/sys/dev/rt/if_rt.c projects/calloutng/sys/dev/safe/safe.c projects/calloutng/sys/dev/sbni/if_sbni.c projects/calloutng/sys/dev/sdhci/sdhci.c projects/calloutng/sys/dev/sdhci/sdhci.h projects/calloutng/sys/dev/sf/if_sf.c projects/calloutng/sys/dev/sfxge/sfxge_dma.c projects/calloutng/sys/dev/sfxge/sfxge_tx.c projects/calloutng/sys/dev/sge/if_sge.c projects/calloutng/sys/dev/sis/if_sis.c projects/calloutng/sys/dev/sk/if_sk.c projects/calloutng/sys/dev/smc/if_smc.c projects/calloutng/sys/dev/sn/if_sn.c projects/calloutng/sys/dev/snc/dp83932.c projects/calloutng/sys/dev/sound/pci/hda/hdaa.c projects/calloutng/sys/dev/sound/pci/hda/hdac.h projects/calloutng/sys/dev/sound/pci/hda/hdacc.c projects/calloutng/sys/dev/sound/pcm/buffer.c projects/calloutng/sys/dev/sound/pcm/sound.c projects/calloutng/sys/dev/ste/if_ste.c projects/calloutng/sys/dev/stge/if_stge.c projects/calloutng/sys/dev/ti/if_ti.c projects/calloutng/sys/dev/tl/if_tl.c projects/calloutng/sys/dev/tsec/if_tsec.c projects/calloutng/sys/dev/tx/if_tx.c projects/calloutng/sys/dev/txp/if_txp.c projects/calloutng/sys/dev/ubsec/ubsec.c projects/calloutng/sys/dev/usb/controller/xhci.c projects/calloutng/sys/dev/usb/controller/xhci.h projects/calloutng/sys/dev/usb/misc/udbp.c projects/calloutng/sys/dev/usb/net/if_axe.c projects/calloutng/sys/dev/usb/net/if_cdce.c projects/calloutng/sys/dev/usb/net/if_smsc.c projects/calloutng/sys/dev/usb/net/if_usie.c projects/calloutng/sys/dev/usb/net/uhso.c projects/calloutng/sys/dev/usb/net/usb_ethernet.c projects/calloutng/sys/dev/usb/quirk/usb_quirk.c projects/calloutng/sys/dev/usb/quirk/usb_quirk.h projects/calloutng/sys/dev/usb/serial/u3g.c projects/calloutng/sys/dev/usb/serial/uplcom.c projects/calloutng/sys/dev/usb/usbdevs projects/calloutng/sys/dev/usb/wlan/if_rum.c projects/calloutng/sys/dev/usb/wlan/if_run.c projects/calloutng/sys/dev/usb/wlan/if_uath.c projects/calloutng/sys/dev/usb/wlan/if_upgt.c projects/calloutng/sys/dev/usb/wlan/if_ural.c projects/calloutng/sys/dev/usb/wlan/if_urtw.c projects/calloutng/sys/dev/usb/wlan/if_zyd.c projects/calloutng/sys/dev/vge/if_vge.c projects/calloutng/sys/dev/virtio/network/if_vtnet.c projects/calloutng/sys/dev/vr/if_vr.c projects/calloutng/sys/dev/vte/if_vte.c projects/calloutng/sys/dev/vx/if_vx.c projects/calloutng/sys/dev/vxge/vxge.c projects/calloutng/sys/dev/wb/if_wb.c projects/calloutng/sys/dev/wi/if_wi.c projects/calloutng/sys/dev/wl/if_wl.c projects/calloutng/sys/dev/wpi/if_wpi.c projects/calloutng/sys/dev/wtap/if_wtap.c projects/calloutng/sys/dev/wtap/plugins/visibility.c projects/calloutng/sys/dev/xe/if_xe.c projects/calloutng/sys/dev/xen/netfront/netfront.c projects/calloutng/sys/dev/xl/if_xl.c projects/calloutng/sys/fs/ext2fs/ext2_alloc.c projects/calloutng/sys/fs/ext2fs/ext2_dinode.h projects/calloutng/sys/fs/ext2fs/ext2_vfsops.c projects/calloutng/sys/fs/ext2fs/ext2fs.h projects/calloutng/sys/fs/msdosfs/msdosfs_denode.c projects/calloutng/sys/fs/nfs/nfs_commonsubs.c projects/calloutng/sys/fs/nfs/nfs_var.h projects/calloutng/sys/fs/nfs/nfsm_subs.h projects/calloutng/sys/fs/nfsclient/nfs_clcomsubs.c projects/calloutng/sys/fs/nfsclient/nfs_clnode.c projects/calloutng/sys/fs/nfsclient/nfs_clport.c projects/calloutng/sys/fs/nfsclient/nfs_clvfsops.c projects/calloutng/sys/fs/nfsserver/nfs_nfsdcache.c projects/calloutng/sys/fs/nfsserver/nfs_nfsdport.c projects/calloutng/sys/fs/nfsserver/nfs_nfsdstate.c projects/calloutng/sys/fs/nullfs/null_subr.c projects/calloutng/sys/fs/smbfs/smbfs.h projects/calloutng/sys/fs/smbfs/smbfs_io.c projects/calloutng/sys/fs/smbfs/smbfs_node.c projects/calloutng/sys/fs/smbfs/smbfs_node.h projects/calloutng/sys/fs/smbfs/smbfs_subr.c projects/calloutng/sys/fs/smbfs/smbfs_vfsops.c projects/calloutng/sys/fs/smbfs/smbfs_vnops.c projects/calloutng/sys/fs/unionfs/union_subr.c projects/calloutng/sys/geom/bde/g_bde.c projects/calloutng/sys/geom/cache/g_cache.c projects/calloutng/sys/geom/geom.h projects/calloutng/sys/geom/geom_aes.c projects/calloutng/sys/geom/geom_dev.c projects/calloutng/sys/geom/geom_mbr.c projects/calloutng/sys/geom/geom_slice.c projects/calloutng/sys/geom/geom_slice.h projects/calloutng/sys/geom/label/g_label.c projects/calloutng/sys/geom/mountver/g_mountver.c projects/calloutng/sys/geom/multipath/g_multipath.c projects/calloutng/sys/geom/nop/g_nop.c projects/calloutng/sys/geom/sched/g_sched.c projects/calloutng/sys/gnu/fs/reiserfs/reiserfs_inode.c projects/calloutng/sys/i386/i386/db_trace.c projects/calloutng/sys/i386/pci/pci_cfgreg.c projects/calloutng/sys/kern/capabilities.conf projects/calloutng/sys/kern/init_main.c projects/calloutng/sys/kern/init_sysent.c projects/calloutng/sys/kern/kern_fork.c projects/calloutng/sys/kern/kern_lock.c projects/calloutng/sys/kern/kern_mbuf.c projects/calloutng/sys/kern/kern_proc.c projects/calloutng/sys/kern/kern_shutdown.c projects/calloutng/sys/kern/kern_sig.c projects/calloutng/sys/kern/kern_time.c projects/calloutng/sys/kern/kern_timeout.c projects/calloutng/sys/kern/subr_mchain.c projects/calloutng/sys/kern/subr_param.c projects/calloutng/sys/kern/subr_taskqueue.c projects/calloutng/sys/kern/tty_pts.c projects/calloutng/sys/kern/uipc_mbuf.c projects/calloutng/sys/kern/uipc_mbuf2.c projects/calloutng/sys/kern/uipc_sockbuf.c projects/calloutng/sys/kern/uipc_socket.c projects/calloutng/sys/kern/uipc_syscalls.c projects/calloutng/sys/kern/uipc_usrreq.c projects/calloutng/sys/kern/vfs_lookup.c projects/calloutng/sys/kern/vfs_mount.c projects/calloutng/sys/kern/vfs_mountroot.c projects/calloutng/sys/kern/vfs_subr.c projects/calloutng/sys/kern/vfs_vnops.c projects/calloutng/sys/kern/vnode_if.src projects/calloutng/sys/mips/adm5120/if_admsw.c projects/calloutng/sys/mips/atheros/if_arge.c projects/calloutng/sys/mips/cavium/if_octm.c projects/calloutng/sys/mips/cavium/octe/ethernet-mem.c projects/calloutng/sys/mips/cavium/octe/ethernet-rx.c projects/calloutng/sys/mips/cavium/octe/ethernet-tx.c projects/calloutng/sys/mips/cavium/octe/ethernet.c projects/calloutng/sys/mips/cavium/octeon_machdep.c projects/calloutng/sys/mips/cavium/octeon_pci_console.c projects/calloutng/sys/mips/conf/OCTEON1 projects/calloutng/sys/mips/idt/if_kr.c projects/calloutng/sys/mips/mips/support.S projects/calloutng/sys/mips/nlm/dev/net/xlpge.c projects/calloutng/sys/mips/rmi/dev/nlge/if_nlge.c projects/calloutng/sys/mips/rmi/dev/xlr/rge.c projects/calloutng/sys/modules/Makefile projects/calloutng/sys/modules/acpi/acpi/Makefile projects/calloutng/sys/modules/ath/Makefile projects/calloutng/sys/modules/iwn/Makefile projects/calloutng/sys/modules/ufs/Makefile projects/calloutng/sys/net/bpf.c projects/calloutng/sys/net/bridgestp.c projects/calloutng/sys/net/ieee8023ad_lacp.c projects/calloutng/sys/net/if_arcsubr.c projects/calloutng/sys/net/if_atmsubr.c projects/calloutng/sys/net/if_bridge.c projects/calloutng/sys/net/if_ef.c projects/calloutng/sys/net/if_ethersubr.c projects/calloutng/sys/net/if_fddisubr.c projects/calloutng/sys/net/if_fwsubr.c projects/calloutng/sys/net/if_gre.c projects/calloutng/sys/net/if_iso88025subr.c projects/calloutng/sys/net/if_spppfr.c projects/calloutng/sys/net/if_spppsubr.c projects/calloutng/sys/net/if_stf.c projects/calloutng/sys/net/if_tap.c projects/calloutng/sys/net/if_tun.c projects/calloutng/sys/net/if_vlan.c projects/calloutng/sys/net/rtsock.c projects/calloutng/sys/net80211/ieee80211_freebsd.c projects/calloutng/sys/net80211/ieee80211_freebsd.h projects/calloutng/sys/net80211/ieee80211_hostap.c projects/calloutng/sys/net80211/ieee80211_hwmp.c projects/calloutng/sys/net80211/ieee80211_input.c projects/calloutng/sys/net80211/ieee80211_mesh.c projects/calloutng/sys/net80211/ieee80211_output.c projects/calloutng/sys/net80211/ieee80211_superg.c projects/calloutng/sys/net80211/ieee80211_wds.c projects/calloutng/sys/netatalk/aarp.c projects/calloutng/sys/netatalk/ddp_output.c projects/calloutng/sys/netgraph/atm/ccatm/ng_ccatm.c projects/calloutng/sys/netgraph/atm/ng_atm.c projects/calloutng/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c projects/calloutng/sys/netgraph/bluetooth/drivers/h4/ng_h4.c projects/calloutng/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c projects/calloutng/sys/netgraph/bluetooth/hci/ng_hci_cmds.c projects/calloutng/sys/netgraph/bluetooth/hci/ng_hci_evnt.c projects/calloutng/sys/netgraph/bluetooth/hci/ng_hci_misc.c projects/calloutng/sys/netgraph/bluetooth/hci/ng_hci_ulpi.c projects/calloutng/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.h projects/calloutng/sys/netgraph/bluetooth/l2cap/ng_l2cap_evnt.c projects/calloutng/sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c projects/calloutng/sys/netgraph/bluetooth/l2cap/ng_l2cap_misc.c projects/calloutng/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c projects/calloutng/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c projects/calloutng/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c projects/calloutng/sys/netgraph/bluetooth/socket/ng_btsocket_sco.c projects/calloutng/sys/netgraph/netflow/netflow.c projects/calloutng/sys/netgraph/netflow/netflow_v9.c projects/calloutng/sys/netgraph/ng_UI.c projects/calloutng/sys/netgraph/ng_atmllc.c projects/calloutng/sys/netgraph/ng_bridge.c projects/calloutng/sys/netgraph/ng_cisco.c projects/calloutng/sys/netgraph/ng_deflate.c projects/calloutng/sys/netgraph/ng_device.c projects/calloutng/sys/netgraph/ng_frame_relay.c projects/calloutng/sys/netgraph/ng_gif.c projects/calloutng/sys/netgraph/ng_gif_demux.c projects/calloutng/sys/netgraph/ng_hub.c projects/calloutng/sys/netgraph/ng_iface.c projects/calloutng/sys/netgraph/ng_ipfw.c projects/calloutng/sys/netgraph/ng_l2tp.c projects/calloutng/sys/netgraph/ng_lmi.c projects/calloutng/sys/netgraph/ng_mppc.c projects/calloutng/sys/netgraph/ng_one2many.c projects/calloutng/sys/netgraph/ng_ppp.c projects/calloutng/sys/netgraph/ng_pppoe.c projects/calloutng/sys/netgraph/ng_pptpgre.c projects/calloutng/sys/netgraph/ng_pred1.c projects/calloutng/sys/netgraph/ng_rfc1490.c projects/calloutng/sys/netgraph/ng_source.c projects/calloutng/sys/netgraph/ng_tee.c projects/calloutng/sys/netgraph/ng_tty.c projects/calloutng/sys/netgraph/ng_vjc.c projects/calloutng/sys/netgraph/ng_vlan.c projects/calloutng/sys/netinet/if_ether.c projects/calloutng/sys/netinet/igmp.c projects/calloutng/sys/netinet/in_gif.c projects/calloutng/sys/netinet/ip_icmp.c projects/calloutng/sys/netinet/ip_input.c projects/calloutng/sys/netinet/ip_mroute.c projects/calloutng/sys/netinet/ip_options.c projects/calloutng/sys/netinet/ip_output.c projects/calloutng/sys/netinet/libalias/alias.c projects/calloutng/sys/netinet/raw_ip.c projects/calloutng/sys/netinet/sctp_asconf.c projects/calloutng/sys/netinet/sctp_auth.c projects/calloutng/sys/netinet/sctp_indata.c projects/calloutng/sys/netinet/sctp_input.c projects/calloutng/sys/netinet/sctp_output.c projects/calloutng/sys/netinet/sctp_pcb.c projects/calloutng/sys/netinet/sctp_pcb.h projects/calloutng/sys/netinet/sctp_peeloff.c projects/calloutng/sys/netinet/sctp_peeloff.h projects/calloutng/sys/netinet/sctp_sysctl.c projects/calloutng/sys/netinet/sctp_timer.c projects/calloutng/sys/netinet/sctp_usrreq.c projects/calloutng/sys/netinet/sctputil.c projects/calloutng/sys/netinet/sctputil.h projects/calloutng/sys/netinet/tcp_output.c projects/calloutng/sys/netinet/tcp_subr.c projects/calloutng/sys/netinet/tcp_syncache.c projects/calloutng/sys/netinet/tcp_timer.c projects/calloutng/sys/netinet/tcp_timer.h projects/calloutng/sys/netinet/tcp_timewait.c projects/calloutng/sys/netinet/udp_usrreq.c projects/calloutng/sys/netinet6/frag6.c projects/calloutng/sys/netinet6/icmp6.c projects/calloutng/sys/netinet6/in6_gif.c projects/calloutng/sys/netinet6/ip6_input.c projects/calloutng/sys/netinet6/ip6_mroute.c projects/calloutng/sys/netinet6/ip6_output.c projects/calloutng/sys/netinet6/mld6.c projects/calloutng/sys/netinet6/nd6_nbr.c projects/calloutng/sys/netinet6/raw_ip6.c projects/calloutng/sys/netinet6/scope6.c projects/calloutng/sys/netinet6/sctp6_usrreq.c projects/calloutng/sys/netinet6/sctp6_var.h projects/calloutng/sys/netinet6/udp6_usrreq.c projects/calloutng/sys/netipsec/ipsec_mbuf.c projects/calloutng/sys/netipsec/ipsec_output.c projects/calloutng/sys/netipsec/key.c projects/calloutng/sys/netipsec/keysock.c projects/calloutng/sys/netipsec/xform_ipip.c projects/calloutng/sys/netipx/ipx_outputfl.c projects/calloutng/sys/netipx/ipx_usrreq.c projects/calloutng/sys/netipx/spx_reass.c projects/calloutng/sys/netipx/spx_usrreq.c projects/calloutng/sys/netnatm/natm.c projects/calloutng/sys/netncp/ncp_sock.c projects/calloutng/sys/netpfil/ipfw/ip_dn_glue.c projects/calloutng/sys/netpfil/ipfw/ip_fw2.c projects/calloutng/sys/netpfil/ipfw/ip_fw_dynamic.c projects/calloutng/sys/netpfil/ipfw/ip_fw_pfil.c projects/calloutng/sys/netpfil/ipfw/ip_fw_private.h projects/calloutng/sys/netpfil/ipfw/ip_fw_sockopt.c projects/calloutng/sys/netsmb/smb_iod.c projects/calloutng/sys/netsmb/smb_rq.c projects/calloutng/sys/netsmb/smb_trantcp.c projects/calloutng/sys/nfs/krpc_subr.c projects/calloutng/sys/nfs/nfs_common.c projects/calloutng/sys/nfs/nfs_nfssvc.c projects/calloutng/sys/nfs/nfssvc.h projects/calloutng/sys/nfsclient/nfs_krpc.c projects/calloutng/sys/nfsclient/nfs_node.c projects/calloutng/sys/nfsclient/nfs_subs.c projects/calloutng/sys/nfsserver/nfs_fha.c projects/calloutng/sys/nfsserver/nfs_serv.c projects/calloutng/sys/nfsserver/nfs_srvkrpc.c projects/calloutng/sys/nfsserver/nfs_srvsubs.c projects/calloutng/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c projects/calloutng/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c projects/calloutng/sys/ofed/drivers/infiniband/ulp/sdp/sdp_bcopy.c projects/calloutng/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c projects/calloutng/sys/ofed/drivers/infiniband/ulp/sdp/sdp_tx.c projects/calloutng/sys/ofed/drivers/net/mlx4/en_tx.c projects/calloutng/sys/pci/if_rl.c projects/calloutng/sys/powerpc/aim/locore32.S projects/calloutng/sys/powerpc/aim/mmu_oea.c projects/calloutng/sys/powerpc/ps3/if_glc.c projects/calloutng/sys/rpc/clnt_dg.c projects/calloutng/sys/rpc/clnt_vc.c projects/calloutng/sys/rpc/rpc_generic.c projects/calloutng/sys/rpc/rpcm_subs.h projects/calloutng/sys/rpc/rpcsec_gss/rpcsec_gss_prot.c projects/calloutng/sys/rpc/svc.c projects/calloutng/sys/rpc/svc_dg.c projects/calloutng/sys/rpc/svc_vc.c projects/calloutng/sys/security/audit/audit.c projects/calloutng/sys/security/audit/audit.h projects/calloutng/sys/security/audit/audit_arg.c projects/calloutng/sys/security/audit/audit_bsm.c projects/calloutng/sys/security/audit/audit_bsm_errno.c projects/calloutng/sys/security/audit/audit_bsm_klib.c projects/calloutng/sys/security/audit/audit_bsm_token.c projects/calloutng/sys/security/audit/audit_private.h projects/calloutng/sys/security/audit/audit_worker.c projects/calloutng/sys/sys/eventhandler.h projects/calloutng/sys/sys/mbuf.h projects/calloutng/sys/sys/namei.h projects/calloutng/sys/sys/param.h projects/calloutng/sys/sys/vnode.h projects/calloutng/sys/ufs/ffs/ffs_extern.h projects/calloutng/sys/ufs/ffs/ffs_vfsops.c projects/calloutng/sys/ufs/ffs/fs.h projects/calloutng/sys/ufs/ufs/ufsmount.h projects/calloutng/sys/vm/swap_pager.c projects/calloutng/sys/vm/vm_map.c projects/calloutng/sys/vm/vm_object.c projects/calloutng/sys/vm/vm_page.c projects/calloutng/sys/x86/x86/io_apic.c projects/calloutng/tools/build/mk/OptionalObsoleteFiles.inc projects/calloutng/tools/regression/bin/sh/parser/alias10.0 projects/calloutng/tools/regression/lib/libc/resolv/resolv.c projects/calloutng/tools/regression/netinet/arphold/arphold.c projects/calloutng/tools/regression/netinet/udpzerobyte/udpzerobyte.c projects/calloutng/tools/regression/netipx/ipxdgramloopback/ipxdgramloopback.c projects/calloutng/tools/regression/sockets/sblock/sblock.c projects/calloutng/tools/regression/sockets/sigpipe/sigpipe.c projects/calloutng/tools/regression/sockets/unix_cmsg/unix_cmsg.c projects/calloutng/tools/regression/sockets/unix_seqpacket_exercise/unix_seqpacket_exercise.c projects/calloutng/tools/regression/sockets/zerosend/zerosend.c projects/calloutng/tools/regression/ufs/uprintf/ufs_uprintf.c projects/calloutng/usr.bin/clang/clang-tblgen/Makefile projects/calloutng/usr.bin/clang/clang/Makefile projects/calloutng/usr.bin/clang/llc/Makefile projects/calloutng/usr.bin/clang/lli/Makefile projects/calloutng/usr.bin/clang/llvm-mc/Makefile projects/calloutng/usr.bin/clang/llvm-objdump/Makefile projects/calloutng/usr.bin/clang/llvm-rtdyld/Makefile projects/calloutng/usr.bin/clang/opt/Makefile projects/calloutng/usr.bin/clang/tblgen/Makefile projects/calloutng/usr.bin/cut/cut.1 projects/calloutng/usr.bin/cut/cut.c projects/calloutng/usr.bin/find/find.1 projects/calloutng/usr.bin/less/zless.sh projects/calloutng/usr.bin/locale/locale.1 projects/calloutng/usr.bin/locale/locale.c projects/calloutng/usr.bin/make/main.c projects/calloutng/usr.bin/mktemp/mktemp.1 projects/calloutng/usr.bin/netstat/route.c projects/calloutng/usr.bin/nfsstat/nfsstat.1 projects/calloutng/usr.bin/nfsstat/nfsstat.c projects/calloutng/usr.bin/passwd/Makefile projects/calloutng/usr.bin/pr/pr.1 projects/calloutng/usr.bin/rctl/rctl.8 projects/calloutng/usr.bin/seq/seq.1 projects/calloutng/usr.bin/top/machine.c projects/calloutng/usr.bin/w/extern.h projects/calloutng/usr.bin/w/proc_compare.c projects/calloutng/usr.sbin/Makefile projects/calloutng/usr.sbin/acpi/acpidb/Makefile projects/calloutng/usr.sbin/acpi/iasl/Makefile projects/calloutng/usr.sbin/bsdconfig/networking/include/messages.subr projects/calloutng/usr.sbin/bsdconfig/networking/share/ipaddr.subr projects/calloutng/usr.sbin/bsdconfig/share/dialog.subr projects/calloutng/usr.sbin/bsdconfig/share/mustberoot.subr projects/calloutng/usr.sbin/bsdconfig/startup/share/rcedit.subr projects/calloutng/usr.sbin/bsdconfig/timezone/share/zones.subr projects/calloutng/usr.sbin/bsdinstall/scripts/mirrorselect projects/calloutng/usr.sbin/edquota/edquota.c projects/calloutng/usr.sbin/ifmcstat/ifmcstat.c projects/calloutng/usr.sbin/mergemaster/mergemaster.sh projects/calloutng/usr.sbin/nfscbd/nfscbd.8 projects/calloutng/usr.sbin/nfsd/nfsd.8 projects/calloutng/usr.sbin/nfsd/nfsd.c projects/calloutng/usr.sbin/pkg/Makefile projects/calloutng/usr.sbin/pkg/pkg.c projects/calloutng/usr.sbin/pkg_install/add/main.c projects/calloutng/usr.sbin/pkg_install/add/pkg_add.1 projects/calloutng/usr.sbin/pkg_install/create/pkg_create.1 projects/calloutng/usr.sbin/pkg_install/delete/pkg_delete.1 projects/calloutng/usr.sbin/pkg_install/info/pkg_info.1 projects/calloutng/usr.sbin/pkg_install/lib/lib.h projects/calloutng/usr.sbin/pkg_install/lib/pkgng.c projects/calloutng/usr.sbin/pkg_install/updating/pkg_updating.1 projects/calloutng/usr.sbin/pkg_install/version/pkg_version.1 projects/calloutng/usr.sbin/pw/bitmap.c projects/calloutng/usr.sbin/pw/grupd.c projects/calloutng/usr.sbin/pw/pw_group.c projects/calloutng/usr.sbin/pw/pw_nis.c projects/calloutng/usr.sbin/pw/pw_user.c projects/calloutng/usr.sbin/pw/pwupd.c projects/calloutng/usr.sbin/pw/rm_r.c projects/calloutng/usr.sbin/route6d/route6d.8 projects/calloutng/usr.sbin/route6d/route6d.c projects/calloutng/usr.sbin/rpcbind/util.c Directory Properties: projects/calloutng/ (props changed) projects/calloutng/cddl/contrib/opensolaris/ (props changed) projects/calloutng/cddl/contrib/opensolaris/cmd/zfs/ (props changed) projects/calloutng/contrib/less/ (props changed) projects/calloutng/contrib/libc++/ (props changed) projects/calloutng/contrib/llvm/ (props changed) projects/calloutng/contrib/llvm/tools/clang/ (props changed) projects/calloutng/contrib/openbsm/ (props changed) projects/calloutng/contrib/sendmail/ (props changed) projects/calloutng/contrib/wpa/ (props changed) projects/calloutng/crypto/openssl/ (props changed) projects/calloutng/lib/libc/ (props changed) projects/calloutng/lib/libutil/ (props changed) projects/calloutng/sbin/ (props changed) projects/calloutng/share/man/man4/ (props changed) projects/calloutng/sys/ (props changed) projects/calloutng/sys/boot/ (props changed) projects/calloutng/sys/boot/i386/efi/ (props changed) projects/calloutng/sys/boot/powerpc/boot1.chrp/ (props changed) projects/calloutng/sys/cddl/contrib/opensolaris/ (props changed) projects/calloutng/sys/conf/ (props changed) projects/calloutng/sys/contrib/dev/acpica/ (props changed) projects/calloutng/sys/contrib/dev/acpica/common/ (props changed) projects/calloutng/sys/contrib/dev/acpica/compiler/ (props changed) projects/calloutng/sys/contrib/dev/acpica/components/debugger/ (props changed) projects/calloutng/sys/contrib/dev/acpica/components/disassembler/ (props changed) projects/calloutng/sys/contrib/dev/acpica/components/dispatcher/ (props changed) projects/calloutng/sys/contrib/dev/acpica/components/executer/ (props changed) projects/calloutng/sys/contrib/dev/acpica/components/namespace/ (props changed) projects/calloutng/sys/contrib/dev/acpica/components/resources/ (props changed) projects/calloutng/sys/contrib/dev/acpica/components/utilities/ (props changed) projects/calloutng/sys/contrib/dev/acpica/include/ (props changed) projects/calloutng/sys/contrib/octeon-sdk/ (props changed) Modified: projects/calloutng/Makefile.inc1 ============================================================================== --- projects/calloutng/Makefile.inc1 Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/Makefile.inc1 Thu Dec 6 08:43:48 2012 (r243945) @@ -511,6 +511,8 @@ build32: .endfor .for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw lib/libmagic cd ${.CURDIR}/${_dir}; \ + WORLDTMP=${WORLDTMP} \ + MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" \ MAKEOBJDIRPREFIX=${OBJTREE}/lib32 ${MAKE} SSP_CFLAGS= DESTDIR= \ DIRPRFX=${_dir}/ -DNO_LINT -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF \ -DEARLY_BUILD build-tools @@ -609,7 +611,7 @@ installcheck_DESTDIR: # # Check for missing UIDs/GIDs. # -CHECK_UIDS= +CHECK_UIDS= auditdistd CHECK_GIDS= audit .if ${MK_SENDMAIL} != "no" CHECK_UIDS+= smmsp @@ -1138,7 +1140,7 @@ _aicasm= sys/modules/aic7xxx/aicasm _share= share/syscons/scrnmaps .endif -.if ${MK_GCC} != "no" && (${MK_CLANG_IS_CC} == "no" || ${TARGET} == "pc98") +.if ${MK_GCC} != "no" _gcc_tools= gnu/usr.bin/cc/cc_tools .endif Modified: projects/calloutng/ObsoleteFiles.inc ============================================================================== --- projects/calloutng/ObsoleteFiles.inc Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/ObsoleteFiles.inc Thu Dec 6 08:43:48 2012 (r243945) @@ -52,6 +52,9 @@ OLD_FILES+=usr/include/clang/3.2/unwind. # 20120910: NetBSD compat shims removed OLD_FILES+=usr/include/cam/scsi/scsi_low_pisa.h OLD_FILES+=usr/include/sys/device_port.h +# 20120909: doc and www supfiles removed +OLD_FILES+=usr/share/examples/cvsup/doc-supfile +OLD_FILES+=usr/share/examples/cvsup/www-supfile # 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/calloutng/UPDATING ============================================================================== --- projects/calloutng/UPDATING Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/UPDATING Thu Dec 6 08:43:48 2012 (r243945) @@ -4,7 +4,9 @@ This file is maintained and copyrighted See end of file for further details. For commonly done items, please see the COMMON ITEMS: section later in the file. These instructions assume that you basically know what you are doing. If not, then please consult the FreeBSD -handbook. +handbook: + + http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before running portupgrade. @@ -24,6 +26,19 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20121201: + With the addition of auditdistd(8), a new auditdistd user is now + depended on during installworld. "mergemaster -p" can be used to add + the user prior to installworld, as documented in the handbook. + +20121117: + The sin6_scope_id member variable in struct sockaddr_in6 is now + filled by the kernel before passing the structure to the userland via + sysctl or routing socket. This means the KAME-specific embedded scope + id in sin6_addr.s6_addr[2] is always cleared in userland application. + This behavior can be controlled by net.inet6.ip6.deembed_scopeid. + __FreeBSD_version is bumped to 1000025. + 20121105: On i386 and amd64 systems WITH_CLANG_IS_CC is now the default. This means that the world and kernel will be compiled with clang Modified: projects/calloutng/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- projects/calloutng/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Thu Dec 6 08:43:48 2012 (r243945) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 5, 2012 +.Dd November 26, 2012 .Dt ZFS 8 .Os .Sh NAME @@ -760,7 +760,7 @@ If no inheritable .Tn ACE Ns s exist that affect the mode, then the mode is set in accordance to the requested mode from the application. -.It Sy aclmode Ns = Ns Cm discard | groupmask | passthrough +.It Sy aclmode Ns = Ns Cm discard | groupmask | passthrough | restricted Controls how an .Tn ACL is modified during @@ -790,6 +790,32 @@ indicates that no changes are made to th other than creating or updating the necessary .Tn ACL entries to represent the new mode of the file or directory. +An +.Sy aclmode +property of +.Cm restricted +will cause the +.Xr chmod 2 +operation to return an error when used on any file or directory which has +a non-trivial +.Tn ACL +whose entries can not be represented by a mode. +.Xr chmod 2 +is required to change the set user ID, set group ID, or sticky bits on a file +or directory, as they do not have equivalent +.Tn ACL +entries. +In order to use +.Xr chmod 2 +on a file or directory with a non-trivial +.Tn ACL +when +.Sy aclmode +is set to +.Cm restricted , +you must first remove all +.Tn ACL +entries which do not represent the current mode. .It Sy atime Ns = Ns Cm on | off Controls whether the access time for files is updated when they are read. Turning this property off avoids producing write traffic when reading files and @@ -830,7 +856,7 @@ command or unmounted by the command. .Pp This property is not inherited. -.It Sy checksum Ns = Ns Cm on | off | fletcher2 | fletcher4 +.It Sy checksum Ns = Ns Cm on | off | fletcher2 | fletcher4 | sha256 Controls the checksum used to verify data integrity. The default value is .Cm on , which automatically selects an appropriate algorithm (currently, Modified: projects/calloutng/cddl/contrib/opensolaris/cmd/zpool/zpool.8 ============================================================================== --- projects/calloutng/cddl/contrib/opensolaris/cmd/zpool/zpool.8 Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/cddl/contrib/opensolaris/cmd/zpool/zpool.8 Thu Dec 6 08:43:48 2012 (r243945) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 28, 2011 +.Dd November 15, 2012 .Dt ZPOOL 8 .Os .Sh NAME Modified: projects/calloutng/cddl/contrib/opensolaris/cmd/ztest/ztest.c ============================================================================== --- projects/calloutng/cddl/contrib/opensolaris/cmd/ztest/ztest.c Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/cddl/contrib/opensolaris/cmd/ztest/ztest.c Thu Dec 6 08:43:48 2012 (r243945) @@ -204,6 +204,7 @@ enum ztest_io_type { ZTEST_IO_WRITE_ZEROES, ZTEST_IO_TRUNCATE, ZTEST_IO_SETATTR, + ZTEST_IO_REWRITE, ZTEST_IO_TYPES }; @@ -330,6 +331,7 @@ ztest_func_t ztest_vdev_add_remove; ztest_func_t ztest_vdev_aux_add_remove; ztest_func_t ztest_split_pool; ztest_func_t ztest_reguid; +ztest_func_t ztest_spa_upgrade; uint64_t zopt_always = 0ULL * NANOSEC; /* all the time */ uint64_t zopt_incessant = 1ULL * NANOSEC / 10; /* every 1/10 second */ @@ -363,6 +365,7 @@ ztest_info_t ztest_info[] = { { ztest_reguid, 1, &zopt_sometimes }, { ztest_spa_rename, 1, &zopt_rarely }, { ztest_scrub, 1, &zopt_rarely }, + { ztest_spa_upgrade, 1, &zopt_rarely }, { ztest_dsl_dataset_promote_busy, 1, &zopt_rarely }, { ztest_vdev_attach_detach, 1, &zopt_rarely }, { ztest_vdev_LUN_growth, 1, &zopt_rarely }, @@ -797,7 +800,7 @@ ztest_get_ashift(void) } static nvlist_t * -make_vdev_file(char *path, char *aux, size_t size, uint64_t ashift) +make_vdev_file(char *path, char *aux, char *pool, size_t size, uint64_t ashift) { char pathbuf[MAXPATHLEN]; uint64_t vdev; @@ -813,12 +816,13 @@ make_vdev_file(char *path, char *aux, si vdev = ztest_shared->zs_vdev_aux; (void) snprintf(path, sizeof (pathbuf), ztest_aux_template, ztest_opts.zo_dir, - ztest_opts.zo_pool, aux, vdev); + pool == NULL ? ztest_opts.zo_pool : pool, + aux, vdev); } else { vdev = ztest_shared->zs_vdev_next_leaf++; (void) snprintf(path, sizeof (pathbuf), ztest_dev_template, ztest_opts.zo_dir, - ztest_opts.zo_pool, vdev); + pool == NULL ? ztest_opts.zo_pool : pool, vdev); } } @@ -840,17 +844,18 @@ make_vdev_file(char *path, char *aux, si } static nvlist_t * -make_vdev_raidz(char *path, char *aux, size_t size, uint64_t ashift, int r) +make_vdev_raidz(char *path, char *aux, char *pool, size_t size, + uint64_t ashift, int r) { nvlist_t *raidz, **child; int c; if (r < 2) - return (make_vdev_file(path, aux, size, ashift)); + return (make_vdev_file(path, aux, pool, size, ashift)); child = umem_alloc(r * sizeof (nvlist_t *), UMEM_NOFAIL); for (c = 0; c < r; c++) - child[c] = make_vdev_file(path, aux, size, ashift); + child[c] = make_vdev_file(path, aux, pool, size, ashift); VERIFY(nvlist_alloc(&raidz, NV_UNIQUE_NAME, 0) == 0); VERIFY(nvlist_add_string(raidz, ZPOOL_CONFIG_TYPE, @@ -869,19 +874,19 @@ make_vdev_raidz(char *path, char *aux, s } static nvlist_t * -make_vdev_mirror(char *path, char *aux, size_t size, uint64_t ashift, - int r, int m) +make_vdev_mirror(char *path, char *aux, char *pool, size_t size, + uint64_t ashift, int r, int m) { nvlist_t *mirror, **child; int c; if (m < 1) - return (make_vdev_raidz(path, aux, size, ashift, r)); + return (make_vdev_raidz(path, aux, pool, size, ashift, r)); child = umem_alloc(m * sizeof (nvlist_t *), UMEM_NOFAIL); for (c = 0; c < m; c++) - child[c] = make_vdev_raidz(path, aux, size, ashift, r); + child[c] = make_vdev_raidz(path, aux, pool, size, ashift, r); VERIFY(nvlist_alloc(&mirror, NV_UNIQUE_NAME, 0) == 0); VERIFY(nvlist_add_string(mirror, ZPOOL_CONFIG_TYPE, @@ -898,8 +903,8 @@ make_vdev_mirror(char *path, char *aux, } static nvlist_t * -make_vdev_root(char *path, char *aux, size_t size, uint64_t ashift, - int log, int r, int m, int t) +make_vdev_root(char *path, char *aux, char *pool, size_t size, uint64_t ashift, + int log, int r, int m, int t) { nvlist_t *root, **child; int c; @@ -909,7 +914,8 @@ make_vdev_root(char *path, char *aux, si child = umem_alloc(t * sizeof (nvlist_t *), UMEM_NOFAIL); for (c = 0; c < t; c++) { - child[c] = make_vdev_mirror(path, aux, size, ashift, r, m); + child[c] = make_vdev_mirror(path, aux, pool, size, ashift, + r, m); VERIFY(nvlist_add_uint64(child[c], ZPOOL_CONFIG_IS_LOG, log) == 0); } @@ -927,6 +933,27 @@ make_vdev_root(char *path, char *aux, si return (root); } +/* + * Find a random spa version. Returns back a random spa version in the + * range [initial_version, SPA_VERSION_FEATURES]. + */ +static uint64_t +ztest_random_spa_version(uint64_t initial_version) +{ + uint64_t version = initial_version; + + if (version <= SPA_VERSION_BEFORE_FEATURES) { + version = version + + ztest_random(SPA_VERSION_BEFORE_FEATURES - version + 1); + } + + if (version > SPA_VERSION_BEFORE_FEATURES) + version = SPA_VERSION_FEATURES; + + ASSERT(SPA_VERSION_IS_SUPPORTED(version)); + return (version); +} + static int ztest_random_blocksize(void) { @@ -1841,6 +1868,12 @@ ztest_get_data(void *arg, lr_write_t *lr DMU_READ_NO_PREFETCH); if (error == 0) { + blkptr_t *obp = dmu_buf_get_blkptr(db); + if (obp) { + ASSERT(BP_IS_HOLE(bp)); + *bp = *obp; + } + zgd->zgd_db = db; zgd->zgd_bp = bp; @@ -1986,6 +2019,9 @@ ztest_remove(ztest_ds_t *zd, ztest_od_t continue; } + /* + * No object was found. + */ if (od->od_object == 0) continue; @@ -2101,6 +2137,7 @@ ztest_prealloc(ztest_ds_t *zd, uint64_t static void ztest_io(ztest_ds_t *zd, uint64_t object, uint64_t offset) { + int err; ztest_block_tag_t wbt; dmu_object_info_t doi; enum ztest_io_type io_type; @@ -2153,6 +2190,25 @@ ztest_io(ztest_ds_t *zd, uint64_t object case ZTEST_IO_SETATTR: (void) ztest_setattr(zd, object); break; + + case ZTEST_IO_REWRITE: + (void) rw_rdlock(&ztest_name_lock); + err = ztest_dsl_prop_set_uint64(zd->zd_name, + ZFS_PROP_CHECKSUM, spa_dedup_checksum(ztest_spa), + B_FALSE); + VERIFY(err == 0 || err == ENOSPC); + err = ztest_dsl_prop_set_uint64(zd->zd_name, + ZFS_PROP_COMPRESSION, + ztest_random_dsl_prop(ZFS_PROP_COMPRESSION), + B_FALSE); + VERIFY(err == 0 || err == ENOSPC); + (void) rw_unlock(&ztest_name_lock); + + VERIFY0(dmu_read(zd->zd_os, object, offset, blocksize, data, + DMU_READ_NO_PREFETCH)); + + (void) ztest_write(zd, object, offset, blocksize, data); + break; } (void) rw_unlock(&zd->zd_zilog_lock); @@ -2240,7 +2296,12 @@ ztest_zil_remount(ztest_ds_t *zd, uint64 { objset_t *os = zd->zd_os; - VERIFY(mutex_lock(&zd->zd_dirobj_lock) == 0); + /* + * We grab the zd_dirobj_lock to ensure that no other thread is + * updating the zil (i.e. adding in-memory log records) and the + * zd_zilog_lock to block any I/O. + */ + VERIFY0(mutex_lock(&zd->zd_dirobj_lock)); (void) rw_wrlock(&zd->zd_zilog_lock); /* zfsvfs_teardown() */ @@ -2269,7 +2330,7 @@ ztest_spa_create_destroy(ztest_ds_t *zd, /* * Attempt to create using a bad file. */ - nvroot = make_vdev_root("/dev/bogus", NULL, 0, 0, 0, 0, 0, 1); + nvroot = make_vdev_root("/dev/bogus", NULL, NULL, 0, 0, 0, 0, 0, 1); VERIFY3U(ENOENT, ==, spa_create("ztest_bad_file", nvroot, NULL, NULL, NULL)); nvlist_free(nvroot); @@ -2277,7 +2338,7 @@ ztest_spa_create_destroy(ztest_ds_t *zd, /* * Attempt to create using a bad mirror. */ - nvroot = make_vdev_root("/dev/bogus", NULL, 0, 0, 0, 0, 2, 1); + nvroot = make_vdev_root("/dev/bogus", NULL, NULL, 0, 0, 0, 0, 2, 1); VERIFY3U(ENOENT, ==, spa_create("ztest_bad_mirror", nvroot, NULL, NULL, NULL)); nvlist_free(nvroot); @@ -2287,7 +2348,7 @@ ztest_spa_create_destroy(ztest_ds_t *zd, * what's in the nvroot; we should fail with EEXIST. */ (void) rw_rdlock(&ztest_name_lock); - nvroot = make_vdev_root("/dev/bogus", NULL, 0, 0, 0, 0, 0, 1); + nvroot = make_vdev_root("/dev/bogus", NULL, NULL, 0, 0, 0, 0, 0, 1); VERIFY3U(EEXIST, ==, spa_create(zo->zo_pool, nvroot, NULL, NULL, NULL)); nvlist_free(nvroot); VERIFY3U(0, ==, spa_open(zo->zo_pool, &spa, FTAG)); @@ -2297,6 +2358,78 @@ ztest_spa_create_destroy(ztest_ds_t *zd, (void) rw_unlock(&ztest_name_lock); } +/* ARGSUSED */ +void +ztest_spa_upgrade(ztest_ds_t *zd, uint64_t id) +{ + spa_t *spa; + uint64_t initial_version = SPA_VERSION_INITIAL; + uint64_t version, newversion; + nvlist_t *nvroot, *props; + char *name; + + VERIFY0(mutex_lock(&ztest_vdev_lock)); + name = kmem_asprintf("%s_upgrade", ztest_opts.zo_pool); + + /* + * Clean up from previous runs. + */ + (void) spa_destroy(name); + + nvroot = make_vdev_root(NULL, NULL, name, ztest_opts.zo_vdev_size, 0, + 0, ztest_opts.zo_raidz, ztest_opts.zo_mirrors, 1); + + /* + * If we're configuring a RAIDZ device then make sure that the + * the initial version is capable of supporting that feature. + */ + switch (ztest_opts.zo_raidz_parity) { + case 0: + case 1: + initial_version = SPA_VERSION_INITIAL; + break; + case 2: + initial_version = SPA_VERSION_RAIDZ2; + break; + case 3: + initial_version = SPA_VERSION_RAIDZ3; + break; + } + + /* + * Create a pool with a spa version that can be upgraded. Pick + * a value between initial_version and SPA_VERSION_BEFORE_FEATURES. + */ + do { + version = ztest_random_spa_version(initial_version); + } while (version > SPA_VERSION_BEFORE_FEATURES); + + props = fnvlist_alloc(); + fnvlist_add_uint64(props, + zpool_prop_to_name(ZPOOL_PROP_VERSION), version); + VERIFY0(spa_create(name, nvroot, props, NULL, NULL)); + fnvlist_free(nvroot); + fnvlist_free(props); + + VERIFY0(spa_open(name, &spa, FTAG)); + VERIFY3U(spa_version(spa), ==, version); + newversion = ztest_random_spa_version(version + 1); + + if (ztest_opts.zo_verbose >= 4) { + (void) printf("upgrading spa version from %llu to %llu\n", + (u_longlong_t)version, (u_longlong_t)newversion); + } + + spa_upgrade(spa, newversion); + VERIFY3U(spa_version(spa), >, version); + VERIFY3U(spa_version(spa), ==, fnvlist_lookup_uint64(spa->spa_config, + zpool_prop_to_name(ZPOOL_PROP_VERSION))); + spa_close(spa, FTAG); + + strfree(name); + VERIFY0(mutex_unlock(&ztest_vdev_lock)); +} + static vdev_t * vdev_lookup_by_path(vdev_t *vd, const char *path) { @@ -2386,7 +2519,7 @@ ztest_vdev_add_remove(ztest_ds_t *zd, ui /* * Make 1/4 of the devices be log devices. */ - nvroot = make_vdev_root(NULL, NULL, + nvroot = make_vdev_root(NULL, NULL, NULL, ztest_opts.zo_vdev_size, 0, ztest_random(4) == 0, ztest_opts.zo_raidz, zs->zs_mirrors, 1); @@ -2463,7 +2596,7 @@ ztest_vdev_aux_add_remove(ztest_ds_t *zd /* * Add a new device. */ - nvlist_t *nvroot = make_vdev_root(NULL, aux, + nvlist_t *nvroot = make_vdev_root(NULL, aux, NULL, (ztest_opts.zo_vdev_size * 5) / 4, 0, 0, 0, 0, 1); error = spa_vdev_add(spa, nvroot); if (error != 0) @@ -2732,7 +2865,7 @@ ztest_vdev_attach_detach(ztest_ds_t *zd, /* * Build the nvlist describing newpath. */ - root = make_vdev_root(newpath, NULL, newvd == NULL ? newsize : 0, + root = make_vdev_root(newpath, NULL, NULL, newvd == NULL ? newsize : 0, ashift, 0, 0, 0, 1); error = spa_vdev_attach(spa, oldguid, root, replacing); @@ -4827,8 +4960,8 @@ ztest_ddt_repair(ztest_ds_t *zd, uint64_ */ for (int i = 0; i < copies; i++) { uint64_t offset = i * blocksize; - VERIFY(dmu_buf_hold(os, object, offset, FTAG, &db, - DMU_READ_NO_PREFETCH) == 0); + VERIFY0(dmu_buf_hold(os, object, offset, FTAG, &db, + DMU_READ_NO_PREFETCH)); ASSERT(db->db_offset == offset); ASSERT(db->db_size == blocksize); ASSERT(ztest_pattern_match(db->db_data, db->db_size, pattern) || @@ -4844,8 +4977,8 @@ ztest_ddt_repair(ztest_ds_t *zd, uint64_ /* * Find out what block we got. */ - VERIFY(dmu_buf_hold(os, object, 0, FTAG, &db, - DMU_READ_NO_PREFETCH) == 0); + VERIFY0(dmu_buf_hold(os, object, 0, FTAG, &db, + DMU_READ_NO_PREFETCH)); blk = *((dmu_buf_impl_t *)db)->db_blkptr; dmu_buf_rele(db, FTAG); @@ -4900,7 +5033,7 @@ ztest_reguid(ztest_ds_t *zd, uint64_t id if (error != 0) return; - if (ztest_opts.zo_verbose >= 3) { + if (ztest_opts.zo_verbose >= 4) { (void) printf("Changed guid old %llu -> %llu\n", (u_longlong_t)orig, (u_longlong_t)spa_guid(spa)); } @@ -5523,6 +5656,8 @@ ztest_freeze(void) kernel_init(FREAD | FWRITE); VERIFY3U(0, ==, spa_open(ztest_opts.zo_pool, &spa, FTAG)); VERIFY3U(0, ==, ztest_dataset_open(0)); + spa->spa_debug = B_TRUE; + ztest_spa = spa; /* * Force the first log block to be transactionally allocated. @@ -5647,7 +5782,7 @@ ztest_init(ztest_shared_t *zs) ztest_shared->zs_vdev_next_leaf = 0; zs->zs_splits = 0; zs->zs_mirrors = ztest_opts.zo_mirrors; - nvroot = make_vdev_root(NULL, NULL, ztest_opts.zo_vdev_size, 0, + nvroot = make_vdev_root(NULL, NULL, NULL, ztest_opts.zo_vdev_size, 0, 0, ztest_opts.zo_raidz, zs->zs_mirrors, 1); props = make_random_props(); for (int i = 0; i < SPA_FEATURES; i++) { Modified: projects/calloutng/contrib/less/NEWS ============================================================================== --- projects/calloutng/contrib/less/NEWS Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/contrib/less/NEWS Thu Dec 6 08:43:48 2012 (r243945) @@ -11,7 +11,7 @@ ====================================================================== - Major changes between "less" versions 451 and 453 + Major changes between "less" versions 451 and 456 * Allow backslash escaping of metacharacters in LESS environment variable. Modified: projects/calloutng/contrib/less/README ============================================================================== --- projects/calloutng/contrib/less/README Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/contrib/less/README Thu Dec 6 08:43:48 2012 (r243945) @@ -7,9 +7,9 @@ ************************************************************************** ************************************************************************** - Less, version 453 + Less, version 456 - This is the distribution of less, version 453, released 27 Oct 2012. + This is the distribution of less, version 456, released 08 Nov 2012. This program is part of the GNU project (http://www.gnu.org). This program is free software. You may redistribute it and/or Modified: projects/calloutng/contrib/less/configure.ac ============================================================================== --- projects/calloutng/contrib/less/configure.ac Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/contrib/less/configure.ac Thu Dec 6 08:43:48 2012 (r243945) @@ -669,7 +669,7 @@ AH_TOP([ /* * Sizes of various buffers. */ -#if 0 /* old sizes for small memory machines +#if 0 /* old sizes for small memory machines */ #define CMDBUF_SIZE 512 /* Buffer for multichar commands */ #define UNGOT_SIZE 100 /* Max chars to unget() */ #define LINEBUF_SIZE 1024 /* Max size of line in input file */ Modified: projects/calloutng/contrib/less/defines.h.in ============================================================================== --- projects/calloutng/contrib/less/defines.h.in Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/contrib/less/defines.h.in Thu Dec 6 08:43:48 2012 (r243945) @@ -182,7 +182,7 @@ /* * Sizes of various buffers. */ -#if 0 /* old sizes for small memory machines +#if 0 /* old sizes for small memory machines */ #define CMDBUF_SIZE 512 /* Buffer for multichar commands */ #define UNGOT_SIZE 100 /* Max chars to unget() */ #define LINEBUF_SIZE 1024 /* Max size of line in input file */ Modified: projects/calloutng/contrib/less/less.man ============================================================================== --- projects/calloutng/contrib/less/less.man Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/contrib/less/less.man Thu Dec 6 08:43:48 2012 (r243945) @@ -438,18 +438,14 @@ LESS(1) the command line by beginning the command line option with "-+". Some options like -k or -D require a string to follow the option let- - ter. The string for that option is considered to end when a space, - tab, dash or dollar sign ($) is found. For example, to set two -D - options on MS-DOS, you can separate them with a dollar sign, like this: + ter. The string for that option is considered to end when a dollar + sign ($) is found. For example, you can set two -D options on MS-DOS + like this: LESS="Dn9.1$Ds4.1" - or a space like this: - - LESS="Dn9.1 Ds4.1" - - Any character may be included literally in an option string by preced- - ing it with a backslash. + A dollar sign or backslash may be included literally in an option + string by preceding it with a backslash. -? or --help This option displays a summary of the commands accepted by less @@ -1612,4 +1608,4 @@ LESS(1) - Version 453: 27 Oct 2012 LESS(1) + Version 456: 08 Nov 2012 LESS(1) Modified: projects/calloutng/contrib/less/less.nro ============================================================================== --- projects/calloutng/contrib/less/less.nro Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/contrib/less/less.nro Thu Dec 6 08:43:48 2012 (r243945) @@ -1,4 +1,4 @@ -.TH LESS 1 "Version 453: 27 Oct 2012" +.TH LESS 1 "Version 456: 08 Nov 2012" .SH NAME less \- opposite of more .SH SYNOPSIS @@ -456,18 +456,12 @@ to its default value on the command line line option with "\-+". .sp Some options like \-k or \-D require a string to follow the option letter. -The string for that option is considered to end when a space, tab, -dash or dollar sign ($) is found. -For example, to set two \-D options on MS-DOS, -you can separate them with a dollar sign, like this: +The string for that option is considered to end when a dollar sign ($) is found. +For example, you can set two \-D options on MS-DOS like this: .sp LESS="Dn9.1$Ds4.1" .sp -or a space like this: -.sp -LESS="Dn9.1 Ds4.1" -.sp -Any character may be included literally in an option string +A dollar sign or backslash may be included literally in an option string by preceding it with a backslash. .IP "\-? or \-\-help" This option displays a summary of the commands accepted by Modified: projects/calloutng/contrib/less/lessecho.man ============================================================================== --- projects/calloutng/contrib/less/lessecho.man Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/contrib/less/lessecho.man Thu Dec 6 08:43:48 2012 (r243945) @@ -51,4 +51,4 @@ LESSECHO(1) - Version 453: 27 Oct 2012 LESSECHO(1) + Version 456: 08 Nov 2012 LESSECHO(1) Modified: projects/calloutng/contrib/less/lessecho.nro ============================================================================== --- projects/calloutng/contrib/less/lessecho.nro Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/contrib/less/lessecho.nro Thu Dec 6 08:43:48 2012 (r243945) @@ -1,4 +1,4 @@ -.TH LESSECHO 1 "Version 453: 27 Oct 2012" +.TH LESSECHO 1 "Version 456: 08 Nov 2012" .SH NAME lessecho \- expand metacharacters .SH SYNOPSIS Modified: projects/calloutng/contrib/less/lesskey.man ============================================================================== --- projects/calloutng/contrib/less/lesskey.man Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/contrib/less/lesskey.man Thu Dec 6 08:43:48 2012 (r243945) @@ -353,4 +353,4 @@ LESSKEY(1) - Version 453: 27 Oct 2012 LESSKEY(1) + Version 456: 08 Nov 2012 LESSKEY(1) Modified: projects/calloutng/contrib/less/lesskey.nro ============================================================================== --- projects/calloutng/contrib/less/lesskey.nro Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/contrib/less/lesskey.nro Thu Dec 6 08:43:48 2012 (r243945) @@ -1,4 +1,4 @@ -.TH LESSKEY 1 "Version 453: 27 Oct 2012" +.TH LESSKEY 1 "Version 456: 08 Nov 2012" .SH NAME lesskey \- specify key bindings for less .SH SYNOPSIS Modified: projects/calloutng/contrib/less/option.c ============================================================================== --- projects/calloutng/contrib/less/option.c Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/contrib/less/option.c Thu Dec 6 08:43:48 2012 (r243945) @@ -149,7 +149,7 @@ scan_option(s) if (s == NULL) return; if (*str == '+') - every_first_cmd = save(++str); + every_first_cmd = save(str+1); else ungetsc(str); free(str); @@ -585,7 +585,6 @@ optstring(s, p_str, printopt, validchars } else { if (*p == END_OPTION_STRING || - *p == ' ' || *p == '\t' || *p == '-' || (validchars != NULL && strchr(validchars, *p) == NULL)) /* End of option string. */ break; Modified: projects/calloutng/contrib/less/version.c ============================================================================== --- projects/calloutng/contrib/less/version.c Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/contrib/less/version.c Thu Dec 6 08:43:48 2012 (r243945) @@ -757,6 +757,9 @@ v451 7/20/12 Fix typo. v452 10/19/12 Fix --with-regex=none, fix "stty 0", fix Win32. Don't quit if errors in cmd line options. v453 10/27/12 Increase buffer sizes. +v454 11/5/12 Fix typo. +v455 11/5/12 Fix typo. +v456 11/8/12 Fix option string incompatibility. */ -char version[] = "453"; +char version[] = "456"; Modified: projects/calloutng/contrib/libc++/include/__config ============================================================================== --- projects/calloutng/contrib/libc++/include/__config Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/contrib/libc++/include/__config Thu Dec 6 08:43:48 2012 (r243945) @@ -51,6 +51,9 @@ # define _LIBCPP_LITTLE_ENDIAN 0 # define _LIBCPP_BIG_ENDIAN 1 # endif // _BYTE_ORDER == _LITTLE_ENDIAN +# ifndef __LONG_LONG_SUPPORTED +# define _LIBCPP_HAS_NO_LONG_LONG +# endif // __LONG_LONG_SUPPORTED #endif // __FreeBSD__ #ifdef _WIN32 Modified: projects/calloutng/contrib/libc++/include/cstdlib ============================================================================== --- projects/calloutng/contrib/libc++/include/cstdlib Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/contrib/libc++/include/cstdlib Thu Dec 6 08:43:48 2012 (r243945) @@ -97,18 +97,26 @@ _LIBCPP_BEGIN_NAMESPACE_STD using ::size_t; using ::div_t; using ::ldiv_t; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::lldiv_t; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::atof; using ::atoi; using ::atol; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::atoll; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::strtod; using ::strtof; using ::strtold; using ::strtol; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::strtoll; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::strtoul; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::strtoull; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::rand; using ::srand; using ::calloc; @@ -125,10 +133,14 @@ using ::bsearch; using ::qsort; using ::abs; using ::labs; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::llabs; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::div; using ::ldiv; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::lldiv; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::mblen; using ::mbtowc; using ::wctomb; @@ -145,10 +157,14 @@ using ::aligned_alloc; // MSVC already has the correct prototype in #ifdef __cplusplus #if !defined(_MSC_VER) && !defined(__sun__) inline _LIBCPP_INLINE_VISIBILITY long abs( long __x) _NOEXCEPT {return labs(__x);} +#ifndef _LIBCPP_HAS_NO_LONG_LONG inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {return llabs(__x);} +#endif // _LIBCPP_HAS_NO_LONG_LONG inline _LIBCPP_INLINE_VISIBILITY ldiv_t div( long __x, long __y) _NOEXCEPT {return ldiv(__x, __y);} +#ifndef _LIBCPP_HAS_NO_LONG_LONG inline _LIBCPP_INLINE_VISIBILITY lldiv_t div(long long __x, long long __y) _NOEXCEPT {return lldiv(__x, __y);} +#endif // _LIBCPP_HAS_NO_LONG_LONG #endif // _MSC_VER _LIBCPP_END_NAMESPACE_STD Modified: projects/calloutng/contrib/libc++/include/cwchar ============================================================================== --- projects/calloutng/contrib/libc++/include/cwchar Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/contrib/libc++/include/cwchar Thu Dec 6 08:43:48 2012 (r243945) @@ -151,9 +151,13 @@ using ::wcstof; using ::wcstold; #endif // _MSC_VER using ::wcstol; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::wcstoll; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::wcstoul; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::wcstoull; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::wcscpy; using ::wcsncpy; using ::wcscat; Modified: projects/calloutng/contrib/libc++/include/exception ============================================================================== --- projects/calloutng/contrib/libc++/include/exception Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/contrib/libc++/include/exception Thu Dec 6 08:43:48 2012 (r243945) @@ -143,7 +143,7 @@ public: {return !(__x == __y);} friend exception_ptr current_exception() _NOEXCEPT; - _LIBCPP_NORETURN friend void rethrow_exception(exception_ptr); + friend void rethrow_exception(exception_ptr); }; template Modified: projects/calloutng/contrib/libc++/include/iterator ============================================================================== --- projects/calloutng/contrib/libc++/include/iterator Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/contrib/libc++/include/iterator Thu Dec 6 08:43:48 2012 (r243945) @@ -317,6 +317,10 @@ template T* end(T (& #include #include #include +#if __APPLE__ +#include +#endif + #ifdef _LIBCPP_DEBUG #include #endif @@ -795,7 +799,7 @@ public: typedef basic_streambuf<_CharT,_Traits> streambuf_type; typedef basic_istream<_CharT,_Traits> istream_type; private: - streambuf_type* __sbuf_; + mutable streambuf_type* __sbuf_; class __proxy { @@ -809,13 +813,14 @@ private: }; _LIBCPP_INLINE_VISIBILITY - void __test_for_eof() + bool __test_for_eof() const { if (__sbuf_ && traits_type::eq_int_type(__sbuf_->sgetc(), traits_type::eof())) __sbuf_ = 0; + return __sbuf_ == 0; } public: - _LIBCPP_INLINE_VISIBILITY istreambuf_iterator() _NOEXCEPT : __sbuf_(0) {} + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR istreambuf_iterator() _NOEXCEPT : __sbuf_(0) {} _LIBCPP_INLINE_VISIBILITY istreambuf_iterator(istream_type& __s) _NOEXCEPT : __sbuf_(__s.rdbuf()) {__test_for_eof();} _LIBCPP_INLINE_VISIBILITY istreambuf_iterator(streambuf_type* __s) _NOEXCEPT @@ -828,19 +833,16 @@ public: _LIBCPP_INLINE_VISIBILITY char_type* operator->() const {return nullptr;} _LIBCPP_INLINE_VISIBILITY istreambuf_iterator& operator++() { - if (traits_type::eq_int_type(__sbuf_->snextc(), traits_type::eof())) - __sbuf_ = 0; + __sbuf_->sbumpc(); return *this; } _LIBCPP_INLINE_VISIBILITY __proxy operator++(int) { - char_type __c = __sbuf_->sgetc(); - ++(*this); - return __proxy(__c, __sbuf_); + return __proxy(__sbuf_->sbumpc(), __sbuf_); } _LIBCPP_INLINE_VISIBILITY bool equal(const istreambuf_iterator& __b) const - {return (__sbuf_ == 0) == (__b.__sbuf_ == 0);} + {return __test_for_eof() == __b.__test_for_eof();} }; template @@ -882,6 +884,10 @@ public: _LIBCPP_INLINE_VISIBILITY ostreambuf_iterator& operator++(int) {return *this;} _LIBCPP_INLINE_VISIBILITY bool failed() const _NOEXCEPT {return __sbuf_ == 0;} +#if !defined(__APPLE__) || \ + (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED > __MAC_10_8) || \ + (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED > __IPHONE_6_0) + template friend _LIBCPP_HIDDEN @@ -889,6 +895,7 @@ public: __pad_and_output(ostreambuf_iterator<_Ch, _Tr> __s, const _Ch* __ob, const _Ch* __op, const _Ch* __oe, ios_base& __iob, _Ch __fl); +#endif }; template Modified: projects/calloutng/contrib/libc++/include/locale ============================================================================== --- projects/calloutng/contrib/libc++/include/locale Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/contrib/libc++/include/locale Thu Dec 6 08:43:48 2012 (r243945) @@ -192,6 +192,10 @@ template class messages_by #include #endif // !_WIN32 +#if __APPLE__ +#include +#endif + #include <__undef_min_max> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) @@ -1587,6 +1591,10 @@ __pad_and_output(_OutputIterator __s, return __s; } +#if !defined(__APPLE__) || \ + (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED > __MAC_10_8) || \ + (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED > __IPHONE_6_0) + template _LIBCPP_HIDDEN ostreambuf_iterator<_CharT, _Traits> @@ -1633,6 +1641,8 @@ __pad_and_output(ostreambuf_iterator<_Ch return __s; } +#endif + template _OutputIterator num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob, Modified: projects/calloutng/contrib/llvm/include/llvm-c/Core.h ============================================================================== --- projects/calloutng/contrib/llvm/include/llvm-c/Core.h Thu Dec 6 08:38:14 2012 (r243944) +++ projects/calloutng/contrib/llvm/include/llvm-c/Core.h Thu Dec 6 08:43:48 2012 (r243945) @@ -173,10 +173,11 @@ typedef enum { LLVMUWTable = 1 << 30, LLVMNonLazyBind = 1 << 31 - // FIXME: This attribute is currently not included in the C API as - // a temporary measure until the API/ABI impact to the C API is understood - // and the path forward agreed upon. - //LLVMAddressSafety = 1ULL << 32 + /* FIXME: This attribute is currently not included in the C API as + a temporary measure until the API/ABI impact to the C API is understood + and the path forward agreed upon. + LLVMAddressSafety = 1ULL << 32 + */ } LLVMAttribute; typedef enum { @@ -282,6 +283,7 @@ typedef enum { LLVMLinkOnceAnyLinkage, /**< Keep one copy of function when linking (inline)*/ LLVMLinkOnceODRLinkage, /**< Same, but only replaced by something equivalent. */ + LLVMLinkOnceODRAutoHideLinkage, /**< Like LinkOnceODR, but possibly hidden. */ LLVMWeakAnyLinkage, /**< Keep one copy of function when linking (weak) */ LLVMWeakODRLinkage, /**< Same, but only replaced by something equivalent. */ @@ -295,9 +297,7 @@ typedef enum { LLVMGhostLinkage, /**< Obsolete */ LLVMCommonLinkage, /**< Tentative definitions */ LLVMLinkerPrivateLinkage, /**< Like Private, but linker removes. */ - LLVMLinkerPrivateWeakLinkage, /**< Like LinkerPrivate, but is weak. */ - LLVMLinkerPrivateWeakDefAutoLinkage /**< Like LinkerPrivateWeak, but possibly - hidden. */ + LLVMLinkerPrivateWeakLinkage /**< Like LinkerPrivate, but is weak. */ } LLVMLinkage; typedef enum { @@ -1803,7 +1803,7 @@ LLVMAttribute LLVMGetAttribute(LLVMValue * Set the alignment for a function parameter. * * @see llvm::Argument::addAttr() - * @see llvm::Attribute::constructAlignmentFromInt() + * @see llvm::AttrBuilder::addAlignmentAttr() */ void LLVMSetParamAlignment(LLVMValueRef Arg, unsigned align); @@ -1869,6 +1869,27 @@ LLVMValueRef LLVMMDNode(LLVMValueRef *Va const char *LLVMGetMDString(LLVMValueRef V, unsigned* Len); /** + * Obtain the number of operands from an MDNode value. + * + * @param V MDNode to get number of operands from. + * @return Number of operands of the MDNode. + */ +unsigned LLVMGetMDNodeNumOperands(LLVMValueRef V); + +/** + * Obtain the given MDNode's operands. + * + * The passed LLVMValueRef pointer should point to enough memory to hold all of + * the operands of the given MDNode (see LLVMGetMDNodeNumOperands) as + * LLVMValueRefs. This memory will be populated with the LLVMValueRefs of the + * MDNode's operands. + * + * @param V MDNode to get the operands from. + * @param Dest Destination array for operands. + */ +void LLVMGetMDNodeOperands(LLVMValueRef V, LLVMValueRef *Dest); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 08:45:52 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 59AE83E4; Thu, 6 Dec 2012 08:45:52 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 309BF8FC08; Thu, 6 Dec 2012 08:45:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB68jqeB002119; Thu, 6 Dec 2012 08:45:52 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB68jjex002075; Thu, 6 Dec 2012 08:45:45 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201212060845.qB68jjex002075@svn.freebsd.org> From: Andrew Turner Date: Thu, 6 Dec 2012 08:45:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243946 - in projects/arm_eabi: . cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/cmd/ztest contrib/binutils contrib/binutils/libiberty cont... 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, 06 Dec 2012 08:45:52 -0000 Author: andrew Date: Thu Dec 6 08:45:43 2012 New Revision: 243946 URL: http://svnweb.freebsd.org/changeset/base/243946 Log: MFC to r243940 Added: projects/arm_eabi/contrib/llvm/include/llvm/ADT/MapVector.h - copied unchanged from r243940, head/contrib/llvm/include/llvm/ADT/MapVector.h projects/arm_eabi/contrib/llvm/include/llvm/AddressingMode.h - copied unchanged from r243940, head/contrib/llvm/include/llvm/AddressingMode.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/DependenceAnalysis.h - copied unchanged from r243940, head/contrib/llvm/include/llvm/Analysis/DependenceAnalysis.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/ProfileDataLoader.h - copied unchanged from r243940, head/contrib/llvm/include/llvm/Analysis/ProfileDataLoader.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/ProfileDataTypes.h - copied unchanged from r243940, head/contrib/llvm/include/llvm/Analysis/ProfileDataTypes.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/CommandFlags.h - copied unchanged from r243940, head/contrib/llvm/include/llvm/CodeGen/CommandFlags.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/MachinePostDominators.h - copied unchanged from r243940, head/contrib/llvm/include/llvm/CodeGen/MachinePostDominators.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/ScheduleDAGILP.h - copied unchanged from r243940, head/contrib/llvm/include/llvm/CodeGen/ScheduleDAGILP.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/TargetSchedule.h - copied unchanged from r243940, head/contrib/llvm/include/llvm/CodeGen/TargetSchedule.h projects/arm_eabi/contrib/llvm/include/llvm/DataLayout.h - copied unchanged from r243940, head/contrib/llvm/include/llvm/DataLayout.h projects/arm_eabi/contrib/llvm/include/llvm/ExecutionEngine/ObjectBuffer.h - copied unchanged from r243940, head/contrib/llvm/include/llvm/ExecutionEngine/ObjectBuffer.h projects/arm_eabi/contrib/llvm/include/llvm/ExecutionEngine/ObjectImage.h - copied unchanged from r243940, head/contrib/llvm/include/llvm/ExecutionEngine/ObjectImage.h projects/arm_eabi/contrib/llvm/include/llvm/Object/RelocVisitor.h - copied unchanged from r243940, head/contrib/llvm/include/llvm/Object/RelocVisitor.h projects/arm_eabi/contrib/llvm/include/llvm/Target/TargetTransformImpl.h - copied unchanged from r243940, head/contrib/llvm/include/llvm/Target/TargetTransformImpl.h projects/arm_eabi/contrib/llvm/include/llvm/TargetTransformInfo.h - copied unchanged from r243940, head/contrib/llvm/include/llvm/TargetTransformInfo.h projects/arm_eabi/contrib/llvm/include/llvm/Transforms/Utils/BypassSlowDivision.h - copied unchanged from r243940, head/contrib/llvm/include/llvm/Transforms/Utils/BypassSlowDivision.h projects/arm_eabi/contrib/llvm/include/llvm/Transforms/Utils/IntegerDivision.h - copied unchanged from r243940, head/contrib/llvm/include/llvm/Transforms/Utils/IntegerDivision.h projects/arm_eabi/contrib/llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h - copied unchanged from r243940, head/contrib/llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h projects/arm_eabi/contrib/llvm/lib/Analysis/CostModel.cpp - copied unchanged from r243940, head/contrib/llvm/lib/Analysis/CostModel.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/DependenceAnalysis.cpp - copied unchanged from r243940, head/contrib/llvm/lib/Analysis/DependenceAnalysis.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/ProfileDataLoader.cpp - copied unchanged from r243940, head/contrib/llvm/lib/Analysis/ProfileDataLoader.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/ProfileDataLoaderPass.cpp - copied unchanged from r243940, head/contrib/llvm/lib/Analysis/ProfileDataLoaderPass.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/MachinePostDominators.cpp - copied unchanged from r243940, head/contrib/llvm/lib/CodeGen/MachinePostDominators.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/StackColoring.cpp - copied unchanged from r243940, head/contrib/llvm/lib/CodeGen/StackColoring.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/TargetSchedule.cpp - copied unchanged from r243940, head/contrib/llvm/lib/CodeGen/TargetSchedule.cpp projects/arm_eabi/contrib/llvm/lib/DebugInfo/DWARFDebugRangeList.cpp - copied unchanged from r243940, head/contrib/llvm/lib/DebugInfo/DWARFDebugRangeList.cpp projects/arm_eabi/contrib/llvm/lib/DebugInfo/DWARFDebugRangeList.h - copied unchanged from r243940, head/contrib/llvm/lib/DebugInfo/DWARFDebugRangeList.h projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventsWrapper.h - copied unchanged from r243940, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventsWrapper.h projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/ittnotify_config.h - copied unchanged from r243940, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/ittnotify_config.h projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/ittnotify_types.h - copied unchanged from r243940, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/ittnotify_types.h projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.c - copied unchanged from r243940, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.c projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.h - copied unchanged from r243940, head/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/jitprofiling.h projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/ObjectImageCommon.h - copied unchanged from r243940, head/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/ObjectImageCommon.h projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMScheduleSwift.td - copied unchanged from r243940, head/contrib/llvm/lib/Target/ARM/ARMScheduleSwift.td projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp - copied unchanged from r243940, head/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.h - copied unchanged from r243940, head/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsDirectObjLower.cpp - copied unchanged from r243940, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsDirectObjLower.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsDirectObjLower.h - copied unchanged from r243940, head/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsDirectObjLower.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsDSPInstrFormats.td - copied unchanged from r243940, head/contrib/llvm/lib/Target/Mips/MipsDSPInstrFormats.td projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsDSPInstrInfo.td - copied unchanged from r243940, head/contrib/llvm/lib/Target/Mips/MipsDSPInstrInfo.td projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCScheduleE500mc.td - copied unchanged from r243940, head/contrib/llvm/lib/Target/PowerPC/PPCScheduleE500mc.td projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCScheduleE5500.td - copied unchanged from r243940, head/contrib/llvm/lib/Target/PowerPC/PPCScheduleE5500.td projects/arm_eabi/contrib/llvm/lib/Target/TargetTransformImpl.cpp - copied unchanged from r243940, head/contrib/llvm/lib/Target/TargetTransformImpl.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/X86InstrTSX.td - copied unchanged from r243940, head/contrib/llvm/lib/Target/X86/X86InstrTSX.td projects/arm_eabi/contrib/llvm/lib/Transforms/IPO/BarrierNoopPass.cpp - copied unchanged from r243940, head/contrib/llvm/lib/Transforms/IPO/BarrierNoopPass.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Instrumentation/BlackList.cpp - copied unchanged from r243940, head/contrib/llvm/lib/Transforms/Instrumentation/BlackList.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Instrumentation/BlackList.h - copied unchanged from r243940, head/contrib/llvm/lib/Transforms/Instrumentation/BlackList.h projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/SROA.cpp - copied unchanged from r243940, head/contrib/llvm/lib/Transforms/Scalar/SROA.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/BypassSlowDivision.cpp - copied unchanged from r243940, head/contrib/llvm/lib/Transforms/Utils/BypassSlowDivision.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/IntegerDivision.cpp - copied unchanged from r243940, head/contrib/llvm/lib/Transforms/Utils/IntegerDivision.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/MetaRenamer.cpp - copied unchanged from r243940, head/contrib/llvm/lib/Transforms/Utils/MetaRenamer.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp - copied unchanged from r243940, head/contrib/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp - copied unchanged from r243940, head/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/AttributesImpl.h - copied unchanged from r243940, head/contrib/llvm/lib/VMCore/AttributesImpl.h projects/arm_eabi/contrib/llvm/lib/VMCore/DataLayout.cpp - copied unchanged from r243940, head/contrib/llvm/lib/VMCore/DataLayout.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/TargetTransformInfo.cpp - copied unchanged from r243940, head/contrib/llvm/lib/VMCore/TargetTransformInfo.cpp projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/CommentCommands.td - copied unchanged from r243940, head/contrib/llvm/tools/clang/include/clang/AST/CommentCommands.td projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/CommentHTMLTags.td - copied unchanged from r243940, head/contrib/llvm/tools/clang/include/clang/AST/CommentHTMLTags.td projects/arm_eabi/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTTypeTraits.h - copied unchanged from r243940, head/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTTypeTraits.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Analysis/DomainSpecific/ObjCNoReturn.h - copied unchanged from r243940, head/contrib/llvm/tools/clang/include/clang/Analysis/DomainSpecific/ObjCNoReturn.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.def - copied unchanged from r243940, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.def projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.h - copied unchanged from r243940, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.def - copied unchanged from r243940, head/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.def projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def - copied unchanged from r243940, head/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearchOptions.h - copied unchanged from r243940, head/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearchOptions.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Lex/PPMutationListener.h - copied unchanged from r243940, head/contrib/llvm/tools/clang/include/clang/Lex/PPMutationListener.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorOptions.h - copied unchanged from r243940, head/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorOptions.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Rewrite/Core/ - copied from r243940, head/contrib/llvm/tools/clang/include/clang/Rewrite/Core/ projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Rewrite/Frontend/ - copied from r243940, head/contrib/llvm/tools/clang/include/clang/Rewrite/Frontend/ projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h - copied unchanged from r243940, head/contrib/llvm/tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Analyses.def - copied unchanged from r243940, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Analyses.def projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h - copied unchanged from r243940, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h - copied unchanged from r243940, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Tooling/CommonOptionsParser.h - copied unchanged from r243940, head/contrib/llvm/tools/clang/include/clang/Tooling/CommonOptionsParser.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabasePluginRegistry.h - copied unchanged from r243940, head/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabasePluginRegistry.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Tooling/FileMatchTrie.h - copied unchanged from r243940, head/contrib/llvm/tools/clang/include/clang/Tooling/FileMatchTrie.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Tooling/JSONCompilationDatabase.h - copied unchanged from r243940, head/contrib/llvm/tools/clang/include/clang/Tooling/JSONCompilationDatabase.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.cpp - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.h - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Analysis/ObjCNoReturn.cpp - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/Analysis/ObjCNoReturn.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.h - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_aes.h - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_aes.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_pclmul.h - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_pclmul.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Headers/f16cintrin.h - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/Headers/f16cintrin.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Headers/rtmintrin.h - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/Headers/rtmintrin.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Rewrite/Core/ - copied from r243940, head/contrib/llvm/tools/clang/lib/Rewrite/Core/ projects/arm_eabi/contrib/llvm/tools/clang/lib/Rewrite/Frontend/ - copied from r243940, head/contrib/llvm/tools/clang/lib/Rewrite/Frontend/ projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/ScopeInfo.cpp - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/Sema/ScopeInfo.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Tooling/CommonOptionsParser.cpp - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/Tooling/CommonOptionsParser.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Tooling/FileMatchTrie.cpp - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/Tooling/FileMatchTrie.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Tooling/JSONCompilationDatabase.cpp - copied unchanged from r243940, head/contrib/llvm/tools/clang/lib/Tooling/JSONCompilationDatabase.cpp projects/arm_eabi/contrib/llvm/tools/clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp - copied unchanged from r243940, head/contrib/llvm/tools/clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp projects/arm_eabi/contrib/llvm/tools/clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp - copied unchanged from r243940, head/contrib/llvm/tools/clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp projects/arm_eabi/contrib/llvm/tools/lli/RecordingMemoryManager.cpp - copied unchanged from r243940, head/contrib/llvm/tools/lli/RecordingMemoryManager.cpp projects/arm_eabi/contrib/llvm/tools/lli/RecordingMemoryManager.h - copied unchanged from r243940, head/contrib/llvm/tools/lli/RecordingMemoryManager.h projects/arm_eabi/contrib/llvm/tools/lli/RemoteTarget.cpp - copied unchanged from r243940, head/contrib/llvm/tools/lli/RemoteTarget.cpp projects/arm_eabi/contrib/llvm/tools/lli/RemoteTarget.h - copied unchanged from r243940, head/contrib/llvm/tools/lli/RemoteTarget.h projects/arm_eabi/contrib/llvm/utils/TableGen/CodeGenMapTable.cpp - copied unchanged from r243940, head/contrib/llvm/utils/TableGen/CodeGenMapTable.cpp projects/arm_eabi/contrib/openbsm/bin/auditdistd/ - copied from r243940, head/contrib/openbsm/bin/auditdistd/ projects/arm_eabi/contrib/openbsm/compat/closefrom.h - copied unchanged from r243940, head/contrib/openbsm/compat/closefrom.h projects/arm_eabi/contrib/openbsm/compat/compat.h - copied unchanged from r243940, head/contrib/openbsm/compat/compat.h projects/arm_eabi/contrib/openbsm/compat/endian_enc.h - copied unchanged from r243940, head/contrib/openbsm/compat/endian_enc.h projects/arm_eabi/contrib/openbsm/compat/flopen.h - copied unchanged from r243940, head/contrib/openbsm/compat/flopen.h projects/arm_eabi/contrib/openbsm/compat/pidfile.h - copied unchanged from r243940, head/contrib/openbsm/compat/pidfile.h projects/arm_eabi/contrib/openbsm/compat/vis.h - copied unchanged from r243940, head/contrib/openbsm/compat/vis.h projects/arm_eabi/contrib/openbsm/config/ylwrap - copied unchanged from r243940, head/contrib/openbsm/config/ylwrap projects/arm_eabi/contrib/openbsm/m4/ - copied from r243940, head/contrib/openbsm/m4/ projects/arm_eabi/etc/rc.d/auditdistd - copied unchanged from r243940, head/etc/rc.d/auditdistd projects/arm_eabi/lib/clang/include/MipsGenAsmMatcher.inc - copied unchanged from r243940, head/lib/clang/include/MipsGenAsmMatcher.inc projects/arm_eabi/lib/clang/include/MipsGenMCPseudoLowering.inc - copied unchanged from r243940, head/lib/clang/include/MipsGenMCPseudoLowering.inc projects/arm_eabi/lib/clang/include/clang/AST/CommentCommandInfo.inc - copied unchanged from r243940, head/lib/clang/include/clang/AST/CommentCommandInfo.inc projects/arm_eabi/lib/clang/include/clang/AST/CommentHTMLTags.inc - copied unchanged from r243940, head/lib/clang/include/clang/AST/CommentHTMLTags.inc projects/arm_eabi/lib/clang/include/clang/AST/CommentHTMLTagsProperties.inc - copied unchanged from r243940, head/lib/clang/include/clang/AST/CommentHTMLTagsProperties.inc projects/arm_eabi/lib/clang/libclangrewritecore/ - copied from r243940, head/lib/clang/libclangrewritecore/ projects/arm_eabi/lib/clang/libclangrewritefrontend/ - copied from r243940, head/lib/clang/libclangrewritefrontend/ projects/arm_eabi/share/syscons/keymaps/us.dvorakp.kbd - copied unchanged from r243940, head/share/syscons/keymaps/us.dvorakp.kbd projects/arm_eabi/sys/arm/broadcom/bcm2835/bcm2835_gpio.c - copied unchanged from r243940, head/sys/arm/broadcom/bcm2835/bcm2835_gpio.c projects/arm_eabi/sys/arm/conf/Makefile - copied unchanged from r243940, head/sys/arm/conf/Makefile projects/arm_eabi/sys/arm/conf/NOTES - copied unchanged from r243940, head/sys/arm/conf/NOTES projects/arm_eabi/tools/tools/ath/athalq/ar5416_ds_tdma.c - copied unchanged from r243940, head/tools/tools/ath/athalq/ar5416_ds_tdma.c projects/arm_eabi/usr.sbin/auditdistd/ - copied from r243940, head/usr.sbin/auditdistd/ projects/arm_eabi/usr.sbin/pkg/dns_utils.c - copied unchanged from r243940, head/usr.sbin/pkg/dns_utils.c projects/arm_eabi/usr.sbin/pkg/dns_utils.h - copied unchanged from r243940, head/usr.sbin/pkg/dns_utils.h Deleted: projects/arm_eabi/contrib/llvm/include/llvm/ADT/Trie.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/LoopDependenceAnalysis.h projects/arm_eabi/contrib/llvm/include/llvm/ExecutionEngine/IntelJITEventsWrapper.h projects/arm_eabi/contrib/llvm/include/llvm/TableGen/TableGenAction.h projects/arm_eabi/contrib/llvm/include/llvm/Target/TargetData.h projects/arm_eabi/contrib/llvm/include/llvm/Target/TargetELFWriterInfo.h projects/arm_eabi/contrib/llvm/lib/Analysis/LoopDependenceAnalysis.cpp projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJITMemoryManager.cpp projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJITMemoryManager.h projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/ObjectImage.h projects/arm_eabi/contrib/llvm/lib/TableGen/TableGenAction.cpp projects/arm_eabi/contrib/llvm/lib/Target/AMDGPU/ projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMELFWriterInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMELFWriterInfo.h projects/arm_eabi/contrib/llvm/lib/Target/MBlaze/MBlazeELFWriterInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/MBlaze/MBlazeELFWriterInfo.h projects/arm_eabi/contrib/llvm/lib/Target/TargetData.cpp projects/arm_eabi/contrib/llvm/lib/Target/TargetELFWriterInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/X86ELFWriterInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/X86ELFWriterInfo.h projects/arm_eabi/contrib/llvm/lib/Target/X86/X86MCInstLower.h projects/arm_eabi/contrib/llvm/lib/Transforms/Instrumentation/FunctionBlackList.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Instrumentation/FunctionBlackList.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/Analyses.def projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/AnalyzerOptions.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticOptions.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/HeaderSearchOptions.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/PreprocessorOptions.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Rewrite/ASTConsumers.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Rewrite/DeltaTree.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Rewrite/FixItRewriter.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Rewrite/FrontendActions.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Rewrite/HTMLRewrite.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Rewrite/RewriteRope.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Rewrite/Rewriter.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Rewrite/Rewriters.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Rewrite/TokenRewriter.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/DereferenceChecker.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Tooling/CommandLineClangTool.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Rewrite/DeltaTree.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Rewrite/FixItRewriter.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Rewrite/FrontendActions.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Rewrite/HTMLPrint.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Rewrite/HTMLRewrite.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Rewrite/InclusionRewriter.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Rewrite/RewriteMacros.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Rewrite/RewriteModernObjC.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Rewrite/RewriteObjC.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Rewrite/RewriteRope.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Rewrite/RewriteTest.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Rewrite/Rewriter.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Rewrite/TokenRewriter.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AdjustedReturnValueChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/OSAtomicChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicConstraintManager.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Tooling/CommandLineClangTool.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Tooling/CustomCompilationDatabase.h projects/arm_eabi/lib/clang/libclangrewrite/ Modified: projects/arm_eabi/Makefile.inc1 projects/arm_eabi/ObsoleteFiles.inc projects/arm_eabi/UPDATING projects/arm_eabi/cddl/contrib/opensolaris/cmd/zfs/zfs.8 projects/arm_eabi/cddl/contrib/opensolaris/cmd/zpool/zpool.8 projects/arm_eabi/cddl/contrib/opensolaris/cmd/ztest/ztest.c projects/arm_eabi/contrib/binutils/Makefile.in projects/arm_eabi/contrib/binutils/Makefile.tpl projects/arm_eabi/contrib/binutils/libiberty/Makefile.in projects/arm_eabi/contrib/cvs/diff/Makefile.in projects/arm_eabi/contrib/cvs/lib/Makefile.in projects/arm_eabi/contrib/dtc/Makefile projects/arm_eabi/contrib/gcc/Makefile.in projects/arm_eabi/contrib/gcclibs/libcpp/Makefile.in projects/arm_eabi/contrib/gcclibs/libdecnumber/Makefile.in projects/arm_eabi/contrib/gcclibs/libiberty/Makefile.in projects/arm_eabi/contrib/gdtoa/makefile projects/arm_eabi/contrib/gperf/lib/Makefile.in projects/arm_eabi/contrib/less/NEWS projects/arm_eabi/contrib/less/README projects/arm_eabi/contrib/less/configure.ac projects/arm_eabi/contrib/less/defines.h.in projects/arm_eabi/contrib/less/less.man projects/arm_eabi/contrib/less/less.nro projects/arm_eabi/contrib/less/lessecho.man projects/arm_eabi/contrib/less/lessecho.nro projects/arm_eabi/contrib/less/lesskey.man projects/arm_eabi/contrib/less/lesskey.nro projects/arm_eabi/contrib/less/option.c projects/arm_eabi/contrib/less/version.c projects/arm_eabi/contrib/libc++/include/__config projects/arm_eabi/contrib/libc++/include/cstdlib projects/arm_eabi/contrib/libc++/include/cwchar projects/arm_eabi/contrib/libc++/include/exception projects/arm_eabi/contrib/libc++/include/iterator projects/arm_eabi/contrib/libc++/include/locale projects/arm_eabi/contrib/llvm/include/llvm-c/Core.h projects/arm_eabi/contrib/llvm/include/llvm-c/Disassembler.h projects/arm_eabi/contrib/llvm/include/llvm-c/Target.h projects/arm_eabi/contrib/llvm/include/llvm-c/TargetMachine.h projects/arm_eabi/contrib/llvm/include/llvm-c/Transforms/Vectorize.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/APFloat.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/APInt.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/ArrayRef.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/BitVector.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/DAGDeltaAlgorithm.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/DeltaAlgorithm.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/DenseMap.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/DenseMapInfo.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/EquivalenceClasses.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/FoldingSet.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/Hashing.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/ImmutableList.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/ImmutableMap.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/ImmutableSet.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/Optional.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/OwningPtr.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/PackedVector.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/PointerIntPair.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/ScopedHashTable.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/SetVector.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/SmallBitVector.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/SmallPtrSet.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/SmallString.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/SmallVector.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/SparseBitVector.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/SparseSet.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/StringExtras.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/StringRef.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/StringSet.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/Triple.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/Twine.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/ValueMap.h projects/arm_eabi/contrib/llvm/include/llvm/ADT/ilist.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/AliasSetTracker.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/BranchProbabilityInfo.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/CallGraph.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/CaptureTracking.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/CodeMetrics.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/ConstantFolding.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/Dominators.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/IVUsers.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/InlineCost.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/InstructionSimplify.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/IntervalPartition.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/LazyValueInfo.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/Loads.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/LoopInfo.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/LoopInfoImpl.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/MemoryBuiltins.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/PHITransAddr.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/Passes.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/ProfileInfoTypes.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/RegionInfo.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/SparsePropagation.h projects/arm_eabi/contrib/llvm/include/llvm/Analysis/ValueTracking.h projects/arm_eabi/contrib/llvm/include/llvm/Argument.h projects/arm_eabi/contrib/llvm/include/llvm/Attributes.h projects/arm_eabi/contrib/llvm/include/llvm/BasicBlock.h projects/arm_eabi/contrib/llvm/include/llvm/Bitcode/Archive.h projects/arm_eabi/contrib/llvm/include/llvm/Bitcode/BitstreamReader.h projects/arm_eabi/contrib/llvm/include/llvm/Bitcode/BitstreamWriter.h projects/arm_eabi/contrib/llvm/include/llvm/Bitcode/LLVMBitCodes.h projects/arm_eabi/contrib/llvm/include/llvm/CallingConv.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/FastISel.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/GCMetadata.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/GCMetadataPrinter.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/IntrinsicLowering.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/LiveInterval.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/LiveVariables.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/MachineBranchProbabilityInfo.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/MachineConstantPool.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/MachineFunction.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/MachineInstr.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/MachineInstrBundle.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/MachineJumpTableInfo.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/MachineLoopInfo.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/MachineMemOperand.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/MachineOperand.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/MachineRegisterInfo.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/MachineSSAUpdater.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/MachineScheduler.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/PBQP/Graph.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/PBQP/HeuristicBase.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/Passes.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/PseudoSourceValue.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/RegAllocPBQP.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/RegisterClassInfo.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/RegisterPressure.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/RegisterScavenging.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/ScheduleDAG.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/SchedulerRegistry.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/ValueTypes.h projects/arm_eabi/contrib/llvm/include/llvm/CodeGen/ValueTypes.td projects/arm_eabi/contrib/llvm/include/llvm/Constant.h projects/arm_eabi/contrib/llvm/include/llvm/Constants.h projects/arm_eabi/contrib/llvm/include/llvm/DIBuilder.h projects/arm_eabi/contrib/llvm/include/llvm/DebugInfo.h projects/arm_eabi/contrib/llvm/include/llvm/DebugInfo/DIContext.h projects/arm_eabi/contrib/llvm/include/llvm/DefaultPasses.h projects/arm_eabi/contrib/llvm/include/llvm/DerivedTypes.h projects/arm_eabi/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h projects/arm_eabi/contrib/llvm/include/llvm/ExecutionEngine/JITEventListener.h projects/arm_eabi/contrib/llvm/include/llvm/ExecutionEngine/JITMemoryManager.h projects/arm_eabi/contrib/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h projects/arm_eabi/contrib/llvm/include/llvm/Function.h projects/arm_eabi/contrib/llvm/include/llvm/GlobalAlias.h projects/arm_eabi/contrib/llvm/include/llvm/GlobalValue.h projects/arm_eabi/contrib/llvm/include/llvm/GlobalVariable.h projects/arm_eabi/contrib/llvm/include/llvm/IRBuilder.h projects/arm_eabi/contrib/llvm/include/llvm/InitializePasses.h projects/arm_eabi/contrib/llvm/include/llvm/InlineAsm.h projects/arm_eabi/contrib/llvm/include/llvm/InstrTypes.h projects/arm_eabi/contrib/llvm/include/llvm/Instruction.h projects/arm_eabi/contrib/llvm/include/llvm/Instructions.h projects/arm_eabi/contrib/llvm/include/llvm/IntrinsicInst.h projects/arm_eabi/contrib/llvm/include/llvm/Intrinsics.h projects/arm_eabi/contrib/llvm/include/llvm/Intrinsics.td projects/arm_eabi/contrib/llvm/include/llvm/IntrinsicsARM.td projects/arm_eabi/contrib/llvm/include/llvm/IntrinsicsMips.td projects/arm_eabi/contrib/llvm/include/llvm/IntrinsicsX86.td projects/arm_eabi/contrib/llvm/include/llvm/LLVMContext.h projects/arm_eabi/contrib/llvm/include/llvm/LinkAllPasses.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCAsmBackend.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCAsmInfo.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCAssembler.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCCodeEmitter.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCContext.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCDwarf.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCELFObjectWriter.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCExpr.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCInst.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCInstPrinter.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCInstrDesc.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCLabel.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCMachObjectWriter.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCObjectFileInfo.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCObjectStreamer.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCObjectWriter.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCParser/AsmLexer.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCParser/MCAsmLexer.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCParser/MCAsmParser.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCParser/MCParsedAsmOperand.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCRegisterInfo.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCSchedule.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCSection.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCSectionCOFF.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCSectionELF.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCSectionMachO.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCStreamer.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCSubtargetInfo.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCSymbol.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCTargetAsmLexer.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCTargetAsmParser.h projects/arm_eabi/contrib/llvm/include/llvm/MC/MCValue.h projects/arm_eabi/contrib/llvm/include/llvm/MC/SubtargetFeature.h projects/arm_eabi/contrib/llvm/include/llvm/MDBuilder.h projects/arm_eabi/contrib/llvm/include/llvm/Metadata.h projects/arm_eabi/contrib/llvm/include/llvm/Object/Archive.h projects/arm_eabi/contrib/llvm/include/llvm/Object/Binary.h projects/arm_eabi/contrib/llvm/include/llvm/Object/COFF.h projects/arm_eabi/contrib/llvm/include/llvm/Object/ELF.h projects/arm_eabi/contrib/llvm/include/llvm/Object/MachO.h projects/arm_eabi/contrib/llvm/include/llvm/Object/MachOFormat.h projects/arm_eabi/contrib/llvm/include/llvm/Object/ObjectFile.h projects/arm_eabi/contrib/llvm/include/llvm/Operator.h projects/arm_eabi/contrib/llvm/include/llvm/Pass.h projects/arm_eabi/contrib/llvm/include/llvm/PassAnalysisSupport.h projects/arm_eabi/contrib/llvm/include/llvm/PassSupport.h projects/arm_eabi/contrib/llvm/include/llvm/Support/AlignOf.h projects/arm_eabi/contrib/llvm/include/llvm/Support/Allocator.h projects/arm_eabi/contrib/llvm/include/llvm/Support/CallSite.h projects/arm_eabi/contrib/llvm/include/llvm/Support/Casting.h projects/arm_eabi/contrib/llvm/include/llvm/Support/CommandLine.h projects/arm_eabi/contrib/llvm/include/llvm/Support/Compiler.h projects/arm_eabi/contrib/llvm/include/llvm/Support/DataExtractor.h projects/arm_eabi/contrib/llvm/include/llvm/Support/ELF.h projects/arm_eabi/contrib/llvm/include/llvm/Support/FileOutputBuffer.h projects/arm_eabi/contrib/llvm/include/llvm/Support/FileSystem.h projects/arm_eabi/contrib/llvm/include/llvm/Support/Format.h projects/arm_eabi/contrib/llvm/include/llvm/Support/FormattedStream.h projects/arm_eabi/contrib/llvm/include/llvm/Support/GCOV.h projects/arm_eabi/contrib/llvm/include/llvm/Support/InstVisitor.h projects/arm_eabi/contrib/llvm/include/llvm/Support/IntegersSubset.h projects/arm_eabi/contrib/llvm/include/llvm/Support/IntegersSubsetMapping.h projects/arm_eabi/contrib/llvm/include/llvm/Support/LEB128.h projects/arm_eabi/contrib/llvm/include/llvm/Support/LockFileManager.h projects/arm_eabi/contrib/llvm/include/llvm/Support/MathExtras.h projects/arm_eabi/contrib/llvm/include/llvm/Support/Memory.h projects/arm_eabi/contrib/llvm/include/llvm/Support/MemoryBuffer.h projects/arm_eabi/contrib/llvm/include/llvm/Support/Mutex.h projects/arm_eabi/contrib/llvm/include/llvm/Support/MutexGuard.h projects/arm_eabi/contrib/llvm/include/llvm/Support/PathV1.h projects/arm_eabi/contrib/llvm/include/llvm/Support/PathV2.h projects/arm_eabi/contrib/llvm/include/llvm/Support/PrettyStackTrace.h projects/arm_eabi/contrib/llvm/include/llvm/Support/Program.h projects/arm_eabi/contrib/llvm/include/llvm/Support/RWMutex.h projects/arm_eabi/contrib/llvm/include/llvm/Support/Regex.h projects/arm_eabi/contrib/llvm/include/llvm/Support/Registry.h projects/arm_eabi/contrib/llvm/include/llvm/Support/SourceMgr.h projects/arm_eabi/contrib/llvm/include/llvm/Support/StreamableMemoryObject.h projects/arm_eabi/contrib/llvm/include/llvm/Support/TargetFolder.h projects/arm_eabi/contrib/llvm/include/llvm/Support/TargetRegistry.h projects/arm_eabi/contrib/llvm/include/llvm/Support/Threading.h projects/arm_eabi/contrib/llvm/include/llvm/Support/TimeValue.h projects/arm_eabi/contrib/llvm/include/llvm/Support/Timer.h projects/arm_eabi/contrib/llvm/include/llvm/Support/ValueHandle.h projects/arm_eabi/contrib/llvm/include/llvm/Support/YAMLParser.h projects/arm_eabi/contrib/llvm/include/llvm/Support/circular_raw_ostream.h projects/arm_eabi/contrib/llvm/include/llvm/Support/raw_os_ostream.h projects/arm_eabi/contrib/llvm/include/llvm/Support/raw_ostream.h projects/arm_eabi/contrib/llvm/include/llvm/Support/system_error.h projects/arm_eabi/contrib/llvm/include/llvm/Support/type_traits.h projects/arm_eabi/contrib/llvm/include/llvm/SymbolTableListTraits.h projects/arm_eabi/contrib/llvm/include/llvm/TableGen/Error.h projects/arm_eabi/contrib/llvm/include/llvm/TableGen/Main.h projects/arm_eabi/contrib/llvm/include/llvm/TableGen/Record.h projects/arm_eabi/contrib/llvm/include/llvm/Target/Mangler.h projects/arm_eabi/contrib/llvm/include/llvm/Target/Target.td projects/arm_eabi/contrib/llvm/include/llvm/Target/TargetCallingConv.h projects/arm_eabi/contrib/llvm/include/llvm/Target/TargetInstrInfo.h projects/arm_eabi/contrib/llvm/include/llvm/Target/TargetIntrinsicInfo.h projects/arm_eabi/contrib/llvm/include/llvm/Target/TargetLibraryInfo.h projects/arm_eabi/contrib/llvm/include/llvm/Target/TargetLowering.h projects/arm_eabi/contrib/llvm/include/llvm/Target/TargetLoweringObjectFile.h projects/arm_eabi/contrib/llvm/include/llvm/Target/TargetMachine.h projects/arm_eabi/contrib/llvm/include/llvm/Target/TargetOpcodes.h projects/arm_eabi/contrib/llvm/include/llvm/Target/TargetOptions.h projects/arm_eabi/contrib/llvm/include/llvm/Target/TargetRegisterInfo.h projects/arm_eabi/contrib/llvm/include/llvm/Target/TargetSchedule.td projects/arm_eabi/contrib/llvm/include/llvm/Target/TargetSelectionDAG.td projects/arm_eabi/contrib/llvm/include/llvm/Target/TargetSelectionDAGInfo.h projects/arm_eabi/contrib/llvm/include/llvm/Target/TargetSubtargetInfo.h projects/arm_eabi/contrib/llvm/include/llvm/Transforms/IPO.h projects/arm_eabi/contrib/llvm/include/llvm/Transforms/IPO/InlinerPass.h projects/arm_eabi/contrib/llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h projects/arm_eabi/contrib/llvm/include/llvm/Transforms/Instrumentation.h projects/arm_eabi/contrib/llvm/include/llvm/Transforms/Scalar.h projects/arm_eabi/contrib/llvm/include/llvm/Transforms/Utils/AddrModeMatcher.h projects/arm_eabi/contrib/llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h projects/arm_eabi/contrib/llvm/include/llvm/Transforms/Utils/BuildLibCalls.h projects/arm_eabi/contrib/llvm/include/llvm/Transforms/Utils/Cloning.h projects/arm_eabi/contrib/llvm/include/llvm/Transforms/Utils/Local.h projects/arm_eabi/contrib/llvm/include/llvm/Transforms/Utils/SSAUpdater.h projects/arm_eabi/contrib/llvm/include/llvm/Transforms/Utils/SimplifyIndVar.h projects/arm_eabi/contrib/llvm/include/llvm/Transforms/Utils/ValueMapper.h projects/arm_eabi/contrib/llvm/include/llvm/Transforms/Vectorize.h projects/arm_eabi/contrib/llvm/include/llvm/Type.h projects/arm_eabi/contrib/llvm/include/llvm/Use.h projects/arm_eabi/contrib/llvm/include/llvm/User.h projects/arm_eabi/contrib/llvm/include/llvm/Value.h projects/arm_eabi/contrib/llvm/lib/Analysis/AliasAnalysis.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/AliasSetTracker.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/Analysis.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/BranchProbabilityInfo.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/CaptureTracking.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/CodeMetrics.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/ConstantFolding.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/DominanceFrontier.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/IPA/CallGraph.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/IPA/GlobalsModRef.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/IVUsers.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/InlineCost.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/InstructionSimplify.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/LazyValueInfo.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/Lint.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/Loads.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/LoopInfo.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/MemoryBuiltins.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/NoAliasAnalysis.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/PHITransAddr.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/ProfileEstimatorPass.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/ProfileInfo.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/RegionInfo.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/RegionPass.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/ScalarEvolution.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/Trace.cpp projects/arm_eabi/contrib/llvm/lib/Analysis/ValueTracking.cpp projects/arm_eabi/contrib/llvm/lib/Archive/ArchiveInternals.h projects/arm_eabi/contrib/llvm/lib/Archive/ArchiveReader.cpp projects/arm_eabi/contrib/llvm/lib/AsmParser/LLLexer.cpp projects/arm_eabi/contrib/llvm/lib/AsmParser/LLParser.cpp projects/arm_eabi/contrib/llvm/lib/AsmParser/LLParser.h projects/arm_eabi/contrib/llvm/lib/AsmParser/LLToken.h projects/arm_eabi/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp projects/arm_eabi/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.h projects/arm_eabi/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp projects/arm_eabi/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.h projects/arm_eabi/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/AllocationOrder.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/Analysis.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.h projects/arm_eabi/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.h projects/arm_eabi/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h projects/arm_eabi/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h projects/arm_eabi/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.h projects/arm_eabi/contrib/llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/AsmPrinter/Win64Exception.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/BranchFolding.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/CalcSpillWeights.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/CallingConvLower.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/CodeGen.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/CodePlacementOpt.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/DeadMachineInstructionElim.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/EarlyIfConversion.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/ExecutionDepsFix.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/ExpandPostRAPseudos.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/GCStrategy.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/IfConversion.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/InlineSpiller.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/IntrinsicLowering.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/LiveDebugVariables.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/LiveInterval.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/LiveIntervalUnion.h projects/arm_eabi/contrib/llvm/lib/CodeGen/LiveRangeCalc.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/LiveRangeEdit.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/LiveRegMatrix.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/LiveRegMatrix.h projects/arm_eabi/contrib/llvm/lib/CodeGen/LiveStackAnalysis.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/LiveVariables.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/MachineBlockPlacement.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/MachineCSE.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/MachineCopyPropagation.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/MachineFunction.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/MachineInstr.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/MachineInstrBundle.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/MachineLICM.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/MachineLoopInfo.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/MachineModuleInfo.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/MachineModuleInfoImpls.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/MachineRegisterInfo.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/MachineScheduler.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/MachineSink.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/MachineTraceMetrics.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/MachineTraceMetrics.h projects/arm_eabi/contrib/llvm/lib/CodeGen/MachineVerifier.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/Passes.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/PeepholeOptimizer.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/ProcessImplicitDefs.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/RegAllocBasic.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/RegAllocFast.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/RegAllocGreedy.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/RegAllocPBQP.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/RegisterClassInfo.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/RegisterCoalescer.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/RegisterCoalescer.h projects/arm_eabi/contrib/llvm/lib/CodeGen/RegisterPressure.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/ScheduleDAG.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/ScheduleDAGPrinter.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/SDNodeOrdering.h projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SelectionDAG/TargetSelectionDAGInfo.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/ShrinkWrapping.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SjLjEHPrepare.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SlotIndexes.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/SplitKit.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/StackProtector.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/StackSlotColoring.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/StrongPHIElimination.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/TailDuplication.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/TargetInstrInfoImpl.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/VirtRegMap.cpp projects/arm_eabi/contrib/llvm/lib/CodeGen/VirtRegMap.h projects/arm_eabi/contrib/llvm/lib/DebugInfo/DIContext.cpp projects/arm_eabi/contrib/llvm/lib/DebugInfo/DWARFCompileUnit.cpp projects/arm_eabi/contrib/llvm/lib/DebugInfo/DWARFCompileUnit.h projects/arm_eabi/contrib/llvm/lib/DebugInfo/DWARFContext.cpp projects/arm_eabi/contrib/llvm/lib/DebugInfo/DWARFContext.h projects/arm_eabi/contrib/llvm/lib/DebugInfo/DWARFDebugAranges.cpp projects/arm_eabi/contrib/llvm/lib/DebugInfo/DWARFDebugInfoEntry.cpp projects/arm_eabi/contrib/llvm/lib/DebugInfo/DWARFDebugInfoEntry.h projects/arm_eabi/contrib/llvm/lib/DebugInfo/DWARFDebugLine.cpp projects/arm_eabi/contrib/llvm/lib/DebugInfo/DWARFDebugLine.h projects/arm_eabi/contrib/llvm/lib/DebugInfo/DWARFFormValue.cpp projects/arm_eabi/contrib/llvm/lib/DebugInfo/DWARFFormValue.h projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/ExecutionEngine.cpp projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/JIT/JIT.cpp projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.h projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/JITRegistrar.h projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h projects/arm_eabi/contrib/llvm/lib/ExecutionEngine/TargetSelect.cpp projects/arm_eabi/contrib/llvm/lib/MC/ELFObjectWriter.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCAsmBackend.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCAsmInfo.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCAsmInfoCOFF.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCAsmInfoDarwin.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCAsmStreamer.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCAssembler.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCContext.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCDisassembler/Disassembler.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCDisassembler/EDDisassembler.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCDwarf.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCELFObjectTargetWriter.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCELFStreamer.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCExpr.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCInst.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCInstPrinter.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCLabel.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCMachOStreamer.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCObjectFileInfo.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCObjectStreamer.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCParser/AsmLexer.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCParser/AsmParser.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCParser/ELFAsmParser.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCParser/MCAsmLexer.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCParser/MCAsmParser.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCRegisterInfo.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCStreamer.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCSubtargetInfo.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCSymbol.cpp projects/arm_eabi/contrib/llvm/lib/MC/MCValue.cpp projects/arm_eabi/contrib/llvm/lib/MC/MachObjectWriter.cpp projects/arm_eabi/contrib/llvm/lib/MC/SubtargetFeature.cpp projects/arm_eabi/contrib/llvm/lib/MC/WinCOFFStreamer.cpp projects/arm_eabi/contrib/llvm/lib/Object/COFFObjectFile.cpp projects/arm_eabi/contrib/llvm/lib/Object/MachOObjectFile.cpp projects/arm_eabi/contrib/llvm/lib/Support/APFloat.cpp projects/arm_eabi/contrib/llvm/lib/Support/Atomic.cpp projects/arm_eabi/contrib/llvm/lib/Support/CommandLine.cpp projects/arm_eabi/contrib/llvm/lib/Support/DAGDeltaAlgorithm.cpp projects/arm_eabi/contrib/llvm/lib/Support/DataExtractor.cpp projects/arm_eabi/contrib/llvm/lib/Support/DataStream.cpp projects/arm_eabi/contrib/llvm/lib/Support/DynamicLibrary.cpp projects/arm_eabi/contrib/llvm/lib/Support/Errno.cpp projects/arm_eabi/contrib/llvm/lib/Support/FoldingSet.cpp projects/arm_eabi/contrib/llvm/lib/Support/Host.cpp projects/arm_eabi/contrib/llvm/lib/Support/LockFileManager.cpp projects/arm_eabi/contrib/llvm/lib/Support/Memory.cpp projects/arm_eabi/contrib/llvm/lib/Support/MemoryBuffer.cpp projects/arm_eabi/contrib/llvm/lib/Support/SmallVector.cpp projects/arm_eabi/contrib/llvm/lib/Support/StreamableMemoryObject.cpp projects/arm_eabi/contrib/llvm/lib/Support/StringMap.cpp projects/arm_eabi/contrib/llvm/lib/Support/StringRef.cpp projects/arm_eabi/contrib/llvm/lib/Support/Triple.cpp projects/arm_eabi/contrib/llvm/lib/Support/Unix/Memory.inc projects/arm_eabi/contrib/llvm/lib/Support/Unix/Path.inc projects/arm_eabi/contrib/llvm/lib/Support/Unix/Signals.inc projects/arm_eabi/contrib/llvm/lib/Support/Windows/Memory.inc projects/arm_eabi/contrib/llvm/lib/Support/Windows/PathV2.inc projects/arm_eabi/contrib/llvm/lib/Support/YAMLParser.cpp projects/arm_eabi/contrib/llvm/lib/Support/raw_ostream.cpp projects/arm_eabi/contrib/llvm/lib/Support/regexec.c projects/arm_eabi/contrib/llvm/lib/Support/system_error.cpp projects/arm_eabi/contrib/llvm/lib/TableGen/Error.cpp projects/arm_eabi/contrib/llvm/lib/TableGen/Main.cpp projects/arm_eabi/contrib/llvm/lib/TableGen/Record.cpp projects/arm_eabi/contrib/llvm/lib/TableGen/TGParser.cpp projects/arm_eabi/contrib/llvm/lib/TableGen/TGParser.h projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARM.h projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARM.td projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.h projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.h projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMCallingConv.td projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMCodeEmitter.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMConstantPoolValue.h projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMFastISel.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMFrameLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMHazardRecognizer.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMISelLowering.h projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMInstrInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMInstrVFP.td projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMJITInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMMachineFunctionInfo.h projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.td projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMSchedule.td projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMScheduleA9.td projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMSubtarget.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMSubtarget.h projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/ARMTargetMachine.h projects/arm_eabi/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.h projects/arm_eabi/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h projects/arm_eabi/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp projects/arm_eabi/contrib/llvm/lib/Target/ARM/MLxExpansionPass.cpp projects/arm_eabi/contrib/llvm/lib/Target/CellSPU/SPUAsmPrinter.cpp projects/arm_eabi/contrib/llvm/lib/Target/CellSPU/SPUFrameLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp projects/arm_eabi/contrib/llvm/lib/Target/CellSPU/SPUSubtarget.h projects/arm_eabi/contrib/llvm/lib/Target/CellSPU/SPUTargetMachine.cpp projects/arm_eabi/contrib/llvm/lib/Target/CellSPU/SPUTargetMachine.h projects/arm_eabi/contrib/llvm/lib/Target/CppBackend/CPPBackend.cpp projects/arm_eabi/contrib/llvm/lib/Target/CppBackend/CPPTargetMachine.h projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonCallingConvLower.cpp projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonInstrFormats.td projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.td projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonPeephole.cpp projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.h projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonRemoveSZExtArgs.cpp projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonSchedule.td projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonScheduleV4.td projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonTargetMachine.h projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/HexagonVarargsCallingConvention.h projects/arm_eabi/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/MBlaze/AsmParser/MBlazeAsmParser.cpp projects/arm_eabi/contrib/llvm/lib/Target/MBlaze/MBlazeAsmPrinter.cpp projects/arm_eabi/contrib/llvm/lib/Target/MBlaze/MBlazeFrameLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/MBlaze/MBlazeTargetMachine.cpp projects/arm_eabi/contrib/llvm/lib/Target/MBlaze/MBlazeTargetMachine.h projects/arm_eabi/contrib/llvm/lib/Target/MBlaze/MBlazeTargetObjectFile.cpp projects/arm_eabi/contrib/llvm/lib/Target/MBlaze/MCTargetDesc/MBlazeMCCodeEmitter.cpp projects/arm_eabi/contrib/llvm/lib/Target/MSP430/MSP430FrameLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/MSP430/MSP430FrameLowering.h projects/arm_eabi/contrib/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp projects/arm_eabi/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.h projects/arm_eabi/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.h projects/arm_eabi/contrib/llvm/lib/Target/MSP430/MSP430TargetMachine.cpp projects/arm_eabi/contrib/llvm/lib/Target/MSP430/MSP430TargetMachine.h projects/arm_eabi/contrib/llvm/lib/Target/Mangler.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/Mips.td projects/arm_eabi/contrib/llvm/lib/Target/Mips/Mips16FrameLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/Mips16FrameLowering.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/Mips16InstrInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/Mips16InstrInfo.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/Mips16InstrInfo.td projects/arm_eabi/contrib/llvm/lib/Target/Mips/Mips16RegisterInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/Mips16RegisterInfo.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/Mips64InstrInfo.td projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsAnalyzeImmediate.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsCallingConv.td projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsCodeEmitter.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsFrameLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsFrameLowering.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsISelLowering.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsInstrFPU.td projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsInstrFormats.td projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsInstrInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsInstrInfo.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsLongBranch.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsMCInstLower.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsMCInstLower.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsMachineFunction.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsMachineFunction.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.td projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsSEFrameLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsSEInstrInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsSEInstrInfo.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsSERegisterInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsSERegisterInfo.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsSubtarget.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsSubtarget.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsTargetMachine.cpp projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsTargetMachine.h projects/arm_eabi/contrib/llvm/lib/Target/Mips/MipsTargetObjectFile.cpp projects/arm_eabi/contrib/llvm/lib/Target/NVPTX/NVPTX.td projects/arm_eabi/contrib/llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.h projects/arm_eabi/contrib/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp projects/arm_eabi/contrib/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/NVPTX/NVPTXISelLowering.h projects/arm_eabi/contrib/llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp projects/arm_eabi/contrib/llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.h projects/arm_eabi/contrib/llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp projects/arm_eabi/contrib/llvm/lib/Target/NVPTX/NVPTXSubtarget.h projects/arm_eabi/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp projects/arm_eabi/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.h projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPC.td projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCCallingConv.td projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.h projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCInstrAltivec.td projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCInstrFormats.td projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.h projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCSchedule.td projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCSchedule440.td projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCScheduleA2.td projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCScheduleG3.td projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCScheduleG4.td projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCScheduleG4Plus.td projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCScheduleG5.td projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.cpp projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.h projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp projects/arm_eabi/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.h projects/arm_eabi/contrib/llvm/lib/Target/Sparc/SparcFrameLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/Sparc/SparcISelLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.td projects/arm_eabi/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.cpp projects/arm_eabi/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.h projects/arm_eabi/contrib/llvm/lib/Target/Target.cpp projects/arm_eabi/contrib/llvm/lib/Target/TargetLibraryInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/TargetLoweringObjectFile.cpp projects/arm_eabi/contrib/llvm/lib/Target/TargetMachineC.cpp projects/arm_eabi/contrib/llvm/lib/Target/TargetRegisterInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/AsmParser/X86AsmLexer.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.h projects/arm_eabi/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c projects/arm_eabi/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h projects/arm_eabi/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h projects/arm_eabi/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.h projects/arm_eabi/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h projects/arm_eabi/contrib/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h projects/arm_eabi/contrib/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h projects/arm_eabi/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/X86.td projects/arm_eabi/contrib/llvm/lib/Target/X86/X86AsmPrinter.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/X86AsmPrinter.h projects/arm_eabi/contrib/llvm/lib/Target/X86/X86COFFMachineModuleInfo.h projects/arm_eabi/contrib/llvm/lib/Target/X86/X86CallingConv.td projects/arm_eabi/contrib/llvm/lib/Target/X86/X86CodeEmitter.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/X86FastISel.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/X86FloatingPoint.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/X86ISelLowering.h projects/arm_eabi/contrib/llvm/lib/Target/X86/X86InstrCompiler.td projects/arm_eabi/contrib/llvm/lib/Target/X86/X86InstrControl.td projects/arm_eabi/contrib/llvm/lib/Target/X86/X86InstrFMA.td projects/arm_eabi/contrib/llvm/lib/Target/X86/X86InstrFormats.td projects/arm_eabi/contrib/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td projects/arm_eabi/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/X86InstrInfo.h projects/arm_eabi/contrib/llvm/lib/Target/X86/X86InstrInfo.td projects/arm_eabi/contrib/llvm/lib/Target/X86/X86InstrMMX.td projects/arm_eabi/contrib/llvm/lib/Target/X86/X86InstrSSE.td projects/arm_eabi/contrib/llvm/lib/Target/X86/X86InstrShiftRotate.td projects/arm_eabi/contrib/llvm/lib/Target/X86/X86InstrXOP.td projects/arm_eabi/contrib/llvm/lib/Target/X86/X86JITInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/X86MCInstLower.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/X86RegisterInfo.h projects/arm_eabi/contrib/llvm/lib/Target/X86/X86RegisterInfo.td projects/arm_eabi/contrib/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/X86Subtarget.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/X86Subtarget.h projects/arm_eabi/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp projects/arm_eabi/contrib/llvm/lib/Target/X86/X86TargetMachine.h projects/arm_eabi/contrib/llvm/lib/Target/X86/X86VZeroUpper.cpp projects/arm_eabi/contrib/llvm/lib/Target/XCore/XCoreAsmPrinter.cpp projects/arm_eabi/contrib/llvm/lib/Target/XCore/XCoreFrameLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp projects/arm_eabi/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.td projects/arm_eabi/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.cpp projects/arm_eabi/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.cpp projects/arm_eabi/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.h projects/arm_eabi/contrib/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/IPO/ConstantMerge.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/IPO/ExtractGV.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/IPO/FunctionAttrs.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/IPO/IPO.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/IPO/InlineAlways.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/IPO/InlineSimple.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/IPO/Inliner.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/IPO/Internalize.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/IPO/MergeFunctions.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/IPO/PruneEH.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/InstCombine/InstCombine.h projects/arm_eabi/contrib/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/InstCombine/InstCombineWorklist.h projects/arm_eabi/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Instrumentation/MaximumSpanningTree.h projects/arm_eabi/contrib/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/ConstantProp.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/DCE.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/EarlyCSE.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/GVN.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/GlobalMerge.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/LICM.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/ObjCARC.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/Reassociate.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/Scalar.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Scalar/SimplifyLibCalls.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/AddrModeMatcher.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/BuildLibCalls.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/CloneFunction.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/CodeExtractor.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/LCSSA.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/Local.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/LoopSimplify.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/SSAUpdater.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/SimplifyInstructions.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/Utils.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Utils/ValueMapper.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Vectorize/BBVectorize.cpp projects/arm_eabi/contrib/llvm/lib/Transforms/Vectorize/Vectorize.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/AsmWriter.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/Attributes.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/AutoUpgrade.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/ConstantFold.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/Constants.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/ConstantsContext.h projects/arm_eabi/contrib/llvm/lib/VMCore/Core.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/DIBuilder.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/DebugInfo.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/Dominators.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/Function.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/GCOV.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/IRBuilder.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/InlineAsm.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/Instructions.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/LLVMContext.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/LLVMContextImpl.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/LLVMContextImpl.h projects/arm_eabi/contrib/llvm/lib/VMCore/PassManager.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/Type.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/User.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/Value.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/ValueTypes.cpp projects/arm_eabi/contrib/llvm/lib/VMCore/Verifier.cpp projects/arm_eabi/contrib/llvm/tools/bugpoint/ExtractFunction.cpp projects/arm_eabi/contrib/llvm/tools/bugpoint/OptimizerDriver.cpp projects/arm_eabi/contrib/llvm/tools/clang/include/clang-c/Index.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/ARCMigrate/ARCMT.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/ASTConsumer.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/Attr.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/BuiltinTypes.def projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/CharUnits.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/Comment.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/CommentBriefParser.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/CommentCommandTraits.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/CommentLexer.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/CommentParser.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/CommentSema.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/Decl.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/DeclFriend.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/DeclarationName.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/Expr.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/ExprObjC.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/ExternalASTSource.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/NSAPI.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/NestedNameSpecifier.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/OperationKinds.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/PrettyPrinter.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/RawCommentList.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/RecordLayout.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/SelectorLocationsKind.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/Stmt.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/StmtCXX.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/StmtObjC.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/TemplateBase.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/Type.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/UnresolvedSet.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/AST/VTableBuilder.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchFinder.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersMacros.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/FormatString.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafety.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Analysis/AnalysisContext.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Analysis/CFG.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Analysis/ProgramPoint.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/Attr.td projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsMips.def projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsNVPTX.def projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/ConvertUTF.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticASTKinds.td projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommentKinds.td projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSerializationKinds.td projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/FileManager.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.def projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/Module.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/ObjCRuntime.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/OnDiskHashTable.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/TargetOptions.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/TypeTraits.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td projects/arm_eabi/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenAction.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Driver/Action.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Driver/Arg.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Driver/ArgList.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Driver/CC1AsOptions.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Driver/CC1AsOptions.td projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Driver/Compilation.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Driver/Driver.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Driver/Job.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Driver/OptParser.td projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Driver/OptTable.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Driver/Option.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Driver/Options.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Driver/Tool.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Driver/Types.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInvocation.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticRenderer.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/FrontendAction.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/FrontendOptions.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/LangStandard.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/LangStandards.def projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/LogDiagnosticPrinter.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/MultiplexConsumer.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/SerializedDiagnosticPrinter.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnostic.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnosticPrinter.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Frontend/VerifyDiagnosticConsumer.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Lex/ExternalPreprocessorSource.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Lex/HeaderMap.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Lex/Lexer.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Lex/LiteralSupport.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Lex/MacroInfo.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Lex/ModuleMap.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Lex/PPCallbacks.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Lex/PTHLexer.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Lex/PTHManager.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorLexer.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Lex/Token.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Lex/TokenLexer.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Parse/Parser.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Sema/AttributeList.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteConsumer.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Sema/DelayedDiagnostic.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Sema/ExternalSemaSource.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Sema/Initialization.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Sema/LocInfoType.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Sema/Overload.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Sema/Ownership.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Sema/ParsedTemplate.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Sema/Scope.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Sema/ScopeInfo.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Sema/Sema.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Sema/SemaConsumer.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Sema/Template.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Sema/TemplateDeduction.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Sema/TypoCorrection.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Serialization/ASTDeserializationListener.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Serialization/ContinuousRangeMap.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Serialization/Module.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Serialization/ModuleManager.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/TaintManager.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabase.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring.h projects/arm_eabi/contrib/llvm/tools/clang/include/clang/Tooling/Tooling.h projects/arm_eabi/contrib/llvm/tools/clang/lib/ARCMigrate/ARCMT.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/ARCMigrate/FileRemapper.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/ARCMigrate/Internals.h projects/arm_eabi/contrib/llvm/tools/clang/lib/ARCMigrate/ObjCMT.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/ARCMigrate/Transforms.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/ASTConsumer.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/CXXInheritance.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/Comment.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/CommentBriefParser.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/CommentCommandTraits.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/CommentDumper.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/CommentLexer.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/CommentParser.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/CommentSema.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/Decl.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/DumpXML.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/Expr.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/NSAPI.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/ParentMap.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/RawCommentList.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/Stmt.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/StmtDumper.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/TemplateBase.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/Type.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/TypeLoc.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/AST/VTableBuilder.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchFinder.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Analysis/AnalysisDeclContext.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Analysis/FormatString.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Analysis/ReachableCode.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Analysis/ScanfFormatString.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Analysis/ThreadSafety.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Analysis/UninitializedValues.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Basic/ConvertUTF.c projects/arm_eabi/contrib/llvm/tools/clang/lib/Basic/ConvertUTFWrapper.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Basic/Module.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Basic/SourceLocation.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Basic/Version.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/ABIInfo.h projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.h projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.h projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGExprComplex.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.h projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGRTTI.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayout.h projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.h projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/Arg.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/ArgList.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/CC1AsOptions.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/Compilation.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/Driver.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/DriverOptions.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/OptTable.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/Option.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/ToolChains.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/Tools.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/Tools.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/Types.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/WindowsToolChain.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/ASTConsumers.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/ASTMerge.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/ChainedDiagnosticConsumer.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/ChainedIncludesSource.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/DependencyFile.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/DependencyGraph.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/DiagnosticRenderer.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/LogDiagnosticPrinter.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/TextDiagnostic.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Frontend/Warnings.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Headers/altivec.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Headers/bmi2intrin.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Headers/cpuid.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Headers/immintrin.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Headers/module.map projects/arm_eabi/contrib/llvm/tools/clang/lib/Headers/unwind.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Headers/wmmintrin.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Headers/x86intrin.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Lex/HeaderMap.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Lex/MacroArgs.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Lex/MacroInfo.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Lex/ModuleMap.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Lex/PPExpressions.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Lex/PPLexerChange.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Lex/PTHLexer.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Lex/PreprocessingRecord.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Lex/TokenLexer.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Parse/ParseAST.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Parse/ParseInit.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Parse/ParsePragma.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Parse/Parser.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Parse/RAIIObjectsForParser.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/CodeCompleteConsumer.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/DelayedDiagnostic.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/IdentifierResolver.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/Sema.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaAccess.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaAttr.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaCast.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaExprMember.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaLambda.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaPseudoObject.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaStmtAttr.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h projects/arm_eabi/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Serialization/GeneratePCH.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Serialization/Module.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Serialization/ModuleManager.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AttrNonNullChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/Checkers.td projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IdempotentOperationChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerContext.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Environment.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SVals.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Store.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/TextPathDiagnostics.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.h projects/arm_eabi/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Tooling/CompilationDatabase.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Tooling/Refactoring.cpp projects/arm_eabi/contrib/llvm/tools/clang/lib/Tooling/Tooling.cpp projects/arm_eabi/contrib/llvm/tools/clang/tools/driver/cc1_main.cpp projects/arm_eabi/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp projects/arm_eabi/contrib/llvm/tools/clang/tools/driver/driver.cpp projects/arm_eabi/contrib/llvm/tools/clang/utils/TableGen/ClangAttrEmitter.cpp projects/arm_eabi/contrib/llvm/tools/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp projects/arm_eabi/contrib/llvm/tools/clang/utils/TableGen/ClangSACheckersEmitter.cpp projects/arm_eabi/contrib/llvm/tools/clang/utils/TableGen/NeonEmitter.cpp projects/arm_eabi/contrib/llvm/tools/clang/utils/TableGen/OptParserEmitter.cpp projects/arm_eabi/contrib/llvm/tools/clang/utils/TableGen/TableGen.cpp projects/arm_eabi/contrib/llvm/tools/clang/utils/TableGen/TableGenBackends.h projects/arm_eabi/contrib/llvm/tools/llc/llc.cpp projects/arm_eabi/contrib/llvm/tools/lli/lli.cpp projects/arm_eabi/contrib/llvm/tools/llvm-ar/llvm-ar.cpp projects/arm_eabi/contrib/llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp projects/arm_eabi/contrib/llvm/tools/llvm-extract/llvm-extract.cpp projects/arm_eabi/contrib/llvm/tools/llvm-mc/llvm-mc.cpp projects/arm_eabi/contrib/llvm/tools/llvm-nm/llvm-nm.cpp projects/arm_eabi/contrib/llvm/tools/llvm-objdump/llvm-objdump.cpp projects/arm_eabi/contrib/llvm/tools/llvm-ranlib/llvm-ranlib.cpp projects/arm_eabi/contrib/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp projects/arm_eabi/contrib/llvm/tools/llvm-stress/llvm-stress.cpp projects/arm_eabi/contrib/llvm/tools/opt/opt.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/AsmWriterEmitter.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/AsmWriterInst.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/CallingConvEmitter.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/CodeEmitterGen.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.h projects/arm_eabi/contrib/llvm/utils/TableGen/CodeGenInstruction.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/CodeGenInstruction.h projects/arm_eabi/contrib/llvm/utils/TableGen/CodeGenRegisters.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/CodeGenRegisters.h projects/arm_eabi/contrib/llvm/utils/TableGen/CodeGenSchedule.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/CodeGenSchedule.h projects/arm_eabi/contrib/llvm/utils/TableGen/CodeGenTarget.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/CodeGenTarget.h projects/arm_eabi/contrib/llvm/utils/TableGen/DAGISelMatcher.h projects/arm_eabi/contrib/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/DAGISelMatcherGen.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/DFAPacketizerEmitter.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/DisassemblerEmitter.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/EDEmitter.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/FastISelEmitter.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/FixedLenDecoderEmitter.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/InstrInfoEmitter.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/IntrinsicEmitter.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/PseudoLoweringEmitter.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/RegisterInfoEmitter.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/SequenceToOffsetTable.h projects/arm_eabi/contrib/llvm/utils/TableGen/SetTheory.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/SetTheory.h projects/arm_eabi/contrib/llvm/utils/TableGen/SubtargetEmitter.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/TGValueTypes.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/TableGen.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/TableGenBackends.h projects/arm_eabi/contrib/llvm/utils/TableGen/X86DisassemblerTables.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/X86ModRMFilters.h projects/arm_eabi/contrib/llvm/utils/TableGen/X86RecognizableInstr.cpp projects/arm_eabi/contrib/llvm/utils/TableGen/X86RecognizableInstr.h projects/arm_eabi/contrib/ntp/arlib/Makefile.in projects/arm_eabi/contrib/ntp/libntp/Makefile.in projects/arm_eabi/contrib/ntp/libparse/Makefile.in projects/arm_eabi/contrib/ntp/ntpd/Makefile.in projects/arm_eabi/contrib/openbsm/CREDITS projects/arm_eabi/contrib/openbsm/INSTALL projects/arm_eabi/contrib/openbsm/LICENSE projects/arm_eabi/contrib/openbsm/Makefile.am projects/arm_eabi/contrib/openbsm/Makefile.in projects/arm_eabi/contrib/openbsm/NEWS projects/arm_eabi/contrib/openbsm/README projects/arm_eabi/contrib/openbsm/TODO projects/arm_eabi/contrib/openbsm/VERSION projects/arm_eabi/contrib/openbsm/aclocal.m4 projects/arm_eabi/contrib/openbsm/autogen.sh projects/arm_eabi/contrib/openbsm/bin/Makefile.am projects/arm_eabi/contrib/openbsm/bin/Makefile.in projects/arm_eabi/contrib/openbsm/bin/audit/Makefile.am projects/arm_eabi/contrib/openbsm/bin/audit/Makefile.in projects/arm_eabi/contrib/openbsm/bin/audit/audit.8 projects/arm_eabi/contrib/openbsm/bin/auditd/Makefile.am projects/arm_eabi/contrib/openbsm/bin/auditd/Makefile.in projects/arm_eabi/contrib/openbsm/bin/auditd/auditd.8 projects/arm_eabi/contrib/openbsm/bin/auditd/auditd.c projects/arm_eabi/contrib/openbsm/bin/auditfilterd/Makefile.am projects/arm_eabi/contrib/openbsm/bin/auditfilterd/Makefile.in projects/arm_eabi/contrib/openbsm/bin/auditreduce/Makefile.am projects/arm_eabi/contrib/openbsm/bin/auditreduce/Makefile.in projects/arm_eabi/contrib/openbsm/bin/auditreduce/auditreduce.1 projects/arm_eabi/contrib/openbsm/bin/praudit/Makefile.am projects/arm_eabi/contrib/openbsm/bin/praudit/Makefile.in projects/arm_eabi/contrib/openbsm/bin/praudit/praudit.1 projects/arm_eabi/contrib/openbsm/bin/praudit/praudit.c projects/arm_eabi/contrib/openbsm/bsm/Makefile.am projects/arm_eabi/contrib/openbsm/bsm/Makefile.in projects/arm_eabi/contrib/openbsm/bsm/auditd_lib.h projects/arm_eabi/contrib/openbsm/bsm/libbsm.h projects/arm_eabi/contrib/openbsm/compat/endian.h projects/arm_eabi/contrib/openbsm/config/config.h projects/arm_eabi/contrib/openbsm/config/config.h.in projects/arm_eabi/contrib/openbsm/config/ltmain.sh projects/arm_eabi/contrib/openbsm/configure projects/arm_eabi/contrib/openbsm/configure.ac projects/arm_eabi/contrib/openbsm/etc/audit_control projects/arm_eabi/contrib/openbsm/etc/audit_event projects/arm_eabi/contrib/openbsm/libauditd/Makefile.am projects/arm_eabi/contrib/openbsm/libauditd/Makefile.in projects/arm_eabi/contrib/openbsm/libauditd/auditd_lib.c projects/arm_eabi/contrib/openbsm/libbsm/Makefile.am projects/arm_eabi/contrib/openbsm/libbsm/Makefile.in projects/arm_eabi/contrib/openbsm/libbsm/au_control.3 projects/arm_eabi/contrib/openbsm/libbsm/au_fcntl_cmd.3 projects/arm_eabi/contrib/openbsm/libbsm/au_io.3 projects/arm_eabi/contrib/openbsm/libbsm/audit_submit.3 projects/arm_eabi/contrib/openbsm/libbsm/bsm_audit.c projects/arm_eabi/contrib/openbsm/libbsm/bsm_class.c projects/arm_eabi/contrib/openbsm/libbsm/bsm_control.c projects/arm_eabi/contrib/openbsm/libbsm/bsm_errno.c projects/arm_eabi/contrib/openbsm/libbsm/bsm_io.c projects/arm_eabi/contrib/openbsm/libbsm/bsm_token.c projects/arm_eabi/contrib/openbsm/libbsm/bsm_user.c projects/arm_eabi/contrib/openbsm/libbsm/bsm_wrappers.c projects/arm_eabi/contrib/openbsm/man/Makefile.am projects/arm_eabi/contrib/openbsm/man/Makefile.in projects/arm_eabi/contrib/openbsm/man/audit.log.5 projects/arm_eabi/contrib/openbsm/man/audit_control.5 projects/arm_eabi/contrib/openbsm/man/auditon.2 projects/arm_eabi/contrib/openbsm/man/getaudit.2 projects/arm_eabi/contrib/openbsm/man/setaudit.2 projects/arm_eabi/contrib/openbsm/modules/Makefile.am projects/arm_eabi/contrib/openbsm/modules/Makefile.in projects/arm_eabi/contrib/openbsm/modules/auditfilter_noop/Makefile.am projects/arm_eabi/contrib/openbsm/modules/auditfilter_noop/Makefile.in projects/arm_eabi/contrib/openbsm/sys/Makefile.am projects/arm_eabi/contrib/openbsm/sys/Makefile.in projects/arm_eabi/contrib/openbsm/sys/bsm/Makefile.am projects/arm_eabi/contrib/openbsm/sys/bsm/Makefile.in projects/arm_eabi/contrib/openbsm/sys/bsm/audit_errno.h projects/arm_eabi/contrib/openbsm/sys/bsm/audit_internal.h projects/arm_eabi/contrib/openbsm/sys/bsm/audit_kevents.h projects/arm_eabi/contrib/openbsm/test/Makefile.am projects/arm_eabi/contrib/openbsm/test/Makefile.in projects/arm_eabi/contrib/openbsm/test/bsm/Makefile.am projects/arm_eabi/contrib/openbsm/test/bsm/Makefile.in projects/arm_eabi/contrib/openbsm/tools/Makefile.am projects/arm_eabi/contrib/openbsm/tools/Makefile.in projects/arm_eabi/contrib/opie/libmissing/Makefile.in projects/arm_eabi/contrib/opie/libopie/Makefile.in projects/arm_eabi/contrib/sendmail/src/sasl.c projects/arm_eabi/contrib/tcp_wrappers/Makefile projects/arm_eabi/contrib/tcpdump/Makefile.in projects/arm_eabi/contrib/wpa/src/eap_server/eap_server_tls_common.c projects/arm_eabi/crypto/heimdal/appl/ftp/common/Makefile.in projects/arm_eabi/crypto/heimdal/appl/telnet/libtelnet/Makefile.in projects/arm_eabi/crypto/openssl/Makefile.org projects/arm_eabi/crypto/openssl/crypto/Makefile projects/arm_eabi/crypto/openssl/crypto/rand/rand_unix.c projects/arm_eabi/etc/defaults/rc.conf projects/arm_eabi/etc/devd/usb.conf projects/arm_eabi/etc/ftpusers projects/arm_eabi/etc/mail/aliases projects/arm_eabi/etc/master.passwd projects/arm_eabi/etc/mtree/BSD.var.dist projects/arm_eabi/etc/newsyslog.conf projects/arm_eabi/etc/rc.d/Makefile projects/arm_eabi/etc/rc.initdiskless projects/arm_eabi/etc/root/dot.cshrc projects/arm_eabi/games/fortune/datfiles/fortunes projects/arm_eabi/gnu/lib/libgcc/Makefile projects/arm_eabi/gnu/usr.bin/cc/cc_tools/Makefile projects/arm_eabi/lib/clang/Makefile projects/arm_eabi/lib/clang/clang.build.mk projects/arm_eabi/lib/clang/include/Makefile projects/arm_eabi/lib/clang/include/clang/Basic/Version.inc projects/arm_eabi/lib/clang/include/llvm/Config/config.h projects/arm_eabi/lib/clang/libclanganalysis/Makefile projects/arm_eabi/lib/clang/libclangast/Makefile projects/arm_eabi/lib/clang/libclangsema/Makefile projects/arm_eabi/lib/clang/libclangstaticanalyzercheckers/Makefile projects/arm_eabi/lib/clang/libclangstaticanalyzercore/Makefile projects/arm_eabi/lib/clang/libllvmanalysis/Makefile projects/arm_eabi/lib/clang/libllvmarmcodegen/Makefile projects/arm_eabi/lib/clang/libllvmcodegen/Makefile projects/arm_eabi/lib/clang/libllvmcore/Makefile projects/arm_eabi/lib/clang/libllvmdebuginfo/Makefile projects/arm_eabi/lib/clang/libllvminstrumentation/Makefile projects/arm_eabi/lib/clang/libllvmipo/Makefile projects/arm_eabi/lib/clang/libllvmmcjit/Makefile projects/arm_eabi/lib/clang/libllvmmipsasmparser/Makefile projects/arm_eabi/lib/clang/libllvmmipscodegen/Makefile projects/arm_eabi/lib/clang/libllvmmipsdesc/Makefile projects/arm_eabi/lib/clang/libllvmscalaropts/Makefile projects/arm_eabi/lib/clang/libllvmtablegen/Makefile projects/arm_eabi/lib/clang/libllvmtarget/Makefile projects/arm_eabi/lib/clang/libllvmtransformutils/Makefile projects/arm_eabi/lib/clang/libllvmvectorize/Makefile projects/arm_eabi/lib/clang/libllvmx86codegen/Makefile projects/arm_eabi/lib/libc/gen/fstab.c projects/arm_eabi/lib/libc/gen/glob.c projects/arm_eabi/lib/libc/stdio/fdopen.c projects/arm_eabi/lib/libc/stdio/flags.c projects/arm_eabi/lib/libc/stdio/fopen.3 projects/arm_eabi/lib/libc/stdio/freopen.c projects/arm_eabi/lib/libc/stdio/getline.3 projects/arm_eabi/lib/libc/sys/bind.2 projects/arm_eabi/lib/libc/sys/getpeername.2 projects/arm_eabi/lib/libc/sys/getsockname.2 projects/arm_eabi/lib/libipsec/policy_parse.y projects/arm_eabi/libexec/rtld-elf/Makefile projects/arm_eabi/sbin/devd/devd.cc projects/arm_eabi/sbin/devd/devd.hh projects/arm_eabi/sbin/dump/dump.h projects/arm_eabi/sbin/ifconfig/af_inet6.c projects/arm_eabi/sbin/mdconfig/mdconfig.c projects/arm_eabi/sbin/route/route.c projects/arm_eabi/share/examples/etc/make.conf projects/arm_eabi/share/man/man4/audit.4 projects/arm_eabi/share/man/man4/ktr.4 projects/arm_eabi/share/man/man4/usb_quirk.4 projects/arm_eabi/share/man/man5/core.5 projects/arm_eabi/share/man/man5/make.conf.5 projects/arm_eabi/share/man/man9/taskqueue.9 projects/arm_eabi/share/misc/Makefile projects/arm_eabi/share/misc/committers-ports.dot projects/arm_eabi/share/misc/organization.dot projects/arm_eabi/share/mk/bsd.cpu.mk projects/arm_eabi/share/mk/bsd.lib.mk projects/arm_eabi/share/mk/bsd.own.mk projects/arm_eabi/share/mk/sys.mk projects/arm_eabi/share/skel/dot.cshrc projects/arm_eabi/share/syscons/keymaps/INDEX.keymaps projects/arm_eabi/share/syscons/keymaps/Makefile projects/arm_eabi/sys/Makefile projects/arm_eabi/sys/amd64/amd64/db_trace.c projects/arm_eabi/sys/amd64/pci/pci_cfgreg.c projects/arm_eabi/sys/arm/arm/busdma_machdep-v6.c projects/arm_eabi/sys/arm/arm/cpufunc.c projects/arm_eabi/sys/arm/arm/locore.S projects/arm_eabi/sys/arm/arm/machdep.c projects/arm_eabi/sys/arm/arm/mpcore_timer.c projects/arm_eabi/sys/arm/at91/files.at91 projects/arm_eabi/sys/arm/at91/if_ate.c projects/arm_eabi/sys/arm/at91/if_macb.c projects/arm_eabi/sys/arm/broadcom/bcm2835/bcm2835_fb.c projects/arm_eabi/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c projects/arm_eabi/sys/arm/broadcom/bcm2835/bcm2835_systimer.c projects/arm_eabi/sys/arm/broadcom/bcm2835/files.bcm2835 projects/arm_eabi/sys/arm/conf/RPI-B projects/arm_eabi/sys/arm/econa/if_ece.c projects/arm_eabi/sys/arm/include/cpufunc.h projects/arm_eabi/sys/arm/lpc/if_lpe.c projects/arm_eabi/sys/arm/mv/mvreg.h projects/arm_eabi/sys/arm/ti/am335x/am335x_dmtimer.c projects/arm_eabi/sys/arm/ti/cpsw/if_cpsw.c projects/arm_eabi/sys/arm/ti/ti_machdep.c projects/arm_eabi/sys/arm/xscale/ixp425/if_npe.c projects/arm_eabi/sys/boot/fdt/dts/bcm2835-rpi-b.dts projects/arm_eabi/sys/boot/fdt/fdt_loader_cmd.c projects/arm_eabi/sys/boot/forth/menu-commands.4th projects/arm_eabi/sys/boot/forth/menu.rc projects/arm_eabi/sys/boot/i386/efi/exec.c projects/arm_eabi/sys/boot/uboot/common/metadata.c projects/arm_eabi/sys/boot/uboot/lib/elf_freebsd.c projects/arm_eabi/sys/boot/userboot/userboot/conf.c projects/arm_eabi/sys/boot/userboot/userboot/main.c projects/arm_eabi/sys/bsm/audit_errno.h projects/arm_eabi/sys/bsm/audit_internal.h projects/arm_eabi/sys/bsm/audit_record.h projects/arm_eabi/sys/cam/ata/ata_xpt.c projects/arm_eabi/sys/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c projects/arm_eabi/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_map.h projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_impl.h projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c projects/arm_eabi/sys/compat/linux/linux_ioctl.c projects/arm_eabi/sys/compat/linux/linux_socket.c projects/arm_eabi/sys/compat/ndis/kern_ndis.c projects/arm_eabi/sys/conf/Makefile.arm projects/arm_eabi/sys/conf/NOTES projects/arm_eabi/sys/conf/files projects/arm_eabi/sys/conf/kern.pre.mk projects/arm_eabi/sys/conf/options.mips projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-dma-engine.c projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pow.h projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-spi.c projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-utils.h projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-warn.c projects/arm_eabi/sys/contrib/octeon-sdk/cvmx.h projects/arm_eabi/sys/contrib/octeon-sdk/octeon-model.c projects/arm_eabi/sys/contrib/octeon-sdk/octeon-model.h projects/arm_eabi/sys/dev/acpica/acpi_cpu.c projects/arm_eabi/sys/dev/age/if_age.c projects/arm_eabi/sys/dev/aic7xxx/aicasm/aicasm_gram.y projects/arm_eabi/sys/dev/alc/if_alc.c projects/arm_eabi/sys/dev/ale/if_ale.c projects/arm_eabi/sys/dev/an/if_an.c projects/arm_eabi/sys/dev/ath/ath_hal/ah.h projects/arm_eabi/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c projects/arm_eabi/sys/dev/ath/ath_hal/ar5212/ar5212_beacon.c projects/arm_eabi/sys/dev/ath/ath_hal/ar5416/ar5416.h projects/arm_eabi/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/arm_eabi/sys/dev/ath/ath_hal/ar5416/ar5416_btcoex.c projects/arm_eabi/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c projects/arm_eabi/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c projects/arm_eabi/sys/dev/ath/ath_hal/ar9002/ar9285_btcoex.c projects/arm_eabi/sys/dev/ath/if_ath.c projects/arm_eabi/sys/dev/ath/if_ath_alq.h projects/arm_eabi/sys/dev/ath/if_ath_beacon.c projects/arm_eabi/sys/dev/ath/if_ath_rx.c projects/arm_eabi/sys/dev/ath/if_ath_rx_edma.c projects/arm_eabi/sys/dev/ath/if_ath_tdma.c projects/arm_eabi/sys/dev/ath/if_ath_tx.c projects/arm_eabi/sys/dev/ath/if_ath_tx_edma.c projects/arm_eabi/sys/dev/ath/if_ath_tx_ht.c projects/arm_eabi/sys/dev/ath/if_athvar.h projects/arm_eabi/sys/dev/bce/if_bce.c projects/arm_eabi/sys/dev/bfe/if_bfe.c projects/arm_eabi/sys/dev/bge/if_bge.c projects/arm_eabi/sys/dev/bge/if_bgereg.h projects/arm_eabi/sys/dev/bm/if_bm.c projects/arm_eabi/sys/dev/bwi/if_bwi.c projects/arm_eabi/sys/dev/bwn/if_bwn.c projects/arm_eabi/sys/dev/bxe/if_bxe.c projects/arm_eabi/sys/dev/cas/if_cas.c projects/arm_eabi/sys/dev/ce/if_ce.c projects/arm_eabi/sys/dev/cm/smc90cx6.c projects/arm_eabi/sys/dev/cp/if_cp.c projects/arm_eabi/sys/dev/cs/if_cs.c projects/arm_eabi/sys/dev/ctau/if_ct.c projects/arm_eabi/sys/dev/cx/if_cx.c projects/arm_eabi/sys/dev/cxgb/cxgb_main.c projects/arm_eabi/sys/dev/cxgb/cxgb_sge.c projects/arm_eabi/sys/dev/cxgb/sys/uipc_mvec.c projects/arm_eabi/sys/dev/cxgbe/t4_sge.c projects/arm_eabi/sys/dev/cxgbe/tom/t4_cpl_io.c projects/arm_eabi/sys/dev/cxgbe/tom/t4_ddp.c projects/arm_eabi/sys/dev/cxgbe/tom/t4_listen.c projects/arm_eabi/sys/dev/cxgbe/tom/t4_tom.h projects/arm_eabi/sys/dev/dc/if_dc.c projects/arm_eabi/sys/dev/de/if_de.c projects/arm_eabi/sys/dev/e1000/if_em.c projects/arm_eabi/sys/dev/e1000/if_igb.c projects/arm_eabi/sys/dev/e1000/if_lem.c projects/arm_eabi/sys/dev/ed/if_ed.c projects/arm_eabi/sys/dev/en/midway.c projects/arm_eabi/sys/dev/ep/if_ep.c projects/arm_eabi/sys/dev/et/if_et.c projects/arm_eabi/sys/dev/ex/if_ex.c projects/arm_eabi/sys/dev/fatm/if_fatm.c projects/arm_eabi/sys/dev/fdt/fdt_common.c projects/arm_eabi/sys/dev/fdt/fdt_common.h projects/arm_eabi/sys/dev/fe/if_fe.c projects/arm_eabi/sys/dev/firewire/fwohci.c projects/arm_eabi/sys/dev/firewire/if_fwe.c projects/arm_eabi/sys/dev/firewire/if_fwip.c projects/arm_eabi/sys/dev/fxp/if_fxp.c projects/arm_eabi/sys/dev/gem/if_gem.c projects/arm_eabi/sys/dev/gpio/gpiobus.c projects/arm_eabi/sys/dev/gxemul/cons/gxemul_cons.c projects/arm_eabi/sys/dev/gxemul/ether/if_gx.c projects/arm_eabi/sys/dev/hatm/if_hatm_intr.c projects/arm_eabi/sys/dev/hatm/if_hatm_tx.c projects/arm_eabi/sys/dev/hifn/hifn7751.c projects/arm_eabi/sys/dev/hme/if_hme.c projects/arm_eabi/sys/dev/ie/if_ie.c projects/arm_eabi/sys/dev/if_ndis/if_ndis.c projects/arm_eabi/sys/dev/ipw/if_ipw.c projects/arm_eabi/sys/dev/isci/isci_io_request.c projects/arm_eabi/sys/dev/iwi/if_iwi.c projects/arm_eabi/sys/dev/iwn/if_iwn.c projects/arm_eabi/sys/dev/ixgb/if_ixgb.c projects/arm_eabi/sys/dev/ixgbe/ixgbe.c projects/arm_eabi/sys/dev/ixgbe/ixgbe.h projects/arm_eabi/sys/dev/ixgbe/ixv.c projects/arm_eabi/sys/dev/jme/if_jme.c projects/arm_eabi/sys/dev/le/lance.c projects/arm_eabi/sys/dev/lge/if_lge.c projects/arm_eabi/sys/dev/lmc/if_lmc.c projects/arm_eabi/sys/dev/malo/if_malo.c projects/arm_eabi/sys/dev/md/md.c projects/arm_eabi/sys/dev/mge/if_mge.c projects/arm_eabi/sys/dev/mmc/mmc.c projects/arm_eabi/sys/dev/mn/if_mn.c projects/arm_eabi/sys/dev/msk/if_msk.c projects/arm_eabi/sys/dev/mwl/if_mwl.c projects/arm_eabi/sys/dev/mxge/if_mxge.c projects/arm_eabi/sys/dev/my/if_my.c projects/arm_eabi/sys/dev/netmap/ixgbe_netmap.h projects/arm_eabi/sys/dev/nfe/if_nfe.c projects/arm_eabi/sys/dev/nge/if_nge.c projects/arm_eabi/sys/dev/nve/if_nve.c projects/arm_eabi/sys/dev/nxge/if_nxge.c projects/arm_eabi/sys/dev/oce/oce_if.c projects/arm_eabi/sys/dev/patm/if_patm_intr.c projects/arm_eabi/sys/dev/patm/if_patm_rx.c projects/arm_eabi/sys/dev/patm/if_patm_tx.c projects/arm_eabi/sys/dev/pcn/if_pcn.c projects/arm_eabi/sys/dev/pdq/pdq_freebsd.h projects/arm_eabi/sys/dev/pdq/pdq_ifsubr.c projects/arm_eabi/sys/dev/pdq/pdqvar.h projects/arm_eabi/sys/dev/qlxgb/qla_os.c projects/arm_eabi/sys/dev/ral/rt2560.c projects/arm_eabi/sys/dev/ral/rt2661.c projects/arm_eabi/sys/dev/ral/rt2860.c projects/arm_eabi/sys/dev/re/if_re.c projects/arm_eabi/sys/dev/rt/if_rt.c projects/arm_eabi/sys/dev/safe/safe.c projects/arm_eabi/sys/dev/sbni/if_sbni.c projects/arm_eabi/sys/dev/sdhci/sdhci.c projects/arm_eabi/sys/dev/sdhci/sdhci.h projects/arm_eabi/sys/dev/sf/if_sf.c projects/arm_eabi/sys/dev/sfxge/sfxge_dma.c projects/arm_eabi/sys/dev/sfxge/sfxge_tx.c projects/arm_eabi/sys/dev/sge/if_sge.c projects/arm_eabi/sys/dev/sis/if_sis.c projects/arm_eabi/sys/dev/sk/if_sk.c projects/arm_eabi/sys/dev/smc/if_smc.c projects/arm_eabi/sys/dev/sn/if_sn.c projects/arm_eabi/sys/dev/snc/dp83932.c projects/arm_eabi/sys/dev/sound/pci/hda/hdaa.c projects/arm_eabi/sys/dev/sound/pci/hda/hdac.h projects/arm_eabi/sys/dev/sound/pci/hda/hdacc.c projects/arm_eabi/sys/dev/sound/pcm/buffer.c projects/arm_eabi/sys/dev/sound/pcm/sound.c projects/arm_eabi/sys/dev/ste/if_ste.c projects/arm_eabi/sys/dev/stge/if_stge.c projects/arm_eabi/sys/dev/ti/if_ti.c projects/arm_eabi/sys/dev/tl/if_tl.c projects/arm_eabi/sys/dev/tsec/if_tsec.c projects/arm_eabi/sys/dev/tx/if_tx.c projects/arm_eabi/sys/dev/txp/if_txp.c projects/arm_eabi/sys/dev/ubsec/ubsec.c projects/arm_eabi/sys/dev/usb/controller/xhci.c projects/arm_eabi/sys/dev/usb/controller/xhci.h projects/arm_eabi/sys/dev/usb/misc/udbp.c projects/arm_eabi/sys/dev/usb/net/if_axe.c projects/arm_eabi/sys/dev/usb/net/if_cdce.c projects/arm_eabi/sys/dev/usb/net/if_smsc.c projects/arm_eabi/sys/dev/usb/net/if_usie.c projects/arm_eabi/sys/dev/usb/net/uhso.c projects/arm_eabi/sys/dev/usb/net/usb_ethernet.c projects/arm_eabi/sys/dev/usb/quirk/usb_quirk.c projects/arm_eabi/sys/dev/usb/quirk/usb_quirk.h projects/arm_eabi/sys/dev/usb/serial/u3g.c projects/arm_eabi/sys/dev/usb/serial/uplcom.c projects/arm_eabi/sys/dev/usb/usbdevs projects/arm_eabi/sys/dev/usb/wlan/if_rum.c projects/arm_eabi/sys/dev/usb/wlan/if_run.c projects/arm_eabi/sys/dev/usb/wlan/if_uath.c projects/arm_eabi/sys/dev/usb/wlan/if_upgt.c projects/arm_eabi/sys/dev/usb/wlan/if_ural.c projects/arm_eabi/sys/dev/usb/wlan/if_urtw.c projects/arm_eabi/sys/dev/usb/wlan/if_zyd.c projects/arm_eabi/sys/dev/vge/if_vge.c projects/arm_eabi/sys/dev/virtio/network/if_vtnet.c projects/arm_eabi/sys/dev/vr/if_vr.c projects/arm_eabi/sys/dev/vte/if_vte.c projects/arm_eabi/sys/dev/vx/if_vx.c projects/arm_eabi/sys/dev/vxge/vxge.c projects/arm_eabi/sys/dev/wb/if_wb.c projects/arm_eabi/sys/dev/wi/if_wi.c projects/arm_eabi/sys/dev/wl/if_wl.c projects/arm_eabi/sys/dev/wpi/if_wpi.c projects/arm_eabi/sys/dev/wtap/if_wtap.c projects/arm_eabi/sys/dev/wtap/plugins/visibility.c projects/arm_eabi/sys/dev/xe/if_xe.c projects/arm_eabi/sys/dev/xen/netfront/netfront.c projects/arm_eabi/sys/dev/xl/if_xl.c projects/arm_eabi/sys/fs/ext2fs/ext2_alloc.c projects/arm_eabi/sys/fs/ext2fs/ext2_dinode.h projects/arm_eabi/sys/fs/ext2fs/ext2fs.h projects/arm_eabi/sys/fs/nfs/nfs_commonsubs.c projects/arm_eabi/sys/fs/nfs/nfs_var.h projects/arm_eabi/sys/fs/nfs/nfsm_subs.h projects/arm_eabi/sys/fs/nfsclient/nfs_clcomsubs.c projects/arm_eabi/sys/fs/nfsclient/nfs_clport.c projects/arm_eabi/sys/fs/nfsclient/nfs_clvfsops.c projects/arm_eabi/sys/fs/nfsserver/nfs_nfsdcache.c projects/arm_eabi/sys/fs/nfsserver/nfs_nfsdport.c projects/arm_eabi/sys/fs/nfsserver/nfs_nfsdstate.c projects/arm_eabi/sys/fs/smbfs/smbfs.h projects/arm_eabi/sys/fs/smbfs/smbfs_io.c projects/arm_eabi/sys/fs/smbfs/smbfs_node.c projects/arm_eabi/sys/fs/smbfs/smbfs_node.h projects/arm_eabi/sys/fs/smbfs/smbfs_subr.c projects/arm_eabi/sys/fs/smbfs/smbfs_vfsops.c projects/arm_eabi/sys/fs/smbfs/smbfs_vnops.c projects/arm_eabi/sys/i386/i386/db_trace.c projects/arm_eabi/sys/i386/pci/pci_cfgreg.c projects/arm_eabi/sys/kern/capabilities.conf projects/arm_eabi/sys/kern/init_main.c projects/arm_eabi/sys/kern/init_sysent.c projects/arm_eabi/sys/kern/kern_fork.c projects/arm_eabi/sys/kern/kern_lock.c projects/arm_eabi/sys/kern/kern_mbuf.c projects/arm_eabi/sys/kern/kern_proc.c projects/arm_eabi/sys/kern/kern_shutdown.c projects/arm_eabi/sys/kern/kern_sig.c projects/arm_eabi/sys/kern/kern_time.c projects/arm_eabi/sys/kern/kern_timeout.c projects/arm_eabi/sys/kern/subr_mchain.c projects/arm_eabi/sys/kern/subr_param.c projects/arm_eabi/sys/kern/subr_uio.c projects/arm_eabi/sys/kern/uipc_mbuf.c projects/arm_eabi/sys/kern/uipc_mbuf2.c projects/arm_eabi/sys/kern/uipc_sockbuf.c projects/arm_eabi/sys/kern/uipc_socket.c projects/arm_eabi/sys/kern/uipc_syscalls.c projects/arm_eabi/sys/kern/vfs_lookup.c projects/arm_eabi/sys/kern/vfs_mount.c projects/arm_eabi/sys/kern/vfs_mountroot.c projects/arm_eabi/sys/kern/vfs_subr.c projects/arm_eabi/sys/kern/vfs_vnops.c projects/arm_eabi/sys/kern/vnode_if.src projects/arm_eabi/sys/mips/adm5120/if_admsw.c projects/arm_eabi/sys/mips/atheros/if_arge.c projects/arm_eabi/sys/mips/cavium/if_octm.c projects/arm_eabi/sys/mips/cavium/octe/ethernet-mem.c projects/arm_eabi/sys/mips/cavium/octe/ethernet-rx.c projects/arm_eabi/sys/mips/cavium/octeon_machdep.c projects/arm_eabi/sys/mips/conf/OCTEON1 projects/arm_eabi/sys/mips/idt/if_kr.c projects/arm_eabi/sys/mips/nlm/dev/net/xlpge.c projects/arm_eabi/sys/mips/rmi/dev/nlge/if_nlge.c projects/arm_eabi/sys/mips/rmi/dev/xlr/rge.c projects/arm_eabi/sys/modules/ath/Makefile projects/arm_eabi/sys/modules/iwn/Makefile projects/arm_eabi/sys/net/bpf.c projects/arm_eabi/sys/net/bridgestp.c projects/arm_eabi/sys/net/ieee8023ad_lacp.c projects/arm_eabi/sys/net/if_arcsubr.c projects/arm_eabi/sys/net/if_atmsubr.c projects/arm_eabi/sys/net/if_bridge.c projects/arm_eabi/sys/net/if_ef.c projects/arm_eabi/sys/net/if_ethersubr.c projects/arm_eabi/sys/net/if_fddisubr.c projects/arm_eabi/sys/net/if_fwsubr.c projects/arm_eabi/sys/net/if_gre.c projects/arm_eabi/sys/net/if_iso88025subr.c projects/arm_eabi/sys/net/if_spppfr.c projects/arm_eabi/sys/net/if_spppsubr.c projects/arm_eabi/sys/net/if_stf.c projects/arm_eabi/sys/net/if_tap.c projects/arm_eabi/sys/net/if_tun.c projects/arm_eabi/sys/net/if_vlan.c projects/arm_eabi/sys/net/rtsock.c projects/arm_eabi/sys/net80211/ieee80211_freebsd.c projects/arm_eabi/sys/net80211/ieee80211_freebsd.h projects/arm_eabi/sys/net80211/ieee80211_hostap.c projects/arm_eabi/sys/net80211/ieee80211_hwmp.c projects/arm_eabi/sys/net80211/ieee80211_input.c projects/arm_eabi/sys/net80211/ieee80211_mesh.c projects/arm_eabi/sys/net80211/ieee80211_output.c projects/arm_eabi/sys/net80211/ieee80211_superg.c projects/arm_eabi/sys/net80211/ieee80211_wds.c projects/arm_eabi/sys/netatalk/aarp.c projects/arm_eabi/sys/netatalk/ddp_output.c projects/arm_eabi/sys/netgraph/atm/ccatm/ng_ccatm.c projects/arm_eabi/sys/netgraph/atm/ng_atm.c projects/arm_eabi/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c projects/arm_eabi/sys/netgraph/bluetooth/drivers/h4/ng_h4.c projects/arm_eabi/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c projects/arm_eabi/sys/netgraph/bluetooth/hci/ng_hci_cmds.c projects/arm_eabi/sys/netgraph/bluetooth/hci/ng_hci_evnt.c projects/arm_eabi/sys/netgraph/bluetooth/hci/ng_hci_misc.c projects/arm_eabi/sys/netgraph/bluetooth/hci/ng_hci_ulpi.c projects/arm_eabi/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.h projects/arm_eabi/sys/netgraph/bluetooth/l2cap/ng_l2cap_evnt.c projects/arm_eabi/sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c projects/arm_eabi/sys/netgraph/bluetooth/l2cap/ng_l2cap_misc.c projects/arm_eabi/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c projects/arm_eabi/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c projects/arm_eabi/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c projects/arm_eabi/sys/netgraph/bluetooth/socket/ng_btsocket_sco.c projects/arm_eabi/sys/netgraph/netflow/netflow.c projects/arm_eabi/sys/netgraph/netflow/netflow_v9.c projects/arm_eabi/sys/netgraph/ng_UI.c projects/arm_eabi/sys/netgraph/ng_atmllc.c projects/arm_eabi/sys/netgraph/ng_bridge.c projects/arm_eabi/sys/netgraph/ng_cisco.c projects/arm_eabi/sys/netgraph/ng_deflate.c projects/arm_eabi/sys/netgraph/ng_device.c projects/arm_eabi/sys/netgraph/ng_frame_relay.c projects/arm_eabi/sys/netgraph/ng_gif.c projects/arm_eabi/sys/netgraph/ng_gif_demux.c projects/arm_eabi/sys/netgraph/ng_hub.c projects/arm_eabi/sys/netgraph/ng_iface.c projects/arm_eabi/sys/netgraph/ng_ipfw.c projects/arm_eabi/sys/netgraph/ng_l2tp.c projects/arm_eabi/sys/netgraph/ng_lmi.c projects/arm_eabi/sys/netgraph/ng_mppc.c projects/arm_eabi/sys/netgraph/ng_one2many.c projects/arm_eabi/sys/netgraph/ng_ppp.c projects/arm_eabi/sys/netgraph/ng_pppoe.c projects/arm_eabi/sys/netgraph/ng_pptpgre.c projects/arm_eabi/sys/netgraph/ng_pred1.c projects/arm_eabi/sys/netgraph/ng_rfc1490.c projects/arm_eabi/sys/netgraph/ng_source.c projects/arm_eabi/sys/netgraph/ng_tee.c projects/arm_eabi/sys/netgraph/ng_tty.c projects/arm_eabi/sys/netgraph/ng_vjc.c projects/arm_eabi/sys/netgraph/ng_vlan.c projects/arm_eabi/sys/netinet/if_ether.c projects/arm_eabi/sys/netinet/igmp.c projects/arm_eabi/sys/netinet/in_gif.c projects/arm_eabi/sys/netinet/ip_icmp.c projects/arm_eabi/sys/netinet/ip_input.c projects/arm_eabi/sys/netinet/ip_mroute.c projects/arm_eabi/sys/netinet/ip_options.c projects/arm_eabi/sys/netinet/ip_output.c projects/arm_eabi/sys/netinet/libalias/alias.c projects/arm_eabi/sys/netinet/raw_ip.c projects/arm_eabi/sys/netinet/sctp_asconf.c projects/arm_eabi/sys/netinet/sctp_auth.c projects/arm_eabi/sys/netinet/sctp_indata.c projects/arm_eabi/sys/netinet/sctp_input.c projects/arm_eabi/sys/netinet/sctp_output.c projects/arm_eabi/sys/netinet/sctp_pcb.c projects/arm_eabi/sys/netinet/sctp_peeloff.c projects/arm_eabi/sys/netinet/sctp_peeloff.h projects/arm_eabi/sys/netinet/sctp_timer.c projects/arm_eabi/sys/netinet/sctp_usrreq.c projects/arm_eabi/sys/netinet/sctputil.c projects/arm_eabi/sys/netinet/tcp_output.c projects/arm_eabi/sys/netinet/tcp_subr.c projects/arm_eabi/sys/netinet/tcp_syncache.c projects/arm_eabi/sys/netinet/tcp_timer.c projects/arm_eabi/sys/netinet/tcp_timer.h projects/arm_eabi/sys/netinet/tcp_timewait.c projects/arm_eabi/sys/netinet/udp_usrreq.c projects/arm_eabi/sys/netinet6/frag6.c projects/arm_eabi/sys/netinet6/icmp6.c projects/arm_eabi/sys/netinet6/in6.c projects/arm_eabi/sys/netinet6/in6_gif.c projects/arm_eabi/sys/netinet6/ip6_input.c projects/arm_eabi/sys/netinet6/ip6_mroute.c projects/arm_eabi/sys/netinet6/ip6_output.c projects/arm_eabi/sys/netinet6/mld6.c projects/arm_eabi/sys/netinet6/nd6_nbr.c projects/arm_eabi/sys/netinet6/raw_ip6.c projects/arm_eabi/sys/netinet6/scope6.c projects/arm_eabi/sys/netinet6/scope6_var.h projects/arm_eabi/sys/netinet6/udp6_usrreq.c projects/arm_eabi/sys/netipsec/ipsec_mbuf.c projects/arm_eabi/sys/netipsec/ipsec_output.c projects/arm_eabi/sys/netipsec/key.c projects/arm_eabi/sys/netipsec/keysock.c projects/arm_eabi/sys/netipsec/xform_ipip.c projects/arm_eabi/sys/netipx/ipx_outputfl.c projects/arm_eabi/sys/netipx/ipx_usrreq.c projects/arm_eabi/sys/netipx/spx_reass.c projects/arm_eabi/sys/netipx/spx_usrreq.c projects/arm_eabi/sys/netnatm/natm.c projects/arm_eabi/sys/netncp/ncp_sock.c projects/arm_eabi/sys/netpfil/ipfw/ip_dn_glue.c projects/arm_eabi/sys/netpfil/ipfw/ip_fw2.c projects/arm_eabi/sys/netpfil/ipfw/ip_fw_dynamic.c projects/arm_eabi/sys/netpfil/ipfw/ip_fw_pfil.c projects/arm_eabi/sys/netpfil/ipfw/ip_fw_private.h projects/arm_eabi/sys/netpfil/ipfw/ip_fw_sockopt.c projects/arm_eabi/sys/netpfil/pf/if_pfsync.c projects/arm_eabi/sys/netsmb/smb_iod.c projects/arm_eabi/sys/netsmb/smb_rq.c projects/arm_eabi/sys/netsmb/smb_trantcp.c projects/arm_eabi/sys/nfs/krpc_subr.c projects/arm_eabi/sys/nfs/nfs_common.c projects/arm_eabi/sys/nfs/nfs_nfssvc.c projects/arm_eabi/sys/nfs/nfssvc.h projects/arm_eabi/sys/nfsclient/nfs_krpc.c projects/arm_eabi/sys/nfsclient/nfs_subs.c projects/arm_eabi/sys/nfsserver/nfs_fha.c projects/arm_eabi/sys/nfsserver/nfs_serv.c projects/arm_eabi/sys/nfsserver/nfs_srvkrpc.c projects/arm_eabi/sys/nfsserver/nfs_srvsubs.c projects/arm_eabi/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c projects/arm_eabi/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c projects/arm_eabi/sys/ofed/drivers/infiniband/ulp/sdp/sdp_bcopy.c projects/arm_eabi/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c projects/arm_eabi/sys/ofed/drivers/infiniband/ulp/sdp/sdp_tx.c projects/arm_eabi/sys/ofed/drivers/net/mlx4/en_tx.c projects/arm_eabi/sys/pci/if_rl.c projects/arm_eabi/sys/powerpc/ps3/if_glc.c projects/arm_eabi/sys/rpc/clnt_dg.c projects/arm_eabi/sys/rpc/clnt_vc.c projects/arm_eabi/sys/rpc/rpc_generic.c projects/arm_eabi/sys/rpc/rpcm_subs.h projects/arm_eabi/sys/rpc/rpcsec_gss/rpcsec_gss_prot.c projects/arm_eabi/sys/rpc/svc.c projects/arm_eabi/sys/rpc/svc_dg.c projects/arm_eabi/sys/rpc/svc_vc.c projects/arm_eabi/sys/security/audit/audit.c projects/arm_eabi/sys/security/audit/audit.h projects/arm_eabi/sys/security/audit/audit_arg.c projects/arm_eabi/sys/security/audit/audit_bsm.c projects/arm_eabi/sys/security/audit/audit_bsm_errno.c projects/arm_eabi/sys/security/audit/audit_bsm_klib.c projects/arm_eabi/sys/security/audit/audit_bsm_token.c projects/arm_eabi/sys/security/audit/audit_private.h projects/arm_eabi/sys/security/audit/audit_worker.c projects/arm_eabi/sys/sys/eventhandler.h projects/arm_eabi/sys/sys/mbuf.h projects/arm_eabi/sys/sys/namei.h projects/arm_eabi/sys/sys/param.h projects/arm_eabi/sys/sys/vnode.h projects/arm_eabi/sys/vm/vm_map.c projects/arm_eabi/sys/vm/vm_object.c projects/arm_eabi/sys/x86/x86/io_apic.c projects/arm_eabi/tools/build/mk/OptionalObsoleteFiles.inc projects/arm_eabi/usr.bin/clang/clang-tblgen/Makefile projects/arm_eabi/usr.bin/clang/clang/Makefile projects/arm_eabi/usr.bin/clang/llc/Makefile projects/arm_eabi/usr.bin/clang/lli/Makefile projects/arm_eabi/usr.bin/clang/llvm-mc/Makefile projects/arm_eabi/usr.bin/clang/llvm-objdump/Makefile projects/arm_eabi/usr.bin/clang/llvm-rtdyld/Makefile projects/arm_eabi/usr.bin/clang/opt/Makefile projects/arm_eabi/usr.bin/clang/tblgen/Makefile projects/arm_eabi/usr.bin/less/zless.sh projects/arm_eabi/usr.bin/make/main.c projects/arm_eabi/usr.bin/nfsstat/nfsstat.1 projects/arm_eabi/usr.bin/nfsstat/nfsstat.c projects/arm_eabi/usr.bin/passwd/Makefile projects/arm_eabi/usr.bin/rctl/rctl.8 projects/arm_eabi/usr.sbin/Makefile projects/arm_eabi/usr.sbin/bsdconfig/networking/include/messages.subr projects/arm_eabi/usr.sbin/bsdconfig/networking/share/ipaddr.subr projects/arm_eabi/usr.sbin/bsdconfig/share/dialog.subr projects/arm_eabi/usr.sbin/bsdconfig/share/mustberoot.subr projects/arm_eabi/usr.sbin/bsdconfig/startup/share/rcedit.subr projects/arm_eabi/usr.sbin/bsdconfig/timezone/share/zones.subr projects/arm_eabi/usr.sbin/bsdinstall/scripts/mirrorselect projects/arm_eabi/usr.sbin/ifmcstat/ifmcstat.c projects/arm_eabi/usr.sbin/mergemaster/mergemaster.sh projects/arm_eabi/usr.sbin/ndiscvt/inf-parse.y projects/arm_eabi/usr.sbin/ndp/ndp.c projects/arm_eabi/usr.sbin/nfsd/nfsd.8 projects/arm_eabi/usr.sbin/nfsd/nfsd.c projects/arm_eabi/usr.sbin/pkg/Makefile projects/arm_eabi/usr.sbin/pkg/pkg.c projects/arm_eabi/usr.sbin/pkg_install/add/main.c projects/arm_eabi/usr.sbin/pkg_install/add/pkg_add.1 projects/arm_eabi/usr.sbin/pkg_install/create/pkg_create.1 projects/arm_eabi/usr.sbin/pkg_install/delete/pkg_delete.1 projects/arm_eabi/usr.sbin/pkg_install/info/pkg_info.1 projects/arm_eabi/usr.sbin/pkg_install/lib/lib.h projects/arm_eabi/usr.sbin/pkg_install/lib/pkgng.c projects/arm_eabi/usr.sbin/pkg_install/updating/pkg_updating.1 projects/arm_eabi/usr.sbin/pkg_install/version/pkg_version.1 projects/arm_eabi/usr.sbin/pw/bitmap.c projects/arm_eabi/usr.sbin/pw/grupd.c projects/arm_eabi/usr.sbin/pw/pw_group.c projects/arm_eabi/usr.sbin/pw/pw_user.c projects/arm_eabi/usr.sbin/pw/pwupd.c projects/arm_eabi/usr.sbin/pw/rm_r.c Directory Properties: projects/arm_eabi/ (props changed) projects/arm_eabi/cddl/contrib/opensolaris/ (props changed) projects/arm_eabi/cddl/contrib/opensolaris/cmd/zfs/ (props changed) projects/arm_eabi/contrib/binutils/ (props changed) projects/arm_eabi/contrib/dtc/ (props changed) projects/arm_eabi/contrib/gcc/ (props changed) projects/arm_eabi/contrib/gdtoa/ (props changed) projects/arm_eabi/contrib/less/ (props changed) projects/arm_eabi/contrib/libc++/ (props changed) projects/arm_eabi/contrib/llvm/ (props changed) projects/arm_eabi/contrib/llvm/tools/clang/ (props changed) projects/arm_eabi/contrib/ntp/ (props changed) projects/arm_eabi/contrib/openbsm/ (props changed) projects/arm_eabi/contrib/sendmail/ (props changed) projects/arm_eabi/contrib/tcpdump/ (props changed) projects/arm_eabi/contrib/wpa/ (props changed) projects/arm_eabi/crypto/heimdal/ (props changed) projects/arm_eabi/crypto/openssl/ (props changed) projects/arm_eabi/gnu/lib/ (props changed) projects/arm_eabi/gnu/usr.bin/cc/cc_tools/ (props changed) projects/arm_eabi/lib/libc/ (props changed) projects/arm_eabi/sbin/ (props changed) projects/arm_eabi/share/man/man4/ (props changed) projects/arm_eabi/sys/ (props changed) projects/arm_eabi/sys/boot/ (props changed) projects/arm_eabi/sys/boot/i386/efi/ (props changed) projects/arm_eabi/sys/cddl/contrib/opensolaris/ (props changed) projects/arm_eabi/sys/conf/ (props changed) projects/arm_eabi/sys/contrib/octeon-sdk/ (props changed) projects/arm_eabi/usr.sbin/ndiscvt/ (props changed) Modified: projects/arm_eabi/Makefile.inc1 ============================================================================== --- projects/arm_eabi/Makefile.inc1 Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/Makefile.inc1 Thu Dec 6 08:45:43 2012 (r243946) @@ -511,6 +511,8 @@ build32: .endfor .for _dir in lib/ncurses/ncurses lib/ncurses/ncursesw lib/libmagic cd ${.CURDIR}/${_dir}; \ + WORLDTMP=${WORLDTMP} \ + MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" \ MAKEOBJDIRPREFIX=${OBJTREE}/lib32 ${MAKE} SSP_CFLAGS= DESTDIR= \ DIRPRFX=${_dir}/ -DNO_LINT -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF \ -DEARLY_BUILD build-tools @@ -609,7 +611,7 @@ installcheck_DESTDIR: # # Check for missing UIDs/GIDs. # -CHECK_UIDS= +CHECK_UIDS= auditdistd CHECK_GIDS= audit .if ${MK_SENDMAIL} != "no" CHECK_UIDS+= smmsp Modified: projects/arm_eabi/ObsoleteFiles.inc ============================================================================== --- projects/arm_eabi/ObsoleteFiles.inc Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/ObsoleteFiles.inc Thu Dec 6 08:45:43 2012 (r243946) @@ -52,6 +52,9 @@ OLD_FILES+=usr/include/clang/3.2/unwind. # 20120910: NetBSD compat shims removed OLD_FILES+=usr/include/cam/scsi/scsi_low_pisa.h OLD_FILES+=usr/include/sys/device_port.h +# 20120909: doc and www supfiles removed +OLD_FILES+=usr/share/examples/cvsup/doc-supfile +OLD_FILES+=usr/share/examples/cvsup/www-supfile # 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/arm_eabi/UPDATING ============================================================================== --- projects/arm_eabi/UPDATING Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/UPDATING Thu Dec 6 08:45:43 2012 (r243946) @@ -4,7 +4,9 @@ This file is maintained and copyrighted See end of file for further details. For commonly done items, please see the COMMON ITEMS: section later in the file. These instructions assume that you basically know what you are doing. If not, then please consult the FreeBSD -handbook. +handbook: + + http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before running portupgrade. @@ -24,6 +26,19 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20121201: + With the addition of auditdistd(8), a new auditdistd user is now + depended on during installworld. "mergemaster -p" can be used to add + the user prior to installworld, as documented in the handbook. + +20121117: + The sin6_scope_id member variable in struct sockaddr_in6 is now + filled by the kernel before passing the structure to the userland via + sysctl or routing socket. This means the KAME-specific embedded scope + id in sin6_addr.s6_addr[2] is always cleared in userland application. + This behavior can be controlled by net.inet6.ip6.deembed_scopeid. + __FreeBSD_version is bumped to 1000025. + 20121105: On i386 and amd64 systems WITH_CLANG_IS_CC is now the default. This means that the world and kernel will be compiled with clang Modified: projects/arm_eabi/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- projects/arm_eabi/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Thu Dec 6 08:45:43 2012 (r243946) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 5, 2012 +.Dd November 26, 2012 .Dt ZFS 8 .Os .Sh NAME @@ -760,7 +760,7 @@ If no inheritable .Tn ACE Ns s exist that affect the mode, then the mode is set in accordance to the requested mode from the application. -.It Sy aclmode Ns = Ns Cm discard | groupmask | passthrough +.It Sy aclmode Ns = Ns Cm discard | groupmask | passthrough | restricted Controls how an .Tn ACL is modified during @@ -790,6 +790,32 @@ indicates that no changes are made to th other than creating or updating the necessary .Tn ACL entries to represent the new mode of the file or directory. +An +.Sy aclmode +property of +.Cm restricted +will cause the +.Xr chmod 2 +operation to return an error when used on any file or directory which has +a non-trivial +.Tn ACL +whose entries can not be represented by a mode. +.Xr chmod 2 +is required to change the set user ID, set group ID, or sticky bits on a file +or directory, as they do not have equivalent +.Tn ACL +entries. +In order to use +.Xr chmod 2 +on a file or directory with a non-trivial +.Tn ACL +when +.Sy aclmode +is set to +.Cm restricted , +you must first remove all +.Tn ACL +entries which do not represent the current mode. .It Sy atime Ns = Ns Cm on | off Controls whether the access time for files is updated when they are read. Turning this property off avoids producing write traffic when reading files and @@ -830,7 +856,7 @@ command or unmounted by the command. .Pp This property is not inherited. -.It Sy checksum Ns = Ns Cm on | off | fletcher2 | fletcher4 +.It Sy checksum Ns = Ns Cm on | off | fletcher2 | fletcher4 | sha256 Controls the checksum used to verify data integrity. The default value is .Cm on , which automatically selects an appropriate algorithm (currently, Modified: projects/arm_eabi/cddl/contrib/opensolaris/cmd/zpool/zpool.8 ============================================================================== --- projects/arm_eabi/cddl/contrib/opensolaris/cmd/zpool/zpool.8 Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/cddl/contrib/opensolaris/cmd/zpool/zpool.8 Thu Dec 6 08:45:43 2012 (r243946) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 28, 2011 +.Dd November 15, 2012 .Dt ZPOOL 8 .Os .Sh NAME Modified: projects/arm_eabi/cddl/contrib/opensolaris/cmd/ztest/ztest.c ============================================================================== --- projects/arm_eabi/cddl/contrib/opensolaris/cmd/ztest/ztest.c Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/cddl/contrib/opensolaris/cmd/ztest/ztest.c Thu Dec 6 08:45:43 2012 (r243946) @@ -204,6 +204,7 @@ enum ztest_io_type { ZTEST_IO_WRITE_ZEROES, ZTEST_IO_TRUNCATE, ZTEST_IO_SETATTR, + ZTEST_IO_REWRITE, ZTEST_IO_TYPES }; @@ -330,6 +331,7 @@ ztest_func_t ztest_vdev_add_remove; ztest_func_t ztest_vdev_aux_add_remove; ztest_func_t ztest_split_pool; ztest_func_t ztest_reguid; +ztest_func_t ztest_spa_upgrade; uint64_t zopt_always = 0ULL * NANOSEC; /* all the time */ uint64_t zopt_incessant = 1ULL * NANOSEC / 10; /* every 1/10 second */ @@ -363,6 +365,7 @@ ztest_info_t ztest_info[] = { { ztest_reguid, 1, &zopt_sometimes }, { ztest_spa_rename, 1, &zopt_rarely }, { ztest_scrub, 1, &zopt_rarely }, + { ztest_spa_upgrade, 1, &zopt_rarely }, { ztest_dsl_dataset_promote_busy, 1, &zopt_rarely }, { ztest_vdev_attach_detach, 1, &zopt_rarely }, { ztest_vdev_LUN_growth, 1, &zopt_rarely }, @@ -797,7 +800,7 @@ ztest_get_ashift(void) } static nvlist_t * -make_vdev_file(char *path, char *aux, size_t size, uint64_t ashift) +make_vdev_file(char *path, char *aux, char *pool, size_t size, uint64_t ashift) { char pathbuf[MAXPATHLEN]; uint64_t vdev; @@ -813,12 +816,13 @@ make_vdev_file(char *path, char *aux, si vdev = ztest_shared->zs_vdev_aux; (void) snprintf(path, sizeof (pathbuf), ztest_aux_template, ztest_opts.zo_dir, - ztest_opts.zo_pool, aux, vdev); + pool == NULL ? ztest_opts.zo_pool : pool, + aux, vdev); } else { vdev = ztest_shared->zs_vdev_next_leaf++; (void) snprintf(path, sizeof (pathbuf), ztest_dev_template, ztest_opts.zo_dir, - ztest_opts.zo_pool, vdev); + pool == NULL ? ztest_opts.zo_pool : pool, vdev); } } @@ -840,17 +844,18 @@ make_vdev_file(char *path, char *aux, si } static nvlist_t * -make_vdev_raidz(char *path, char *aux, size_t size, uint64_t ashift, int r) +make_vdev_raidz(char *path, char *aux, char *pool, size_t size, + uint64_t ashift, int r) { nvlist_t *raidz, **child; int c; if (r < 2) - return (make_vdev_file(path, aux, size, ashift)); + return (make_vdev_file(path, aux, pool, size, ashift)); child = umem_alloc(r * sizeof (nvlist_t *), UMEM_NOFAIL); for (c = 0; c < r; c++) - child[c] = make_vdev_file(path, aux, size, ashift); + child[c] = make_vdev_file(path, aux, pool, size, ashift); VERIFY(nvlist_alloc(&raidz, NV_UNIQUE_NAME, 0) == 0); VERIFY(nvlist_add_string(raidz, ZPOOL_CONFIG_TYPE, @@ -869,19 +874,19 @@ make_vdev_raidz(char *path, char *aux, s } static nvlist_t * -make_vdev_mirror(char *path, char *aux, size_t size, uint64_t ashift, - int r, int m) +make_vdev_mirror(char *path, char *aux, char *pool, size_t size, + uint64_t ashift, int r, int m) { nvlist_t *mirror, **child; int c; if (m < 1) - return (make_vdev_raidz(path, aux, size, ashift, r)); + return (make_vdev_raidz(path, aux, pool, size, ashift, r)); child = umem_alloc(m * sizeof (nvlist_t *), UMEM_NOFAIL); for (c = 0; c < m; c++) - child[c] = make_vdev_raidz(path, aux, size, ashift, r); + child[c] = make_vdev_raidz(path, aux, pool, size, ashift, r); VERIFY(nvlist_alloc(&mirror, NV_UNIQUE_NAME, 0) == 0); VERIFY(nvlist_add_string(mirror, ZPOOL_CONFIG_TYPE, @@ -898,8 +903,8 @@ make_vdev_mirror(char *path, char *aux, } static nvlist_t * -make_vdev_root(char *path, char *aux, size_t size, uint64_t ashift, - int log, int r, int m, int t) +make_vdev_root(char *path, char *aux, char *pool, size_t size, uint64_t ashift, + int log, int r, int m, int t) { nvlist_t *root, **child; int c; @@ -909,7 +914,8 @@ make_vdev_root(char *path, char *aux, si child = umem_alloc(t * sizeof (nvlist_t *), UMEM_NOFAIL); for (c = 0; c < t; c++) { - child[c] = make_vdev_mirror(path, aux, size, ashift, r, m); + child[c] = make_vdev_mirror(path, aux, pool, size, ashift, + r, m); VERIFY(nvlist_add_uint64(child[c], ZPOOL_CONFIG_IS_LOG, log) == 0); } @@ -927,6 +933,27 @@ make_vdev_root(char *path, char *aux, si return (root); } +/* + * Find a random spa version. Returns back a random spa version in the + * range [initial_version, SPA_VERSION_FEATURES]. + */ +static uint64_t +ztest_random_spa_version(uint64_t initial_version) +{ + uint64_t version = initial_version; + + if (version <= SPA_VERSION_BEFORE_FEATURES) { + version = version + + ztest_random(SPA_VERSION_BEFORE_FEATURES - version + 1); + } + + if (version > SPA_VERSION_BEFORE_FEATURES) + version = SPA_VERSION_FEATURES; + + ASSERT(SPA_VERSION_IS_SUPPORTED(version)); + return (version); +} + static int ztest_random_blocksize(void) { @@ -1841,6 +1868,12 @@ ztest_get_data(void *arg, lr_write_t *lr DMU_READ_NO_PREFETCH); if (error == 0) { + blkptr_t *obp = dmu_buf_get_blkptr(db); + if (obp) { + ASSERT(BP_IS_HOLE(bp)); + *bp = *obp; + } + zgd->zgd_db = db; zgd->zgd_bp = bp; @@ -1986,6 +2019,9 @@ ztest_remove(ztest_ds_t *zd, ztest_od_t continue; } + /* + * No object was found. + */ if (od->od_object == 0) continue; @@ -2101,6 +2137,7 @@ ztest_prealloc(ztest_ds_t *zd, uint64_t static void ztest_io(ztest_ds_t *zd, uint64_t object, uint64_t offset) { + int err; ztest_block_tag_t wbt; dmu_object_info_t doi; enum ztest_io_type io_type; @@ -2153,6 +2190,25 @@ ztest_io(ztest_ds_t *zd, uint64_t object case ZTEST_IO_SETATTR: (void) ztest_setattr(zd, object); break; + + case ZTEST_IO_REWRITE: + (void) rw_rdlock(&ztest_name_lock); + err = ztest_dsl_prop_set_uint64(zd->zd_name, + ZFS_PROP_CHECKSUM, spa_dedup_checksum(ztest_spa), + B_FALSE); + VERIFY(err == 0 || err == ENOSPC); + err = ztest_dsl_prop_set_uint64(zd->zd_name, + ZFS_PROP_COMPRESSION, + ztest_random_dsl_prop(ZFS_PROP_COMPRESSION), + B_FALSE); + VERIFY(err == 0 || err == ENOSPC); + (void) rw_unlock(&ztest_name_lock); + + VERIFY0(dmu_read(zd->zd_os, object, offset, blocksize, data, + DMU_READ_NO_PREFETCH)); + + (void) ztest_write(zd, object, offset, blocksize, data); + break; } (void) rw_unlock(&zd->zd_zilog_lock); @@ -2240,7 +2296,12 @@ ztest_zil_remount(ztest_ds_t *zd, uint64 { objset_t *os = zd->zd_os; - VERIFY(mutex_lock(&zd->zd_dirobj_lock) == 0); + /* + * We grab the zd_dirobj_lock to ensure that no other thread is + * updating the zil (i.e. adding in-memory log records) and the + * zd_zilog_lock to block any I/O. + */ + VERIFY0(mutex_lock(&zd->zd_dirobj_lock)); (void) rw_wrlock(&zd->zd_zilog_lock); /* zfsvfs_teardown() */ @@ -2269,7 +2330,7 @@ ztest_spa_create_destroy(ztest_ds_t *zd, /* * Attempt to create using a bad file. */ - nvroot = make_vdev_root("/dev/bogus", NULL, 0, 0, 0, 0, 0, 1); + nvroot = make_vdev_root("/dev/bogus", NULL, NULL, 0, 0, 0, 0, 0, 1); VERIFY3U(ENOENT, ==, spa_create("ztest_bad_file", nvroot, NULL, NULL, NULL)); nvlist_free(nvroot); @@ -2277,7 +2338,7 @@ ztest_spa_create_destroy(ztest_ds_t *zd, /* * Attempt to create using a bad mirror. */ - nvroot = make_vdev_root("/dev/bogus", NULL, 0, 0, 0, 0, 2, 1); + nvroot = make_vdev_root("/dev/bogus", NULL, NULL, 0, 0, 0, 0, 2, 1); VERIFY3U(ENOENT, ==, spa_create("ztest_bad_mirror", nvroot, NULL, NULL, NULL)); nvlist_free(nvroot); @@ -2287,7 +2348,7 @@ ztest_spa_create_destroy(ztest_ds_t *zd, * what's in the nvroot; we should fail with EEXIST. */ (void) rw_rdlock(&ztest_name_lock); - nvroot = make_vdev_root("/dev/bogus", NULL, 0, 0, 0, 0, 0, 1); + nvroot = make_vdev_root("/dev/bogus", NULL, NULL, 0, 0, 0, 0, 0, 1); VERIFY3U(EEXIST, ==, spa_create(zo->zo_pool, nvroot, NULL, NULL, NULL)); nvlist_free(nvroot); VERIFY3U(0, ==, spa_open(zo->zo_pool, &spa, FTAG)); @@ -2297,6 +2358,78 @@ ztest_spa_create_destroy(ztest_ds_t *zd, (void) rw_unlock(&ztest_name_lock); } +/* ARGSUSED */ +void +ztest_spa_upgrade(ztest_ds_t *zd, uint64_t id) +{ + spa_t *spa; + uint64_t initial_version = SPA_VERSION_INITIAL; + uint64_t version, newversion; + nvlist_t *nvroot, *props; + char *name; + + VERIFY0(mutex_lock(&ztest_vdev_lock)); + name = kmem_asprintf("%s_upgrade", ztest_opts.zo_pool); + + /* + * Clean up from previous runs. + */ + (void) spa_destroy(name); + + nvroot = make_vdev_root(NULL, NULL, name, ztest_opts.zo_vdev_size, 0, + 0, ztest_opts.zo_raidz, ztest_opts.zo_mirrors, 1); + + /* + * If we're configuring a RAIDZ device then make sure that the + * the initial version is capable of supporting that feature. + */ + switch (ztest_opts.zo_raidz_parity) { + case 0: + case 1: + initial_version = SPA_VERSION_INITIAL; + break; + case 2: + initial_version = SPA_VERSION_RAIDZ2; + break; + case 3: + initial_version = SPA_VERSION_RAIDZ3; + break; + } + + /* + * Create a pool with a spa version that can be upgraded. Pick + * a value between initial_version and SPA_VERSION_BEFORE_FEATURES. + */ + do { + version = ztest_random_spa_version(initial_version); + } while (version > SPA_VERSION_BEFORE_FEATURES); + + props = fnvlist_alloc(); + fnvlist_add_uint64(props, + zpool_prop_to_name(ZPOOL_PROP_VERSION), version); + VERIFY0(spa_create(name, nvroot, props, NULL, NULL)); + fnvlist_free(nvroot); + fnvlist_free(props); + + VERIFY0(spa_open(name, &spa, FTAG)); + VERIFY3U(spa_version(spa), ==, version); + newversion = ztest_random_spa_version(version + 1); + + if (ztest_opts.zo_verbose >= 4) { + (void) printf("upgrading spa version from %llu to %llu\n", + (u_longlong_t)version, (u_longlong_t)newversion); + } + + spa_upgrade(spa, newversion); + VERIFY3U(spa_version(spa), >, version); + VERIFY3U(spa_version(spa), ==, fnvlist_lookup_uint64(spa->spa_config, + zpool_prop_to_name(ZPOOL_PROP_VERSION))); + spa_close(spa, FTAG); + + strfree(name); + VERIFY0(mutex_unlock(&ztest_vdev_lock)); +} + static vdev_t * vdev_lookup_by_path(vdev_t *vd, const char *path) { @@ -2386,7 +2519,7 @@ ztest_vdev_add_remove(ztest_ds_t *zd, ui /* * Make 1/4 of the devices be log devices. */ - nvroot = make_vdev_root(NULL, NULL, + nvroot = make_vdev_root(NULL, NULL, NULL, ztest_opts.zo_vdev_size, 0, ztest_random(4) == 0, ztest_opts.zo_raidz, zs->zs_mirrors, 1); @@ -2463,7 +2596,7 @@ ztest_vdev_aux_add_remove(ztest_ds_t *zd /* * Add a new device. */ - nvlist_t *nvroot = make_vdev_root(NULL, aux, + nvlist_t *nvroot = make_vdev_root(NULL, aux, NULL, (ztest_opts.zo_vdev_size * 5) / 4, 0, 0, 0, 0, 1); error = spa_vdev_add(spa, nvroot); if (error != 0) @@ -2732,7 +2865,7 @@ ztest_vdev_attach_detach(ztest_ds_t *zd, /* * Build the nvlist describing newpath. */ - root = make_vdev_root(newpath, NULL, newvd == NULL ? newsize : 0, + root = make_vdev_root(newpath, NULL, NULL, newvd == NULL ? newsize : 0, ashift, 0, 0, 0, 1); error = spa_vdev_attach(spa, oldguid, root, replacing); @@ -4827,8 +4960,8 @@ ztest_ddt_repair(ztest_ds_t *zd, uint64_ */ for (int i = 0; i < copies; i++) { uint64_t offset = i * blocksize; - VERIFY(dmu_buf_hold(os, object, offset, FTAG, &db, - DMU_READ_NO_PREFETCH) == 0); + VERIFY0(dmu_buf_hold(os, object, offset, FTAG, &db, + DMU_READ_NO_PREFETCH)); ASSERT(db->db_offset == offset); ASSERT(db->db_size == blocksize); ASSERT(ztest_pattern_match(db->db_data, db->db_size, pattern) || @@ -4844,8 +4977,8 @@ ztest_ddt_repair(ztest_ds_t *zd, uint64_ /* * Find out what block we got. */ - VERIFY(dmu_buf_hold(os, object, 0, FTAG, &db, - DMU_READ_NO_PREFETCH) == 0); + VERIFY0(dmu_buf_hold(os, object, 0, FTAG, &db, + DMU_READ_NO_PREFETCH)); blk = *((dmu_buf_impl_t *)db)->db_blkptr; dmu_buf_rele(db, FTAG); @@ -4900,7 +5033,7 @@ ztest_reguid(ztest_ds_t *zd, uint64_t id if (error != 0) return; - if (ztest_opts.zo_verbose >= 3) { + if (ztest_opts.zo_verbose >= 4) { (void) printf("Changed guid old %llu -> %llu\n", (u_longlong_t)orig, (u_longlong_t)spa_guid(spa)); } @@ -5523,6 +5656,8 @@ ztest_freeze(void) kernel_init(FREAD | FWRITE); VERIFY3U(0, ==, spa_open(ztest_opts.zo_pool, &spa, FTAG)); VERIFY3U(0, ==, ztest_dataset_open(0)); + spa->spa_debug = B_TRUE; + ztest_spa = spa; /* * Force the first log block to be transactionally allocated. @@ -5647,7 +5782,7 @@ ztest_init(ztest_shared_t *zs) ztest_shared->zs_vdev_next_leaf = 0; zs->zs_splits = 0; zs->zs_mirrors = ztest_opts.zo_mirrors; - nvroot = make_vdev_root(NULL, NULL, ztest_opts.zo_vdev_size, 0, + nvroot = make_vdev_root(NULL, NULL, NULL, ztest_opts.zo_vdev_size, 0, 0, ztest_opts.zo_raidz, zs->zs_mirrors, 1); props = make_random_props(); for (int i = 0; i < SPA_FEATURES; i++) { Modified: projects/arm_eabi/contrib/binutils/Makefile.in ============================================================================== --- projects/arm_eabi/contrib/binutils/Makefile.in Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/binutils/Makefile.in Thu Dec 6 08:45:43 2012 (r243946) @@ -284,7 +284,7 @@ MAKEINFOFLAGS = --split-size=5000000 AS = @AS@ AR = @AR@ -AR_FLAGS = rc +ARFLAGS = @ARFLAGS@ CC = @CC@ CXX = @CXX@ DLLTOOL = @DLLTOOL@ @@ -474,7 +474,7 @@ BASE_FLAGS_TO_PASS = \ "SHELL=$(SHELL)" \ "YACC=$(YACC)" \ "`echo 'ADAFLAGS=$(ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ - "AR_FLAGS=$(AR_FLAGS)" \ + "AR_FLAGS=$(ARFLAGS)" \ "`echo 'BOOT_ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ "BOOT_CFLAGS=$(BOOT_CFLAGS)" \ "BOOT_LDFLAGS=$(BOOT_LDFLAGS)" \ Modified: projects/arm_eabi/contrib/binutils/Makefile.tpl ============================================================================== --- projects/arm_eabi/contrib/binutils/Makefile.tpl Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/binutils/Makefile.tpl Thu Dec 6 08:45:43 2012 (r243946) @@ -287,7 +287,7 @@ MAKEINFOFLAGS = --split-size=5000000 AS = @AS@ AR = @AR@ -AR_FLAGS = rc +ARFLAGS = @ARFLAGS@ CC = @CC@ CXX = @CXX@ DLLTOOL = @DLLTOOL@ Modified: projects/arm_eabi/contrib/binutils/libiberty/Makefile.in ============================================================================== --- projects/arm_eabi/contrib/binutils/libiberty/Makefile.in Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/binutils/libiberty/Makefile.in Thu Dec 6 08:45:43 2012 (r243946) @@ -56,7 +56,7 @@ mkinstalldirs = $(SHELL) $(libiberty_top OUTPUT_OPTION = @OUTPUT_OPTION@ AR = @AR@ -AR_FLAGS = rc +ARFLAGS = @ARFLAGS@ CC = @CC@ CFLAGS = @CFLAGS@ @@ -81,7 +81,7 @@ EXTRA_OFILES = # Flags to pass to a recursive make. FLAGS_TO_PASS = \ "AR=$(AR)" \ - "AR_FLAGS=$(AR_FLAGS)" \ + "AR_FLAGS=$(ARFLAGS)" \ "CC=$(CC)" \ "CFLAGS=$(CFLAGS)" \ "DESTDIR=$(DESTDIR)" \ @@ -224,12 +224,12 @@ INSTALLED_HEADERS = $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) -rm -f $(TARGETLIB) pic/$(TARGETLIB) - $(AR) $(AR_FLAGS) $(TARGETLIB) \ + $(AR) $(ARFLAGS) $(TARGETLIB) \ $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) $(RANLIB) $(TARGETLIB) if [ x"$(PICFLAG)" != x ]; then \ cd pic; \ - $(AR) $(AR_FLAGS) $(TARGETLIB) \ + $(AR) $(ARFLAGS) $(TARGETLIB) \ $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \ $(RANLIB) $(TARGETLIB); \ cd ..; \ @@ -237,7 +237,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA $(TESTLIB): $(REQUIRED_OFILES) $(CONFIGURED_OFILES) -rm -f $(TESTLIB) - $(AR) $(AR_FLAGS) $(TESTLIB) \ + $(AR) $(ARFLAGS) $(TESTLIB) \ $(REQUIRED_OFILES) $(CONFIGURED_OFILES) $(RANLIB) $(TESTLIB) Modified: projects/arm_eabi/contrib/cvs/diff/Makefile.in ============================================================================== --- projects/arm_eabi/contrib/cvs/diff/Makefile.in Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/cvs/diff/Makefile.in Thu Dec 6 08:45:43 2012 (r243946) @@ -41,8 +41,8 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/m CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LIBRARIES = $(noinst_LIBRARIES) -AR = ar -ARFLAGS = cru +AR = @AR@ +ARFLAGS = @ARFLAGS@ libdiff_a_AR = $(AR) $(ARFLAGS) libdiff_a_LIBADD = am_libdiff_a_OBJECTS = diff.$(OBJEXT) diff3.$(OBJEXT) \ Modified: projects/arm_eabi/contrib/cvs/lib/Makefile.in ============================================================================== --- projects/arm_eabi/contrib/cvs/lib/Makefile.in Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/cvs/lib/Makefile.in Thu Dec 6 08:45:43 2012 (r243946) @@ -63,8 +63,8 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/m CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = fnmatch.h LIBRARIES = $(noinst_LIBRARIES) -AR = ar -ARFLAGS = cru +AR = @AR@ +ARFLAGS = @ARFLAGS@ libcvs_a_AR = $(AR) $(ARFLAGS) libcvs_a_DEPENDENCIES = @LIBOBJS@ am_libcvs_a_OBJECTS = argmatch.$(OBJEXT) getdate.$(OBJEXT) \ Modified: projects/arm_eabi/contrib/dtc/Makefile ============================================================================== --- projects/arm_eabi/contrib/dtc/Makefile Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/dtc/Makefile Thu Dec 6 08:45:43 2012 (r243946) @@ -48,7 +48,7 @@ ifdef V VECHO = : else VECHO = echo " " -ARFLAGS = rc +ARFLAGS ?= rc .SILENT: endif Modified: projects/arm_eabi/contrib/gcc/Makefile.in ============================================================================== --- projects/arm_eabi/contrib/gcc/Makefile.in Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/gcc/Makefile.in Thu Dec 6 08:45:43 2012 (r243946) @@ -238,7 +238,7 @@ BISONFLAGS = FLEX = @FLEX@ FLEXFLAGS = AR = @AR@ -AR_FLAGS = rc +ARFLAGS = @ARFLAGS@ NM = @NM@ RANLIB = @RANLIB@ RANLIB_FLAGS = @ranlib_flags@ @@ -1303,7 +1303,7 @@ compilations: $(BACKEND) # This archive is strictly for the host. libbackend.a: $(OBJS@onestep@) -rm -rf libbackend.a - $(AR) $(AR_FLAGS) libbackend.a $(OBJS@onestep@) + $(AR) $(ARFLAGS) libbackend.a $(OBJS@onestep@) -$(RANLIB) $(RANLIB_FLAGS) libbackend.a # We call this executable `xgcc' rather than `gcc' Modified: projects/arm_eabi/contrib/gcclibs/libcpp/Makefile.in ============================================================================== --- projects/arm_eabi/contrib/gcclibs/libcpp/Makefile.in Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/gcclibs/libcpp/Makefile.in Thu Dec 6 08:45:43 2012 (r243946) @@ -26,8 +26,8 @@ srcdir = @srcdir@ top_builddir = . VPATH = @srcdir@ INSTALL = @INSTALL@ -AR = ar -ARFLAGS = cru +AR = @AR@ +ARFLAGS = @ARFLAGS@ ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ Modified: projects/arm_eabi/contrib/gcclibs/libdecnumber/Makefile.in ============================================================================== --- projects/arm_eabi/contrib/gcclibs/libdecnumber/Makefile.in Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/gcclibs/libdecnumber/Makefile.in Thu Dec 6 08:45:43 2012 (r243946) @@ -26,8 +26,8 @@ srcdir = @srcdir@ top_builddir = . VPATH = @srcdir@ INSTALL = @INSTALL@ -AR = ar -ARFLAGS = cru +AR = @AR@ +ARFLAGS = @ARFLAGS@ ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ Modified: projects/arm_eabi/contrib/gcclibs/libiberty/Makefile.in ============================================================================== --- projects/arm_eabi/contrib/gcclibs/libiberty/Makefile.in Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/gcclibs/libiberty/Makefile.in Thu Dec 6 08:45:43 2012 (r243946) @@ -56,7 +56,7 @@ mkinstalldirs = $(SHELL) $(libiberty_top OUTPUT_OPTION = @OUTPUT_OPTION@ AR = @AR@ -AR_FLAGS = rc +ARFLAGS = @ARFLAGS@ CC = @CC@ CFLAGS = @CFLAGS@ @@ -81,7 +81,7 @@ EXTRA_OFILES = # Flags to pass to a recursive make. FLAGS_TO_PASS = \ "AR=$(AR)" \ - "AR_FLAGS=$(AR_FLAGS)" \ + "AR_FLAGS=$(ARFLAGS)" \ "CC=$(CC)" \ "CFLAGS=$(CFLAGS)" \ "DESTDIR=$(DESTDIR)" \ @@ -224,12 +224,12 @@ INSTALLED_HEADERS = $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) -rm -f $(TARGETLIB) pic/$(TARGETLIB) - $(AR) $(AR_FLAGS) $(TARGETLIB) \ + $(AR) $(ARFLAGS) $(TARGETLIB) \ $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) $(RANLIB) $(TARGETLIB) if [ x"$(PICFLAG)" != x ]; then \ cd pic; \ - $(AR) $(AR_FLAGS) $(TARGETLIB) \ + $(AR) $(ARFLAGS) $(TARGETLIB) \ $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \ $(RANLIB) $(TARGETLIB); \ cd ..; \ @@ -237,7 +237,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA $(TESTLIB): $(REQUIRED_OFILES) $(CONFIGURED_OFILES) -rm -f $(TESTLIB) - $(AR) $(AR_FLAGS) $(TESTLIB) \ + $(AR) $(ARFLAGS) $(TESTLIB) \ $(REQUIRED_OFILES) $(CONFIGURED_OFILES) $(RANLIB) $(TESTLIB) Modified: projects/arm_eabi/contrib/gdtoa/makefile ============================================================================== --- projects/arm_eabi/contrib/gdtoa/makefile Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/gdtoa/makefile Thu Dec 6 08:45:43 2012 (r243946) @@ -26,6 +26,8 @@ .SUFFIXES: .c .o CC = cc CFLAGS = -g +AR ?= ar +ARFLAGS ?= ruv .c.o: $(CC) -c $(CFLAGS) $*.c @@ -52,12 +54,12 @@ gdtoa.a: dmisc.c dtoa.c g_Qfmt.c g__fmt strtopx.c strtopxL.c strtorQ.c strtord.c strtordd.c strtorf.c\ strtorx.c strtorxL.c sum.c ulp.c $(CC) -c $(CFLAGS) $? - x=`echo $? | sed 's/\.c/.o/g'` && ar ruv gdtoa.a $$x && rm $$x + x=`echo $? | sed 's/\.c/.o/g'` && $(AR) $(ARFLAGS) gdtoa.a $$x && rm $$x ranlib gdtoa.a || true Printf: all printf.c $(CC) -c $(CFLAGS) printf.c - ar ruv gdtoa.a printf.o + $(AR) $(ARFLAGS) gdtoa.a printf.o rm printf.o touch Printf Modified: projects/arm_eabi/contrib/gperf/lib/Makefile.in ============================================================================== --- projects/arm_eabi/contrib/gperf/lib/Makefile.in Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/gperf/lib/Makefile.in Thu Dec 6 08:45:43 2012 (r243946) @@ -43,8 +43,8 @@ CXXCPP = @CXXCPP@ # Both C and C++ compiler OBJEXT = @OBJEXT@ # Other -AR = ar -AR_FLAGS = rc +AR = @AR@ +ARFLAGS = @ARFLAGS@ RANLIB = @RANLIB@ MV = mv LN = ln @@ -71,7 +71,7 @@ all : $(TARGETLIB) $(TARGETLIB): $(OBJECTS) $(RM) $@ - $(AR) $(AR_FLAGS) $@ $(OBJECTS) + $(AR) $(ARFLAGS) $@ $(OBJECTS) $(RANLIB) $@ # Don't use implicit rules, since AIX "make" and OSF/1 "make" don't always Modified: projects/arm_eabi/contrib/less/NEWS ============================================================================== --- projects/arm_eabi/contrib/less/NEWS Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/less/NEWS Thu Dec 6 08:45:43 2012 (r243946) @@ -11,7 +11,7 @@ ====================================================================== - Major changes between "less" versions 451 and 453 + Major changes between "less" versions 451 and 456 * Allow backslash escaping of metacharacters in LESS environment variable. Modified: projects/arm_eabi/contrib/less/README ============================================================================== --- projects/arm_eabi/contrib/less/README Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/less/README Thu Dec 6 08:45:43 2012 (r243946) @@ -7,9 +7,9 @@ ************************************************************************** ************************************************************************** - Less, version 453 + Less, version 456 - This is the distribution of less, version 453, released 27 Oct 2012. + This is the distribution of less, version 456, released 08 Nov 2012. This program is part of the GNU project (http://www.gnu.org). This program is free software. You may redistribute it and/or Modified: projects/arm_eabi/contrib/less/configure.ac ============================================================================== --- projects/arm_eabi/contrib/less/configure.ac Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/less/configure.ac Thu Dec 6 08:45:43 2012 (r243946) @@ -669,7 +669,7 @@ AH_TOP([ /* * Sizes of various buffers. */ -#if 0 /* old sizes for small memory machines +#if 0 /* old sizes for small memory machines */ #define CMDBUF_SIZE 512 /* Buffer for multichar commands */ #define UNGOT_SIZE 100 /* Max chars to unget() */ #define LINEBUF_SIZE 1024 /* Max size of line in input file */ Modified: projects/arm_eabi/contrib/less/defines.h.in ============================================================================== --- projects/arm_eabi/contrib/less/defines.h.in Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/less/defines.h.in Thu Dec 6 08:45:43 2012 (r243946) @@ -182,7 +182,7 @@ /* * Sizes of various buffers. */ -#if 0 /* old sizes for small memory machines +#if 0 /* old sizes for small memory machines */ #define CMDBUF_SIZE 512 /* Buffer for multichar commands */ #define UNGOT_SIZE 100 /* Max chars to unget() */ #define LINEBUF_SIZE 1024 /* Max size of line in input file */ Modified: projects/arm_eabi/contrib/less/less.man ============================================================================== --- projects/arm_eabi/contrib/less/less.man Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/less/less.man Thu Dec 6 08:45:43 2012 (r243946) @@ -438,18 +438,14 @@ LESS(1) the command line by beginning the command line option with "-+". Some options like -k or -D require a string to follow the option let- - ter. The string for that option is considered to end when a space, - tab, dash or dollar sign ($) is found. For example, to set two -D - options on MS-DOS, you can separate them with a dollar sign, like this: + ter. The string for that option is considered to end when a dollar + sign ($) is found. For example, you can set two -D options on MS-DOS + like this: LESS="Dn9.1$Ds4.1" - or a space like this: - - LESS="Dn9.1 Ds4.1" - - Any character may be included literally in an option string by preced- - ing it with a backslash. + A dollar sign or backslash may be included literally in an option + string by preceding it with a backslash. -? or --help This option displays a summary of the commands accepted by less @@ -1612,4 +1608,4 @@ LESS(1) - Version 453: 27 Oct 2012 LESS(1) + Version 456: 08 Nov 2012 LESS(1) Modified: projects/arm_eabi/contrib/less/less.nro ============================================================================== --- projects/arm_eabi/contrib/less/less.nro Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/less/less.nro Thu Dec 6 08:45:43 2012 (r243946) @@ -1,4 +1,4 @@ -.TH LESS 1 "Version 453: 27 Oct 2012" +.TH LESS 1 "Version 456: 08 Nov 2012" .SH NAME less \- opposite of more .SH SYNOPSIS @@ -456,18 +456,12 @@ to its default value on the command line line option with "\-+". .sp Some options like \-k or \-D require a string to follow the option letter. -The string for that option is considered to end when a space, tab, -dash or dollar sign ($) is found. -For example, to set two \-D options on MS-DOS, -you can separate them with a dollar sign, like this: +The string for that option is considered to end when a dollar sign ($) is found. +For example, you can set two \-D options on MS-DOS like this: .sp LESS="Dn9.1$Ds4.1" .sp -or a space like this: -.sp -LESS="Dn9.1 Ds4.1" -.sp -Any character may be included literally in an option string +A dollar sign or backslash may be included literally in an option string by preceding it with a backslash. .IP "\-? or \-\-help" This option displays a summary of the commands accepted by Modified: projects/arm_eabi/contrib/less/lessecho.man ============================================================================== --- projects/arm_eabi/contrib/less/lessecho.man Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/less/lessecho.man Thu Dec 6 08:45:43 2012 (r243946) @@ -51,4 +51,4 @@ LESSECHO(1) - Version 453: 27 Oct 2012 LESSECHO(1) + Version 456: 08 Nov 2012 LESSECHO(1) Modified: projects/arm_eabi/contrib/less/lessecho.nro ============================================================================== --- projects/arm_eabi/contrib/less/lessecho.nro Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/less/lessecho.nro Thu Dec 6 08:45:43 2012 (r243946) @@ -1,4 +1,4 @@ -.TH LESSECHO 1 "Version 453: 27 Oct 2012" +.TH LESSECHO 1 "Version 456: 08 Nov 2012" .SH NAME lessecho \- expand metacharacters .SH SYNOPSIS Modified: projects/arm_eabi/contrib/less/lesskey.man ============================================================================== --- projects/arm_eabi/contrib/less/lesskey.man Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/less/lesskey.man Thu Dec 6 08:45:43 2012 (r243946) @@ -353,4 +353,4 @@ LESSKEY(1) - Version 453: 27 Oct 2012 LESSKEY(1) + Version 456: 08 Nov 2012 LESSKEY(1) Modified: projects/arm_eabi/contrib/less/lesskey.nro ============================================================================== --- projects/arm_eabi/contrib/less/lesskey.nro Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/less/lesskey.nro Thu Dec 6 08:45:43 2012 (r243946) @@ -1,4 +1,4 @@ -.TH LESSKEY 1 "Version 453: 27 Oct 2012" +.TH LESSKEY 1 "Version 456: 08 Nov 2012" .SH NAME lesskey \- specify key bindings for less .SH SYNOPSIS Modified: projects/arm_eabi/contrib/less/option.c ============================================================================== --- projects/arm_eabi/contrib/less/option.c Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/less/option.c Thu Dec 6 08:45:43 2012 (r243946) @@ -149,7 +149,7 @@ scan_option(s) if (s == NULL) return; if (*str == '+') - every_first_cmd = save(++str); + every_first_cmd = save(str+1); else ungetsc(str); free(str); @@ -585,7 +585,6 @@ optstring(s, p_str, printopt, validchars } else { if (*p == END_OPTION_STRING || - *p == ' ' || *p == '\t' || *p == '-' || (validchars != NULL && strchr(validchars, *p) == NULL)) /* End of option string. */ break; Modified: projects/arm_eabi/contrib/less/version.c ============================================================================== --- projects/arm_eabi/contrib/less/version.c Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/less/version.c Thu Dec 6 08:45:43 2012 (r243946) @@ -757,6 +757,9 @@ v451 7/20/12 Fix typo. v452 10/19/12 Fix --with-regex=none, fix "stty 0", fix Win32. Don't quit if errors in cmd line options. v453 10/27/12 Increase buffer sizes. +v454 11/5/12 Fix typo. +v455 11/5/12 Fix typo. +v456 11/8/12 Fix option string incompatibility. */ -char version[] = "453"; +char version[] = "456"; Modified: projects/arm_eabi/contrib/libc++/include/__config ============================================================================== --- projects/arm_eabi/contrib/libc++/include/__config Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/libc++/include/__config Thu Dec 6 08:45:43 2012 (r243946) @@ -51,6 +51,9 @@ # define _LIBCPP_LITTLE_ENDIAN 0 # define _LIBCPP_BIG_ENDIAN 1 # endif // _BYTE_ORDER == _LITTLE_ENDIAN +# ifndef __LONG_LONG_SUPPORTED +# define _LIBCPP_HAS_NO_LONG_LONG +# endif // __LONG_LONG_SUPPORTED #endif // __FreeBSD__ #ifdef _WIN32 Modified: projects/arm_eabi/contrib/libc++/include/cstdlib ============================================================================== --- projects/arm_eabi/contrib/libc++/include/cstdlib Thu Dec 6 08:43:48 2012 (r243945) +++ projects/arm_eabi/contrib/libc++/include/cstdlib Thu Dec 6 08:45:43 2012 (r243946) @@ -97,18 +97,26 @@ _LIBCPP_BEGIN_NAMESPACE_STD using ::size_t; using ::div_t; using ::ldiv_t; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::lldiv_t; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::atof; using ::atoi; using ::atol; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::atoll; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::strtod; using ::strtof; using ::strtold; using ::strtol; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::strtoll; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::strtoul; +#ifndef _LIBCPP_HAS_NO_LONG_LONG using ::strtoull; +#endif // _LIBCPP_HAS_NO_LONG_LONG using ::rand; using ::srand; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 08:57:46 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 1D2BB8DF; Thu, 6 Dec 2012 08:57:46 +0000 (UTC) (envelope-from rdivacky@vlakno.cz) Received: from vlakno.cz (mail.vlakno.cz [178.238.39.38]) by mx1.freebsd.org (Postfix) with ESMTP id C950A8FC08; Thu, 6 Dec 2012 08:57:45 +0000 (UTC) Received: by vlakno.cz (Postfix, from userid 1002) id 57A891CC55BF; Thu, 6 Dec 2012 09:49:36 +0100 (CET) Date: Thu, 6 Dec 2012 09:49:36 +0100 From: Roman Divacky To: Jung-uk Kim Subject: Re: svn commit: r243914 - projects/bpfjit Message-ID: <20121206084936.GA58940@freebsd.org> References: <201212052312.qB5NC2Hn056351@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201212052312.qB5NC2Hn056351@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org 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, 06 Dec 2012 08:57:46 -0000 Hi, David Chisnall started bpf jitter based on llvm. You can check it out here: http://people.freebsd.org/~theraven/bpfjit/ It's based on the idea of jitting the code in userspace and passing the resulting code to the kernel via some interface (this part is not done yet). Roman On Wed, Dec 05, 2012 at 11:12:02PM +0000, Jung-uk Kim wrote: > Author: jkim > Date: Wed Dec 5 23:12:01 2012 > New Revision: 243914 > URL: http://svnweb.freebsd.org/changeset/base/243914 > > Log: > Create a branch for BPF just-in-time compiler based on sljit. > > Added: > - copied from r243913, head/ > Directory Properties: > projects/bpfjit/ (props changed) From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 09:05:28 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 75DD6B20; Thu, 6 Dec 2012 09:05:28 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 48D078FC14; Thu, 6 Dec 2012 09:05:28 +0000 (UTC) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTPS id E707C46B17; Thu, 6 Dec 2012 04:05:27 -0500 (EST) Date: Thu, 6 Dec 2012 09:05:27 +0000 (GMT) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Jung-uk Kim Subject: Re: svn commit: r243929 - projects/bpfjit In-Reply-To: <201212060050.qB60nxXk021929@svn.freebsd.org> Message-ID: References: <201212060050.qB60nxXk021929@svn.freebsd.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org 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, 06 Dec 2012 09:05:28 -0000 On Thu, 6 Dec 2012, Jung-uk Kim wrote: > Author: jkim > Date: Thu Dec 6 00:49:59 2012 > New Revision: 243929 > URL: http://svnweb.freebsd.org/changeset/base/243929 > > Log: > Add an UPDATING entry for the BPF_JITTER deprecation. Will it actually be necessary to change the kernel option name -- my impression was that the previous JIT (and possibly the new JIT) are actually entirely transparent to userspace applications -- they keep submitting BPF filters per normal...? In which case, perhaps there's no need to change the option name, as that would introduce an upgrade hurdle. Or is there sufficient difference that we want users to bump into it in order to understand that there has been an implementation change? Robert > > Modified: > projects/bpfjit/UPDATING > > Modified: projects/bpfjit/UPDATING > ============================================================================== > --- projects/bpfjit/UPDATING Thu Dec 6 00:48:21 2012 (r243928) > +++ projects/bpfjit/UPDATING Thu Dec 6 00:49:59 2012 (r243929) > @@ -26,6 +26,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 > disable the most expensive debugging functionality run > "ln -s 'abort:false,junk:false' /etc/malloc.conf".) > > +XXXXXXXX: > + The BPF_JITTER kernel option has been removed. Its functionality > + is now replaced by BPFJIT option and the GENERIC kernels on all > + supported architectures (i.e., amd64, i386, pc98, and powerpc) > + include the new option. > + > 20121201: > With the addition of auditdistd(8), a new auditdistd user is now > depended on during installworld. "mergemaster -p" can be used to add > From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 12:59: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 73152B0A; Thu, 6 Dec 2012 12:59:07 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 575178FC17; Thu, 6 Dec 2012 12:59:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB6Cx7U1047808; Thu, 6 Dec 2012 12:59:07 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB6Cx7EN047807; Thu, 6 Dec 2012 12:59:07 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201212061259.qB6Cx7EN047807@svn.freebsd.org> From: Alexander Motin Date: Thu, 6 Dec 2012 12:59:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243949 - projects/calloutng/sys/kern 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, 06 Dec 2012 12:59:07 -0000 Author: mav Date: Thu Dec 6 12:59:06 2012 New Revision: 243949 URL: http://svnweb.freebsd.org/changeset/base/243949 Log: MFC r243901, r243912 with some adaptation. Modified: projects/calloutng/sys/kern/kern_timeout.c Directory Properties: projects/calloutng/ (props changed) projects/calloutng/sys/ (props changed) Modified: projects/calloutng/sys/kern/kern_timeout.c ============================================================================== --- projects/calloutng/sys/kern/kern_timeout.c Thu Dec 6 11:54:25 2012 (r243948) +++ projects/calloutng/sys/kern/kern_timeout.c Thu Dec 6 12:59:06 2012 (r243949) @@ -178,7 +178,7 @@ struct callout_cpu cc_cpu; static int timeout_cpu; void (*callout_new_inserted)(int cpu, struct bintime bt, struct bintime bt_opt) = NULL; -static struct callout * +static void softclock_call_cc(struct callout *c, struct callout_cpu *cc, int *mpcalls, int *lockcalls, int *gcalls, int direct); @@ -445,10 +445,13 @@ callout_process(struct bintime *now) */ if (tmp->c_flags & CALLOUT_DIRECT) { ++depth_dir; + cc->cc_exec_next_dir = + TAILQ_NEXT(tmp, c_links.tqe); TAILQ_REMOVE(sc, tmp, c_links.tqe); - tmp = softclock_call_cc(tmp, cc, + softclock_call_cc(tmp, cc, &mpcalls_dir, &lockcalls_dir, NULL, 1); + tmp = cc->cc_exec_next_dir; } else { TAILQ_INSERT_TAIL(&cc->cc_expireq, tmp, c_staiter); @@ -605,20 +608,16 @@ callout_cc_add(struct callout *c, struct } static void -callout_cc_del(struct callout *c, struct callout_cpu *cc, int direct) +callout_cc_del(struct callout *c, struct callout_cpu *cc) { - - if (cc->cc_exec_next_dir == c) - cc->cc_exec_next_dir = TAILQ_NEXT(c, c_links.tqe); - else if (cc->cc_exec_next == c) - cc->cc_exec_next = TAILQ_NEXT(c, c_staiter); - if (c->c_flags & CALLOUT_LOCAL_ALLOC) { - c->c_func = NULL; - SLIST_INSERT_HEAD(&cc->cc_callfree, c, c_links.sle); - } + + if ((c->c_flags & CALLOUT_LOCAL_ALLOC) == 0) + return; + c->c_func = NULL; + SLIST_INSERT_HEAD(&cc->cc_callfree, c, c_links.sle); } -static struct callout * +static void softclock_call_cc(struct callout *c, struct callout_cpu *cc, int *mpcalls, int *lockcalls, int *gcalls, int direct) { @@ -641,10 +640,9 @@ softclock_call_cc(struct callout *c, str static timeout_t *lastfunc; #endif - if (direct) - cc->cc_exec_next_dir = TAILQ_NEXT(c, c_links.tqe); - else - cc->cc_exec_next = TAILQ_NEXT(c, c_staiter); + KASSERT((c->c_flags & (CALLOUT_PENDING | CALLOUT_ACTIVE)) == + (CALLOUT_PENDING | CALLOUT_ACTIVE), + ("softclock_call_cc: pend|act %p %x", c, c->c_flags)); class = (c->c_lock != NULL) ? LOCK_CLASS(c->c_lock) : NULL; sharedlock = (c->c_flags & CALLOUT_SHAREDLOCK) ? 0 : 1; c_lock = c->c_lock; @@ -718,20 +716,7 @@ softclock_call_cc(struct callout *c, str class->lc_unlock(c_lock); skip: CC_LOCK(cc); - /* - * If the current callout is locally allocated (from - * timeout(9)) then put it on the freelist. - * - * Note: we need to check the cached copy of c_flags because - * if it was not local, then it's not safe to deref the - * callout pointer. - */ - if (c_flags & CALLOUT_LOCAL_ALLOC) { - KASSERT(c->c_flags == CALLOUT_LOCAL_ALLOC, - ("corrupted callout")); - c->c_func = NULL; - SLIST_INSERT_HEAD(&cc->cc_callfree, c, c_links.sle); - } + KASSERT(cc->cc_curr == c, ("mishandled cc_curr")); cc->cc_exec_entity[direct].cc_curr = NULL; if (cc->cc_exec_entity[direct].cc_waiting) { /* @@ -740,13 +725,22 @@ skip: * If the callout was scheduled for * migration just cancel it. */ - if (cc_cme_migrating(cc, direct)) + if (cc_cme_migrating(cc, direct)) { cc_cme_cleanup(cc, direct); + + /* + * It should be assert here that the callout is not + * destroyed but that is not easy. + */ + c->c_flags &= ~CALLOUT_DFRMIGRATION; + } cc->cc_exec_entity[direct].cc_waiting = 0; CC_UNLOCK(cc); wakeup(&cc->cc_exec_entity[direct].cc_waiting); CC_LOCK(cc); } else if (cc_cme_migrating(cc, direct)) { + KASSERT((c_flags & CALLOUT_LOCAL_ALLOC) == 0, + ("Migrating legacy callout %p", c)); #ifdef SMP /* * If the callout was scheduled for @@ -759,23 +753,20 @@ skip: cc_cme_cleanup(cc, direct); /* - * Handle deferred callout stops + * It should be assert here that the callout is not destroyed + * but that is not easy. + * + * As first thing, handle deferred callout stops. */ if ((c->c_flags & CALLOUT_DFRMIGRATION) == 0) { CTR3(KTR_CALLOUT, "deferred cancelled %p func %p arg %p", c, new_func, new_arg); - callout_cc_del(c, cc, direct); - goto nextc; + callout_cc_del(c, cc); + return; } - c->c_flags &= ~CALLOUT_DFRMIGRATION; - /* - * It should be assert here that the - * callout is not destroyed but that - * is not easy. - */ new_cc = callout_cpu_switch(c, cc, new_cpu); flags = (direct) ? C_DIRECT_EXEC : 0; callout_cc_add(c, new_cc, new_time, new_func, new_arg, @@ -786,10 +777,19 @@ skip: panic("migration should not happen"); #endif } -#ifdef SMP -nextc: -#endif - return cc->cc_exec_entity[direct].cc_next; + /* + * If the current callout is locally allocated (from + * timeout(9)) then put it on the freelist. + * + * Note: we need to check the cached copy of c_flags because + * if it was not local, then it's not safe to deref the + * callout pointer. + */ + KASSERT((c_flags & CALLOUT_LOCAL_ALLOC) == 0 || + c->c_flags == CALLOUT_LOCAL_ALLOC, + ("corrupted callout")); + if (c_flags & CALLOUT_LOCAL_ALLOC) + callout_cc_del(c, cc); } /* @@ -824,17 +824,18 @@ softclock(void *arg) c = TAILQ_FIRST(&cc->cc_expireq); while (c != NULL) { ++depth; + cc->cc_exec_next = TAILQ_NEXT(c, c_staiter); TAILQ_REMOVE(&cc->cc_expireq, c, c_staiter); - c = softclock_call_cc(c, cc, &mpcalls, - &lockcalls, &gcalls, 0); + softclock_call_cc(c, cc, &mpcalls, &lockcalls, &gcalls, 0); + c = cc->cc_exec_next; } + cc->cc_exec_next = NULL; #ifdef CALLOUT_PROFILING avg_depth += (depth * 1000 - avg_depth) >> 8; avg_mpcalls += (mpcalls * 1000 - avg_mpcalls) >> 8; avg_lockcalls += (lockcalls * 1000 - avg_lockcalls) >> 8; avg_gcalls += (gcalls * 1000 - avg_gcalls) >> 8; #endif - cc->cc_exec_next = NULL; CC_UNLOCK(cc); } @@ -1198,12 +1199,17 @@ again: CTR3(KTR_CALLOUT, "cancelled %p func %p arg %p", c, c->c_func, c->c_arg); if ((c->c_flags & CALLOUT_PROCESSED) == 0) { + if (cc->cc_exec_next_dir == c) + cc->cc_exec_next_dir = TAILQ_NEXT(c, c_links.tqe); bucket = get_bucket(&c->c_time); TAILQ_REMOVE(&cc->cc_callwheel[bucket], c, c_links.tqe); - } else + } else { + if (cc->cc_exec_next == c) + cc->cc_exec_next = TAILQ_NEXT(c, c_links.tqe); TAILQ_REMOVE(&cc->cc_expireq, c, c_staiter); - callout_cc_del(c, cc, direct); + } + callout_cc_del(c, cc); CC_UNLOCK(cc); return (1); From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 13:04:06 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 59F8DC71; Thu, 6 Dec 2012 13:04:06 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 3B5ED8FC0C; Thu, 6 Dec 2012 13:04:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB6D46Ja048960; Thu, 6 Dec 2012 13:04:06 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB6D3wjs048868; Thu, 6 Dec 2012 13:03:58 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201212061303.qB6D3wjs048868@svn.freebsd.org> From: Alexander Motin Date: Thu, 6 Dec 2012 13:03:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243950 - in projects/calloutng: contrib/binutils contrib/binutils/libiberty contrib/cvs/diff contrib/cvs/lib contrib/dtc contrib/gcc contrib/gcclibs/libcpp contrib/gcclibs/libdecnumber... 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, 06 Dec 2012 13:04:06 -0000 Author: mav Date: Thu Dec 6 13:03:57 2012 New Revision: 243950 URL: http://svnweb.freebsd.org/changeset/base/243950 Log: MFC @ r243949 Added: projects/calloutng/share/syscons/keymaps/us.dvorakp.kbd - copied unchanged from r243949, head/share/syscons/keymaps/us.dvorakp.kbd Modified: projects/calloutng/contrib/binutils/Makefile.in projects/calloutng/contrib/binutils/Makefile.tpl projects/calloutng/contrib/binutils/libiberty/Makefile.in projects/calloutng/contrib/cvs/diff/Makefile.in projects/calloutng/contrib/cvs/lib/Makefile.in projects/calloutng/contrib/dtc/Makefile projects/calloutng/contrib/gcc/Makefile.in projects/calloutng/contrib/gcclibs/libcpp/Makefile.in projects/calloutng/contrib/gcclibs/libdecnumber/Makefile.in projects/calloutng/contrib/gcclibs/libiberty/Makefile.in projects/calloutng/contrib/gdtoa/makefile projects/calloutng/contrib/gperf/lib/Makefile.in projects/calloutng/contrib/ntp/arlib/Makefile.in projects/calloutng/contrib/ntp/libntp/Makefile.in projects/calloutng/contrib/ntp/libparse/Makefile.in projects/calloutng/contrib/ntp/ntpd/Makefile.in projects/calloutng/contrib/opie/libmissing/Makefile.in projects/calloutng/contrib/opie/libopie/Makefile.in projects/calloutng/contrib/tcp_wrappers/Makefile projects/calloutng/contrib/tcpdump/Makefile.in projects/calloutng/crypto/heimdal/appl/ftp/common/Makefile.in projects/calloutng/crypto/heimdal/appl/telnet/libtelnet/Makefile.in projects/calloutng/crypto/openssl/Makefile.org projects/calloutng/crypto/openssl/crypto/Makefile projects/calloutng/gnu/lib/libgcc/Makefile projects/calloutng/gnu/usr.bin/cc/cc_tools/Makefile projects/calloutng/lib/libipsec/policy_parse.y projects/calloutng/sbin/devd/devd.cc projects/calloutng/sbin/devd/devd.hh projects/calloutng/sbin/route/route.c projects/calloutng/share/mk/bsd.lib.mk projects/calloutng/share/mk/sys.mk projects/calloutng/share/syscons/keymaps/INDEX.keymaps projects/calloutng/share/syscons/keymaps/Makefile projects/calloutng/sys/arm/arm/busdma_machdep-v6.c projects/calloutng/sys/dev/aic7xxx/aicasm/aicasm_gram.y projects/calloutng/sys/dev/isci/isci_io_request.c projects/calloutng/sys/kern/subr_uio.c projects/calloutng/sys/net/rtsock.c projects/calloutng/sys/netinet6/in6.c projects/calloutng/sys/netinet6/scope6.c projects/calloutng/sys/netinet6/scope6_var.h projects/calloutng/sys/netpfil/pf/if_pfsync.c projects/calloutng/sys/netpfil/pf/pf.c projects/calloutng/usr.sbin/ndiscvt/inf-parse.y projects/calloutng/usr.sbin/ndp/ndp.c Directory Properties: projects/calloutng/ (props changed) projects/calloutng/contrib/binutils/ (props changed) projects/calloutng/contrib/dtc/ (props changed) projects/calloutng/contrib/gcc/ (props changed) projects/calloutng/contrib/gdtoa/ (props changed) projects/calloutng/contrib/ntp/ (props changed) projects/calloutng/contrib/tcpdump/ (props changed) projects/calloutng/crypto/heimdal/ (props changed) projects/calloutng/crypto/openssl/ (props changed) projects/calloutng/gnu/lib/ (props changed) projects/calloutng/gnu/usr.bin/cc/cc_tools/ (props changed) projects/calloutng/sbin/ (props changed) projects/calloutng/sys/ (props changed) projects/calloutng/usr.sbin/ndiscvt/ (props changed) Modified: projects/calloutng/contrib/binutils/Makefile.in ============================================================================== --- projects/calloutng/contrib/binutils/Makefile.in Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/binutils/Makefile.in Thu Dec 6 13:03:57 2012 (r243950) @@ -284,7 +284,7 @@ MAKEINFOFLAGS = --split-size=5000000 AS = @AS@ AR = @AR@ -AR_FLAGS = rc +ARFLAGS = @ARFLAGS@ CC = @CC@ CXX = @CXX@ DLLTOOL = @DLLTOOL@ @@ -474,7 +474,7 @@ BASE_FLAGS_TO_PASS = \ "SHELL=$(SHELL)" \ "YACC=$(YACC)" \ "`echo 'ADAFLAGS=$(ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ - "AR_FLAGS=$(AR_FLAGS)" \ + "AR_FLAGS=$(ARFLAGS)" \ "`echo 'BOOT_ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \ "BOOT_CFLAGS=$(BOOT_CFLAGS)" \ "BOOT_LDFLAGS=$(BOOT_LDFLAGS)" \ Modified: projects/calloutng/contrib/binutils/Makefile.tpl ============================================================================== --- projects/calloutng/contrib/binutils/Makefile.tpl Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/binutils/Makefile.tpl Thu Dec 6 13:03:57 2012 (r243950) @@ -287,7 +287,7 @@ MAKEINFOFLAGS = --split-size=5000000 AS = @AS@ AR = @AR@ -AR_FLAGS = rc +ARFLAGS = @ARFLAGS@ CC = @CC@ CXX = @CXX@ DLLTOOL = @DLLTOOL@ Modified: projects/calloutng/contrib/binutils/libiberty/Makefile.in ============================================================================== --- projects/calloutng/contrib/binutils/libiberty/Makefile.in Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/binutils/libiberty/Makefile.in Thu Dec 6 13:03:57 2012 (r243950) @@ -56,7 +56,7 @@ mkinstalldirs = $(SHELL) $(libiberty_top OUTPUT_OPTION = @OUTPUT_OPTION@ AR = @AR@ -AR_FLAGS = rc +ARFLAGS = @ARFLAGS@ CC = @CC@ CFLAGS = @CFLAGS@ @@ -81,7 +81,7 @@ EXTRA_OFILES = # Flags to pass to a recursive make. FLAGS_TO_PASS = \ "AR=$(AR)" \ - "AR_FLAGS=$(AR_FLAGS)" \ + "AR_FLAGS=$(ARFLAGS)" \ "CC=$(CC)" \ "CFLAGS=$(CFLAGS)" \ "DESTDIR=$(DESTDIR)" \ @@ -224,12 +224,12 @@ INSTALLED_HEADERS = $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) -rm -f $(TARGETLIB) pic/$(TARGETLIB) - $(AR) $(AR_FLAGS) $(TARGETLIB) \ + $(AR) $(ARFLAGS) $(TARGETLIB) \ $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) $(RANLIB) $(TARGETLIB) if [ x"$(PICFLAG)" != x ]; then \ cd pic; \ - $(AR) $(AR_FLAGS) $(TARGETLIB) \ + $(AR) $(ARFLAGS) $(TARGETLIB) \ $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \ $(RANLIB) $(TARGETLIB); \ cd ..; \ @@ -237,7 +237,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA $(TESTLIB): $(REQUIRED_OFILES) $(CONFIGURED_OFILES) -rm -f $(TESTLIB) - $(AR) $(AR_FLAGS) $(TESTLIB) \ + $(AR) $(ARFLAGS) $(TESTLIB) \ $(REQUIRED_OFILES) $(CONFIGURED_OFILES) $(RANLIB) $(TESTLIB) Modified: projects/calloutng/contrib/cvs/diff/Makefile.in ============================================================================== --- projects/calloutng/contrib/cvs/diff/Makefile.in Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/cvs/diff/Makefile.in Thu Dec 6 13:03:57 2012 (r243950) @@ -41,8 +41,8 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/m CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LIBRARIES = $(noinst_LIBRARIES) -AR = ar -ARFLAGS = cru +AR = @AR@ +ARFLAGS = @ARFLAGS@ libdiff_a_AR = $(AR) $(ARFLAGS) libdiff_a_LIBADD = am_libdiff_a_OBJECTS = diff.$(OBJEXT) diff3.$(OBJEXT) \ Modified: projects/calloutng/contrib/cvs/lib/Makefile.in ============================================================================== --- projects/calloutng/contrib/cvs/lib/Makefile.in Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/cvs/lib/Makefile.in Thu Dec 6 13:03:57 2012 (r243950) @@ -63,8 +63,8 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/m CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = fnmatch.h LIBRARIES = $(noinst_LIBRARIES) -AR = ar -ARFLAGS = cru +AR = @AR@ +ARFLAGS = @ARFLAGS@ libcvs_a_AR = $(AR) $(ARFLAGS) libcvs_a_DEPENDENCIES = @LIBOBJS@ am_libcvs_a_OBJECTS = argmatch.$(OBJEXT) getdate.$(OBJEXT) \ Modified: projects/calloutng/contrib/dtc/Makefile ============================================================================== --- projects/calloutng/contrib/dtc/Makefile Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/dtc/Makefile Thu Dec 6 13:03:57 2012 (r243950) @@ -48,7 +48,7 @@ ifdef V VECHO = : else VECHO = echo " " -ARFLAGS = rc +ARFLAGS ?= rc .SILENT: endif Modified: projects/calloutng/contrib/gcc/Makefile.in ============================================================================== --- projects/calloutng/contrib/gcc/Makefile.in Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/gcc/Makefile.in Thu Dec 6 13:03:57 2012 (r243950) @@ -238,7 +238,7 @@ BISONFLAGS = FLEX = @FLEX@ FLEXFLAGS = AR = @AR@ -AR_FLAGS = rc +ARFLAGS = @ARFLAGS@ NM = @NM@ RANLIB = @RANLIB@ RANLIB_FLAGS = @ranlib_flags@ @@ -1303,7 +1303,7 @@ compilations: $(BACKEND) # This archive is strictly for the host. libbackend.a: $(OBJS@onestep@) -rm -rf libbackend.a - $(AR) $(AR_FLAGS) libbackend.a $(OBJS@onestep@) + $(AR) $(ARFLAGS) libbackend.a $(OBJS@onestep@) -$(RANLIB) $(RANLIB_FLAGS) libbackend.a # We call this executable `xgcc' rather than `gcc' Modified: projects/calloutng/contrib/gcclibs/libcpp/Makefile.in ============================================================================== --- projects/calloutng/contrib/gcclibs/libcpp/Makefile.in Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/gcclibs/libcpp/Makefile.in Thu Dec 6 13:03:57 2012 (r243950) @@ -26,8 +26,8 @@ srcdir = @srcdir@ top_builddir = . VPATH = @srcdir@ INSTALL = @INSTALL@ -AR = ar -ARFLAGS = cru +AR = @AR@ +ARFLAGS = @ARFLAGS@ ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ Modified: projects/calloutng/contrib/gcclibs/libdecnumber/Makefile.in ============================================================================== --- projects/calloutng/contrib/gcclibs/libdecnumber/Makefile.in Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/gcclibs/libdecnumber/Makefile.in Thu Dec 6 13:03:57 2012 (r243950) @@ -26,8 +26,8 @@ srcdir = @srcdir@ top_builddir = . VPATH = @srcdir@ INSTALL = @INSTALL@ -AR = ar -ARFLAGS = cru +AR = @AR@ +ARFLAGS = @ARFLAGS@ ACLOCAL = @ACLOCAL@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ Modified: projects/calloutng/contrib/gcclibs/libiberty/Makefile.in ============================================================================== --- projects/calloutng/contrib/gcclibs/libiberty/Makefile.in Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/gcclibs/libiberty/Makefile.in Thu Dec 6 13:03:57 2012 (r243950) @@ -56,7 +56,7 @@ mkinstalldirs = $(SHELL) $(libiberty_top OUTPUT_OPTION = @OUTPUT_OPTION@ AR = @AR@ -AR_FLAGS = rc +ARFLAGS = @ARFLAGS@ CC = @CC@ CFLAGS = @CFLAGS@ @@ -81,7 +81,7 @@ EXTRA_OFILES = # Flags to pass to a recursive make. FLAGS_TO_PASS = \ "AR=$(AR)" \ - "AR_FLAGS=$(AR_FLAGS)" \ + "AR_FLAGS=$(ARFLAGS)" \ "CC=$(CC)" \ "CFLAGS=$(CFLAGS)" \ "DESTDIR=$(DESTDIR)" \ @@ -224,12 +224,12 @@ INSTALLED_HEADERS = $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) -rm -f $(TARGETLIB) pic/$(TARGETLIB) - $(AR) $(AR_FLAGS) $(TARGETLIB) \ + $(AR) $(ARFLAGS) $(TARGETLIB) \ $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) $(RANLIB) $(TARGETLIB) if [ x"$(PICFLAG)" != x ]; then \ cd pic; \ - $(AR) $(AR_FLAGS) $(TARGETLIB) \ + $(AR) $(ARFLAGS) $(TARGETLIB) \ $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \ $(RANLIB) $(TARGETLIB); \ cd ..; \ @@ -237,7 +237,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA $(TESTLIB): $(REQUIRED_OFILES) $(CONFIGURED_OFILES) -rm -f $(TESTLIB) - $(AR) $(AR_FLAGS) $(TESTLIB) \ + $(AR) $(ARFLAGS) $(TESTLIB) \ $(REQUIRED_OFILES) $(CONFIGURED_OFILES) $(RANLIB) $(TESTLIB) Modified: projects/calloutng/contrib/gdtoa/makefile ============================================================================== --- projects/calloutng/contrib/gdtoa/makefile Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/gdtoa/makefile Thu Dec 6 13:03:57 2012 (r243950) @@ -26,6 +26,8 @@ .SUFFIXES: .c .o CC = cc CFLAGS = -g +AR ?= ar +ARFLAGS ?= ruv .c.o: $(CC) -c $(CFLAGS) $*.c @@ -52,12 +54,12 @@ gdtoa.a: dmisc.c dtoa.c g_Qfmt.c g__fmt strtopx.c strtopxL.c strtorQ.c strtord.c strtordd.c strtorf.c\ strtorx.c strtorxL.c sum.c ulp.c $(CC) -c $(CFLAGS) $? - x=`echo $? | sed 's/\.c/.o/g'` && ar ruv gdtoa.a $$x && rm $$x + x=`echo $? | sed 's/\.c/.o/g'` && $(AR) $(ARFLAGS) gdtoa.a $$x && rm $$x ranlib gdtoa.a || true Printf: all printf.c $(CC) -c $(CFLAGS) printf.c - ar ruv gdtoa.a printf.o + $(AR) $(ARFLAGS) gdtoa.a printf.o rm printf.o touch Printf Modified: projects/calloutng/contrib/gperf/lib/Makefile.in ============================================================================== --- projects/calloutng/contrib/gperf/lib/Makefile.in Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/gperf/lib/Makefile.in Thu Dec 6 13:03:57 2012 (r243950) @@ -43,8 +43,8 @@ CXXCPP = @CXXCPP@ # Both C and C++ compiler OBJEXT = @OBJEXT@ # Other -AR = ar -AR_FLAGS = rc +AR = @AR@ +ARFLAGS = @ARFLAGS@ RANLIB = @RANLIB@ MV = mv LN = ln @@ -71,7 +71,7 @@ all : $(TARGETLIB) $(TARGETLIB): $(OBJECTS) $(RM) $@ - $(AR) $(AR_FLAGS) $@ $(OBJECTS) + $(AR) $(ARFLAGS) $@ $(OBJECTS) $(RANLIB) $@ # Don't use implicit rules, since AIX "make" and OSF/1 "make" don't always Modified: projects/calloutng/contrib/ntp/arlib/Makefile.in ============================================================================== --- projects/calloutng/contrib/ntp/arlib/Makefile.in Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/ntp/arlib/Makefile.in Thu Dec 6 13:03:57 2012 (r243950) @@ -50,8 +50,8 @@ mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) -AR = ar -ARFLAGS = cru +AR = @AR@ +ARFLAGS = @ARFLAGS@ libares_a_AR = $(AR) $(ARFLAGS) libares_a_LIBADD = am_libares_a_OBJECTS = arlib.$(OBJEXT) Modified: projects/calloutng/contrib/ntp/libntp/Makefile.in ============================================================================== --- projects/calloutng/contrib/ntp/libntp/Makefile.in Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/ntp/libntp/Makefile.in Thu Dec 6 13:03:57 2012 (r243950) @@ -52,7 +52,7 @@ CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) -ARFLAGS = cru +ARFLAGS = @ARFLAGS@ libntp_a_AR = $(AR) $(ARFLAGS) libntp_a_LIBADD = am__objects_1 = a_md5encrypt$U.$(OBJEXT) adjtime$U.$(OBJEXT) \ Modified: projects/calloutng/contrib/ntp/libparse/Makefile.in ============================================================================== --- projects/calloutng/contrib/ntp/libparse/Makefile.in Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/ntp/libparse/Makefile.in Thu Dec 6 13:03:57 2012 (r243950) @@ -52,7 +52,7 @@ CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) -ARFLAGS = cru +ARFLAGS ?= cru libparse_a_AR = $(AR) $(ARFLAGS) libparse_a_LIBADD = am_libparse_a_OBJECTS = parse$U.$(OBJEXT) parse_conf$U.$(OBJEXT) \ Modified: projects/calloutng/contrib/ntp/ntpd/Makefile.in ============================================================================== --- projects/calloutng/contrib/ntp/ntpd/Makefile.in Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/ntp/ntpd/Makefile.in Thu Dec 6 13:03:57 2012 (r243950) @@ -58,7 +58,7 @@ CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) -ARFLAGS = cru +ARFLAGS = @ARFLAGS@ libntpd_a_AR = $(AR) $(ARFLAGS) libntpd_a_LIBADD = am_libntpd_a_OBJECTS = ntp_control$U.$(OBJEXT) ntp_crypto$U.$(OBJEXT) \ Modified: projects/calloutng/contrib/opie/libmissing/Makefile.in ============================================================================== --- projects/calloutng/contrib/opie/libmissing/Makefile.in Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/opie/libmissing/Makefile.in Thu Dec 6 13:03:57 2012 (r243950) @@ -22,7 +22,7 @@ TARGET=libmissing.a all: $(TARGET) $(TARGET): $(OBJS) - ar cr $(TARGET) $(OBJS) + @AR@ @ARFLAGS@ $(TARGET) $(OBJS) @RANLIB@ $(TARGET) clean: Modified: projects/calloutng/contrib/opie/libopie/Makefile.in ============================================================================== --- projects/calloutng/contrib/opie/libopie/Makefile.in Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/opie/libopie/Makefile.in Thu Dec 6 13:03:57 2012 (r243950) @@ -23,7 +23,7 @@ TARGET=libopie.a all: $(TARGET) $(TARGET): $(OBJS) - ar cr $(TARGET) $(OBJS) + @AR@ @ARFLAGS@ $(TARGET) $(OBJS) @RANLIB@ $(TARGET) clean: Modified: projects/calloutng/contrib/tcp_wrappers/Makefile ============================================================================== --- projects/calloutng/contrib/tcp_wrappers/Makefile Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/tcp_wrappers/Makefile Thu Dec 6 13:03:57 2012 (r243950) @@ -139,7 +139,7 @@ epix: freebsd: @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \ - RANLIB=ranlib ARFLAGS=rv AUX_OBJ= NETGROUP=-DNETGROUP TLI= \ + RANLIB=ranlib ARFLAGS=$(ARFLAGS) AUX_OBJ= NETGROUP=-DNETGROUP TLI= \ EXTRA_CFLAGS="-DSYS_ERRLIST_DEFINED -DINET6 -DUSE_GETIPNODEBY" \ VSYSLOG= all @@ -401,7 +401,7 @@ machten: RANLIB = ranlib # have ranlib (BSD-ish UNIX) #RANLIB = echo # no ranlib (SYSV-ish UNIX) -ARFLAGS = rv # most systems +ARFLAGS ?= rv # most systems #ARFLAGS= rvs # IRIX 4.0.x AR = ar Modified: projects/calloutng/contrib/tcpdump/Makefile.in ============================================================================== --- projects/calloutng/contrib/tcpdump/Makefile.in Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/contrib/tcpdump/Makefile.in Thu Dec 6 13:03:57 2012 (r243950) @@ -366,7 +366,7 @@ $(PROG): $(OBJ) @V_PCAPDEP@ $(LIBNETDISSECT): $(LIBNETDISSECT_OBJ) @rm -f $@ - $(AR) cr $@ $(LIBNETDISSECT_OBJ) + $(AR) $(ARFLAGS) $@ $(LIBNETDISSECT_OBJ) $(RANLIB) $@ datalinks.o: $(srcdir)/missing/datalinks.c Modified: projects/calloutng/crypto/heimdal/appl/ftp/common/Makefile.in ============================================================================== --- projects/calloutng/crypto/heimdal/appl/ftp/common/Makefile.in Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/crypto/heimdal/appl/ftp/common/Makefile.in Thu Dec 6 13:03:57 2012 (r243950) @@ -96,7 +96,7 @@ CONFIG_HEADER = $(top_builddir)/include/ CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) -ARFLAGS = cru +ARFLAGS ?= cru libcommon_a_AR = $(AR) $(ARFLAGS) libcommon_a_LIBADD = am_libcommon_a_OBJECTS = sockbuf.$(OBJEXT) buffer.$(OBJEXT) Modified: projects/calloutng/crypto/heimdal/appl/telnet/libtelnet/Makefile.in ============================================================================== --- projects/calloutng/crypto/heimdal/appl/telnet/libtelnet/Makefile.in Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/crypto/heimdal/appl/telnet/libtelnet/Makefile.in Thu Dec 6 13:03:57 2012 (r243950) @@ -96,7 +96,7 @@ CONFIG_HEADER = $(top_builddir)/include/ CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) -ARFLAGS = cru +ARFLAGS ?= cru libtelnet_a_AR = $(AR) $(ARFLAGS) libtelnet_a_LIBADD = am_libtelnet_a_OBJECTS = auth.$(OBJEXT) enc_des.$(OBJEXT) \ Modified: projects/calloutng/crypto/openssl/Makefile.org ============================================================================== --- projects/calloutng/crypto/openssl/Makefile.org Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/crypto/openssl/Makefile.org Thu Dec 6 13:03:57 2012 (r243950) @@ -63,8 +63,8 @@ DEPFLAG= PEX_LIBS= EX_LIBS= EXE_EXT= -ARFLAGS= -AR=ar $(ARFLAGS) r +ARFLAGS?= r +AR=ar $(ARFLAGS) RANLIB= ranlib NM= nm PERL= perl Modified: projects/calloutng/crypto/openssl/crypto/Makefile ============================================================================== --- projects/calloutng/crypto/openssl/crypto/Makefile Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/crypto/openssl/crypto/Makefile Thu Dec 6 13:03:57 2012 (r243950) @@ -13,7 +13,8 @@ MAKEDEPPROG= makedepend MAKEDEPEND= $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG) MAKEFILE= Makefile RM= rm -f -AR= ar r +ARFLAGS?= r +AR= ar ${ARFLAGS} RECURSIVE_MAKE= [ -n "$(SDIRS)" ] && for i in $(SDIRS) ; do \ (cd $$i && echo "making $$target in $(DIR)/$$i..." && \ Modified: projects/calloutng/gnu/lib/libgcc/Makefile ============================================================================== --- projects/calloutng/gnu/lib/libgcc/Makefile Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/gnu/lib/libgcc/Makefile Thu Dec 6 13:03:57 2012 (r243950) @@ -341,7 +341,7 @@ CLEANFILES += libgcc.map libgcc_eh.a: ${EH_OBJS_T} @${ECHO} building static gcc_eh library @rm -f ${.TARGET} - @${AR} cq ${.TARGET} `lorder ${EH_OBJS_T} | tsort -q` + @${AR} ${ARFLAGS} ${.TARGET} `lorder ${EH_OBJS_T} | tsort -q` ${RANLIB} ${.TARGET} all: libgcc_eh.a @@ -350,7 +350,7 @@ all: libgcc_eh.a libgcc_eh_p.a: ${EH_OBJS_P} @${ECHO} building profiled gcc_eh library @rm -f ${.TARGET} - @${AR} cq ${.TARGET} `lorder ${EH_OBJS_P} | tsort -q` + @${AR} ${ARFLAGS} ${.TARGET} `lorder ${EH_OBJS_P} | tsort -q` ${RANLIB} ${.TARGET} all: libgcc_eh_p.a .endif Modified: projects/calloutng/gnu/usr.bin/cc/cc_tools/Makefile ============================================================================== --- projects/calloutng/gnu/usr.bin/cc/cc_tools/Makefile Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/gnu/usr.bin/cc/cc_tools/Makefile Thu Dec 6 13:03:57 2012 (r243950) @@ -512,7 +512,7 @@ ${_src:R:S/$/.o/}: ${_src} ${LIBIBERTY}: ${LIBIBERTY_OBJS} @rm -f ${.TARGET} - @${AR} cq ${.TARGET} `lorder ${LIBIBERTY_OBJS} | tsort -q` + @${AR} ${ARFLAGS} ${.TARGET} `lorder ${LIBIBERTY_OBJS} | tsort -q` ${RANLIB} ${.TARGET} CLEANFILES+= ${LIBIBERTY} ${LIBIBERTY_OBJS} Modified: projects/calloutng/lib/libipsec/policy_parse.y ============================================================================== --- projects/calloutng/lib/libipsec/policy_parse.y Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/lib/libipsec/policy_parse.y Thu Dec 6 13:03:57 2012 (r243950) @@ -88,7 +88,6 @@ static caddr_t policy_parse(char *msg, i extern void __policy__strbuffer__init__(char *msg); extern void __policy__strbuffer__free__(void); -extern int yyparse(void); extern int yylex(void); extern char *__libipsecyytext; /*XXX*/ Modified: projects/calloutng/sbin/devd/devd.cc ============================================================================== --- projects/calloutng/sbin/devd/devd.cc Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/sbin/devd/devd.cc Thu Dec 6 13:03:57 2012 (r243950) @@ -127,7 +127,7 @@ delete_and_clear(vector &v) { typename vector::const_iterator i; - for (i = v.begin(); i != v.end(); i++) + for (i = v.begin(); i != v.end(); ++i) delete *i; v.clear(); } @@ -151,22 +151,22 @@ event_proc::add(eps *eps) } bool -event_proc::matches(config &c) +event_proc::matches(config &c) const { vector::const_iterator i; - for (i = _epsvec.begin(); i != _epsvec.end(); i++) + for (i = _epsvec.begin(); i != _epsvec.end(); ++i) if (!(*i)->do_match(c)) return (false); return (true); } bool -event_proc::run(config &c) +event_proc::run(config &c) const { vector::const_iterator i; - for (i = _epsvec.begin(); i != _epsvec.end(); i++) + for (i = _epsvec.begin(); i != _epsvec.end(); ++i) if (!(*i)->do_action(c)) return (false); return (true); @@ -248,9 +248,8 @@ action::do_action(config &c) } match::match(config &c, const char *var, const char *re) - : _var(var) + : _var(var), _re("^") { - _re = "^"; if (!c.expand_string(string(re)).empty() && c.expand_string(string(re)).at(0) == '!') { _re.append(c.expand_string(string(re)).substr(1)); @@ -301,7 +300,7 @@ media::media(config &, const char *var, { -1, "unknown" }, { 0, NULL }, }; - for (int i = 0; media_types[i].ifmt_string != NULL; i++) + for (int i = 0; media_types[i].ifmt_string != NULL; ++i) if (strcasecmp(type, media_types[i].ifmt_string) == 0) { _type = media_types[i].ifmt_word; break; @@ -436,7 +435,7 @@ config::parse_files_in_dir(const char *d class epv_greater { public: - int operator()(event_proc *const&l1, event_proc *const&l2) + int operator()(event_proc *const&l1, event_proc *const&l2) const { return (l1->get_priority() > l2->get_priority()); } @@ -445,7 +444,7 @@ public: void config::sort_vector(vector &v) { - sort(v.begin(), v.end(), epv_greater()); + stable_sort(v.begin(), v.end(), epv_greater()); } void @@ -454,7 +453,7 @@ config::parse(void) vector::const_iterator i; parse_one_file(configfile); - for (i = _dir_list.begin(); i != _dir_list.end(); i++) + for (i = _dir_list.begin(); i != _dir_list.end(); ++i) parse_files_in_dir((*i).c_str()); sort_vector(_attach_list); sort_vector(_detach_list); @@ -569,7 +568,7 @@ config::get_variable(const string &var) { vector::reverse_iterator i; - for (i = _var_list_table.rbegin(); i != _var_list_table.rend(); i++) { + for (i = _var_list_table.rbegin(); i != _var_list_table.rend(); ++i) { if ((*i)->is_set(var)) return ((*i)->get_variable(var)); } @@ -577,7 +576,7 @@ config::get_variable(const string &var) } bool -config::is_id_char(char ch) +config::is_id_char(char ch) const { return (ch != '\0' && (isalpha(ch) || isdigit(ch) || ch == '_' || ch == '-')); @@ -726,7 +725,7 @@ config::find_and_execute(char type) } if (Dflag) fprintf(stderr, "Processing %s event\n", s); - for (i = l->begin(); i != l->end(); i++) { + for (i = l->begin(); i != l->end(); ++i) { if ((*i)->matches(*this)) { (*i)->run(*this); break; @@ -823,14 +822,14 @@ notify_clients(const char *data, int len list bad; list::const_iterator i; - for (i = clients.begin(); i != clients.end(); i++) { + for (i = clients.begin(); i != clients.end(); ++i) { if (write(*i, data, len) <= 0) { bad.push_back(*i); close(*i); } } - for (i = bad.begin(); i != bad.end(); i++) + for (i = bad.begin(); i != bad.end(); ++i) clients.erase(find(clients.begin(), clients.end(), *i)); } Modified: projects/calloutng/sbin/devd/devd.hh ============================================================================== --- projects/calloutng/sbin/devd/devd.hh Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/sbin/devd/devd.hh Thu Dec 6 13:03:57 2012 (r243950) @@ -134,8 +134,8 @@ public: int get_priority() const { return (_prio); } void set_priority(int prio) { _prio = prio; } void add(eps *); - bool matches(config &); - bool run(config &); + bool matches(config &) const; + bool run(config &) const; private: int _prio; std::vector _epsvec; @@ -144,7 +144,7 @@ private: class config { public: - config() { _pidfile = ""; push_var_table(); } + config() : _pidfile("") { push_var_table(); } virtual ~config() { reset(); } void add_attach(int, event_proc *); void add_detach(int, event_proc *); @@ -170,7 +170,7 @@ protected: void parse_one_file(const char *fn); void parse_files_in_dir(const char *dirname); void expand_one(const char *&src, std::string &dst); - bool is_id_char(char); + bool is_id_char(char) const; bool chop_var(char *&buffer, char *&lhs, char *&rhs); private: std::vector _dir_list; Modified: projects/calloutng/sbin/route/route.c ============================================================================== --- projects/calloutng/sbin/route/route.c Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/sbin/route/route.c Thu Dec 6 13:03:57 2012 (r243950) @@ -1215,16 +1215,6 @@ getaddr(int which, char *str, struct hos exit(1); } memcpy(&su->sin6, res->ai_addr, sizeof(su->sin6)); -#ifdef __KAME__ - if ((IN6_IS_ADDR_LINKLOCAL(&su->sin6.sin6_addr) || - IN6_IS_ADDR_MC_LINKLOCAL(&su->sin6.sin6_addr) || - IN6_IS_ADDR_MC_NODELOCAL(&su->sin6.sin6_addr)) && - su->sin6.sin6_scope_id) { - *(u_int16_t *)&su->sin6.sin6_addr.s6_addr[2] = - htons(su->sin6.sin6_scope_id); - su->sin6.sin6_scope_id = 0; - } -#endif freeaddrinfo(res); if (q != NULL) *q++ = '/'; Modified: projects/calloutng/share/mk/bsd.lib.mk ============================================================================== --- projects/calloutng/share/mk/bsd.lib.mk Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/share/mk/bsd.lib.mk Thu Dec 6 13:03:57 2012 (r243950) @@ -135,9 +135,9 @@ lib${LIB}.a: ${OBJS} ${STATICOBJS} @${ECHO} building static ${LIB} library @rm -f ${.TARGET} .if !defined(NM) - @${AR} cq ${.TARGET} `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD} + @${AR} ${ARFLAGS} ${.TARGET} `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD} .else - @${AR} cq ${.TARGET} `NM='${NM}' lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD} + @${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD} .endif ${RANLIB} ${.TARGET} .endif @@ -152,9 +152,9 @@ lib${LIB}_p.a: ${POBJS} @${ECHO} building profiled ${LIB} library @rm -f ${.TARGET} .if !defined(NM) - @${AR} cq ${.TARGET} `lorder ${POBJS} | tsort -q` ${ARADD} + @${AR} ${ARFLAGS} ${.TARGET} `lorder ${POBJS} | tsort -q` ${ARADD} .else - @${AR} cq ${.TARGET} `NM='${NM}' lorder ${POBJS} | tsort -q` ${ARADD} + @${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' lorder ${POBJS} | tsort -q` ${ARADD} .endif ${RANLIB} ${.TARGET} .endif @@ -202,7 +202,7 @@ _LIBS+= lib${LIB}_pic.a lib${LIB}_pic.a: ${SOBJS} @${ECHO} building special pic ${LIB} library @rm -f ${.TARGET} - @${AR} cq ${.TARGET} ${SOBJS} ${ARADD} + @${AR} ${ARFLAGS} ${.TARGET} ${SOBJS} ${ARADD} ${RANLIB} ${.TARGET} .endif Modified: projects/calloutng/share/mk/sys.mk ============================================================================== --- projects/calloutng/share/mk/sys.mk Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/share/mk/sys.mk Thu Dec 6 13:03:57 2012 (r243950) @@ -39,7 +39,7 @@ AR ?= ar .if defined(%POSIX) ARFLAGS ?= -rv .else -ARFLAGS ?= rl +ARFLAGS ?= cru .endif RANLIB ?= ranlib Modified: projects/calloutng/share/syscons/keymaps/INDEX.keymaps ============================================================================== --- projects/calloutng/share/syscons/keymaps/INDEX.keymaps Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/share/syscons/keymaps/INDEX.keymaps Thu Dec 6 13:03:57 2012 (r243950) @@ -520,6 +520,8 @@ us.dvorakl.kbd:fr:États Unis d'Amérique us.dvorakl.kbd:pt:Estados Unidos da América dvorakl us.dvorakl.kbd:es:Estadounidense dvorak zurdo +us.dvorakp.kbd:en:United States of America Programmer Dvorak + us.dvorakx.kbd:en:United States of America dvorakx us.dvorakx.kbd:de:US-amerikanisch dvorakx us.dvorakx.kbd:fr:États Unis d'Amérique dvorakx Modified: projects/calloutng/share/syscons/keymaps/Makefile ============================================================================== --- projects/calloutng/share/syscons/keymaps/Makefile Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/share/syscons/keymaps/Makefile Thu Dec 6 13:03:57 2012 (r243950) @@ -47,8 +47,8 @@ FILES= INDEX.keymaps \ ua.koi8-u.kbd ua.koi8-u.shift.alt.kbd ua.iso5.kbd \ uk.iso.kbd uk.iso-ctrl.kbd uk.cp850.kbd uk.cp850-ctrl.kbd \ uk.dvorak.kbd \ - us.iso.kbd us.dvorak.kbd us.dvorakl.kbd us.dvorakr.kbd us.dvorakx.kbd \ - us.emacs.kbd us.pc-ctrl.kbd us.unix.kbd us.iso.acc.kbd + us.iso.kbd us.dvorak.kbd us.dvorakl.kbd us.dvorakr.kbd us.dvorakp.kbd \ + us.dvorakx.kbd us.emacs.kbd us.pc-ctrl.kbd us.unix.kbd us.iso.acc.kbd FILESDIR= ${SHAREDIR}/syscons/keymaps Copied: projects/calloutng/share/syscons/keymaps/us.dvorakp.kbd (from r243949, head/share/syscons/keymaps/us.dvorakp.kbd) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/calloutng/share/syscons/keymaps/us.dvorakp.kbd Thu Dec 6 13:03:57 2012 (r243950, copy of r243949, head/share/syscons/keymaps/us.dvorakp.kbd) @@ -0,0 +1,117 @@ +# A Programmer Dvorak keyboard for US English +# +# $FreeBSD$ +# alt +# scan cntrl alt alt cntrl lock +# code base shift cntrl shift alt shift cntrl shift state +# ------------------------------------------------------------------ + 000 nop nop nop nop nop nop nop nop O + 001 esc esc esc esc esc esc debug esc O + 002 '&' '%' nop nop '&' '%' nop nop O + 003 '[' '7' nul nul '[' '7' nul nul O + 004 '{' '5' nop nop '{' '5' nop nop O + 005 '}' '3' nop nop '}' '3' nop nop O + 006 '(' '1' nop nop '(' '1' nop nop O + 007 '=' '9' rs rs '=' '9' rs rs O + 008 '*' '0' nop nop '*' '0' nop nop O + 009 ')' '2' nop nop ')' '2' nop nop O + 010 '+' '4' nop nop '+' '4' nop nop O + 011 ']' '6' nop nop ']' ')' nop nop O + 012 '!' '8' esc esc '!' '8' esc esc O + 013 '#' '`' gs gs '#' '`' gs gs O + 014 bs bs del del bs bs del del O + 015 ht btab nop nop ht btab nop nop O + 016 ';' ':' nop nop ';' ':' nop nop O + 017 ',' '<' nop nop ',' '<' nop nop O + 018 '.' '>' nop nop '.' '>' nop nop O + 019 'p' 'P' dle dle 'p' 'P' dle dle C + 020 'y' 'Y' em em 'y' 'Y' em em C + 021 'f' 'F' ack ack 'f' 'F' ack ack C + 022 'g' 'G' bel bel 'g' 'G' bel bel C + 023 'c' 'C' etx etx 'c' 'C' etx etx C + 024 'r' 'R' dc2 dc2 'r' 'R' dc2 dc2 C + 025 'l' 'L' ff ff 'l' 'L' ff ff C + 026 '/' '?' nop nop '/' '?' nop nop O + 027 '@' '^' nop nop '@' '^' nop nop O + 028 cr cr nl nl cr cr nl nl O + 029 lctrl lctrl lctrl lctrl lctrl lctrl lctrl lctrl O + 030 'a' 'A' soh soh 'a' 'A' soh soh C + 031 'o' 'O' si si 'o' 'O' si si C + 032 'e' 'E' enq enq 'e' 'E' enq enq C + 033 'u' 'U' nak nak 'u' 'U' nak nak C + 034 'i' 'I' ht ht 'i' 'I' ht ht C + 035 'd' 'D' eot eot 'd' 'D' eot eot C + 036 'h' 'H' bs bs 'h' 'H' bs bs C + 037 't' 'T' dc4 dc4 't' 'T' dc4 dc4 C + 038 'n' 'N' so so 'n' 'N' so so C + 039 's' 'S' dc3 dc3 's' 'S' dc3 dc3 C + 040 '-' '_' us us '-' '_' us us O + 041 '$' '~' nop nop '$' '~' nop nop O + 042 lshift lshift lshift lshift lshift lshift lshift lshift O + 043 '\' '|' fs fs '\' '|' fs fs O + 044 ''' '"' nop nop ''' '"' nop nop O + 045 'q' 'Q' dc1 dc1 'q' 'Q' dc1 dc1 C + 046 'j' 'J' nl nl 'j' 'J' nl nl C + 047 'k' 'K' vt vt 'k' 'K' vt vt C + 048 'x' 'X' can can 'x' 'X' can can C + 049 'b' 'B' stx stx 'b' 'B' stx stx C + 050 'm' 'M' cr cr 'm' 'M' cr cr C + 051 'w' 'W' etb etb 'w' 'W' etb etb C + 052 'v' 'V' syn syn 'v' 'V' syn syn C + 053 'z' 'Z' sub sub 'z' 'Z' sub sub C + 054 rshift rshift rshift rshift rshift rshift rshift rshift O + 055 '*' '*' '*' '*' '*' '*' '*' '*' O + 056 lalt lalt lalt lalt lalt lalt lalt lalt O + 057 ' ' ' ' nul ' ' ' ' ' ' susp ' ' O + 058 clock clock clock clock clock clock clock clock O + 059 fkey01 fkey13 fkey25 fkey37 scr01 scr11 scr01 scr11 O + 060 fkey02 fkey14 fkey26 fkey38 scr02 scr12 scr02 scr12 O + 061 fkey03 fkey15 fkey27 fkey39 scr03 scr13 scr03 scr13 O + 062 fkey04 fkey16 fkey28 fkey40 scr04 scr14 scr04 scr14 O + 063 fkey05 fkey17 fkey29 fkey41 scr05 scr15 scr05 scr15 O + 064 fkey06 fkey18 fkey30 fkey42 scr06 scr16 scr06 scr16 O + 065 fkey07 fkey19 fkey31 fkey43 scr07 scr07 scr07 scr07 O + 066 fkey08 fkey20 fkey32 fkey44 scr08 scr08 scr08 scr08 O + 067 fkey09 fkey21 fkey33 fkey45 scr09 scr09 scr09 scr09 O + 068 fkey10 fkey22 fkey34 fkey46 scr10 scr10 scr10 scr10 O + 069 nlock nlock nlock nlock nlock nlock nlock nlock O + 070 slock slock slock slock slock slock slock slock O + 071 fkey49 '7' '7' '7' '7' '7' '7' '7' N + 072 fkey50 '8' '8' '8' '8' '8' '8' '8' N + 073 fkey51 '9' '9' '9' '9' '9' '9' '9' N + 074 fkey52 '-' '-' '-' '-' '-' '-' '-' N + 075 fkey53 '4' '4' '4' '4' '4' '4' '4' N + 076 fkey54 '5' '5' '5' '5' '5' '5' '5' N + 077 fkey55 '6' '6' '6' '6' '6' '6' '6' N + 078 fkey56 '+' '+' '+' '+' '+' '+' '+' N + 079 fkey57 '1' '1' '1' '1' '1' '1' '1' N + 080 fkey58 '2' '2' '2' '2' '2' '2' '2' N + 081 fkey59 '3' '3' '3' '3' '3' '3' '3' N + 082 fkey60 '0' '0' '0' '0' '0' '0' '0' N + 083 del '.' '.' '.' '.' '.' boot boot N + 084 nop nop nop nop nop nop nop nop O + 085 nop nop nop nop nop nop nop nop O + 086 nop nop nop nop nop nop nop nop O + 087 fkey11 fkey23 fkey35 fkey47 scr11 scr11 scr11 scr11 O + 088 fkey12 fkey24 fkey36 fkey48 scr12 scr12 scr12 scr12 O + 089 cr cr nl nl cr cr nl nl O + 090 rctrl rctrl rctrl rctrl rctrl rctrl rctrl rctrl O + 091 '/' '/' '/' '/' '/' '/' '/' '/' N + 092 nscr pscr debug debug nop nop nop nop O + 093 ralt ralt ralt ralt ralt ralt ralt ralt O + 094 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 O + 095 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 O + 096 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 O + 097 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 O + 098 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 O + 099 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 O + 100 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 O + 101 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 O + 102 fkey60 paste fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 O + 103 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O + 104 slock saver slock saver susp nop susp nop O + 105 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 O + 106 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 O + 107 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 O + 108 nop nop nop nop nop nop nop nop + Modified: projects/calloutng/sys/arm/arm/busdma_machdep-v6.c ============================================================================== --- projects/calloutng/sys/arm/arm/busdma_machdep-v6.c Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/sys/arm/arm/busdma_machdep-v6.c Thu Dec 6 13:03:57 2012 (r243950) @@ -1095,7 +1095,7 @@ _bus_dmamap_fix_user(vm_offset_t buf, bu #else #define l2cache_wb_range(va, pa, size) cpu_l2cache_wb_range(va, size) #define l2cache_wbinv_range(va, pa, size) cpu_l2cache_wbinv_range(va, size) -#define l2cache_inv_range(va, pa, size) cpu_l2cache_wbinv_range(va, size) +#define l2cache_inv_range(va, pa, size) cpu_l2cache_inv_range(va, size) #endif void Modified: projects/calloutng/sys/dev/aic7xxx/aicasm/aicasm_gram.y ============================================================================== --- projects/calloutng/sys/dev/aic7xxx/aicasm/aicasm_gram.y Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/sys/dev/aic7xxx/aicasm/aicasm_gram.y Thu Dec 6 13:03:57 2012 (r243950) @@ -103,7 +103,6 @@ static void add_version(const char *vers static int is_download_const(expression_t *immed); extern int yylex (void); -extern int yyparse (void); #define SRAM_SYMNAME "SRAM_BASE" #define SCB_SYMNAME "SCB_BASE" Modified: projects/calloutng/sys/dev/isci/isci_io_request.c ============================================================================== --- projects/calloutng/sys/dev/isci/isci_io_request.c Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/sys/dev/isci/isci_io_request.c Thu Dec 6 13:03:57 2012 (r243950) @@ -670,8 +670,7 @@ isci_io_request_construct(void *arg, bus io_request->sge = seg; ccb = io_request->ccb; - /* XXX More cleanup is needed here */ - if ((nseg == 0) || (error != 0)) { + if (error != 0) { ccb->ccb_h.status = CAM_REQ_INVALID; xpt_done(ccb); return; @@ -757,18 +756,21 @@ isci_io_request_execute_scsi_io(union cc panic("Unexpected CAM_DATA_PHYS flag! flags = 0x%x\n", ccb->ccb_h.flags); - error = bus_dmamap_load(io_request->parent.dma_tag, - io_request->parent.dma_map, csio->data_ptr, csio->dxfer_len, - isci_io_request_construct, io_request, 0x0); - - /* A resource shortage from BUSDMA will be automatically - * continued at a later point, pushing the CCB processing - * forward, which will in turn unfreeze the simq. - */ - if (error == EINPROGRESS) { - xpt_freeze_simq(controller->sim, 1); - ccb->ccb_h.flags |= CAM_RELEASE_SIMQ; - } + if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { + error = bus_dmamap_load(io_request->parent.dma_tag, + io_request->parent.dma_map, csio->data_ptr, csio->dxfer_len, + isci_io_request_construct, io_request, 0x0); + + /* A resource shortage from BUSDMA will be automatically + * continued at a later point, pushing the CCB processing + * forward, which will in turn unfreeze the simq. + */ + if (error == EINPROGRESS) { + xpt_freeze_simq(controller->sim, 1); + ccb->ccb_h.flags |= CAM_RELEASE_SIMQ; + } + } else + isci_io_request_construct(io_request, NULL, 0, 0); } void Modified: projects/calloutng/sys/kern/subr_uio.c ============================================================================== --- projects/calloutng/sys/kern/subr_uio.c Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/sys/kern/subr_uio.c Thu Dec 6 13:03:57 2012 (r243950) @@ -389,7 +389,6 @@ again: case UIO_SYSSPACE: iov_base = iov->iov_base; *iov_base = c; - iov->iov_base = iov_base; break; case UIO_NOCOPY: Modified: projects/calloutng/sys/net/rtsock.c ============================================================================== --- projects/calloutng/sys/net/rtsock.c Thu Dec 6 12:59:06 2012 (r243949) +++ projects/calloutng/sys/net/rtsock.c Thu Dec 6 13:03:57 2012 (r243950) @@ -65,6 +65,7 @@ #include #include #ifdef INET6 +#include #include #endif @@ -175,14 +176,6 @@ MTX_SYSINIT(rtsock, &rtsock_mtx, "rtsock #define RTSOCK_LOCK_ASSERT() mtx_assert(&rtsock_mtx, MA_OWNED) static SYSCTL_NODE(_net, OID_AUTO, route, CTLFLAG_RD, 0, ""); -#ifdef INET6 -static VNET_DEFINE(int, deembed_scopeid) = 1; -#define V_deembed_scopeid VNET(deembed_scopeid) -SYSCTL_DECL(_net_inet6_ip6); -SYSCTL_VNET_INT(_net_inet6_ip6, OID_AUTO, deembed_scopeid, CTLFLAG_RW, - &VNET_NAME(deembed_scopeid), 0, - "Extract embedded zone ID and set it to sin6_scope_id in sockaddr_in6."); -#endif struct walkarg { int w_tmemsize; @@ -572,9 +565,9 @@ route_output(struct mbuf *m, struct sock struct radix_node_head *rnh; struct rt_addrinfo info; #ifdef INET6 - struct sockaddr_storage ss_dst; - struct sockaddr_storage ss_gw; + struct sockaddr_storage ss; struct sockaddr_in6 *sin6; + int i, rti_need_deembed = 0; #endif int len, error = 0; struct ifnet *ifp = NULL; @@ -606,6 +599,11 @@ route_output(struct mbuf *m, struct sock rtm->rtm_pid = curproc->p_pid; bzero(&info, sizeof(info)); info.rti_addrs = rtm->rtm_addrs; + /* + * rt_xaddrs() performs s6_addr[2] := sin6_scope_id for AF_INET6 + * link-local address because rtrequest requires addresses with + * embedded scope id. + */ if (rt_xaddrs((caddr_t)(rtm + 1), len + (caddr_t)rtm, &info)) { info.rti_info[RTAX_DST] = NULL; senderr(EINVAL); @@ -672,11 +670,18 @@ route_output(struct mbuf *m, struct sock if (info.rti_info[RTAX_GATEWAY]->sa_family == AF_LINK && (rtm->rtm_flags & RTF_LLDATA) != 0) { error = lla_rt_output(rtm, &info); +#ifdef INET6 + if (error == 0) + rti_need_deembed = (V_deembed_scopeid) ? 1 : 0; +#endif break; } error = rtrequest1_fib(RTM_ADD, &info, &saved_nrt, so->so_fibnum); if (error == 0 && saved_nrt) { +#ifdef INET6 + rti_need_deembed = (V_deembed_scopeid) ? 1 : 0; +#endif RT_LOCK(saved_nrt); rt_setmetrics(rtm->rtm_inits, &rtm->rtm_rmx, &saved_nrt->rt_rmx); @@ -693,6 +698,10 @@ route_output(struct mbuf *m, struct sock (info.rti_info[RTAX_GATEWAY]->sa_family == AF_LINK) && (rtm->rtm_flags & RTF_LLDATA) != 0) { error = lla_rt_output(rtm, &info); +#ifdef INET6 + if (error == 0) + rti_need_deembed = (V_deembed_scopeid) ? 1 : 0; +#endif break; } error = rtrequest1_fib(RTM_DELETE, &info, &saved_nrt, @@ -702,6 +711,10 @@ route_output(struct mbuf *m, struct sock rt = saved_nrt; goto report; } +#ifdef INET6 + /* rt_msg2() will not be used when RTM_DELETE fails. */ + rti_need_deembed = (V_deembed_scopeid) ? 1 : 0; +#endif break; case RTM_GET: @@ -803,34 +816,7 @@ route_output(struct mbuf *m, struct sock senderr(ESRCH); } info.rti_info[RTAX_DST] = rt_key(rt); -#ifdef INET6 - if (V_deembed_scopeid) { - switch (rt_key(rt)->sa_family) { - case AF_INET6: - sin6 = (struct sockaddr_in6 *)&ss_dst; - bcopy(rt_key(rt), sin6, sizeof(*sin6)); - if (sa6_recoverscope(sin6) == 0) - info.rti_info[RTAX_DST] = - (struct sockaddr *)sin6; - break; - } - } -#endif info.rti_info[RTAX_GATEWAY] = rt->rt_gateway; -#ifdef INET6 - if (V_deembed_scopeid) { - switch (rt->rt_gateway->sa_family) { - case AF_INET6: - sin6 = (struct sockaddr_in6 *)&ss_gw; - bcopy(rt->rt_gateway, sin6, - sizeof(*sin6)); - if (sa6_recoverscope(sin6) == 0) - info.rti_info[RTAX_GATEWAY] = *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 18:12:00 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 C72809FD; Thu, 6 Dec 2012 18:12:00 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from hammer.pct.niksun.com (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 3D1B88FC08; Thu, 6 Dec 2012 18:12:00 +0000 (UTC) Message-ID: <50C0DFB0.6030007@FreeBSD.org> Date: Thu, 06 Dec 2012 13:10:56 -0500 From: Jung-uk Kim User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Roman Divacky Subject: Re: svn commit: r243914 - projects/bpfjit References: <201212052312.qB5NC2Hn056351@svn.freebsd.org> <20121206084936.GA58940@freebsd.org> In-Reply-To: <20121206084936.GA58940@freebsd.org> X-Enigmail-Version: 1.4.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org 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, 06 Dec 2012 18:12:00 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 2012-12-06 03:49:36 -0500, Roman Divacky wrote: > Hi, > > David Chisnall started bpf jitter based on llvm. You can check it > out here: > > http://people.freebsd.org/~theraven/bpfjit/ > > > It's based on the idea of jitting the code in userspace and > passing the resulting code to the kernel via some interface (this > part is not done yet). Long time ago (about 10 years ago), I implemented something like that (i.e., compile BPF program to native machine code in userspace, then upload to kernel space) for my $job but I quickly replace it with BPF_JITTER for several reasons. First of all, there is a big security risk. A BPF filter program can be easily validated by kernel with bpf_validate(9). We cannot do that for native machine code and we must not allow uploading arbitrary code to kernel space. You may say it is well protected by /dev/bpf permissions but it is not good enough, i.e., all you need is read permission to inject code to kernel space. Second, LLVM is too heavy for BPF filter machine. For example, libtrace did that long ago: http://www.wand.net.nz/trac/libtrace/changeset/1586 Someone actually benchmarked it with other JIT implementations: http://carnivore.it/2011/12/28/bpf_performance LLVM compilation took too much time to be useful: engine filter cycles compile cycles - ---------------+---------------+---------------- jit-linux 106468 33126+72796 jit-freebsd 113958 48292+72796 llvm 157394 380843640+72796 pcap 276910 72796 linux 351391 9245+72796 I haven't tried theraven's implementation but I am afraid the result may be similar. On top of that, it cannot be easily embedded in kernel. BTW, NetBSD actually imported my BPF_JITTER first, then it was replaced by bpfjit: http://mail-index.netbsd.org/tech-net/2012/08/19/msg003619.html http://mail-index.netbsd.org/source-changes/2012/10/27/msg038310.html I wanted to try it out because I think it has great potential. ;-) Jung-uk Kim -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iQEcBAEBAgAGBQJQwN+wAAoJECXpabHZMqHObcIH/0VN0ssRB9nNPwKq0WnxYZdO 7rnhymuYh8gRIGXkcHAu1ma/egJFk7tFTx37fm1q9iT/f+1TB2U5ZNi+6h9pnxSl W7U+yrEFvE4FkI6xnHq26amLTAQv3xdmNhB67M+glXj+emRuFfckgShnvgd4brRy ZJnaqJ3frCXld/1WG7dSmq1OIN4mT/7stw6BwwtzrkbdtcTQRgukNIFEyObMmReE RNligaB0l2Yj0S+6lI+6VQTyDc7NhSHMAUw32F385EuKYcJwkrj24eYxbCcWyP+g +9lGAYhLUOXUfM+7IISwdguWnQnIcpOxvo4I2shAglJYygnN+hSXZWn9IzTU5Gw= =4Ov6 -----END PGP SIGNATURE----- From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 18:25:51 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 65E88E88; Thu, 6 Dec 2012 18:25:51 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from hammer.pct.niksun.com (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id E0D548FC13; Thu, 6 Dec 2012 18:25:50 +0000 (UTC) Message-ID: <50C0E2EF.70707@FreeBSD.org> Date: Thu, 06 Dec 2012 13:24:47 -0500 From: Jung-uk Kim User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Robert Watson Subject: Re: svn commit: r243929 - projects/bpfjit References: <201212060050.qB60nxXk021929@svn.freebsd.org> In-Reply-To: X-Enigmail-Version: 1.4.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org 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, 06 Dec 2012 18:25:51 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 2012-12-06 04:05:27 -0500, Robert Watson wrote: > > On Thu, 6 Dec 2012, Jung-uk Kim wrote: > >> Author: jkim Date: Thu Dec 6 00:49:59 2012 New Revision: 243929 >> URL: http://svnweb.freebsd.org/changeset/base/243929 >> >> Log: Add an UPDATING entry for the BPF_JITTER deprecation. > > Will it actually be necessary to change the kernel option name -- > my impression was that the previous JIT (and possibly the new JIT) > are actually entirely transparent to userspace applications -- they > keep submitting BPF filters per normal...? Correct. > In which case, perhaps there's no need to change the option name, > as that would introduce an upgrade hurdle. Or is there sufficient > difference that we want users to bump into it in order to > understand that there has been an implementation change? When I implemented the BPF_JITTER, some people complained that "jitter" sounds pretty bad for networking guys. ;-) Seriously, there is no serious technical reason to rename the kernel option but I wanted to make it simpler. Also, I don't see any "upgrade hurdle" because BPF_JITTER was not turned on by default in GENERIC kernels. Jung-uk Kim -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iQEcBAEBAgAGBQJQwOLvAAoJECXpabHZMqHO23EH/24HP+GgzcdMlRzlnWGuYfN1 J8VD58ZzmIc3te/usGsioMB6UXS2ThLH+t8U3gxXIqOqWHxI2sEwqEJmfOk47L7m SZRHcwRaZzF7vMPJcJy8ayQzEK6LqRTLzbavDgjshXRn3lUXzlVQKVi/sKp3K0VL ZwMPj827l1tFtOSA81FPaBRfsNXgBjEle8UTNGhoRZLHEE9UR6jHnrhTxN155IZx P3RZBspfeI1ODGxk2nh6hFQaEZ6TNBq51jRlAtrmzalxRefPGyMcFei/8mywTBqq cP+br1fLLnu1oAeF5HJzYo1eJ4RQndwpouBMY4hZy1CihfM9dCuukV9wtUZtI8s= =GGqN -----END PGP SIGNATURE----- From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 18:51:19 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 ACB9AB3D; Thu, 6 Dec 2012 18:51:19 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 922FB8FC08; Thu, 6 Dec 2012 18:51:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB6IpJmP013859; Thu, 6 Dec 2012 18:51:19 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB6IpJpe013858; Thu, 6 Dec 2012 18:51:19 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212061851.qB6IpJpe013858@svn.freebsd.org> From: Jung-uk Kim Date: Thu, 6 Dec 2012 18:51:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243955 - projects/bpfjit/sys/contrib/sljit 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, 06 Dec 2012 18:51:19 -0000 Author: jkim Date: Thu Dec 6 18:51:18 2012 New Revision: 243955 URL: http://svnweb.freebsd.org/changeset/base/243955 Log: Add comments about possible non-X86 issues. Modified: projects/bpfjit/sys/contrib/sljit/sljitConfig.h Modified: projects/bpfjit/sys/contrib/sljit/sljitConfig.h ============================================================================== --- projects/bpfjit/sys/contrib/sljit/sljitConfig.h Thu Dec 6 18:41:53 2012 (r243954) +++ projects/bpfjit/sys/contrib/sljit/sljitConfig.h Thu Dec 6 18:51:18 2012 (r243955) @@ -50,11 +50,15 @@ #define SLJIT_VERBOSE 0 #define SLJIT_FREE(ptr) free(ptr, M_TEMP) -#define SLJIT_FREE_EXEC(ptr) free(ptr, M_TEMP) #define SLJIT_MALLOC(size) malloc(size, M_TEMP, M_NOWAIT) -#define SLJIT_MALLOC_EXEC(size) malloc(size, M_TEMP, M_NOWAIT) #define SLJIT_MEMMOVE(dest, src, len) bcopy(src, dest, len) #define SLJIT_ZEROMEM(dest, len) bzero(dest, len) + +/* XXX okay for x86 but other architectures? */ +#define SLJIT_FREE_EXEC(ptr) free(ptr, M_TEMP) +#define SLJIT_MALLOC_EXEC(size) malloc(size, M_TEMP, M_NOWAIT) + +/* XXX need SLJIT_CACHE_FLUSH(from, to) for non-X86 to flush icache */ #endif /* --------------------------------------------------------------------- */ From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 19:53: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 576FC2D3 for ; Thu, 6 Dec 2012 19:53:47 +0000 (UTC) (envelope-from lists@eitanadler.com) Received: from mail-vc0-f182.google.com (mail-vc0-f182.google.com [209.85.220.182]) by mx1.freebsd.org (Postfix) with ESMTP id D7D0E8FC13 for ; Thu, 6 Dec 2012 19:53:46 +0000 (UTC) Received: by mail-vc0-f182.google.com with SMTP id fo14so8155540vcb.13 for ; Thu, 06 Dec 2012 11:53:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eitanadler.com; s=0xdeadbeef; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=VFTdKs7+5iIO1g2qk4URIOSoJoXgxLc7OoxCl3BmCB0=; b=ADQ71vlVibUTu47PyWFDC/Aa6tn09ZmPBwLYOjcC1ZHgLcrbdJ2Cwelj4NBGfgxS6W eyPWmkHca4ugI8NxsOntTx6P/ZkrWmvECNTxb7TGMDueSeQ+hGZ08GYfpSuF1T9e6uS7 TWWsCC6wMx5uqRfKjXJ71/itXAiS/gjqw+WG8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:x-gm-message-state; bh=VFTdKs7+5iIO1g2qk4URIOSoJoXgxLc7OoxCl3BmCB0=; b=Ak3821x7mOcyjv+sN+dOEBQRmMoH9rOi7mZJXCf9rKFTz15n5wROojDK+X76NkvY11 uZF4m3iZ5gv67ziuISi1VpPWyWkGM4mDAfiaRzfTl3XkjK0bK1fcntuNhV5z2ZFsha1T 1l/GSfyL9FA/RuQL08sIU8VYXwb67VOqvfpb0xn0/BYwGK4QMnt0udzhPeC5p3W/ZEsg k4MTStEoz4apKhfUpRX2bJU3BGh2/s1cevKcM50a6QGG3znM+f2eiOFfam0hQb3S93Xn yY93mS7FoFFQLmJF3JcjqFLN5zRLMamNuPwpCaqlcSorjbPCrsrKQ1SIwP8p7Aj3k+gL 8xpQ== Received: by 10.58.18.239 with SMTP id z15mr2240040ved.27.1354823625845; Thu, 06 Dec 2012 11:53:45 -0800 (PST) MIME-Version: 1.0 Received: by 10.220.113.137 with HTTP; Thu, 6 Dec 2012 11:53:15 -0800 (PST) In-Reply-To: <50C0DFB0.6030007@FreeBSD.org> References: <201212052312.qB5NC2Hn056351@svn.freebsd.org> <20121206084936.GA58940@freebsd.org> <50C0DFB0.6030007@FreeBSD.org> From: Eitan Adler Date: Thu, 6 Dec 2012 14:53:15 -0500 Message-ID: Subject: Re: svn commit: r243914 - projects/bpfjit To: Jung-uk Kim Content-Type: text/plain; charset=UTF-8 X-Gm-Message-State: ALoCoQm7aMnn6DLyb8xxQCqzsUhz6zEXytJaIwuyXA1i+o4r6eQ+YyKnpJbu1nL29Bq4hiCsfHMr Cc: svn-src-projects@freebsd.org, Roman Divacky , src-committers@freebsd.org 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, 06 Dec 2012 19:53:47 -0000 On 6 December 2012 13:10, Jung-uk Kim wrote: > , i.e., all you need is read permission to inject code to kernel > space. Could you explain what you mean here? -- Eitan Adler From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 20:08: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 5F63C7DA; Thu, 6 Dec 2012 20:08:04 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 3947D8FC08; Thu, 6 Dec 2012 20:08:04 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB6K84TG024914; Thu, 6 Dec 2012 20:08:04 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB6K847O024913; Thu, 6 Dec 2012 20:08:04 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212062008.qB6K847O024913@svn.freebsd.org> From: Jung-uk Kim Date: Thu, 6 Dec 2012 20:08:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243958 - projects/bpfjit/sys/net 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, 06 Dec 2012 20:08:04 -0000 Author: jkim Date: Thu Dec 6 20:08:03 2012 New Revision: 243958 URL: http://svnweb.freebsd.org/changeset/base/243958 Log: Simplify and optimize main decode loop. Modified: projects/bpfjit/sys/net/bpfjit.c Modified: projects/bpfjit/sys/net/bpfjit.c ============================================================================== --- projects/bpfjit/sys/net/bpfjit.c Thu Dec 6 19:43:48 2012 (r243957) +++ projects/bpfjit/sys/net/bpfjit.c Thu Dec 6 20:08:03 2012 (r243958) @@ -1197,7 +1197,6 @@ bpfjit_generate_code(struct bpf_insn *in size_t i; int status; int branching, negate; - unsigned int rval, mode, src; int ntmp; unsigned int locals_size; unsigned int minm, maxm; /* min/max k for M[k] */ @@ -1352,229 +1351,164 @@ bpfjit_generate_code(struct bpf_insn *in } pc = &insns[i]; - switch (BPF_CLASS(pc->code)) { + switch (pc->code) { default: goto fail; - case BPF_LD: - /* BPF_LD+BPF_IMM A <- k */ - if (pc->code == (BPF_LD|BPF_IMM)) { - status = sljit_emit_op1(compiler, - SLJIT_MOV, - BPFJIT_A, 0, - SLJIT_IMM, (uint32_t)pc->k); - if (status != SLJIT_SUCCESS) - goto fail; - - continue; - } - - /* BPF_LD+BPF_MEM A <- M[k] */ - if (pc->code == (BPF_LD|BPF_MEM)) { - if (pc->k < minm || pc->k > maxm) - goto fail; - status = sljit_emit_op1(compiler, - SLJIT_MOV_UI, - BPFJIT_A, 0, - SLJIT_MEM1(SLJIT_LOCALS_REG), - mem_local_offset(pc->k, minm)); - if (status != SLJIT_SUCCESS) - goto fail; - - continue; - } - - /* BPF_LD+BPF_W+BPF_LEN A <- len */ - if (pc->code == (BPF_LD|BPF_W|BPF_LEN)) { - status = sljit_emit_op1(compiler, - SLJIT_MOV, - BPFJIT_A, 0, - BPFJIT_WIRELEN, 0); - if (status != SLJIT_SUCCESS) - goto fail; - - continue; - } - - mode = BPF_MODE(pc->code); - if (mode != BPF_ABS && mode != BPF_IND) - goto fail; + case BPF_LD|BPF_IMM: + status = sljit_emit_op1(compiler, + SLJIT_MOV, + BPFJIT_A, 0, + SLJIT_IMM, (uint32_t)pc->k); + break; - status = emit_pkt_read(compiler, pc, - to_mchain_jump, ret0, &ret0_size); - if (status != SLJIT_SUCCESS) + case BPF_LD|BPF_MEM: + if (pc->k < minm || pc->k > maxm) goto fail; + status = sljit_emit_op1(compiler, + SLJIT_MOV_UI, + BPFJIT_A, 0, + SLJIT_MEM1(SLJIT_LOCALS_REG), + mem_local_offset(pc->k, minm)); + break; - continue; - - case BPF_LDX: - mode = BPF_MODE(pc->code); - - /* BPF_LDX+BPF_W+BPF_IMM X <- k */ - if (mode == BPF_IMM) { - if (BPF_SIZE(pc->code) != BPF_W) - goto fail; - status = sljit_emit_op1(compiler, - SLJIT_MOV, - BPFJIT_X, 0, - SLJIT_IMM, (uint32_t)pc->k); - if (status != SLJIT_SUCCESS) - goto fail; - - continue; - } - - /* BPF_LDX+BPF_W+BPF_LEN X <- len */ - if (mode == BPF_LEN) { - if (BPF_SIZE(pc->code) != BPF_W) - goto fail; - status = sljit_emit_op1(compiler, - SLJIT_MOV, - BPFJIT_X, 0, - BPFJIT_WIRELEN, 0); - if (status != SLJIT_SUCCESS) - goto fail; - - continue; - } - - /* BPF_LDX+BPF_W+BPF_MEM X <- M[k] */ - if (mode == BPF_MEM) { - if (BPF_SIZE(pc->code) != BPF_W) - goto fail; - if (pc->k < minm || pc->k > maxm) - goto fail; - status = sljit_emit_op1(compiler, - SLJIT_MOV_UI, - BPFJIT_X, 0, - SLJIT_MEM1(SLJIT_LOCALS_REG), - mem_local_offset(pc->k, minm)); - if (status != SLJIT_SUCCESS) - goto fail; + case BPF_LD|BPF_W|BPF_LEN: + status = sljit_emit_op1(compiler, + SLJIT_MOV, + BPFJIT_A, 0, + BPFJIT_WIRELEN, 0); + break; + + case BPF_LD|BPF_W|BPF_ABS: + case BPF_LD|BPF_H|BPF_ABS: + case BPF_LD|BPF_B|BPF_ABS: + case BPF_LD|BPF_W|BPF_IND: + case BPF_LD|BPF_H|BPF_IND: + case BPF_LD|BPF_B|BPF_IND: + status = emit_pkt_read(compiler, pc, to_mchain_jump, + ret0, &ret0_size); + break; - continue; - } + case BPF_LDX|BPF_IMM: + status = sljit_emit_op1(compiler, + SLJIT_MOV, + BPFJIT_X, 0, + SLJIT_IMM, (uint32_t)pc->k); + break; - /* BPF_LDX+BPF_B+BPF_MSH X <- 4*(P[k:1]&0xf) */ - if (mode != BPF_MSH || BPF_SIZE(pc->code) != BPF_B) - goto fail; + case BPF_LDX|BPF_W|BPF_LEN: + status = sljit_emit_op1(compiler, + SLJIT_MOV, + BPFJIT_X, 0, + BPFJIT_WIRELEN, 0); + break; - status = emit_msh(compiler, pc, - to_mchain_jump, ret0, &ret0_size); - if (status != SLJIT_SUCCESS) + case BPF_LDX|BPF_MEM: + if (pc->k < minm || pc->k > maxm) goto fail; + status = sljit_emit_op1(compiler, + SLJIT_MOV_UI, + BPFJIT_X, 0, + SLJIT_MEM1(SLJIT_LOCALS_REG), + mem_local_offset(pc->k, minm)); + break; - continue; + case BPF_LDX|BPF_MSH|BPF_B: + status = emit_msh(compiler, pc, to_mchain_jump, + ret0, &ret0_size); + break; case BPF_ST: - if (pc->code != BPF_ST || pc->k < minm || pc->k > maxm) + if (pc->k < minm || pc->k > maxm) goto fail; - status = sljit_emit_op1(compiler, SLJIT_MOV_UI, SLJIT_MEM1(SLJIT_LOCALS_REG), mem_local_offset(pc->k, minm), BPFJIT_A, 0); - if (status != SLJIT_SUCCESS) - goto fail; - - continue; + break; case BPF_STX: - if (pc->code != BPF_STX || pc->k < minm || pc->k > maxm) + if (pc->k < minm || pc->k > maxm) goto fail; - status = sljit_emit_op1(compiler, SLJIT_MOV_UI, SLJIT_MEM1(SLJIT_LOCALS_REG), mem_local_offset(pc->k, minm), BPFJIT_X, 0); - if (status != SLJIT_SUCCESS) - goto fail; - - continue; - - case BPF_ALU: - - if (pc->code == (BPF_ALU|BPF_NEG)) { - status = sljit_emit_op1(compiler, - SLJIT_NEG, - BPFJIT_A, 0, - BPFJIT_A, 0); - if (status != SLJIT_SUCCESS) - goto fail; + break; - continue; - } - - if (BPF_OP(pc->code) != BPF_DIV) { - status = sljit_emit_op2(compiler, - bpf_alu_to_sljit_op(pc), - BPFJIT_A, 0, - BPFJIT_A, 0, - kx_to_reg(pc), kx_to_reg_arg(pc)); - if (status != SLJIT_SUCCESS) - goto fail; - - continue; - } + case BPF_ALU|BPF_NEG: + status = sljit_emit_op1(compiler, + SLJIT_NEG, + BPFJIT_A, 0, + BPFJIT_A, 0); + break; - /* BPF_DIV */ + case BPF_ALU|BPF_ADD|BPF_X: + case BPF_ALU|BPF_SUB|BPF_X: + case BPF_ALU|BPF_MUL|BPF_X: + case BPF_ALU|BPF_AND|BPF_X: + case BPF_ALU|BPF_OR|BPF_X: + case BPF_ALU|BPF_LSH|BPF_X: + case BPF_ALU|BPF_RSH|BPF_X: + case BPF_ALU|BPF_ADD|BPF_K: + case BPF_ALU|BPF_SUB|BPF_K: + case BPF_ALU|BPF_MUL|BPF_K: + case BPF_ALU|BPF_AND|BPF_K: + case BPF_ALU|BPF_OR|BPF_K: + case BPF_ALU|BPF_LSH|BPF_K: + case BPF_ALU|BPF_RSH|BPF_K: + status = sljit_emit_op2(compiler, + bpf_alu_to_sljit_op(pc), + BPFJIT_A, 0, + BPFJIT_A, 0, + kx_to_reg(pc), kx_to_reg_arg(pc)); + break; - src = BPF_SRC(pc->code); - if (src != BPF_X && src != BPF_K) + case BPF_ALU|BPF_DIV|BPF_X: + /* division by zero? */ + jump = sljit_emit_cmp(compiler, + SLJIT_C_EQUAL|SLJIT_INT_OP, + BPFJIT_X, 0, + SLJIT_IMM, 0); + if (jump == NULL) goto fail; + ret0[ret0_size++] = jump; + status = emit_division(compiler, BPFJIT_X, 0); + break; + case BPF_ALU|BPF_DIV|BPF_K: /* division by zero? */ - if (src == BPF_X) { - jump = sljit_emit_cmp(compiler, - SLJIT_C_EQUAL|SLJIT_INT_OP, - BPFJIT_X, 0, - SLJIT_IMM, 0); - if (jump == NULL) - goto fail; - ret0[ret0_size++] = jump; - } else if (pc->k == 0) { + if (pc->k == 0) { jump = sljit_emit_jump(compiler, SLJIT_JUMP); if (jump == NULL) goto fail; ret0[ret0_size++] = jump; - } - - if (src == BPF_X) { - status = emit_division(compiler, BPFJIT_X, 0); - if (status != SLJIT_SUCCESS) - goto fail; - } else if (pc->k != 0) { - if (pc->k & (pc->k - 1)) { - status = emit_division(compiler, - SLJIT_IMM, (uint32_t)pc->k); - } else { - status = emit_pow2_division(compiler, - (uint32_t)pc->k); - } - if (status != SLJIT_SUCCESS) - goto fail; - } - - continue; - - case BPF_JMP: - - switch (BPF_OP(pc->code)) { - case BPF_JA: + } else if ((pc->k & (pc->k - 1)) == 0) { + status = emit_pow2_division(compiler, + (uint32_t)pc->k); + } else { + status = emit_division(compiler, SLJIT_IMM, + (uint32_t)pc->k); + } + break; + + case BPF_JMP|BPF_JA: + case BPF_JMP|BPF_JGT|BPF_K: + case BPF_JMP|BPF_JGE|BPF_K: + case BPF_JMP|BPF_JEQ|BPF_K: + case BPF_JMP|BPF_JSET|BPF_K: + case BPF_JMP|BPF_JGT|BPF_X: + case BPF_JMP|BPF_JGE|BPF_X: + case BPF_JMP|BPF_JEQ|BPF_X: + case BPF_JMP|BPF_JSET|BPF_X: + if (pc->code == (BPF_JMP|BPF_JA)) jt = jf = pc->k; - break; - case BPF_JEQ: - case BPF_JGT: - case BPF_JGE: - case BPF_JSET: + else { jt = pc->jt; jf = pc->jf; - break; - default: - goto fail; } negate = (jt == 0) ? 1 : 0; @@ -1617,79 +1551,54 @@ bpfjit_generate_code(struct bpf_insn *in BPFJIT_ASSERT(jtf[branching].bj_jump == NULL); jtf[branching].bj_jump = jump; } + break; - continue; - - case BPF_RET: - - rval = BPF_RVAL(pc->code); - if (rval == BPF_X) - goto fail; - - /* BPF_RET+BPF_K accept k bytes */ - if (rval == BPF_K) { - status = sljit_emit_op1(compiler, - SLJIT_MOV, - BPFJIT_A, 0, - SLJIT_IMM, (uint32_t)pc->k); - if (status != SLJIT_SUCCESS) - goto fail; - } + case BPF_RET|BPF_K: + status = sljit_emit_op1(compiler, + SLJIT_MOV, + BPFJIT_A, 0, + SLJIT_IMM, (uint32_t)pc->k); + break; - /* BPF_RET+BPF_A accept A bytes */ - if (rval == BPF_A) { + case BPF_RET|BPF_A: #if BPFJIT_A != SLJIT_RETURN_REG - status = sljit_emit_op1(compiler, - SLJIT_MOV, - SLJIT_RETURN_REG, 0, - BPFJIT_A, 0); - if (status != SLJIT_SUCCESS) - goto fail; + status = sljit_emit_op1(compiler, + SLJIT_MOV, + SLJIT_RETURN_REG, 0, + BPFJIT_A, 0); #endif - } - - /* - * Save a jump to a normal return. If the program - * ends with BPF_RET, no jump is needed because - * the normal return is generated right after the - * last instruction. - */ - if (i != insn_count - 1) { - jump = sljit_emit_jump(compiler, SLJIT_JUMP); - if (jump == NULL) - goto fail; - returns[returns_size++] = jump; - } - - continue; - - case BPF_MISC: - - if (pc->code == (BPF_MISC|BPF_TAX)) { - status = sljit_emit_op1(compiler, - SLJIT_MOV_UI, - BPFJIT_X, 0, - BPFJIT_A, 0); - if (status != SLJIT_SUCCESS) - goto fail; - - continue; - } - - if (pc->code == (BPF_MISC|BPF_TXA)) { - status = sljit_emit_op1(compiler, - SLJIT_MOV, - BPFJIT_A, 0, - BPFJIT_X, 0); - if (status != SLJIT_SUCCESS) - goto fail; + break; - continue; - } + case BPF_MISC|BPF_TAX: + status = sljit_emit_op1(compiler, + SLJIT_MOV_UI, + BPFJIT_X, 0, + BPFJIT_A, 0); + break; + case BPF_MISC|BPF_TXA: + status = sljit_emit_op1(compiler, + SLJIT_MOV, + BPFJIT_A, 0, + BPFJIT_X, 0); + break; + } + if (status != SLJIT_SUCCESS) goto fail; - } /* switch */ - } /* main loop */ + + /* + * Save a jump to a normal return. If the program + * ends with BPF_RET, no jump is needed because + * the normal return is generated right after the + * last instruction. + */ + if (BPF_CLASS(pc->code) == BPF_RET && i != insn_count - 1) { + jump = sljit_emit_jump(compiler, SLJIT_JUMP); + if (jump == NULL) + goto fail; + returns[returns_size++] = jump; + } + } BPFJIT_ASSERT(ret0_size == ret0_maxsize); BPFJIT_ASSERT(returns_size <= returns_maxsize); From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 20:31:58 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 69CAE2EF; Thu, 6 Dec 2012 20:31:58 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from hammer.pct.niksun.com (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id D17C08FC08; Thu, 6 Dec 2012 20:31:57 +0000 (UTC) Message-ID: <50C1007E.6000304@FreeBSD.org> Date: Thu, 06 Dec 2012 15:30:54 -0500 From: Jung-uk Kim User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Eitan Adler Subject: Re: svn commit: r243914 - projects/bpfjit References: <201212052312.qB5NC2Hn056351@svn.freebsd.org> <20121206084936.GA58940@freebsd.org> <50C0DFB0.6030007@FreeBSD.org> In-Reply-To: X-Enigmail-Version: 1.4.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: svn-src-projects@freebsd.org, Roman Divacky , src-committers@freebsd.org 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, 06 Dec 2012 20:31:58 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 2012-12-06 14:53:15 -0500, Eitan Adler wrote: > On 6 December 2012 13:10, Jung-uk Kim wrote: >> , i.e., all you need is read permission to inject code to kernel >> space. > > Could you explain what you mean here? % ls -l /dev/bpf crw-r----- 1 root wheel 0x8 12 5 17:08 /dev/bpf % id -Gn staff wheel Note I only have read access to /dev/bpf. % ktrace tcpdump -i re0 -n -c 1 host xxx.xxx.xxx.xxx > /dev/null tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on re0, link-type EN10MB (Ethernet), capture size 65535 bytes 1 packet captured 11 packets received by filter 0 packets dropped by kernel % kdump | grep ioctl ... 6615 tcpdump CALL ioctl(0x3,BIOCSETF,0x7fffffffd148) 6615 tcpdump RET ioctl 0 ... 6615 tcpdump CALL ioctl(0x3,BIOCSETF,0x7fffffffd2b0) 6615 tcpdump RET ioctl 0 ... The first one sets the default read filter. The second one sets my read filter. If we implement another command to upload the native machine code, it will be very much like this. Of course, we can only allow it for root but it will not be very useful. Jung-uk Kim -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iQEcBAEBAgAGBQJQwQB+AAoJECXpabHZMqHOYfsH/RYDEjdLGo9PkkrouFnWAymj Yi3FwUixkLVGfa2l59MVWcoMX/+gb44HXYLbMREaljdNQ32LY2P6/Pl3tsVKBVex HHqIT9zbq4wCP1U5dIEbH1ra5ff+0eDOG3jPFWgG6b8fX4b9ey7uS606GaeFSkpm py7jO2BsSHe32bImGJvA6QhVYmea0H15yNxn358ZVqMJvHUDN3yxSvRgHOU9jUFW KhIsRj9/VpspSzvPL2AGCKd50N3u4/gi1O1w07OgIUMbXGWIvxSwahYL1Dra3qD5 1hRNbZGgq5g1+SoDrZzs2JrjwF7X32zo1L0GW40BXGJhdQTu/iMlZEEn4eiS9K4= =dO58 -----END PGP SIGNATURE----- From owner-svn-src-projects@FreeBSD.ORG Thu Dec 6 21:44: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 1BF17E2F; Thu, 6 Dec 2012 21:44:54 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id F3A138FC12; Thu, 6 Dec 2012 21:44:53 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB6Lir4a038776; Thu, 6 Dec 2012 21:44:53 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB6Lirmw038775; Thu, 6 Dec 2012 21:44:53 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212062144.qB6Lirmw038775@svn.freebsd.org> From: Jung-uk Kim Date: Thu, 6 Dec 2012 21:44:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243959 - projects/bpfjit/sys/powerpc/conf 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, 06 Dec 2012 21:44:54 -0000 Author: jkim Date: Thu Dec 6 21:44:53 2012 New Revision: 243959 URL: http://svnweb.freebsd.org/changeset/base/243959 Log: Add BPFJIT to GENERIC kernel for powerpc64. Pointed by: nwhitehorn Modified: projects/bpfjit/sys/powerpc/conf/GENERIC64 Modified: projects/bpfjit/sys/powerpc/conf/GENERIC64 ============================================================================== --- projects/bpfjit/sys/powerpc/conf/GENERIC64 Thu Dec 6 20:08:03 2012 (r243958) +++ projects/bpfjit/sys/powerpc/conf/GENERIC64 Thu Dec 6 21:44:53 2012 (r243959) @@ -154,6 +154,7 @@ device firmware # firmware assist modul # Be aware of the administrative consequences of enabling this! # Note that 'bpf' is required for DHCP. device bpf #Berkeley packet filter +options BPFJIT # enable BPF just-in-time compiler # USB support options USB_DEBUG # enable debug msgs From owner-svn-src-projects@FreeBSD.ORG Fri Dec 7 00:46:44 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 85042250; Fri, 7 Dec 2012 00:46:44 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6AEA08FC12; Fri, 7 Dec 2012 00:46:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB70kirk065265; Fri, 7 Dec 2012 00:46:44 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB70kikV065263; Fri, 7 Dec 2012 00:46:44 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212070046.qB70kikV065263@svn.freebsd.org> From: Jung-uk Kim Date: Fri, 7 Dec 2012 00:46:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243961 - projects/bpfjit/sys/net 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, 07 Dec 2012 00:46:44 -0000 Author: jkim Date: Fri Dec 7 00:46:43 2012 New Revision: 243961 URL: http://svnweb.freebsd.org/changeset/base/243961 Log: Record the NetBSD CVS revisions. Add my copyright. Modified: projects/bpfjit/sys/net/bpfjit.c projects/bpfjit/sys/net/bpfjit.h Modified: projects/bpfjit/sys/net/bpfjit.c ============================================================================== --- projects/bpfjit/sys/net/bpfjit.c Thu Dec 6 22:33:31 2012 (r243960) +++ projects/bpfjit/sys/net/bpfjit.c Fri Dec 7 00:46:43 2012 (r243961) @@ -1,5 +1,8 @@ +/* $NetBSD: bpfjit.c,v 1.2 2012/11/10 22:12:31 alnsn Exp $ */ + /*- * Copyright (c) 2011-2012 Alexander Nasonov. + * Copyright (c) 2012 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without Modified: projects/bpfjit/sys/net/bpfjit.h ============================================================================== --- projects/bpfjit/sys/net/bpfjit.h Thu Dec 6 22:33:31 2012 (r243960) +++ projects/bpfjit/sys/net/bpfjit.h Fri Dec 7 00:46:43 2012 (r243961) @@ -1,7 +1,8 @@ -/* $NetBSD$ */ +/* $NetBSD: bpfjit.h,v 1.1 2012/10/27 22:36:14 alnsn Exp $ */ /*- * Copyright (c) 2011-2012 Alexander Nasonov. + * Copyright (c) 2012 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without From owner-svn-src-projects@FreeBSD.ORG Fri Dec 7 02:42:27 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 021B4514; Fri, 7 Dec 2012 02:42:27 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from fallbackmx07.syd.optusnet.com.au (fallbackmx07.syd.optusnet.com.au [211.29.132.9]) by mx1.freebsd.org (Postfix) with ESMTP id 57D588FC12; Fri, 7 Dec 2012 02:42:22 +0000 (UTC) Received: from mail10.syd.optusnet.com.au (mail10.syd.optusnet.com.au [211.29.132.191]) by fallbackmx07.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id qB72gFvL016289; Fri, 7 Dec 2012 13:42:16 +1100 Received: from c122-106-175-26.carlnfd1.nsw.optusnet.com.au (c122-106-175-26.carlnfd1.nsw.optusnet.com.au [122.106.175.26]) by mail10.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id qB72g3Nj004606 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 7 Dec 2012 13:42:05 +1100 Date: Fri, 7 Dec 2012 13:42:03 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Attilio Rao Subject: Re: svn commit: r238907 - projects/calloutng/sys/kern In-Reply-To: Message-ID: <20121207125401.S1231@besplex.bde.org> References: <201207301350.q6UDobCI099069@svn.freebsd.org> <201207301732.33474.jhb@freebsd.org> <20121029155136.O943@besplex.bde.org> <20121109034942.C5338@besplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.0 cv=CJhyxmXD c=1 sm=1 a=zSpkIMvUouMA:10 a=kj9zAlcOel0A:10 a=PO7r1zJSAAAA:8 a=JzwRw_2MAAAA:8 a=Y4pc3zAY36oA:10 a=6I5d2MoRAAAA:8 a=iE42H3Ao5iMW_Y88yhAA:9 a=CjuIK1q_8ugA:10 a=SV7veod9ZcQA:10 a=bxQHXO5Py4tHmhUgaywp5w==:117 Cc: src-committers@FreeBSD.org, John Baldwin , Jeff Roberson , Florian Smeets , Bruce Evans , Bruce Evans , svn-src-projects@FreeBSD.org 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, 07 Dec 2012 02:42:27 -0000 On Wed, 5 Dec 2012, Attilio Rao wrote: > On Sat, Nov 24, 2012 at 3:43 PM, Attilio Rao wrote: >> On Thu, Nov 8, 2012 at 5:26 PM, Bruce Evans wrote: >>> On Fri, 2 Nov 2012, Attilio Rao wrote: >>> >>>> On 10/29/12, Bruce Evans wrote: >>>>> >>>>> On Mon, 29 Oct 2012, Attilio Rao wrote: >>>>> >>>>>> Now that sched_pin()/sched_unpin() are fixed I would like to introduce >>>>>> this new patch, making critical_enter()/critical_exit() inline: >>>>>> http://www.freebsd.org/~attilio/inline_critical.patch >>>>> >>>>> ... >>>>> >>>>> My version goes the other way and uninlines mtx_lock_spin() and >>>>> mtx_unlock_spin(). Then it inlines (open codes) critical_enter() and >>>>> ... >>>> >>>> >>>> So, I thought more about this and I think that inlining >>>> critical_exit() is not really going to bring any benefit here but >>>> bloat. >>>> This is because nested critical sections are rare rather not, which >>> >>> >>> Rather rare !not? :-) >>> >>> >>>> means you will end up in doing the function call most of the time and >>>> plus we have the possible pessimization introduced by the memory >>>> clobber (__compiler_membar()) and as you note possible deficiency >>>> caming from the branch misprediction*. >>> >>> >>> This seems best. >>> >>> I see a point about the rareness of the branch in critical_exit(). >>> Not sure if it is the one you are making: since the nested case is >>> rare, then the branch will normally be correctly predicted. If the >>> function remains uninlined, then the branch still has a good chance >>> of being correctly predicted. This depends on the nested case being >>> so rare across all callers, that the non-nested case doesn't mess >>> up the prediction by happening often. The branch predictor only >>> has to maintain history for 1 branch for this. However, if the >>> call is inlined and there are many callers, there might be too many >>> to maintain history for them all. >> >> Yes, that's basically the same conclusion I came up with. >> >> It seems you are not opposed to this version of the patch. >> I made some in-kernel benchmarks but they didn't really show a >> performance improvements, bigger than 1-2%, which on SMP system is >> basically accountable to thirdy-part effects. 1-2% is about the best that can be hoped for from a single change, but is too hard to measure with confidence. >> However we already employ the same code for sched_pin() and I then >> think that we can just commit this patch as-is. > > I made up my mind on instead not committing this patch, as I cannot > prove a real performance gain, as also Jeff agreed with privately. > Instead, I would like to commit this small comment explaining why it > is not inlined (see below). Let me know what you think. Good. Minor grammar and fixes: > Index: sys/kern/kern_switch.c > =================================================================== > --- sys/kern/kern_switch.c (revision 243911) > +++ sys/kern/kern_switch.c (working copy) > @@ -176,6 +176,11 @@ retry: > /* > * Kernel thread preemption implementation. Critical sections mark > * regions of code in which preemptions are not allowed. > + * It would seem a good idea to inline such function but, in order s/would/might/ s/such/such a/ or better (?), s/such function/crticical_enter() I think the new part of the comment only applies to critical_enter(). critical_exit() is much larger, so it never seemed such a good idea to inline it. If this sentence begins a new paragraph, then it should be preceded by an empty line. Otherwise, it should not begin on a new line. I think the latter applies. In fact, the comment should be separate. The old part of the comment applies to both critical_enter() and critical_exit(), but it is bogusly attached to only the former. After separating it from the former, the new part of the comment can be better attached to the former alone. > + * to prevent instructions reordering by the compiler, a __compiler_membar() s/instructions/instructions/ s/a __compiler.../__compiler.../ > + * must be used here (look at sched_pin() case). The performance penalty s/must/would have to/ s/look at sched_pin() case/the same as for sched_pin()/ Looking at sched_pin() doesn't show any comment about this. I seem to remember discussions of this. Maybe the details are in a log message. Technical points: - is the function being extern really enough to force the equivalent of __compiler_membar()? Inter-file optimization might break this. It would be easy to add an explicit __compiler_membar() to the beginning of critical_enter(), but there are probably many other functions that would need the same treatment for inter-file optimization. - compilers already do intra-file optimization giving automatic inlining of (static) functions that are only called once, unless this is disabled by -fno-inline-functions-called-once. It should be disabled by default, since it also breaks debugging including stack traces, and profiling. Perhaps it also breaks implicit membars. - IIRC, inlining is not permitted to change function call semantics, so it may be a bug for the membar in sched_pin() to have any effect. Anyway, extern functions are not required to give stricter ordering than static [inline] ones. Function calls are required to give sequence points (after their parameters have been evaluated), and sequence points are required to have all side effects of previous evaluations complete and no side effects of subsequent evaluations begun. Is that any different from a membar? I think membars are a little more magic, and it is hard to see how anything can give stricter ordering requirements on the compiler than a sequence point except by magic. > + * imposed by the membar could, then, produce slower code than > + * the function call itself, for most cases. > */ The punctuation given by all those commas seems to be correct, but oit is painfully formal. > void > critical_enter(void) > Bruce From owner-svn-src-projects@FreeBSD.ORG Fri Dec 7 03:52:49 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 AEF14E05; Fri, 7 Dec 2012 03:52:49 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9338E8FC0C; Fri, 7 Dec 2012 03:52:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB73qnA1001521; Fri, 7 Dec 2012 03:52:49 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB73qnJZ001520; Fri, 7 Dec 2012 03:52:49 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201212070352.qB73qnJZ001520@svn.freebsd.org> From: Jeff Roberson Date: Fri, 7 Dec 2012 03:52:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243968 - projects/physbio/sys/kern 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, 07 Dec 2012 03:52:49 -0000 Author: jeff Date: Fri Dec 7 03:52:48 2012 New Revision: 243968 URL: http://svnweb.freebsd.org/changeset/base/243968 Log: - Add missing return statement. Submitted by: Jim Harris Modified: projects/physbio/sys/kern/subr_busdma.c Modified: projects/physbio/sys/kern/subr_busdma.c ============================================================================== --- projects/physbio/sys/kern/subr_busdma.c Fri Dec 7 02:29:32 2012 (r243967) +++ projects/physbio/sys/kern/subr_busdma.c Fri Dec 7 03:52:48 2012 (r243968) @@ -57,6 +57,7 @@ bus_dmamap_load_ccb(bus_dma_tag_t dmat, ccb_h = &ccb->ccb_h; if ((ccb_h->flags & CAM_DIR_MASK) == CAM_DIR_NONE) { callback(callback_arg, NULL, 0, 0); + return (0); } switch (ccb_h->func_code) { From owner-svn-src-projects@FreeBSD.ORG Fri Dec 7 05:40:46 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 12A99F1C; Fri, 7 Dec 2012 05:40:46 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E992E8FC08; Fri, 7 Dec 2012 05:40:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB75ejhk025238; Fri, 7 Dec 2012 05:40:45 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB75ejhG025237; Fri, 7 Dec 2012 05:40:45 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201212070540.qB75ejhG025237@svn.freebsd.org> From: Jeff Roberson Date: Fri, 7 Dec 2012 05:40:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243969 - projects/physbio/sys/cam 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, 07 Dec 2012 05:40:46 -0000 Author: jeff Date: Fri Dec 7 05:40:45 2012 New Revision: 243969 URL: http://svnweb.freebsd.org/changeset/base/243969 Log: - Correct some formatting. Sponsored by: EMC / Isilon Storage Division Modified: projects/physbio/sys/cam/cam_ccb.h Modified: projects/physbio/sys/cam/cam_ccb.h ============================================================================== --- projects/physbio/sys/cam/cam_ccb.h Fri Dec 7 03:52:48 2012 (r243968) +++ projects/physbio/sys/cam/cam_ccb.h Fri Dec 7 05:40:45 2012 (r243969) @@ -76,7 +76,7 @@ typedef enum { CAM_DATA_SG = 0x00000100,/* Data type (010:sglist) */ CAM_DATA_SG_PADDR = 0x00000180,/* Data type (011:sglist phys) */ CAM_DATA_BIO = 0x00000200,/* Data type (100:bio) */ - CAM_DATA_MASK = 0x00000380,/* Data type mask. */ + CAM_DATA_MASK = 0x00000380,/* Data type mask */ CAM_SOFT_RST_OP = 0x00000400,/* Use Soft reset alternative */ CAM_ENG_SYNC = 0x00000800,/* Flush resid bytes on complete */ CAM_DEV_QFRZDIS = 0x00001000,/* Disable DEV Q freezing */ From owner-svn-src-projects@FreeBSD.ORG Fri Dec 7 05:42:02 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 88CF5C8; Fri, 7 Dec 2012 05:42:02 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6C84F8FC12; Fri, 7 Dec 2012 05:42:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB75g2DR025528; Fri, 7 Dec 2012 05:42:02 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB75g1PQ025512; Fri, 7 Dec 2012 05:42:01 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201212070542.qB75g1PQ025512@svn.freebsd.org> From: Jeff Roberson Date: Fri, 7 Dec 2012 05:42:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243970 - in projects/physbio/sys: arm/arm ia64/ia64 mips/mips powerpc/powerpc sparc64/sparc64 x86/x86 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, 07 Dec 2012 05:42:02 -0000 Author: jeff Date: Fri Dec 7 05:42:00 2012 New Revision: 243970 URL: http://svnweb.freebsd.org/changeset/base/243970 Log: - Eliminate the 'lastaddrp' argument to the load_buffer() routines. It is surely less error prone and less expensive to recalculate than it is to remember. This is a step towards moving all of these functions to the same prototype. Sponsored by: EMC / Isilon Storage Division Modified: projects/physbio/sys/arm/arm/busdma_machdep-v6.c projects/physbio/sys/arm/arm/busdma_machdep.c projects/physbio/sys/ia64/ia64/busdma_machdep.c projects/physbio/sys/mips/mips/busdma_machdep.c projects/physbio/sys/powerpc/powerpc/busdma_machdep.c projects/physbio/sys/sparc64/sparc64/bus_machdep.c projects/physbio/sys/x86/x86/busdma_machdep.c Modified: projects/physbio/sys/arm/arm/busdma_machdep-v6.c ============================================================================== --- projects/physbio/sys/arm/arm/busdma_machdep-v6.c Fri Dec 7 05:40:45 2012 (r243969) +++ projects/physbio/sys/arm/arm/busdma_machdep-v6.c Fri Dec 7 05:42:00 2012 (r243970) @@ -711,8 +711,7 @@ _bus_dmamap_count_pages(bus_dma_tag_t dm } /* - * Utility function to load a linear buffer. lastaddrp holds state - * between invocations (for multiple-buffer loads). segp contains + * Utility function to load a linear buffer. segp contains * the starting segment on entrace, and the ending segment on exit. * first indicates if this is the first invocation of this function. */ @@ -721,13 +720,12 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm bus_dmamap_t map, void *buf, bus_size_t buflen, int flags, - bus_addr_t *lastaddrp, bus_dma_segment_t *segs, int *segp, int first) { bus_size_t sgsize; - bus_addr_t curaddr, lastaddr, baddr, bmask; + bus_addr_t curaddr, baddr, bmask; vm_offset_t vaddr; struct sync_list *sl; int seg, error; @@ -740,7 +738,6 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm sl = NULL; vaddr = (vm_offset_t)buf; - lastaddr = *lastaddrp; bmask = ~(dmat->boundary - 1); for (seg = *segp; buflen > 0 ; ) { @@ -811,7 +808,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm segs[seg].ds_len = sgsize; first = 0; } else { - if (curaddr == lastaddr && + if (curaddr == segs[seg].ds_addr + segs[seg].ds_len && (segs[seg].ds_len + sgsize) <= dmat->maxsegsz && (dmat->boundary == 0 || (segs[seg].ds_addr & bmask) == (curaddr & bmask))) @@ -824,13 +821,11 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm } } - lastaddr = curaddr + sgsize; vaddr += sgsize; buflen -= sgsize; } *segp = seg; - *lastaddrp = lastaddr; cleanup: /* * Did we fit? @@ -850,7 +845,6 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ bus_size_t buflen, bus_dmamap_callback_t *callback, void *callback_arg, int flags) { - bus_addr_t lastaddr = 0; int error, nsegs = 0; flags |= BUS_DMA_WAITOK; @@ -859,7 +853,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ map->pmap = kernel_pmap; error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, flags, - &lastaddr, dmat->segments, &nsegs, 1); + dmat->segments, &nsegs, 1); CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", __func__, dmat, dmat->flags, error, nsegs + 1); @@ -902,15 +896,13 @@ _bus_dmamap_load_mbuf_sg(bus_dma_tag_t d error = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { int first = 1; - bus_addr_t lastaddr = 0; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, - flags, &lastaddr, - segs, nsegs, first); + flags, segs, nsegs, first); first = 0; } } @@ -966,7 +958,6 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_callback2_t *callback, void *callback_arg, int flags) { - bus_addr_t lastaddr; int nsegs, error, first, i; bus_size_t resid; struct iovec *iov; @@ -985,7 +976,6 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, nsegs = 0; error = 0; first = 1; - lastaddr = (bus_addr_t) 0; for (i = 0; i < uio->uio_iovcnt && resid != 0 && !error; i++) { /* * Now at the first iovec to load. Load each iovec @@ -997,7 +987,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, if (minlen > 0) { error = _bus_dmamap_load_buffer(dmat, map, - addr, minlen, flags, &lastaddr, + addr, minlen, flags, dmat->segments, &nsegs, first); first = 0; resid -= minlen; Modified: projects/physbio/sys/arm/arm/busdma_machdep.c ============================================================================== --- projects/physbio/sys/arm/arm/busdma_machdep.c Fri Dec 7 05:40:45 2012 (r243969) +++ projects/physbio/sys/arm/arm/busdma_machdep.c Fri Dec 7 05:42:00 2012 (r243970) @@ -224,7 +224,7 @@ SYSINIT(busdma, SI_SUB_VM, SI_ORDER_ANY, static __inline int bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dma_segment_t *segs, bus_dmamap_t map, void *buf, bus_size_t buflen, struct pmap *pmap, - int flags, vm_offset_t *lastaddrp, int *segp); + int flags, int *segp); static __inline int _bus_dma_can_bounce(vm_offset_t lowaddr, vm_offset_t highaddr) @@ -746,18 +746,17 @@ _bus_dmamap_count_pages(bus_dma_tag_t dm } /* - * Utility function to load a linear buffer. lastaddrp holds state - * between invocations (for multiple-buffer loads). segp contains + * Utility function to load a linear buffer. segp contains * the starting segment on entrance, and the ending segment on exit. * first indicates if this is the first invocation of this function. */ static __inline int bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dma_segment_t *segs, bus_dmamap_t map, void *buf, bus_size_t buflen, struct pmap *pmap, - int flags, vm_offset_t *lastaddrp, int *segp) + int flags, int *segp) { bus_size_t sgsize; - bus_addr_t curaddr, lastaddr, baddr, bmask; + bus_addr_t curaddr, baddr, bmask; vm_offset_t vaddr = (vm_offset_t)buf; int seg; int error = 0; @@ -765,7 +764,6 @@ bus_dmamap_load_buffer(bus_dma_tag_t dma pt_entry_t pte; pt_entry_t *ptep; - lastaddr = *lastaddrp; bmask = ~(dmat->boundary - 1); if ((dmat->flags & BUS_DMA_COULD_BOUNCE) != 0) { @@ -866,7 +864,8 @@ bus_dmamap_load_buffer(bus_dma_tag_t dma * Insert chunk into a segment, coalescing with * the previous segment if possible. */ - if (seg >= 0 && curaddr == lastaddr && + if (seg >= 0 && + curaddr == segs[seg].ds_addr + segs[seg].ds_len && (segs[seg].ds_len + sgsize) <= dmat->maxsegsz && (dmat->boundary == 0 || (segs[seg].ds_addr & bmask) == @@ -882,13 +881,11 @@ bus_dmamap_load_buffer(bus_dma_tag_t dma if (error) break; segdone: - lastaddr = curaddr + sgsize; vaddr += sgsize; buflen -= sgsize; } *segp = seg; - *lastaddrp = lastaddr; /* * Did we fit? @@ -906,7 +903,6 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ bus_size_t buflen, bus_dmamap_callback_t *callback, void *callback_arg, int flags) { - vm_offset_t lastaddr = 0; int error, nsegs = -1; KASSERT(dmat != NULL, ("dmatag is NULL")); @@ -919,7 +915,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ map->len = buflen; error = bus_dmamap_load_buffer(dmat, dmat->segments, map, buf, buflen, kernel_pmap, - flags, &lastaddr, &nsegs); + flags, &nsegs); if (error == EINPROGRESS) return (error); if (error) @@ -950,14 +946,13 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, map->buffer = m0; map->len = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { - vm_offset_t lastaddr = 0; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = bus_dmamap_load_buffer(dmat, dmat->segments, map, m->m_data, m->m_len, - pmap_kernel(), flags, &lastaddr, &nsegs); + pmap_kernel(), flags, &nsegs); map->len += m->m_len; } } @@ -995,14 +990,13 @@ bus_dmamap_load_mbuf_sg(bus_dma_tag_t dm map->buffer = m0; map->len = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { - vm_offset_t lastaddr = 0; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = bus_dmamap_load_buffer(dmat, segs, map, m->m_data, m->m_len, - pmap_kernel(), flags, &lastaddr, + pmap_kernel(), flags, nsegs); map->len += m->m_len; } @@ -1026,7 +1020,6 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_callback2_t *callback, void *callback_arg, int flags) { - vm_offset_t lastaddr = 0; int nsegs, i, error; bus_size_t resid; struct iovec *iov; @@ -1059,7 +1052,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, if (minlen > 0) { error = bus_dmamap_load_buffer(dmat, dmat->segments, - map, addr, minlen, pmap, flags, &lastaddr, &nsegs); + map, addr, minlen, pmap, flags, &nsegs); map->len += minlen; resid -= minlen; Modified: projects/physbio/sys/ia64/ia64/busdma_machdep.c ============================================================================== --- projects/physbio/sys/ia64/ia64/busdma_machdep.c Fri Dec 7 05:40:45 2012 (r243969) +++ projects/physbio/sys/ia64/ia64/busdma_machdep.c Fri Dec 7 05:42:00 2012 (r243970) @@ -481,18 +481,17 @@ bus_dmamem_free(bus_dma_tag_t dmat, void } /* - * Utility function to load a linear buffer. lastaddrp holds state - * between invocations (for multiple-buffer loads). segp contains + * Utility function to load a linear buffer. segp contains * the starting segment on entrace, and the ending segment on exit. * first indicates if this is the first invocation of this function. */ static int _bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, - bus_size_t buflen, struct thread *td, int flags, bus_addr_t *lastaddrp, + bus_size_t buflen, struct thread *td, int flags, bus_dma_segment_t *segs, int *segp, int first) { bus_size_t sgsize; - bus_addr_t curaddr, lastaddr, baddr, bmask; + bus_addr_t curaddr, baddr, bmask; vm_offset_t vaddr; bus_addr_t paddr; int seg; @@ -554,7 +553,6 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm mtx_unlock(&bounce_lock); } - lastaddr = *lastaddrp; bmask = ~(dmat->boundary - 1); for (seg = *segp; buflen > 0 ; ) { @@ -596,7 +594,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm segs[seg].ds_len = sgsize; first = 0; } else { - if (curaddr == lastaddr && + if (curaddr == segs[seg].ds_addr + segs[seg].ds_len && (segs[seg].ds_len + sgsize) <= dmat->maxsegsz && (dmat->boundary == 0 || (segs[seg].ds_addr & bmask) == (curaddr & bmask))) @@ -609,13 +607,11 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm } } - lastaddr = curaddr + sgsize; vaddr += sgsize; buflen -= sgsize; } *segp = seg; - *lastaddrp = lastaddr; /* * Did we fit? @@ -631,7 +627,6 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ bus_size_t buflen, bus_dmamap_callback_t *callback, void *callback_arg, int flags) { - bus_addr_t lastaddr = 0; int error, nsegs = 0; if (map != NULL) { @@ -641,7 +636,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ } error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, NULL, flags, - &lastaddr, dmat->segments, &nsegs, 1); + dmat->segments, &nsegs, 1); if (error == EINPROGRESS) return (error); @@ -670,14 +665,13 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, error = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { int first = 1; - bus_addr_t lastaddr = 0; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, NULL, flags, - &lastaddr, dmat->segments, &nsegs, first); + dmat->segments, &nsegs, first); first = 0; } } @@ -708,14 +702,13 @@ bus_dmamap_load_mbuf_sg(bus_dma_tag_t dm error = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { int first = 1; - bus_addr_t lastaddr = 0; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, NULL, flags, - &lastaddr, segs, nsegs, first); + segs, nsegs, first); first = 0; } } @@ -734,7 +727,6 @@ int bus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_t map, struct uio *uio, bus_dmamap_callback2_t *callback, void *callback_arg, int flags) { - bus_addr_t lastaddr; int nsegs, error, first, i; bus_size_t resid; struct iovec *iov; @@ -764,7 +756,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, if (minlen > 0) { error = _bus_dmamap_load_buffer(dmat, map, addr, - minlen, td, flags, &lastaddr, dmat->segments, + minlen, td, flags, dmat->segments, &nsegs, first); first = 0; Modified: projects/physbio/sys/mips/mips/busdma_machdep.c ============================================================================== --- projects/physbio/sys/mips/mips/busdma_machdep.c Fri Dec 7 05:40:45 2012 (r243969) +++ projects/physbio/sys/mips/mips/busdma_machdep.c Fri Dec 7 05:42:00 2012 (r243970) @@ -217,7 +217,7 @@ SYSINIT(busdma, SI_SUB_VM, SI_ORDER_ANY, static __inline int bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dma_segment_t *segs, bus_dmamap_t map, void *buf, bus_size_t buflen, struct pmap *pmap, - int flags, vm_offset_t *lastaddrp, int *segp); + int flags, int *segp); static __inline int _bus_dma_can_bounce(vm_offset_t lowaddr, vm_offset_t highaddr) @@ -744,23 +744,21 @@ _bus_dmamap_count_pages(bus_dma_tag_t dm } /* - * Utility function to load a linear buffer. lastaddrp holds state - * between invocations (for multiple-buffer loads). segp contains + * Utility function to load a linear buffer. segp contains * the starting segment on entrance, and the ending segment on exit. * first indicates if this is the first invocation of this function. */ static __inline int bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dma_segment_t *segs, bus_dmamap_t map, void *buf, bus_size_t buflen, struct pmap *pmap, - int flags, vm_offset_t *lastaddrp, int *segp) + int flags, int *segp) { bus_size_t sgsize; - bus_addr_t curaddr, lastaddr, baddr, bmask; + bus_addr_t curaddr, baddr, bmask; vm_offset_t vaddr = (vm_offset_t)buf; int seg; int error = 0; - lastaddr = *lastaddrp; bmask = ~(dmat->boundary - 1); if ((dmat->flags & BUS_DMA_COULD_BOUNCE) != 0) { @@ -808,7 +806,8 @@ bus_dmamap_load_buffer(bus_dma_tag_t dma * Insert chunk into a segment, coalescing with * the previous segment if possible. */ - if (seg >= 0 && curaddr == lastaddr && + if (seg >= 0 && + curaddr == segs[seg].ds_addr + segs[seg].ds_len && (segs[seg].ds_len + sgsize) <= dmat->maxsegsz && (dmat->boundary == 0 || (segs[seg].ds_addr & bmask) == @@ -824,13 +823,11 @@ bus_dmamap_load_buffer(bus_dma_tag_t dma if (error) break; segdone: - lastaddr = curaddr + sgsize; vaddr += sgsize; buflen -= sgsize; } *segp = seg; - *lastaddrp = lastaddr; /* * Did we fit? @@ -848,7 +845,6 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ bus_size_t buflen, bus_dmamap_callback_t *callback, void *callback_arg, int flags) { - vm_offset_t lastaddr = 0; int error, nsegs = -1; KASSERT(dmat != NULL, ("dmatag is NULL")); @@ -861,7 +857,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ map->len = buflen; error = bus_dmamap_load_buffer(dmat, dmat->segments, map, buf, buflen, kernel_pmap, - flags, &lastaddr, &nsegs); + flags, &nsegs); if (error == EINPROGRESS) return (error); if (error) @@ -892,14 +888,13 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, map->buffer = m0; map->len = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { - vm_offset_t lastaddr = 0; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = bus_dmamap_load_buffer(dmat, dmat->segments, map, m->m_data, m->m_len, - kernel_pmap, flags, &lastaddr, &nsegs); + kernel_pmap, flags, &nsegs); map->len += m->m_len; } } @@ -937,14 +932,13 @@ bus_dmamap_load_mbuf_sg(bus_dma_tag_t dm map->buffer = m0; map->len = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { - vm_offset_t lastaddr = 0; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = bus_dmamap_load_buffer(dmat, segs, map, m->m_data, m->m_len, - kernel_pmap, flags, &lastaddr, + kernel_pmap, flags, nsegs); map->len += m->m_len; } @@ -968,7 +962,6 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_callback2_t *callback, void *callback_arg, int flags) { - vm_offset_t lastaddr = 0; int nsegs, i, error; bus_size_t resid; struct iovec *iov; @@ -1002,7 +995,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, if (minlen > 0) { error = bus_dmamap_load_buffer(dmat, dmat->segments, - map, addr, minlen, pmap, flags, &lastaddr, &nsegs); + map, addr, minlen, pmap, flags, &nsegs); map->len += minlen; resid -= minlen; Modified: projects/physbio/sys/powerpc/powerpc/busdma_machdep.c ============================================================================== --- projects/physbio/sys/powerpc/powerpc/busdma_machdep.c Fri Dec 7 05:40:45 2012 (r243969) +++ projects/physbio/sys/powerpc/powerpc/busdma_machdep.c Fri Dec 7 05:42:00 2012 (r243970) @@ -565,8 +565,7 @@ bus_dmamem_free(bus_dma_tag_t dmat, void } /* - * Utility function to load a linear buffer. lastaddrp holds state - * between invocations (for multiple-buffer loads). segp contains + * Utility function to load a linear buffer. segp contains * the starting segment on entrance, and the ending segment on exit. * first indicates if this is the first invocation of this function. */ @@ -576,13 +575,12 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm void *buf, bus_size_t buflen, pmap_t pmap, int flags, - bus_addr_t *lastaddrp, bus_dma_segment_t *segs, int *segp, int first) { bus_size_t sgsize; - bus_addr_t curaddr, lastaddr, baddr, bmask; + bus_addr_t curaddr, baddr, bmask; vm_offset_t vaddr; bus_addr_t paddr; int seg; @@ -642,7 +640,6 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm } vaddr = (vm_offset_t)buf; - lastaddr = *lastaddrp; bmask = ~(dmat->boundary - 1); for (seg = *segp; buflen > 0 ; ) { @@ -687,7 +684,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm segs[seg].ds_len = sgsize; first = 0; } else { - if (curaddr == lastaddr && + if (curaddr == segs[seg].ds_addr + segs[seg].ds_len && (segs[seg].ds_len + sgsize) <= dmat->maxsegsz && (dmat->boundary == 0 || (segs[seg].ds_addr & bmask) == (curaddr & bmask))) @@ -700,13 +697,11 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm } } - lastaddr = curaddr + sgsize; vaddr += sgsize; buflen -= sgsize; } *segp = seg; - *lastaddrp = lastaddr; /* * Did we fit? @@ -722,7 +717,6 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ bus_size_t buflen, bus_dmamap_callback_t *callback, void *callback_arg, int flags) { - bus_addr_t lastaddr = 0; int error; if (dmat->flags & BUS_DMA_COULD_BOUNCE) { @@ -733,7 +727,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ map->nsegs = 0; error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, NULL, flags, - &lastaddr, map->segments, &map->nsegs, 1); + map->segments, &map->nsegs, 1); map->nsegs++; CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", @@ -782,14 +776,13 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, error = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { int first = 1; - bus_addr_t lastaddr = 0; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, - NULL, flags, &lastaddr, + NULL, flags, map->segments, &map->nsegs, first); first = 0; } @@ -830,14 +823,13 @@ bus_dmamap_load_mbuf_sg(bus_dma_tag_t dm error = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { int first = 1; - bus_addr_t lastaddr = 0; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, - NULL, flags, &lastaddr, + NULL, flags, segs, nsegs, first); first = 0; } @@ -871,7 +863,6 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_callback2_t *callback, void *callback_arg, int flags) { - bus_addr_t lastaddr = 0; int error, first, i; bus_size_t resid; struct iovec *iov; @@ -902,7 +893,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, if (minlen > 0) { error = _bus_dmamap_load_buffer(dmat, map, - addr, minlen, pmap, flags, &lastaddr, + addr, minlen, pmap, flags, map->segments, &map->nsegs, first); first = 0; Modified: projects/physbio/sys/sparc64/sparc64/bus_machdep.c ============================================================================== --- projects/physbio/sys/sparc64/sparc64/bus_machdep.c Fri Dec 7 05:40:45 2012 (r243969) +++ projects/physbio/sys/sparc64/sparc64/bus_machdep.c Fri Dec 7 05:42:00 2012 (r243970) @@ -326,18 +326,17 @@ nexus_dmamap_destroy(bus_dma_tag_t dmat, } /* - * Utility function to load a linear buffer. lastaddrp holds state - * between invocations (for multiple-buffer loads). segp contains + * Utility function to load a linear buffer. segp contains * the starting segment on entrace, and the ending segment on exit. * first indicates if this is the first invocation of this function. */ static int _nexus_dmamap_load_buffer(bus_dma_tag_t dmat, void *buf, bus_size_t buflen, - struct thread *td, int flags, bus_addr_t *lastaddrp, + struct thread *td, int flags, bus_dma_segment_t *segs, int *segp, int first) { bus_size_t sgsize; - bus_addr_t curaddr, lastaddr, baddr, bmask; + bus_addr_t curaddr, baddr, bmask; vm_offset_t vaddr = (vm_offset_t)buf; int seg; pmap_t pmap; @@ -347,7 +346,6 @@ _nexus_dmamap_load_buffer(bus_dma_tag_t else pmap = NULL; - lastaddr = *lastaddrp; bmask = ~(dmat->dt_boundary - 1); for (seg = *segp; buflen > 0 ; ) { @@ -386,7 +384,7 @@ _nexus_dmamap_load_buffer(bus_dma_tag_t segs[seg].ds_len = sgsize; first = 0; } else { - if (curaddr == lastaddr && + if (curaddr == segs[seg].ds_addr + segs[seg].ds_len && (segs[seg].ds_len + sgsize) <= dmat->dt_maxsegsz && (dmat->dt_boundary == 0 || (segs[seg].ds_addr & bmask) == (curaddr & bmask))) @@ -399,13 +397,11 @@ _nexus_dmamap_load_buffer(bus_dma_tag_t } } - lastaddr = curaddr + sgsize; vaddr += sgsize; buflen -= sgsize; } *segp = seg; - *lastaddrp = lastaddr; /* * Did we fit? @@ -428,11 +424,10 @@ nexus_dmamap_load(bus_dma_tag_t dmat, bu bus_size_t buflen, bus_dmamap_callback_t *callback, void *callback_arg, int flags) { - bus_addr_t lastaddr; int error, nsegs; error = _nexus_dmamap_load_buffer(dmat, buf, buflen, NULL, flags, - &lastaddr, dmat->dt_segments, &nsegs, 1); + dmat->dt_segments, &nsegs, 1); if (error == 0) { (*callback)(callback_arg, dmat->dt_segments, nsegs + 1, 0); @@ -458,13 +453,12 @@ nexus_dmamap_load_mbuf(bus_dma_tag_t dma error = 0; if (m0->m_pkthdr.len <= dmat->dt_maxsize) { int first = 1; - bus_addr_t lastaddr = 0; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = _nexus_dmamap_load_buffer(dmat, - m->m_data, m->m_len,NULL, flags, &lastaddr, + m->m_data, m->m_len,NULL, flags, dmat->dt_segments, &nsegs, first); first = 0; } @@ -496,13 +490,12 @@ nexus_dmamap_load_mbuf_sg(bus_dma_tag_t error = 0; if (m0->m_pkthdr.len <= dmat->dt_maxsize) { int first = 1; - bus_addr_t lastaddr = 0; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = _nexus_dmamap_load_buffer(dmat, - m->m_data, m->m_len,NULL, flags, &lastaddr, + m->m_data, m->m_len,NULL, flags, segs, nsegs, first); first = 0; } @@ -522,7 +515,6 @@ static int nexus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_t map, struct uio *uio, bus_dmamap_callback2_t *callback, void *callback_arg, int flags) { - bus_addr_t lastaddr; int nsegs, error, first, i; bus_size_t resid; struct iovec *iov; @@ -550,7 +542,7 @@ nexus_dmamap_load_uio(bus_dma_tag_t dmat if (minlen > 0) { error = _nexus_dmamap_load_buffer(dmat, addr, minlen, - td, flags, &lastaddr, dmat->dt_segments, &nsegs, + td, flags, dmat->dt_segments, &nsegs, first); first = 0; Modified: projects/physbio/sys/x86/x86/busdma_machdep.c ============================================================================== --- projects/physbio/sys/x86/x86/busdma_machdep.c Fri Dec 7 05:40:45 2012 (r243969) +++ projects/physbio/sys/x86/x86/busdma_machdep.c Fri Dec 7 05:42:00 2012 (r243970) @@ -645,8 +645,7 @@ _bus_dmamap_count_pages(bus_dma_tag_t dm } /* - * Utility function to load a linear buffer. lastaddrp holds state - * between invocations (for multiple-buffer loads). segp contains + * Utility function to load a linear buffer. segp contains * the starting segment on entrace, and the ending segment on exit. * first indicates if this is the first invocation of this function. */ @@ -656,13 +655,12 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm void *buf, bus_size_t buflen, pmap_t pmap, int flags, - bus_addr_t *lastaddrp, bus_dma_segment_t *segs, int *segp, int first) { bus_size_t sgsize; - bus_addr_t curaddr, lastaddr, baddr, bmask; + bus_addr_t curaddr, baddr, bmask; vm_offset_t vaddr; int seg, error; @@ -676,7 +674,6 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm } vaddr = (vm_offset_t)buf; - lastaddr = *lastaddrp; bmask = ~(dmat->boundary - 1); for (seg = *segp; buflen > 0 ; ) { @@ -722,7 +719,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm segs[seg].ds_len = sgsize; first = 0; } else { - if (curaddr == lastaddr && + if (curaddr == segs[seg].ds_addr + segs[seg].ds_len && (segs[seg].ds_len + sgsize) <= dmat->maxsegsz && (dmat->boundary == 0 || (segs[seg].ds_addr & bmask) == (curaddr & bmask))) @@ -735,13 +732,11 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm } } - lastaddr = curaddr + sgsize; vaddr += sgsize; buflen -= sgsize; } *segp = seg; - *lastaddrp = lastaddr; /* * Did we fit? @@ -757,7 +752,6 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ bus_size_t buflen, bus_dmamap_callback_t *callback, void *callback_arg, int flags) { - bus_addr_t lastaddr = 0; int error, nsegs = 0; if (map != NULL) { @@ -767,7 +761,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ } error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, NULL, flags, - &lastaddr, dmat->segments, &nsegs, 1); + dmat->segments, &nsegs, 1); CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", __func__, dmat, dmat->flags, error, nsegs + 1); @@ -809,14 +803,13 @@ _bus_dmamap_load_mbuf_sg(bus_dma_tag_t d error = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { int first = 1; - bus_addr_t lastaddr = 0; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, - NULL, flags, &lastaddr, + NULL, flags, segs, nsegs, first); first = 0; } @@ -872,7 +865,6 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_callback2_t *callback, void *callback_arg, int flags) { - bus_addr_t lastaddr = 0; int nsegs, error, first, i; bus_size_t resid; struct iovec *iov; @@ -903,7 +895,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, if (minlen > 0) { error = _bus_dmamap_load_buffer(dmat, map, - addr, minlen, pmap, flags, &lastaddr, + addr, minlen, pmap, flags, dmat->segments, &nsegs, first); first = 0; From owner-svn-src-projects@FreeBSD.ORG Fri Dec 7 06:05:36 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 9DFBC8A1; Fri, 7 Dec 2012 06:05:36 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 810498FC08; Fri, 7 Dec 2012 06:05:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB765a3t030073; Fri, 7 Dec 2012 06:05:36 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB765Z3X030060; Fri, 7 Dec 2012 06:05:35 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201212070605.qB765Z3X030060@svn.freebsd.org> From: Jeff Roberson Date: Fri, 7 Dec 2012 06:05:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243972 - in projects/physbio/sys: arm/arm ia64/ia64 powerpc/powerpc sparc64/sparc64 x86/x86 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, 07 Dec 2012 06:05:36 -0000 Author: jeff Date: Fri Dec 7 06:05:34 2012 New Revision: 243972 URL: http://svnweb.freebsd.org/changeset/base/243972 Log: - Eliminate the 'first' argument required by some load_buffer() implementations by requiring that the segment count is -1 on entry. Sponsored by: EMC / Isilon Storage Division Modified: projects/physbio/sys/arm/arm/busdma_machdep-v6.c projects/physbio/sys/arm/arm/busdma_machdep.c projects/physbio/sys/ia64/ia64/busdma_machdep.c projects/physbio/sys/powerpc/powerpc/busdma_machdep.c projects/physbio/sys/sparc64/sparc64/bus_machdep.c projects/physbio/sys/sparc64/sparc64/iommu.c projects/physbio/sys/x86/x86/busdma_machdep.c Modified: projects/physbio/sys/arm/arm/busdma_machdep-v6.c ============================================================================== --- projects/physbio/sys/arm/arm/busdma_machdep-v6.c Fri Dec 7 05:55:48 2012 (r243971) +++ projects/physbio/sys/arm/arm/busdma_machdep-v6.c Fri Dec 7 06:05:34 2012 (r243972) @@ -713,7 +713,6 @@ _bus_dmamap_count_pages(bus_dma_tag_t dm /* * Utility function to load a linear buffer. segp contains * the starting segment on entrace, and the ending segment on exit. - * first indicates if this is the first invocation of this function. */ static __inline int _bus_dmamap_load_buffer(bus_dma_tag_t dmat, @@ -721,8 +720,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm void *buf, bus_size_t buflen, int flags, bus_dma_segment_t *segs, - int *segp, - int first) + int *segp) { bus_size_t sgsize; bus_addr_t curaddr, baddr, bmask; @@ -803,10 +801,10 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm * Insert chunk into a segment, coalescing with * previous segment if possible. */ - if (first) { + if (seg == -1) { + seg = 0; segs[seg].ds_addr = curaddr; segs[seg].ds_len = sgsize; - first = 0; } else { if (curaddr == segs[seg].ds_addr + segs[seg].ds_len && (segs[seg].ds_len + sgsize) <= dmat->maxsegsz && @@ -845,7 +843,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ bus_size_t buflen, bus_dmamap_callback_t *callback, void *callback_arg, int flags) { - int error, nsegs = 0; + int error, nsegs = -1; flags |= BUS_DMA_WAITOK; map->callback = callback; @@ -853,7 +851,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ map->pmap = kernel_pmap; error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, flags, - dmat->segments, &nsegs, 1); + dmat->segments, &nsegs); CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", __func__, dmat, dmat->flags, error, nsegs + 1); @@ -892,18 +890,16 @@ _bus_dmamap_load_mbuf_sg(bus_dma_tag_t d map->pmap = kernel_pmap; flags |= BUS_DMA_NOWAIT; - *nsegs = 0; + *nsegs = -1; error = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { - int first = 1; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, - flags, segs, nsegs, first); - first = 0; + flags, segs, nsegs); } } } else { @@ -958,7 +954,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_callback2_t *callback, void *callback_arg, int flags) { - int nsegs, error, first, i; + int nsegs, error, i; bus_size_t resid; struct iovec *iov; @@ -973,9 +969,8 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, } else map->pmap = kernel_pmap; - nsegs = 0; + nsegs = -1; error = 0; - first = 1; for (i = 0; i < uio->uio_iovcnt && resid != 0 && !error; i++) { /* * Now at the first iovec to load. Load each iovec @@ -988,8 +983,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, if (minlen > 0) { error = _bus_dmamap_load_buffer(dmat, map, addr, minlen, flags, - dmat->segments, &nsegs, first); - first = 0; + dmat->segments, &nsegs); resid -= minlen; } } Modified: projects/physbio/sys/arm/arm/busdma_machdep.c ============================================================================== --- projects/physbio/sys/arm/arm/busdma_machdep.c Fri Dec 7 05:55:48 2012 (r243971) +++ projects/physbio/sys/arm/arm/busdma_machdep.c Fri Dec 7 06:05:34 2012 (r243972) @@ -748,7 +748,6 @@ _bus_dmamap_count_pages(bus_dma_tag_t dm /* * Utility function to load a linear buffer. segp contains * the starting segment on entrance, and the ending segment on exit. - * first indicates if this is the first invocation of this function. */ static __inline int bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dma_segment_t *segs, Modified: projects/physbio/sys/ia64/ia64/busdma_machdep.c ============================================================================== --- projects/physbio/sys/ia64/ia64/busdma_machdep.c Fri Dec 7 05:55:48 2012 (r243971) +++ projects/physbio/sys/ia64/ia64/busdma_machdep.c Fri Dec 7 06:05:34 2012 (r243972) @@ -483,12 +483,11 @@ bus_dmamem_free(bus_dma_tag_t dmat, void /* * Utility function to load a linear buffer. segp contains * the starting segment on entrace, and the ending segment on exit. - * first indicates if this is the first invocation of this function. */ static int _bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, bus_size_t buflen, struct thread *td, int flags, - bus_dma_segment_t *segs, int *segp, int first) + bus_dma_segment_t *segs, int *segp) { bus_size_t sgsize; bus_addr_t curaddr, baddr, bmask; @@ -589,10 +588,10 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm * Insert chunk into a segment, coalescing with * previous segment if possible. */ - if (first) { + if (seg == -1) { + seg = 0; segs[seg].ds_addr = curaddr; segs[seg].ds_len = sgsize; - first = 0; } else { if (curaddr == segs[seg].ds_addr + segs[seg].ds_len && (segs[seg].ds_len + sgsize) <= dmat->maxsegsz && @@ -627,7 +626,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ bus_size_t buflen, bus_dmamap_callback_t *callback, void *callback_arg, int flags) { - int error, nsegs = 0; + int error, nsegs = -1; if (map != NULL) { flags |= BUS_DMA_WAITOK; @@ -636,7 +635,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ } error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, NULL, flags, - dmat->segments, &nsegs, 1); + dmat->segments, &nsegs); if (error == EINPROGRESS) return (error); @@ -661,18 +660,16 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, M_ASSERTPKTHDR(m0); flags |= BUS_DMA_NOWAIT; - nsegs = 0; + nsegs = -1; error = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { - int first = 1; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, NULL, flags, - dmat->segments, &nsegs, first); - first = 0; + dmat->segments, &nsegs); } } } else { @@ -698,18 +695,16 @@ bus_dmamap_load_mbuf_sg(bus_dma_tag_t dm M_ASSERTPKTHDR(m0); flags |= BUS_DMA_NOWAIT; - *nsegs = 0; + *nsegs = -1; error = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { - int first = 1; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, NULL, flags, - segs, nsegs, first); - first = 0; + segs, nsegs); } } ++*nsegs; @@ -727,7 +722,7 @@ int bus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_t map, struct uio *uio, bus_dmamap_callback2_t *callback, void *callback_arg, int flags) { - int nsegs, error, first, i; + int nsegs, error, i; bus_size_t resid; struct iovec *iov; struct thread *td = NULL; @@ -742,9 +737,8 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, ("bus_dmamap_load_uio: USERSPACE but no proc")); } - nsegs = 0; + nsegs = -1; error = 0; - first = 1; for (i = 0; i < uio->uio_iovcnt && resid != 0 && !error; i++) { /* * Now at the first iovec to load. Load each iovec @@ -757,9 +751,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, if (minlen > 0) { error = _bus_dmamap_load_buffer(dmat, map, addr, minlen, td, flags, dmat->segments, - &nsegs, first); - first = 0; - + &nsegs); resid -= minlen; } } Modified: projects/physbio/sys/powerpc/powerpc/busdma_machdep.c ============================================================================== --- projects/physbio/sys/powerpc/powerpc/busdma_machdep.c Fri Dec 7 05:55:48 2012 (r243971) +++ projects/physbio/sys/powerpc/powerpc/busdma_machdep.c Fri Dec 7 06:05:34 2012 (r243972) @@ -567,7 +567,6 @@ bus_dmamem_free(bus_dma_tag_t dmat, void /* * Utility function to load a linear buffer. segp contains * the starting segment on entrance, and the ending segment on exit. - * first indicates if this is the first invocation of this function. */ static __inline int _bus_dmamap_load_buffer(bus_dma_tag_t dmat, @@ -576,8 +575,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm pmap_t pmap, int flags, bus_dma_segment_t *segs, - int *segp, - int first) + int *segp) { bus_size_t sgsize; bus_addr_t curaddr, baddr, bmask; @@ -679,10 +677,10 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm * Insert chunk into a segment, coalescing with * previous segment if possible. */ - if (first) { + if (seg == -1) { + seg = 0; segs[seg].ds_addr = curaddr; segs[seg].ds_len = sgsize; - first = 0; } else { if (curaddr == segs[seg].ds_addr + segs[seg].ds_len && (segs[seg].ds_len + sgsize) <= dmat->maxsegsz && @@ -725,9 +723,9 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ map->callback_arg = callback_arg; } - map->nsegs = 0; + map->nsegs = -1; error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, NULL, flags, - map->segments, &map->nsegs, 1); + map->segments, &map->nsegs); map->nsegs++; CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", @@ -772,10 +770,9 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, M_ASSERTPKTHDR(m0); flags |= BUS_DMA_NOWAIT; - map->nsegs = 0; + map->nsegs = -1; error = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { - int first = 1; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { @@ -783,8 +780,7 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, NULL, flags, - map->segments, &map->nsegs, first); - first = 0; + map->segments, &map->nsegs); } } } else { @@ -819,10 +815,9 @@ bus_dmamap_load_mbuf_sg(bus_dma_tag_t dm M_ASSERTPKTHDR(m0); flags |= BUS_DMA_NOWAIT; - *nsegs = 0; + *nsegs = -1; error = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { - int first = 1; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { @@ -830,8 +825,7 @@ bus_dmamap_load_mbuf_sg(bus_dma_tag_t dm error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, NULL, flags, - segs, nsegs, first); - first = 0; + segs, nsegs); } } } else { @@ -863,7 +857,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_callback2_t *callback, void *callback_arg, int flags) { - int error, first, i; + int error, i; bus_size_t resid; struct iovec *iov; pmap_t pmap; @@ -879,9 +873,8 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, } else pmap = NULL; - map->nsegs = 0; + map->nsegs = -1; error = 0; - first = 1; for (i = 0; i < uio->uio_iovcnt && resid != 0 && !error; i++) { /* * Now at the first iovec to load. Load each iovec @@ -894,8 +887,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, if (minlen > 0) { error = _bus_dmamap_load_buffer(dmat, map, addr, minlen, pmap, flags, - map->segments, &map->nsegs, first); - first = 0; + map->segments, &map->nsegs); resid -= minlen; } Modified: projects/physbio/sys/sparc64/sparc64/bus_machdep.c ============================================================================== --- projects/physbio/sys/sparc64/sparc64/bus_machdep.c Fri Dec 7 05:55:48 2012 (r243971) +++ projects/physbio/sys/sparc64/sparc64/bus_machdep.c Fri Dec 7 06:05:34 2012 (r243972) @@ -328,12 +328,11 @@ nexus_dmamap_destroy(bus_dma_tag_t dmat, /* * Utility function to load a linear buffer. segp contains * the starting segment on entrace, and the ending segment on exit. - * first indicates if this is the first invocation of this function. */ static int _nexus_dmamap_load_buffer(bus_dma_tag_t dmat, void *buf, bus_size_t buflen, struct thread *td, int flags, - bus_dma_segment_t *segs, int *segp, int first) + bus_dma_segment_t *segs, int *segp) { bus_size_t sgsize; bus_addr_t curaddr, baddr, bmask; @@ -379,10 +378,10 @@ _nexus_dmamap_load_buffer(bus_dma_tag_t * Insert chunk into a segment, coalescing with * previous segment if possible. */ - if (first) { + if (seg == -1) { + seg = 0; segs[seg].ds_addr = curaddr; segs[seg].ds_len = sgsize; - first = 0; } else { if (curaddr == segs[seg].ds_addr + segs[seg].ds_len && (segs[seg].ds_len + sgsize) <= dmat->dt_maxsegsz && @@ -426,8 +425,9 @@ nexus_dmamap_load(bus_dma_tag_t dmat, bu { int error, nsegs; + nsegs = -1; error = _nexus_dmamap_load_buffer(dmat, buf, buflen, NULL, flags, - dmat->dt_segments, &nsegs, 1); + dmat->dt_segments, &nsegs); if (error == 0) { (*callback)(callback_arg, dmat->dt_segments, nsegs + 1, 0); @@ -449,18 +449,16 @@ nexus_dmamap_load_mbuf(bus_dma_tag_t dma M_ASSERTPKTHDR(m0); - nsegs = 0; + nsegs = -1; error = 0; if (m0->m_pkthdr.len <= dmat->dt_maxsize) { - int first = 1; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = _nexus_dmamap_load_buffer(dmat, m->m_data, m->m_len,NULL, flags, - dmat->dt_segments, &nsegs, first); - first = 0; + dmat->dt_segments, &nsegs); } } } else { @@ -486,18 +484,16 @@ nexus_dmamap_load_mbuf_sg(bus_dma_tag_t M_ASSERTPKTHDR(m0); - *nsegs = 0; + *nsegs = -1; error = 0; if (m0->m_pkthdr.len <= dmat->dt_maxsize) { - int first = 1; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = _nexus_dmamap_load_buffer(dmat, - m->m_data, m->m_len,NULL, flags, - segs, nsegs, first); - first = 0; + m->m_data, m->m_len, NULL, flags, + segs, nsegs); } } } else { @@ -515,7 +511,7 @@ static int nexus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_t map, struct uio *uio, bus_dmamap_callback2_t *callback, void *callback_arg, int flags) { - int nsegs, error, first, i; + int nsegs, error, i; bus_size_t resid; struct iovec *iov; struct thread *td = NULL; @@ -528,9 +524,8 @@ nexus_dmamap_load_uio(bus_dma_tag_t dmat KASSERT(td != NULL, ("%s: USERSPACE but no proc", __func__)); } - nsegs = 0; + nsegs = -1; error = 0; - first = 1; for (i = 0; i < uio->uio_iovcnt && resid != 0 && !error; i++) { /* * Now at the first iovec to load. Load each iovec @@ -542,10 +537,7 @@ nexus_dmamap_load_uio(bus_dma_tag_t dmat if (minlen > 0) { error = _nexus_dmamap_load_buffer(dmat, addr, minlen, - td, flags, dmat->dt_segments, &nsegs, - first); - first = 0; - + td, flags, dmat->dt_segments, &nsegs); resid -= minlen; } } Modified: projects/physbio/sys/sparc64/sparc64/iommu.c ============================================================================== --- projects/physbio/sys/sparc64/sparc64/iommu.c Fri Dec 7 05:55:48 2012 (r243971) +++ projects/physbio/sys/sparc64/sparc64/iommu.c Fri Dec 7 06:05:34 2012 (r243972) @@ -852,7 +852,7 @@ iommu_dvmamap_destroy(bus_dma_tag_t dt, static int iommu_dvmamap_load_buffer(bus_dma_tag_t dt, struct iommu_state *is, bus_dmamap_t map, void *buf, bus_size_t buflen, struct thread *td, - int flags, bus_dma_segment_t *segs, int *segp, int align) + int flags, bus_dma_segment_t *segs, int *segp) { bus_addr_t amask, dvmaddr, dvmoffs; bus_size_t sgsize, esize; @@ -871,7 +871,7 @@ iommu_dvmamap_load_buffer(bus_dma_tag_t vaddr = (vm_offset_t)buf; voffs = vaddr & IO_PAGE_MASK; - amask = align ? dt->dt_alignment - 1 : 0; + amask = (*segp == -1) ? dt->dt_alignment - 1 : 0; /* Try to find a slab that is large enough. */ error = iommu_dvma_vallocseg(dt, is, map, voffs, buflen, amask, @@ -974,7 +974,7 @@ iommu_dvmamap_load(bus_dma_tag_t dt, bus IS_UNLOCK(is); error = iommu_dvmamap_load_buffer(dt, is, map, buf, buflen, NULL, - flags, dt->dt_segments, &seg, 1); + flags, dt->dt_segments, &seg); IS_LOCK(is); iommu_map_insq(is, map); @@ -997,7 +997,7 @@ iommu_dvmamap_load_mbuf(bus_dma_tag_t dt { struct iommu_state *is = dt->dt_cookie; struct mbuf *m; - int error = 0, first = 1, nsegs = -1; + int error = 0, nsegs = -1; M_ASSERTPKTHDR(m0); @@ -1018,8 +1018,7 @@ iommu_dvmamap_load_mbuf(bus_dma_tag_t dt continue; error = iommu_dvmamap_load_buffer(dt, is, map, m->m_data, m->m_len, NULL, flags, dt->dt_segments, - &nsegs, first); - first = 0; + &nsegs); } } else error = EINVAL; @@ -1045,7 +1044,7 @@ iommu_dvmamap_load_mbuf_sg(bus_dma_tag_t { struct iommu_state *is = dt->dt_cookie; struct mbuf *m; - int error = 0, first = 1; + int error = 0; M_ASSERTPKTHDR(m0); @@ -1067,8 +1066,7 @@ iommu_dvmamap_load_mbuf_sg(bus_dma_tag_t continue; error = iommu_dvmamap_load_buffer(dt, is, map, m->m_data, m->m_len, NULL, flags, segs, - nsegs, first); - first = 0; + nsegs); } } else error = EINVAL; @@ -1094,7 +1092,7 @@ iommu_dvmamap_load_uio(bus_dma_tag_t dt, struct iovec *iov; struct thread *td = NULL; bus_size_t minlen, resid; - int nsegs = -1, error = 0, first = 1, i; + int nsegs = -1, error = 0, i; if ((map->dm_flags & DMF_LOADED) != 0) { #ifdef DIAGNOSTIC @@ -1127,9 +1125,7 @@ iommu_dvmamap_load_uio(bus_dma_tag_t dt, error = iommu_dvmamap_load_buffer(dt, is, map, iov[i].iov_base, minlen, td, flags, dt->dt_segments, - &nsegs, first); - first = 0; - + &nsegs); resid -= minlen; } Modified: projects/physbio/sys/x86/x86/busdma_machdep.c ============================================================================== --- projects/physbio/sys/x86/x86/busdma_machdep.c Fri Dec 7 05:55:48 2012 (r243971) +++ projects/physbio/sys/x86/x86/busdma_machdep.c Fri Dec 7 06:05:34 2012 (r243972) @@ -647,7 +647,6 @@ _bus_dmamap_count_pages(bus_dma_tag_t dm /* * Utility function to load a linear buffer. segp contains * the starting segment on entrace, and the ending segment on exit. - * first indicates if this is the first invocation of this function. */ static __inline int _bus_dmamap_load_buffer(bus_dma_tag_t dmat, @@ -656,8 +655,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm pmap_t pmap, int flags, bus_dma_segment_t *segs, - int *segp, - int first) + int *segp) { bus_size_t sgsize; bus_addr_t curaddr, baddr, bmask; @@ -714,10 +712,10 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm * Insert chunk into a segment, coalescing with * previous segment if possible. */ - if (first) { + if (seg == -1) { + seg = 0; segs[seg].ds_addr = curaddr; segs[seg].ds_len = sgsize; - first = 0; } else { if (curaddr == segs[seg].ds_addr + segs[seg].ds_len && (segs[seg].ds_len + sgsize) <= dmat->maxsegsz && @@ -752,7 +750,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ bus_size_t buflen, bus_dmamap_callback_t *callback, void *callback_arg, int flags) { - int error, nsegs = 0; + int error, nsegs = -1; if (map != NULL) { flags |= BUS_DMA_WAITOK; @@ -761,7 +759,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ } error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, NULL, flags, - dmat->segments, &nsegs, 1); + dmat->segments, &nsegs); CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", __func__, dmat, dmat->flags, error, nsegs + 1); @@ -799,10 +797,9 @@ _bus_dmamap_load_mbuf_sg(bus_dma_tag_t d M_ASSERTPKTHDR(m0); flags |= BUS_DMA_NOWAIT; - *nsegs = 0; + *nsegs = -1; error = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { - int first = 1; struct mbuf *m; for (m = m0; m != NULL && error == 0; m = m->m_next) { @@ -810,8 +807,7 @@ _bus_dmamap_load_mbuf_sg(bus_dma_tag_t d error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, NULL, flags, - segs, nsegs, first); - first = 0; + segs, nsegs); } } } else { @@ -865,7 +861,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_callback2_t *callback, void *callback_arg, int flags) { - int nsegs, error, first, i; + int nsegs, error, i; bus_size_t resid; struct iovec *iov; pmap_t pmap; @@ -881,9 +877,8 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, } else pmap = NULL; - nsegs = 0; + nsegs = -1; error = 0; - first = 1; for (i = 0; i < uio->uio_iovcnt && resid != 0 && !error; i++) { /* * Now at the first iovec to load. Load each iovec @@ -896,9 +891,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, if (minlen > 0) { error = _bus_dmamap_load_buffer(dmat, map, addr, minlen, pmap, flags, - dmat->segments, &nsegs, first); - first = 0; - + dmat->segments, &nsegs); resid -= minlen; } } From owner-svn-src-projects@FreeBSD.ORG Fri Dec 7 06:34:22 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 F1015E2B; Fri, 7 Dec 2012 06:34:21 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id D415E8FC13; Fri, 7 Dec 2012 06:34:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB76YLJg035436; Fri, 7 Dec 2012 06:34:21 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB76YKu1035425; Fri, 7 Dec 2012 06:34:20 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201212070634.qB76YKu1035425@svn.freebsd.org> From: Jeff Roberson Date: Fri, 7 Dec 2012 06:34:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243973 - in projects/physbio/sys: arm/arm ia64/ia64 powerpc/powerpc sparc64/sparc64 x86/x86 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, 07 Dec 2012 06:34:22 -0000 Author: jeff Date: Fri Dec 7 06:34:20 2012 New Revision: 243973 URL: http://svnweb.freebsd.org/changeset/base/243973 Log: - Normalize load_buffer() address space handling by always requiring a valid pmap pointer. Sponsored by: EMC / Isilon Storage Division Modified: projects/physbio/sys/arm/arm/busdma_machdep-v6.c projects/physbio/sys/arm/arm/busdma_machdep.c projects/physbio/sys/ia64/ia64/busdma_machdep.c projects/physbio/sys/powerpc/powerpc/busdma_machdep.c projects/physbio/sys/sparc64/sparc64/bus_machdep.c projects/physbio/sys/sparc64/sparc64/iommu.c projects/physbio/sys/x86/x86/busdma_machdep.c Modified: projects/physbio/sys/arm/arm/busdma_machdep-v6.c ============================================================================== --- projects/physbio/sys/arm/arm/busdma_machdep-v6.c Fri Dec 7 06:05:34 2012 (r243972) +++ projects/physbio/sys/arm/arm/busdma_machdep-v6.c Fri Dec 7 06:34:20 2012 (r243973) @@ -669,7 +669,7 @@ _bus_dmamap_count_pages(bus_dma_tag_t dm vendaddr = (vm_offset_t)buf + buflen; while (vaddr < vendaddr) { - if (__predict_true(map->pmap == pmap_kernel())) + if (__predict_true(map->pmap == kernel_pmap)) paddr = pmap_kextract(vaddr); else paddr = pmap_extract(map->pmap, vaddr); @@ -718,6 +718,7 @@ static __inline int _bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, bus_size_t buflen, + pmap_t pmap, int flags, bus_dma_segment_t *segs, int *segp) @@ -737,12 +738,13 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm sl = NULL; vaddr = (vm_offset_t)buf; bmask = ~(dmat->boundary - 1); + map->pmap = pmap; for (seg = *segp; buflen > 0 ; ) { /* * Get the physical address for this segment. */ - if (__predict_true(map->pmap == pmap_kernel())) + if (__predict_true(map->pmap == kernel_pmap)) curaddr = pmap_kextract(vaddr); else curaddr = pmap_extract(map->pmap, vaddr); @@ -848,10 +850,9 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ flags |= BUS_DMA_WAITOK; map->callback = callback; map->callback_arg = callback_arg; - map->pmap = kernel_pmap; - error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, flags, - dmat->segments, &nsegs); + error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, kernel_pmap, + flags, dmat->segments, &nsegs); CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", __func__, dmat, dmat->flags, error, nsegs + 1); @@ -887,7 +888,6 @@ _bus_dmamap_load_mbuf_sg(bus_dma_tag_t d int error; M_ASSERTPKTHDR(m0); - map->pmap = kernel_pmap; flags |= BUS_DMA_NOWAIT; *nsegs = -1; @@ -899,7 +899,8 @@ _bus_dmamap_load_mbuf_sg(bus_dma_tag_t d if (m->m_len > 0) { error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, - flags, segs, nsegs); + kernel_pmap, flags, segs, + nsegs); } } } else { @@ -957,6 +958,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, int nsegs, error, i; bus_size_t resid; struct iovec *iov; + pmap_t pmap; flags |= BUS_DMA_NOWAIT; resid = uio->uio_resid; @@ -965,9 +967,9 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, if (uio->uio_segflg == UIO_USERSPACE) { KASSERT(uio->uio_td != NULL, ("bus_dmamap_load_uio: USERSPACE but no proc")); - map->pmap = vmspace_pmap(uio->uio_td->td_proc->p_vmspace); + pmap = vmspace_pmap(uio->uio_td->td_proc->p_vmspace); } else - map->pmap = kernel_pmap; + pmap = kernel_pmap; nsegs = -1; error = 0; @@ -982,7 +984,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, if (minlen > 0) { error = _bus_dmamap_load_buffer(dmat, map, - addr, minlen, flags, + addr, minlen, pmap, flags, dmat->segments, &nsegs); resid -= minlen; } Modified: projects/physbio/sys/arm/arm/busdma_machdep.c ============================================================================== --- projects/physbio/sys/arm/arm/busdma_machdep.c Fri Dec 7 06:05:34 2012 (r243972) +++ projects/physbio/sys/arm/arm/busdma_machdep.c Fri Dec 7 06:34:20 2012 (r243973) @@ -710,7 +710,7 @@ _bus_dmamap_count_pages(bus_dma_tag_t dm vendaddr = (vm_offset_t)buf + buflen; while (vaddr < vendaddr) { - if (__predict_true(pmap == pmap_kernel())) + if (__predict_true(pmap == kernel_pmap)) paddr = pmap_kextract(vaddr); else paddr = pmap_extract(pmap, vaddr); @@ -781,7 +781,7 @@ bus_dmamap_load_buffer(bus_dma_tag_t dma * XXX Don't support checking for coherent mappings * XXX in user address space. */ - if (__predict_true(pmap == pmap_kernel())) { + if (__predict_true(pmap == kernel_pmap)) { if (pmap_get_pde_pte(pmap, vaddr, &pde, &ptep) == FALSE) return (EFAULT); @@ -951,7 +951,7 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, if (m->m_len > 0) { error = bus_dmamap_load_buffer(dmat, dmat->segments, map, m->m_data, m->m_len, - pmap_kernel(), flags, &nsegs); + kernel_pmap, flags, &nsegs); map->len += m->m_len; } } @@ -995,7 +995,7 @@ bus_dmamap_load_mbuf_sg(bus_dma_tag_t dm if (m->m_len > 0) { error = bus_dmamap_load_buffer(dmat, segs, map, m->m_data, m->m_len, - pmap_kernel(), flags, + kernel_pmap, flags, nsegs); map->len += m->m_len; } Modified: projects/physbio/sys/ia64/ia64/busdma_machdep.c ============================================================================== --- projects/physbio/sys/ia64/ia64/busdma_machdep.c Fri Dec 7 06:05:34 2012 (r243972) +++ projects/physbio/sys/ia64/ia64/busdma_machdep.c Fri Dec 7 06:34:20 2012 (r243973) @@ -486,7 +486,7 @@ bus_dmamem_free(bus_dma_tag_t dmat, void */ static int _bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, - bus_size_t buflen, struct thread *td, int flags, + bus_size_t buflen, pmap_t pmap, int flags, bus_dma_segment_t *segs, int *segp) { bus_size_t sgsize; @@ -494,16 +494,10 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm vm_offset_t vaddr; bus_addr_t paddr; int seg; - pmap_t pmap; if (map == NULL) map = &nobounce_dmamap; - if (td != NULL) - pmap = vmspace_pmap(td->td_proc->p_vmspace); - else - pmap = NULL; - if ((dmat->lowaddr < paddr_max || dmat->boundary > 0 || dmat->alignment > 1) && map != &nobounce_dmamap && map->pagesneeded == 0) { @@ -517,10 +511,10 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm vendaddr = (vm_offset_t)buf + buflen; while (vaddr < vendaddr) { - if (pmap != NULL) - paddr = pmap_extract(pmap, vaddr); - else + if (pmap == kernel_pmap) paddr = pmap_kextract(vaddr); + else + paddr = pmap_extract(pmap, vaddr); if (run_filter(dmat, paddr, 0) != 0) map->pagesneeded++; vaddr += PAGE_SIZE; @@ -558,10 +552,10 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm /* * Get the physical address for this segment. */ - if (pmap) - curaddr = pmap_extract(pmap, vaddr); - else + if (pmap == kernel_pmap) curaddr = pmap_kextract(vaddr); + else + curaddr = pmap_extract(pmap, vaddr); /* * Compute the segment size, and adjust counts. @@ -634,8 +628,8 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ map->callback_arg = callback_arg; } - error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, NULL, flags, - dmat->segments, &nsegs); + error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, kernel_pmap, + flags, dmat->segments, &nsegs); if (error == EINPROGRESS) return (error); @@ -668,7 +662,7 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = _bus_dmamap_load_buffer(dmat, map, - m->m_data, m->m_len, NULL, flags, + m->m_data, m->m_len, kernel_pmap, flags, dmat->segments, &nsegs); } } @@ -703,7 +697,7 @@ bus_dmamap_load_mbuf_sg(bus_dma_tag_t dm for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = _bus_dmamap_load_buffer(dmat, map, - m->m_data, m->m_len, NULL, flags, + m->m_data, m->m_len, kernel_pmap, flags, segs, nsegs); } } @@ -725,17 +719,18 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, int nsegs, error, i; bus_size_t resid; struct iovec *iov; - struct thread *td = NULL; + pmap_t pmap; flags |= BUS_DMA_NOWAIT; resid = uio->uio_resid; iov = uio->uio_iov; if (uio->uio_segflg == UIO_USERSPACE) { - td = uio->uio_td; + pmap = vmspace_pmap(uio->uio_td->td_proc->p_vmspace); KASSERT(td != NULL, ("bus_dmamap_load_uio: USERSPACE but no proc")); - } + } else + pmap = kernel_pmap; nsegs = -1; error = 0; Modified: projects/physbio/sys/powerpc/powerpc/busdma_machdep.c ============================================================================== --- projects/physbio/sys/powerpc/powerpc/busdma_machdep.c Fri Dec 7 06:05:34 2012 (r243972) +++ projects/physbio/sys/powerpc/powerpc/busdma_machdep.c Fri Dec 7 06:34:20 2012 (r243973) @@ -601,10 +601,10 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm bus_size_t sg_len; sg_len = PAGE_SIZE - ((vm_offset_t)vaddr & PAGE_MASK); - if (pmap) - paddr = pmap_extract(pmap, vaddr); - else + if (pmap == kernel_pmap) paddr = pmap_kextract(vaddr); + else + paddr = pmap_extract(pmap, vaddr); if (run_filter(dmat, paddr) != 0) { sg_len = roundup2(sg_len, dmat->alignment); map->pagesneeded++; @@ -646,10 +646,10 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm /* * Get the physical address for this segment. */ - if (pmap) - curaddr = pmap_extract(pmap, vaddr); - else + if (pmap == kernel_pmap) curaddr = pmap_kextract(vaddr); + else + curaddr = pmap_extract(pmap, vaddr); /* * Compute the segment size, and adjust counts. @@ -724,8 +724,8 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ } map->nsegs = -1; - error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, NULL, flags, - map->segments, &map->nsegs); + error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, kernel_pmap, + flags, map->segments, &map->nsegs); map->nsegs++; CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", @@ -779,7 +779,7 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, if (m->m_len > 0) { error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, - NULL, flags, + kernel_pmap, flags, map->segments, &map->nsegs); } } @@ -824,7 +824,7 @@ bus_dmamap_load_mbuf_sg(bus_dma_tag_t dm if (m->m_len > 0) { error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, - NULL, flags, + kernel_pmap, flags, segs, nsegs); } } @@ -871,7 +871,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, ("bus_dmamap_load_uio: USERSPACE but no proc")); pmap = vmspace_pmap(uio->uio_td->td_proc->p_vmspace); } else - pmap = NULL; + pmap = kernel_pmap; map->nsegs = -1; error = 0; Modified: projects/physbio/sys/sparc64/sparc64/bus_machdep.c ============================================================================== --- projects/physbio/sys/sparc64/sparc64/bus_machdep.c Fri Dec 7 06:05:34 2012 (r243972) +++ projects/physbio/sys/sparc64/sparc64/bus_machdep.c Fri Dec 7 06:34:20 2012 (r243973) @@ -331,19 +331,13 @@ nexus_dmamap_destroy(bus_dma_tag_t dmat, */ static int _nexus_dmamap_load_buffer(bus_dma_tag_t dmat, void *buf, bus_size_t buflen, - struct thread *td, int flags, + pmap_t pmap, int flags, bus_dma_segment_t *segs, int *segp) { bus_size_t sgsize; bus_addr_t curaddr, baddr, bmask; vm_offset_t vaddr = (vm_offset_t)buf; int seg; - pmap_t pmap; - - if (td != NULL) - pmap = vmspace_pmap(td->td_proc->p_vmspace); - else - pmap = NULL; bmask = ~(dmat->dt_boundary - 1); @@ -351,10 +345,10 @@ _nexus_dmamap_load_buffer(bus_dma_tag_t /* * Get the physical address for this segment. */ - if (pmap) - curaddr = pmap_extract(pmap, vaddr); - else + if (pmap == kernel_pmap) curaddr = pmap_kextract(vaddr); + else + curaddr = pmap_extract(pmap, vaddr); /* * Compute the segment size, and adjust counts. @@ -426,8 +420,8 @@ nexus_dmamap_load(bus_dma_tag_t dmat, bu int error, nsegs; nsegs = -1; - error = _nexus_dmamap_load_buffer(dmat, buf, buflen, NULL, flags, - dmat->dt_segments, &nsegs); + error = _nexus_dmamap_load_buffer(dmat, buf, buflen, kernel_pmap, + flags, dmat->dt_segments, &nsegs); if (error == 0) { (*callback)(callback_arg, dmat->dt_segments, nsegs + 1, 0); @@ -457,7 +451,7 @@ nexus_dmamap_load_mbuf(bus_dma_tag_t dma for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = _nexus_dmamap_load_buffer(dmat, - m->m_data, m->m_len,NULL, flags, + m->m_data, m->m_len, kernel_pmap, flags, dmat->dt_segments, &nsegs); } } @@ -492,7 +486,7 @@ nexus_dmamap_load_mbuf_sg(bus_dma_tag_t for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = _nexus_dmamap_load_buffer(dmat, - m->m_data, m->m_len, NULL, flags, + m->m_data, m->m_len, kernel_pmap, flags, segs, nsegs); } } @@ -514,15 +508,15 @@ nexus_dmamap_load_uio(bus_dma_tag_t dmat int nsegs, error, i; bus_size_t resid; struct iovec *iov; - struct thread *td = NULL; + pmap_t pmap; resid = uio->uio_resid; iov = uio->uio_iov; if (uio->uio_segflg == UIO_USERSPACE) { - td = uio->uio_td; - KASSERT(td != NULL, ("%s: USERSPACE but no proc", __func__)); - } + pmap = vmspace_pmap(uio->uio_td->td_proc->p_vmspace); + } else + pmap = kernel_pmap; nsegs = -1; error = 0; @@ -537,7 +531,7 @@ nexus_dmamap_load_uio(bus_dma_tag_t dmat if (minlen > 0) { error = _nexus_dmamap_load_buffer(dmat, addr, minlen, - td, flags, dmat->dt_segments, &nsegs); + pmap, flags, dmat->dt_segments, &nsegs); resid -= minlen; } } Modified: projects/physbio/sys/sparc64/sparc64/iommu.c ============================================================================== --- projects/physbio/sys/sparc64/sparc64/iommu.c Fri Dec 7 06:05:34 2012 (r243972) +++ projects/physbio/sys/sparc64/sparc64/iommu.c Fri Dec 7 06:34:20 2012 (r243973) @@ -851,14 +851,13 @@ iommu_dvmamap_destroy(bus_dma_tag_t dt, */ static int iommu_dvmamap_load_buffer(bus_dma_tag_t dt, struct iommu_state *is, - bus_dmamap_t map, void *buf, bus_size_t buflen, struct thread *td, + bus_dmamap_t map, void *buf, bus_size_t buflen, pmap_t pmap, int flags, bus_dma_segment_t *segs, int *segp) { bus_addr_t amask, dvmaddr, dvmoffs; bus_size_t sgsize, esize; vm_offset_t vaddr, voffs; vm_paddr_t curaddr; - pmap_t pmap = NULL; int error, firstpg, sgcnt; u_int slot; @@ -866,9 +865,6 @@ iommu_dvmamap_load_buffer(bus_dma_tag_t if (buflen > dt->dt_maxsize) return (EINVAL); - if (td != NULL) - pmap = vmspace_pmap(td->td_proc->p_vmspace); - vaddr = (vm_offset_t)buf; voffs = vaddr & IO_PAGE_MASK; amask = (*segp == -1) ? dt->dt_alignment - 1 : 0; @@ -888,10 +884,10 @@ iommu_dvmamap_load_buffer(bus_dma_tag_t /* * Get the physical address for this page. */ - if (pmap != NULL) - curaddr = pmap_extract(pmap, vaddr); - else + if (pmap == kernel_pmap) curaddr = pmap_kextract(vaddr); + else + curaddr = pmap_extract(pmap, vaddr); /* * Compute the segment size, and adjust counts. @@ -973,8 +969,8 @@ iommu_dvmamap_load(bus_dma_tag_t dt, bus iommu_map_remq(is, map); IS_UNLOCK(is); - error = iommu_dvmamap_load_buffer(dt, is, map, buf, buflen, NULL, - flags, dt->dt_segments, &seg); + error = iommu_dvmamap_load_buffer(dt, is, map, buf, buflen, + kernel_pmap, flags, dt->dt_segments, &seg); IS_LOCK(is); iommu_map_insq(is, map); @@ -1017,8 +1013,8 @@ iommu_dvmamap_load_mbuf(bus_dma_tag_t dt if (m->m_len == 0) continue; error = iommu_dvmamap_load_buffer(dt, is, map, - m->m_data, m->m_len, NULL, flags, dt->dt_segments, - &nsegs); + m->m_data, m->m_len, kernel_pmap, flags, + dt->dt_segments, &nsegs); } } else error = EINVAL; @@ -1065,7 +1061,7 @@ iommu_dvmamap_load_mbuf_sg(bus_dma_tag_t if (m->m_len == 0) continue; error = iommu_dvmamap_load_buffer(dt, is, map, - m->m_data, m->m_len, NULL, flags, segs, + m->m_data, m->m_len, kernel_pmap, flags, segs, nsegs); } } else @@ -1093,6 +1089,7 @@ iommu_dvmamap_load_uio(bus_dma_tag_t dt, struct thread *td = NULL; bus_size_t minlen, resid; int nsegs = -1, error = 0, i; + pmap-t pmap; if ((map->dm_flags & DMF_LOADED) != 0) { #ifdef DIAGNOSTIC @@ -1110,9 +1107,11 @@ iommu_dvmamap_load_uio(bus_dma_tag_t dt, if (uio->uio_segflg == UIO_USERSPACE) { td = uio->uio_td; - KASSERT(td != NULL, + KASSERT(uio->uio_td != NULL, ("%s: USERSPACE but no proc", __func__)); - } + pmap = vmspace_pmap(uio->uio_td->td_proc->p_vmspace); + } else + pmap = kernel_pmap; for (i = 0; i < uio->uio_iovcnt && resid != 0 && error == 0; i++) { /* @@ -1124,7 +1123,7 @@ iommu_dvmamap_load_uio(bus_dma_tag_t dt, continue; error = iommu_dvmamap_load_buffer(dt, is, map, - iov[i].iov_base, minlen, td, flags, dt->dt_segments, + iov[i].iov_base, minlen, pmap, flags, dt->dt_segments, &nsegs); resid -= minlen; } Modified: projects/physbio/sys/x86/x86/busdma_machdep.c ============================================================================== --- projects/physbio/sys/x86/x86/busdma_machdep.c Fri Dec 7 06:05:34 2012 (r243972) +++ projects/physbio/sys/x86/x86/busdma_machdep.c Fri Dec 7 06:34:20 2012 (r243973) @@ -604,10 +604,10 @@ _bus_dmamap_count_pages(bus_dma_tag_t dm bus_size_t sg_len; sg_len = PAGE_SIZE - ((vm_offset_t)vaddr & PAGE_MASK); - if (pmap) - paddr = pmap_extract(pmap, vaddr); - else + if (pmap == kernel_pmap) paddr = pmap_kextract(vaddr); + else + paddr = pmap_extract(pmap, vaddr); if (((dmat->flags & BUS_DMA_COULD_BOUNCE) != 0) && run_filter(dmat, paddr) != 0) { sg_len = roundup2(sg_len, dmat->alignment); @@ -680,10 +680,10 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm /* * Get the physical address for this segment. */ - if (pmap) - curaddr = pmap_extract(pmap, vaddr); - else + if (pmap == kernel_pmap) curaddr = pmap_kextract(vaddr); + else + curaddr = pmap_extract(pmap, vaddr); /* * Compute the segment size, and adjust counts. @@ -758,8 +758,8 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ map->callback_arg = callback_arg; } - error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, NULL, flags, - dmat->segments, &nsegs); + error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, kernel_pmap, + flags, dmat->segments, &nsegs); CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", __func__, dmat, dmat->flags, error, nsegs + 1); @@ -806,7 +806,7 @@ _bus_dmamap_load_mbuf_sg(bus_dma_tag_t d if (m->m_len > 0) { error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, - NULL, flags, + kernel_pmap, flags, segs, nsegs); } } @@ -875,7 +875,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, ("bus_dmamap_load_uio: USERSPACE but no proc")); pmap = vmspace_pmap(uio->uio_td->td_proc->p_vmspace); } else - pmap = NULL; + pmap = kernel_pmap; nsegs = -1; error = 0; From owner-svn-src-projects@FreeBSD.ORG Fri Dec 7 07:00:33 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 4C4F84B2; Fri, 7 Dec 2012 07:00:33 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 23F458FC0C; Fri, 7 Dec 2012 07:00:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB770Xxk040148; Fri, 7 Dec 2012 07:00:33 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB770Vkt040137; Fri, 7 Dec 2012 07:00:31 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201212070700.qB770Vkt040137@svn.freebsd.org> From: Jeff Roberson Date: Fri, 7 Dec 2012 07:00:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243976 - in projects/physbio/sys: arm/arm ia64/ia64 mips/mips powerpc/powerpc sparc64/sparc64 x86/x86 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, 07 Dec 2012 07:00:33 -0000 Author: jeff Date: Fri Dec 7 07:00:31 2012 New Revision: 243976 URL: http://svnweb.freebsd.org/changeset/base/243976 Log: - Permit the opacity of maps and tags in callers to *dmamap_load_buffer() by fetching the default tag set if NULL is passed in. Sponsored by: EMC / Isilon Storage Division Modified: projects/physbio/sys/arm/arm/busdma_machdep-v6.c projects/physbio/sys/arm/arm/busdma_machdep.c projects/physbio/sys/ia64/ia64/busdma_machdep.c projects/physbio/sys/mips/mips/busdma_machdep.c projects/physbio/sys/powerpc/powerpc/busdma_machdep.c projects/physbio/sys/sparc64/sparc64/bus_machdep.c projects/physbio/sys/sparc64/sparc64/iommu.c projects/physbio/sys/x86/x86/busdma_machdep.c Modified: projects/physbio/sys/arm/arm/busdma_machdep-v6.c ============================================================================== --- projects/physbio/sys/arm/arm/busdma_machdep-v6.c Fri Dec 7 06:38:30 2012 (r243975) +++ projects/physbio/sys/arm/arm/busdma_machdep-v6.c Fri Dec 7 07:00:31 2012 (r243976) @@ -729,6 +729,9 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm struct sync_list *sl; int seg, error; + if (segs == NULL) + segs = dmat->segments; + if ((dmat->flags & BUS_DMA_COULD_BOUNCE) != 0) { error = _bus_dmamap_count_pages(dmat, map, buf, buflen, flags); if (error) @@ -852,7 +855,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ map->callback_arg = callback_arg; error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, kernel_pmap, - flags, dmat->segments, &nsegs); + flags, NULL, &nsegs); CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", __func__, dmat, dmat->flags, error, nsegs + 1); @@ -922,8 +925,7 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, { int nsegs, error; - error = _bus_dmamap_load_mbuf_sg(dmat, map, m0, dmat->segments, &nsegs, - flags); + error = _bus_dmamap_load_mbuf_sg(dmat, map, m0, NULL, &nsegs, flags); if (error) { /* force "no valid mappings" in callback */ @@ -985,7 +987,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, if (minlen > 0) { error = _bus_dmamap_load_buffer(dmat, map, addr, minlen, pmap, flags, - dmat->segments, &nsegs); + NULL, &nsegs); resid -= minlen; } } Modified: projects/physbio/sys/arm/arm/busdma_machdep.c ============================================================================== --- projects/physbio/sys/arm/arm/busdma_machdep.c Fri Dec 7 06:38:30 2012 (r243975) +++ projects/physbio/sys/arm/arm/busdma_machdep.c Fri Dec 7 07:00:31 2012 (r243976) @@ -765,6 +765,9 @@ bus_dmamap_load_buffer(bus_dma_tag_t dma bmask = ~(dmat->boundary - 1); + if (segs == NULL) + segs = dmat->segments; + if ((dmat->flags & BUS_DMA_COULD_BOUNCE) != 0) { error = _bus_dmamap_count_pages(dmat, map, pmap, buf, buflen, flags); @@ -913,7 +916,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ map->buffer = buf; map->len = buflen; error = bus_dmamap_load_buffer(dmat, - dmat->segments, map, buf, buflen, kernel_pmap, + NULL, map, buf, buflen, kernel_pmap, flags, &nsegs); if (error == EINPROGRESS) return (error); @@ -950,7 +953,7 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = bus_dmamap_load_buffer(dmat, - dmat->segments, map, m->m_data, m->m_len, + NULL, map, m->m_data, m->m_len, kernel_pmap, flags, &nsegs); map->len += m->m_len; } @@ -1050,7 +1053,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, caddr_t addr = (caddr_t) iov[i].iov_base; if (minlen > 0) { - error = bus_dmamap_load_buffer(dmat, dmat->segments, + error = bus_dmamap_load_buffer(dmat, NULL, map, addr, minlen, pmap, flags, &nsegs); map->len += minlen; Modified: projects/physbio/sys/ia64/ia64/busdma_machdep.c ============================================================================== --- projects/physbio/sys/ia64/ia64/busdma_machdep.c Fri Dec 7 06:38:30 2012 (r243975) +++ projects/physbio/sys/ia64/ia64/busdma_machdep.c Fri Dec 7 07:00:31 2012 (r243976) @@ -498,6 +498,9 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm if (map == NULL) map = &nobounce_dmamap; + if (segs == NULL) + segs = dmat->segments; + if ((dmat->lowaddr < paddr_max || dmat->boundary > 0 || dmat->alignment > 1) && map != &nobounce_dmamap && map->pagesneeded == 0) { @@ -629,7 +632,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ } error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, kernel_pmap, - flags, dmat->segments, &nsegs); + flags, NULL, &nsegs); if (error == EINPROGRESS) return (error); @@ -663,7 +666,7 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, if (m->m_len > 0) { error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, kernel_pmap, flags, - dmat->segments, &nsegs); + NULL, &nsegs); } } } else { @@ -745,8 +748,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, if (minlen > 0) { error = _bus_dmamap_load_buffer(dmat, map, addr, - minlen, td, flags, dmat->segments, - &nsegs); + minlen, td, flags, NULL, &nsegs); resid -= minlen; } } Modified: projects/physbio/sys/mips/mips/busdma_machdep.c ============================================================================== --- projects/physbio/sys/mips/mips/busdma_machdep.c Fri Dec 7 06:38:30 2012 (r243975) +++ projects/physbio/sys/mips/mips/busdma_machdep.c Fri Dec 7 07:00:31 2012 (r243976) @@ -761,6 +761,9 @@ bus_dmamap_load_buffer(bus_dma_tag_t dma bmask = ~(dmat->boundary - 1); + if (segs == NULL) + segs = dmat->segments; + if ((dmat->flags & BUS_DMA_COULD_BOUNCE) != 0) { error = _bus_dmamap_count_pages(dmat, map, pmap, buf, buflen, flags); @@ -856,7 +859,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ map->buffer = buf; map->len = buflen; error = bus_dmamap_load_buffer(dmat, - dmat->segments, map, buf, buflen, kernel_pmap, + NULL, map, buf, buflen, kernel_pmap, flags, &nsegs); if (error == EINPROGRESS) return (error); @@ -893,7 +896,7 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { error = bus_dmamap_load_buffer(dmat, - dmat->segments, map, m->m_data, m->m_len, + NULL, map, m->m_data, m->m_len, kernel_pmap, flags, &nsegs); map->len += m->m_len; } @@ -994,7 +997,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, caddr_t addr = (caddr_t) iov[i].iov_base; if (minlen > 0) { - error = bus_dmamap_load_buffer(dmat, dmat->segments, + error = bus_dmamap_load_buffer(dmat, NULL, map, addr, minlen, pmap, flags, &nsegs); map->len += minlen; Modified: projects/physbio/sys/powerpc/powerpc/busdma_machdep.c ============================================================================== --- projects/physbio/sys/powerpc/powerpc/busdma_machdep.c Fri Dec 7 06:38:30 2012 (r243975) +++ projects/physbio/sys/powerpc/powerpc/busdma_machdep.c Fri Dec 7 07:00:31 2012 (r243976) @@ -583,6 +583,9 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm bus_addr_t paddr; int seg; + if (segs == NULL) + segs = map->segments; + if (map->pagesneeded == 0 && ((dmat->flags & BUS_DMA_COULD_BOUNCE) != 0)) { vm_offset_t vendaddr; @@ -700,6 +703,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm } *segp = seg; + map->nsegs = seg; /* * Did we fit? @@ -725,7 +729,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ map->nsegs = -1; error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, kernel_pmap, - flags, map->segments, &map->nsegs); + flags, NULL, &map->nsegs); map->nsegs++; CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", @@ -780,7 +784,7 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, kernel_pmap, flags, - map->segments, &map->nsegs); + NULL, &map->nsegs); } } } else { @@ -887,7 +891,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, if (minlen > 0) { error = _bus_dmamap_load_buffer(dmat, map, addr, minlen, pmap, flags, - map->segments, &map->nsegs); + NULL, &map->nsegs); resid -= minlen; } Modified: projects/physbio/sys/sparc64/sparc64/bus_machdep.c ============================================================================== --- projects/physbio/sys/sparc64/sparc64/bus_machdep.c Fri Dec 7 06:38:30 2012 (r243975) +++ projects/physbio/sys/sparc64/sparc64/bus_machdep.c Fri Dec 7 07:00:31 2012 (r243976) @@ -339,6 +339,9 @@ _nexus_dmamap_load_buffer(bus_dma_tag_t vm_offset_t vaddr = (vm_offset_t)buf; int seg; + if (segs == NULL) + segs = dmat->dt_segments; + bmask = ~(dmat->dt_boundary - 1); for (seg = *segp; buflen > 0 ; ) { @@ -421,7 +424,7 @@ nexus_dmamap_load(bus_dma_tag_t dmat, bu nsegs = -1; error = _nexus_dmamap_load_buffer(dmat, buf, buflen, kernel_pmap, - flags, dmat->dt_segments, &nsegs); + flags, NULL, &nsegs); if (error == 0) { (*callback)(callback_arg, dmat->dt_segments, nsegs + 1, 0); @@ -452,7 +455,7 @@ nexus_dmamap_load_mbuf(bus_dma_tag_t dma if (m->m_len > 0) { error = _nexus_dmamap_load_buffer(dmat, m->m_data, m->m_len, kernel_pmap, flags, - dmat->dt_segments, &nsegs); + NULL, &nsegs); } } } else { @@ -531,7 +534,7 @@ nexus_dmamap_load_uio(bus_dma_tag_t dmat if (minlen > 0) { error = _nexus_dmamap_load_buffer(dmat, addr, minlen, - pmap, flags, dmat->dt_segments, &nsegs); + pmap, flags, NULL, &nsegs); resid -= minlen; } } Modified: projects/physbio/sys/sparc64/sparc64/iommu.c ============================================================================== --- projects/physbio/sys/sparc64/sparc64/iommu.c Fri Dec 7 06:38:30 2012 (r243975) +++ projects/physbio/sys/sparc64/sparc64/iommu.c Fri Dec 7 07:00:31 2012 (r243976) @@ -865,6 +865,9 @@ iommu_dvmamap_load_buffer(bus_dma_tag_t if (buflen > dt->dt_maxsize) return (EINVAL); + if (segs == NULL) + segs = dt->dt_segments; + vaddr = (vm_offset_t)buf; voffs = vaddr & IO_PAGE_MASK; amask = (*segp == -1) ? dt->dt_alignment - 1 : 0; @@ -970,7 +973,7 @@ iommu_dvmamap_load(bus_dma_tag_t dt, bus IS_UNLOCK(is); error = iommu_dvmamap_load_buffer(dt, is, map, buf, buflen, - kernel_pmap, flags, dt->dt_segments, &seg); + kernel_pmap, flags, NULL, &seg); IS_LOCK(is); iommu_map_insq(is, map); @@ -1014,7 +1017,7 @@ iommu_dvmamap_load_mbuf(bus_dma_tag_t dt continue; error = iommu_dvmamap_load_buffer(dt, is, map, m->m_data, m->m_len, kernel_pmap, flags, - dt->dt_segments, &nsegs); + NULL, &nsegs); } } else error = EINVAL; @@ -1123,7 +1126,7 @@ iommu_dvmamap_load_uio(bus_dma_tag_t dt, continue; error = iommu_dvmamap_load_buffer(dt, is, map, - iov[i].iov_base, minlen, pmap, flags, dt->dt_segments, + iov[i].iov_base, minlen, pmap, flags, NULL, &nsegs); resid -= minlen; } Modified: projects/physbio/sys/x86/x86/busdma_machdep.c ============================================================================== --- projects/physbio/sys/x86/x86/busdma_machdep.c Fri Dec 7 06:38:30 2012 (r243975) +++ projects/physbio/sys/x86/x86/busdma_machdep.c Fri Dec 7 07:00:31 2012 (r243976) @@ -665,6 +665,9 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm if (map == NULL || map == &contig_dmamap) map = &nobounce_dmamap; + if (segs == NULL) + segs = dmat->segments; + if ((dmat->flags & BUS_DMA_COULD_BOUNCE) != 0) { error = _bus_dmamap_count_pages(dmat, map, pmap, buf, buflen, flags); if (error) @@ -759,7 +762,7 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ } error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, kernel_pmap, - flags, dmat->segments, &nsegs); + flags, NULL, &nsegs); CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", __func__, dmat, dmat->flags, error, nsegs + 1); @@ -829,8 +832,7 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, { int nsegs, error; - error = _bus_dmamap_load_mbuf_sg(dmat, map, m0, dmat->segments, &nsegs, - flags); + error = _bus_dmamap_load_mbuf_sg(dmat, map, m0, NULL, &nsegs, flags); if (error) { /* force "no valid mappings" in callback */ @@ -891,7 +893,7 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, if (minlen > 0) { error = _bus_dmamap_load_buffer(dmat, map, addr, minlen, pmap, flags, - dmat->segments, &nsegs); + NULL, &nsegs); resid -= minlen; } } From owner-svn-src-projects@FreeBSD.ORG Fri Dec 7 07:24:18 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 22CDDB89; Fri, 7 Dec 2012 07:24:18 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 030108FC12; Fri, 7 Dec 2012 07:24:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB77OHw9045037; Fri, 7 Dec 2012 07:24:17 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB77OGiC045023; Fri, 7 Dec 2012 07:24:16 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201212070724.qB77OGiC045023@svn.freebsd.org> From: Jeff Roberson Date: Fri, 7 Dec 2012 07:24:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243979 - in projects/physbio/sys: arm/arm ia64/ia64 mips/mips powerpc/powerpc sparc64/sparc64 sys x86/x86 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, 07 Dec 2012 07:24:18 -0000 Author: jeff Date: Fri Dec 7 07:24:15 2012 New Revision: 243979 URL: http://svnweb.freebsd.org/changeset/base/243979 Log: - Make all of the _bus_dmamap_load_buffer routines identical. Re-arrange callers so that the argument order is the same. - In the sparc64 iommu move some common code into load_buffer() so that it will be easier to combine users with the other implementations. Sponsored by: EMC / Isilon Storage Division Modified: projects/physbio/sys/arm/arm/busdma_machdep-v6.c projects/physbio/sys/arm/arm/busdma_machdep.c projects/physbio/sys/ia64/ia64/busdma_machdep.c projects/physbio/sys/mips/mips/busdma_machdep.c projects/physbio/sys/powerpc/powerpc/busdma_machdep.c projects/physbio/sys/sparc64/sparc64/bus_machdep.c projects/physbio/sys/sparc64/sparc64/iommu.c projects/physbio/sys/sys/bus_dma.h projects/physbio/sys/x86/x86/busdma_machdep.c Modified: projects/physbio/sys/arm/arm/busdma_machdep-v6.c ============================================================================== --- projects/physbio/sys/arm/arm/busdma_machdep-v6.c Fri Dec 7 07:08:39 2012 (r243978) +++ projects/physbio/sys/arm/arm/busdma_machdep-v6.c Fri Dec 7 07:24:15 2012 (r243979) @@ -714,7 +714,7 @@ _bus_dmamap_count_pages(bus_dma_tag_t dm * Utility function to load a linear buffer. segp contains * the starting segment on entrace, and the ending segment on exit. */ -static __inline int +int _bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, bus_size_t buflen, Modified: projects/physbio/sys/arm/arm/busdma_machdep.c ============================================================================== --- projects/physbio/sys/arm/arm/busdma_machdep.c Fri Dec 7 07:08:39 2012 (r243978) +++ projects/physbio/sys/arm/arm/busdma_machdep.c Fri Dec 7 07:24:15 2012 (r243979) @@ -222,11 +222,6 @@ SYSINIT(busdma, SI_SUB_VM, SI_ORDER_ANY, */ static __inline int -bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dma_segment_t *segs, - bus_dmamap_t map, void *buf, bus_size_t buflen, struct pmap *pmap, - int flags, int *segp); - -static __inline int _bus_dma_can_bounce(vm_offset_t lowaddr, vm_offset_t highaddr) { int i; @@ -749,10 +744,10 @@ _bus_dmamap_count_pages(bus_dma_tag_t dm * Utility function to load a linear buffer. segp contains * the starting segment on entrance, and the ending segment on exit. */ -static __inline int -bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dma_segment_t *segs, - bus_dmamap_t map, void *buf, bus_size_t buflen, struct pmap *pmap, - int flags, int *segp) +int +_bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, + bus_size_t buflen, struct pmap *pmap, int flags, bus_dma_segment_t *segs, + int *segp) { bus_size_t sgsize; bus_addr_t curaddr, baddr, bmask; @@ -915,9 +910,9 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ map->flags |= DMAMAP_LINEAR|DMAMAP_COHERENT; map->buffer = buf; map->len = buflen; - error = bus_dmamap_load_buffer(dmat, - NULL, map, buf, buflen, kernel_pmap, - flags, &nsegs); + error = _bus_dmamap_load_buffer(dmat, + map, buf, buflen, kernel_pmap, + flags, NULL, &nsegs); if (error == EINPROGRESS) return (error); if (error) @@ -952,9 +947,9 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { - error = bus_dmamap_load_buffer(dmat, - NULL, map, m->m_data, m->m_len, - kernel_pmap, flags, &nsegs); + error = _bus_dmamap_load_buffer(dmat, + map, m->m_data, m->m_len, + kernel_pmap, flags, NULL, &nsegs); map->len += m->m_len; } } @@ -996,10 +991,10 @@ bus_dmamap_load_mbuf_sg(bus_dma_tag_t dm for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { - error = bus_dmamap_load_buffer(dmat, segs, map, + error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, kernel_pmap, flags, - nsegs); + segs, nsegs); map->len += m->m_len; } } @@ -1053,8 +1048,8 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, caddr_t addr = (caddr_t) iov[i].iov_base; if (minlen > 0) { - error = bus_dmamap_load_buffer(dmat, NULL, - map, addr, minlen, pmap, flags, &nsegs); + error = _bus_dmamap_load_buffer(dmat, + map, addr, minlen, pmap, flags, NULL, &nsegs); map->len += minlen; resid -= minlen; Modified: projects/physbio/sys/ia64/ia64/busdma_machdep.c ============================================================================== --- projects/physbio/sys/ia64/ia64/busdma_machdep.c Fri Dec 7 07:08:39 2012 (r243978) +++ projects/physbio/sys/ia64/ia64/busdma_machdep.c Fri Dec 7 07:24:15 2012 (r243979) @@ -484,7 +484,7 @@ bus_dmamem_free(bus_dma_tag_t dmat, void * Utility function to load a linear buffer. segp contains * the starting segment on entrace, and the ending segment on exit. */ -static int +int _bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, bus_size_t buflen, pmap_t pmap, int flags, bus_dma_segment_t *segs, int *segp) Modified: projects/physbio/sys/mips/mips/busdma_machdep.c ============================================================================== --- projects/physbio/sys/mips/mips/busdma_machdep.c Fri Dec 7 07:08:39 2012 (r243978) +++ projects/physbio/sys/mips/mips/busdma_machdep.c Fri Dec 7 07:24:15 2012 (r243979) @@ -215,11 +215,6 @@ SYSINIT(busdma, SI_SUB_VM, SI_ORDER_ANY, */ static __inline int -bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dma_segment_t *segs, - bus_dmamap_t map, void *buf, bus_size_t buflen, struct pmap *pmap, - int flags, int *segp); - -static __inline int _bus_dma_can_bounce(vm_offset_t lowaddr, vm_offset_t highaddr) { int i; @@ -748,10 +743,10 @@ _bus_dmamap_count_pages(bus_dma_tag_t dm * the starting segment on entrance, and the ending segment on exit. * first indicates if this is the first invocation of this function. */ -static __inline int -bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dma_segment_t *segs, - bus_dmamap_t map, void *buf, bus_size_t buflen, struct pmap *pmap, - int flags, int *segp) +int +_bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, + bus_size_t buflen, struct pmap *pmap, int flags, bus_dma_segment_t *segs, + int *segp) { bus_size_t sgsize; bus_addr_t curaddr, baddr, bmask; @@ -858,9 +853,8 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ map->flags |= DMAMAP_LINEAR; map->buffer = buf; map->len = buflen; - error = bus_dmamap_load_buffer(dmat, - NULL, map, buf, buflen, kernel_pmap, - flags, &nsegs); + error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, kernel_pmap, + flags, NULL, &nsegs); if (error == EINPROGRESS) return (error); if (error) @@ -895,9 +889,9 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { - error = bus_dmamap_load_buffer(dmat, - NULL, map, m->m_data, m->m_len, - kernel_pmap, flags, &nsegs); + error = _bus_dmamap_load_buffer(dmat, + map, m->m_data, m->m_len, + kernel_pmap, flags, NULL, &nsegs); map->len += m->m_len; } } @@ -939,10 +933,10 @@ bus_dmamap_load_mbuf_sg(bus_dma_tag_t dm for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { - error = bus_dmamap_load_buffer(dmat, segs, map, + error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, kernel_pmap, flags, - nsegs); + segs, nsegs); map->len += m->m_len; } } @@ -997,8 +991,8 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, caddr_t addr = (caddr_t) iov[i].iov_base; if (minlen > 0) { - error = bus_dmamap_load_buffer(dmat, NULL, - map, addr, minlen, pmap, flags, &nsegs); + error = _bus_dmamap_load_buffer(dmat, map, addr, + minlen, pmap, flags, NULL, &nsegs); map->len += minlen; resid -= minlen; Modified: projects/physbio/sys/powerpc/powerpc/busdma_machdep.c ============================================================================== --- projects/physbio/sys/powerpc/powerpc/busdma_machdep.c Fri Dec 7 07:08:39 2012 (r243978) +++ projects/physbio/sys/powerpc/powerpc/busdma_machdep.c Fri Dec 7 07:24:15 2012 (r243979) @@ -568,7 +568,7 @@ bus_dmamem_free(bus_dma_tag_t dmat, void * Utility function to load a linear buffer. segp contains * the starting segment on entrance, and the ending segment on exit. */ -static __inline int +int _bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, bus_size_t buflen, Modified: projects/physbio/sys/sparc64/sparc64/bus_machdep.c ============================================================================== --- projects/physbio/sys/sparc64/sparc64/bus_machdep.c Fri Dec 7 07:08:39 2012 (r243978) +++ projects/physbio/sys/sparc64/sparc64/bus_machdep.c Fri Dec 7 07:24:15 2012 (r243979) @@ -330,9 +330,9 @@ nexus_dmamap_destroy(bus_dma_tag_t dmat, * the starting segment on entrace, and the ending segment on exit. */ static int -_nexus_dmamap_load_buffer(bus_dma_tag_t dmat, void *buf, bus_size_t buflen, - pmap_t pmap, int flags, - bus_dma_segment_t *segs, int *segp) +_nexus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, + bus_size_t buflen, pmap_t pmap, int flags, bus_dma_segment_t *segs, + int *segp) { bus_size_t sgsize; bus_addr_t curaddr, baddr, bmask; @@ -423,7 +423,7 @@ nexus_dmamap_load(bus_dma_tag_t dmat, bu int error, nsegs; nsegs = -1; - error = _nexus_dmamap_load_buffer(dmat, buf, buflen, kernel_pmap, + error = _nexus_dmamap_load_buffer(dmat, map, buf, buflen, kernel_pmap, flags, NULL, &nsegs); if (error == 0) { @@ -453,7 +453,7 @@ nexus_dmamap_load_mbuf(bus_dma_tag_t dma for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { - error = _nexus_dmamap_load_buffer(dmat, + error = _nexus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, kernel_pmap, flags, NULL, &nsegs); } @@ -488,7 +488,7 @@ nexus_dmamap_load_mbuf_sg(bus_dma_tag_t for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len > 0) { - error = _nexus_dmamap_load_buffer(dmat, + error = _nexus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, kernel_pmap, flags, segs, nsegs); } @@ -533,8 +533,8 @@ nexus_dmamap_load_uio(bus_dma_tag_t dmat caddr_t addr = (caddr_t) iov[i].iov_base; if (minlen > 0) { - error = _nexus_dmamap_load_buffer(dmat, addr, minlen, - pmap, flags, NULL, &nsegs); + error = _nexus_dmamap_load_buffer(dmat, map, addr, + minlen, pmap, flags, NULL, &nsegs); resid -= minlen; } } Modified: projects/physbio/sys/sparc64/sparc64/iommu.c ============================================================================== --- projects/physbio/sys/sparc64/sparc64/iommu.c Fri Dec 7 07:08:39 2012 (r243978) +++ projects/physbio/sys/sparc64/sparc64/iommu.c Fri Dec 7 07:24:15 2012 (r243979) @@ -850,17 +850,40 @@ iommu_dvmamap_destroy(bus_dma_tag_t dt, * IOMMU DVMA operations, common to PCI and SBus */ static int -iommu_dvmamap_load_buffer(bus_dma_tag_t dt, struct iommu_state *is, - bus_dmamap_t map, void *buf, bus_size_t buflen, pmap_t pmap, - int flags, bus_dma_segment_t *segs, int *segp) +iommu_dvmamap_load_buffer(bus_dma_tag_t dt, bus_dmamap_t map, void *buf, + bus_size_t buflen, pmap_t pmap, int flags, bus_dma_segment_t *segs, + int *segp) { bus_addr_t amask, dvmaddr, dvmoffs; bus_size_t sgsize, esize; + struct iommu_state *is; vm_offset_t vaddr, voffs; vm_paddr_t curaddr; int error, firstpg, sgcnt; + int first; u_int slot; + is = dt->dt_cookie; + if (*segp == -1) { + if ((map->dm_flags & DMF_LOADED) != 0) { +#ifdef DIAGNOSTIC + printf("%s: map still in use\n", __func__); +#endif + bus_dmamap_unload(dt, map); + } + + /* + * Make sure that the map is not on a queue so that the + * resource list may be safely accessed and modified without + * needing the lock to cover the whole operation. + */ + IS_LOCK(is); + iommu_map_remq(is, map); + IS_UNLOCK(is); + + amask = dt->dt_alignment - 1; + } else + amask = 0; KASSERT(buflen != 0, ("%s: buflen == 0!", __func__)); if (buflen > dt->dt_maxsize) return (EINVAL); @@ -870,7 +893,6 @@ iommu_dvmamap_load_buffer(bus_dma_tag_t vaddr = (vm_offset_t)buf; voffs = vaddr & IO_PAGE_MASK; - amask = (*segp == -1) ? dt->dt_alignment - 1 : 0; /* Try to find a slab that is large enough. */ error = iommu_dvma_vallocseg(dt, is, map, voffs, buflen, amask, @@ -956,22 +978,6 @@ iommu_dvmamap_load(bus_dma_tag_t dt, bus struct iommu_state *is = dt->dt_cookie; int error, seg = -1; - if ((map->dm_flags & DMF_LOADED) != 0) { -#ifdef DIAGNOSTIC - printf("%s: map still in use\n", __func__); -#endif - bus_dmamap_unload(dt, map); - } - - /* - * Make sure that the map is not on a queue so that the resource list - * may be safely accessed and modified without needing the lock to - * cover the whole operation. - */ - IS_LOCK(is); - iommu_map_remq(is, map); - IS_UNLOCK(is); - error = iommu_dvmamap_load_buffer(dt, is, map, buf, buflen, kernel_pmap, flags, NULL, &seg); @@ -1000,17 +1006,6 @@ iommu_dvmamap_load_mbuf(bus_dma_tag_t dt M_ASSERTPKTHDR(m0); - if ((map->dm_flags & DMF_LOADED) != 0) { -#ifdef DIAGNOSTIC - printf("%s: map still in use\n", __func__); -#endif - bus_dmamap_unload(dt, map); - } - - IS_LOCK(is); - iommu_map_remq(is, map); - IS_UNLOCK(is); - if (m0->m_pkthdr.len <= dt->dt_maxsize) { for (m = m0; m != NULL && error == 0; m = m->m_next) { if (m->m_len == 0) @@ -1048,16 +1043,6 @@ iommu_dvmamap_load_mbuf_sg(bus_dma_tag_t M_ASSERTPKTHDR(m0); *nsegs = -1; - if ((map->dm_flags & DMF_LOADED) != 0) { -#ifdef DIAGNOSTIC - printf("%s: map still in use\n", __func__); -#endif - bus_dmamap_unload(dt, map); - } - - IS_LOCK(is); - iommu_map_remq(is, map); - IS_UNLOCK(is); if (m0->m_pkthdr.len <= dt->dt_maxsize) { for (m = m0; m != NULL && error == 0; m = m->m_next) { @@ -1094,17 +1079,6 @@ iommu_dvmamap_load_uio(bus_dma_tag_t dt, int nsegs = -1, error = 0, i; pmap-t pmap; - if ((map->dm_flags & DMF_LOADED) != 0) { -#ifdef DIAGNOSTIC - printf("%s: map still in use\n", __func__); -#endif - bus_dmamap_unload(dt, map); - } - - IS_LOCK(is); - iommu_map_remq(is, map); - IS_UNLOCK(is); - resid = uio->uio_resid; iov = uio->uio_iov; Modified: projects/physbio/sys/sys/bus_dma.h ============================================================================== --- projects/physbio/sys/sys/bus_dma.h Fri Dec 7 07:08:39 2012 (r243978) +++ projects/physbio/sys/sys/bus_dma.h Fri Dec 7 07:24:15 2012 (r243979) @@ -282,4 +282,9 @@ void _bus_dmamap_unload(bus_dma_tag_t dm #endif /* __sparc64__ */ +int _bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, + void *buf, bus_size_t buflen, pmap_t pmap, + int flags, bus_dma_segment_t *segs, int *segp); + + #endif /* _BUS_DMA_H_ */ Modified: projects/physbio/sys/x86/x86/busdma_machdep.c ============================================================================== --- projects/physbio/sys/x86/x86/busdma_machdep.c Fri Dec 7 07:08:39 2012 (r243978) +++ projects/physbio/sys/x86/x86/busdma_machdep.c Fri Dec 7 07:24:15 2012 (r243979) @@ -648,9 +648,9 @@ _bus_dmamap_count_pages(bus_dma_tag_t dm * Utility function to load a linear buffer. segp contains * the starting segment on entrace, and the ending segment on exit. */ -static __inline int +int _bus_dmamap_load_buffer(bus_dma_tag_t dmat, - bus_dmamap_t map, + bus_dmamap_t map, void *buf, bus_size_t buflen, pmap_t pmap, int flags, From owner-svn-src-projects@FreeBSD.ORG Fri Dec 7 14:26: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 CFE29BEC; Fri, 7 Dec 2012 14:26:12 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B51F58FC08; Fri, 7 Dec 2012 14:26:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB7EQCEI014165; Fri, 7 Dec 2012 14:26:12 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB7EQCq6014164; Fri, 7 Dec 2012 14:26:12 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201212071426.qB7EQCq6014164@svn.freebsd.org> From: Alexander Motin Date: Fri, 7 Dec 2012 14:26:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243986 - projects/calloutng/sys/kern 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, 07 Dec 2012 14:26:12 -0000 Author: mav Date: Fri Dec 7 14:26:12 2012 New Revision: 243986 URL: http://svnweb.freebsd.org/changeset/base/243986 Log: Fix build with INVARIANTS enabled. Modified: projects/calloutng/sys/kern/kern_timeout.c Modified: projects/calloutng/sys/kern/kern_timeout.c ============================================================================== --- projects/calloutng/sys/kern/kern_timeout.c Fri Dec 7 13:12:01 2012 (r243985) +++ projects/calloutng/sys/kern/kern_timeout.c Fri Dec 7 14:26:12 2012 (r243986) @@ -716,7 +716,7 @@ softclock_call_cc(struct callout *c, str class->lc_unlock(c_lock); skip: CC_LOCK(cc); - KASSERT(cc->cc_curr == c, ("mishandled cc_curr")); + KASSERT(cc->cc_exec_entity[direct].cc_curr == c, ("mishandled cc_curr")); cc->cc_exec_entity[direct].cc_curr = NULL; if (cc->cc_exec_entity[direct].cc_waiting) { /* From owner-svn-src-projects@FreeBSD.ORG Fri Dec 7 16:26:33 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 A7414234; Fri, 7 Dec 2012 16:26:33 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 707D28FC12; Fri, 7 Dec 2012 16:26:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB7GQXRd037495; Fri, 7 Dec 2012 16:26:33 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB7GQXVl037493; Fri, 7 Dec 2012 16:26:33 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201212071626.qB7GQXVl037493@svn.freebsd.org> From: Alexander Motin Date: Fri, 7 Dec 2012 16:26:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243988 - in projects/calloutng/sys/powerpc: ps3 wii 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, 07 Dec 2012 16:26:33 -0000 Author: mav Date: Fri Dec 7 16:26:32 2012 New Revision: 243988 URL: http://svnweb.freebsd.org/changeset/base/243988 Log: Fix the build. Modified: projects/calloutng/sys/powerpc/ps3/platform_ps3.c projects/calloutng/sys/powerpc/wii/platform_wii.c Modified: projects/calloutng/sys/powerpc/ps3/platform_ps3.c ============================================================================== --- projects/calloutng/sys/powerpc/ps3/platform_ps3.c Fri Dec 7 16:05:04 2012 (r243987) +++ projects/calloutng/sys/powerpc/ps3/platform_ps3.c Fri Dec 7 16:26:32 2012 (r243988) @@ -70,7 +70,7 @@ static int ps3_smp_start_cpu(platform_t, static struct cpu_group *ps3_smp_topo(platform_t); #endif static void ps3_reset(platform_t); -static void ps3_cpu_idle(void); +static void ps3_cpu_idle(int); static platform_method_t ps3_methods[] = { PLATFORMMETHOD(platform_probe, ps3_probe), @@ -245,7 +245,7 @@ ps3_real_maxaddr(platform_t plat) } static void -ps3_cpu_idle(void) +ps3_cpu_idle(int us) { lv1_pause(0); } Modified: projects/calloutng/sys/powerpc/wii/platform_wii.c ============================================================================== --- projects/calloutng/sys/powerpc/wii/platform_wii.c Fri Dec 7 16:05:04 2012 (r243987) +++ projects/calloutng/sys/powerpc/wii/platform_wii.c Fri Dec 7 16:26:32 2012 (r243988) @@ -60,7 +60,7 @@ static void wii_mem_regions(platform_t, int *, struct mem_region **, int *); static unsigned long wii_timebase_freq(platform_t, struct cpuref *cpuref); static void wii_reset(platform_t); -static void wii_cpu_idle(void); +static void wii_cpu_idle(int); static platform_method_t wii_methods[] = { PLATFORMMETHOD(platform_probe, wii_probe), @@ -155,6 +155,6 @@ wii_reset(platform_t plat) } static void -wii_cpu_idle(void) +wii_cpu_idle(int us) { } From owner-svn-src-projects@FreeBSD.ORG Fri Dec 7 20:09:28 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 453D4492; Fri, 7 Dec 2012 20:09:28 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 111BB8FC0C; Fri, 7 Dec 2012 20:09:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB7K9RgW074331; Fri, 7 Dec 2012 20:09:27 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB7K9Rqx074328; Fri, 7 Dec 2012 20:09:27 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212072009.qB7K9Rqx074328@svn.freebsd.org> From: Jung-uk Kim Date: Fri, 7 Dec 2012 20:09:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243990 - projects/bpfjit/sys/contrib/sljit 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, 07 Dec 2012 20:09:28 -0000 Author: jkim Date: Fri Dec 7 20:09:27 2012 New Revision: 243990 URL: http://svnweb.freebsd.org/changeset/base/243990 Log: Implement the SLJIT_CACHE_FLUSH() macro for arm, mips, and powerpc. It was only compile-tested on powerpc. arm and mips are just my blunt guesswork. Discussed with: nwhitehorn (powerpc) Modified: projects/bpfjit/sys/contrib/sljit/sljitConfig.h projects/bpfjit/sys/contrib/sljit/sljitNativePPC_common.c Modified: projects/bpfjit/sys/contrib/sljit/sljitConfig.h ============================================================================== --- projects/bpfjit/sys/contrib/sljit/sljitConfig.h Fri Dec 7 19:06:40 2012 (r243989) +++ projects/bpfjit/sys/contrib/sljit/sljitConfig.h Fri Dec 7 20:09:27 2012 (r243990) @@ -38,8 +38,17 @@ #ifdef _KERNEL #include +#include #include +#if defined(__arm__) +#include +#elif defined(__mips__) +#include +#elif defined(__powerpc__) +#include +#endif + #define SLJIT_CALL #define SLJIT_CONFIG_AUTO 1 #define SLJIT_DEBUG 0 @@ -58,7 +67,16 @@ #define SLJIT_FREE_EXEC(ptr) free(ptr, M_TEMP) #define SLJIT_MALLOC_EXEC(size) malloc(size, M_TEMP, M_NOWAIT) -/* XXX need SLJIT_CACHE_FLUSH(from, to) for non-X86 to flush icache */ +#if defined(__arm__) +#define SLJIT_CACHE_FLUSH(from, to) \ + cpu_icache_sync_range(from, (ptrdiff_t)(to) - (ptrdiff_t)(from)) +#elif defined(__mips__) +#define SLJIT_CACHE_FLUSH(from, to) \ + mips_icache_sync_range(from, (ptrdiff_t)(to) - (ptrdiff_t)(from)) +#elif defined(__powerpc__) +/* ppc_cache_flush() was modified to call __syncicache(). */ +#define SLJIT_CACHE_FLUSH(from, to) ppc_cache_flush(from, to) +#endif #endif /* --------------------------------------------------------------------- */ Modified: projects/bpfjit/sys/contrib/sljit/sljitNativePPC_common.c ============================================================================== --- projects/bpfjit/sys/contrib/sljit/sljitNativePPC_common.c Fri Dec 7 19:06:40 2012 (r243989) +++ projects/bpfjit/sys/contrib/sljit/sljitNativePPC_common.c Fri Dec 7 20:09:27 2012 (r243990) @@ -41,6 +41,8 @@ static void ppc_cache_flush(sljit_ins *f { #ifdef _AIX _sync_cache_range((caddr_t)from, (int)((size_t)to - (size_t)from)); +#elif defined(__FreeBSD__) && defined(_KERNEL) + __syncicache(from, (ptrdiff_t)to - (ptrdiff_t)from); #elif defined(__GNUC__) || (defined(__IBM_GCC_ASM) && __IBM_GCC_ASM) # if defined(_ARCH_PWR) || defined(_ARCH_PWR2) /* Cache flush for POWER architecture. */ From owner-svn-src-projects@FreeBSD.ORG Fri Dec 7 23:18:31 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 D8777FB6; Fri, 7 Dec 2012 23:18:31 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id B83718FC12; Fri, 7 Dec 2012 23:18:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB7NIVkO006682; Fri, 7 Dec 2012 23:18:31 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB7NIVOJ006677; Fri, 7 Dec 2012 23:18:31 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201212072318.qB7NIVOJ006677@svn.freebsd.org> From: Jeff Roberson Date: Fri, 7 Dec 2012 23:18:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r244000 - in projects/physbio/sys: arm/arm mips/mips 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, 07 Dec 2012 23:18:32 -0000 Author: jeff Date: Fri Dec 7 23:18:30 2012 New Revision: 244000 URL: http://svnweb.freebsd.org/changeset/base/244000 Log: - Remember the list of virtual addresses we have mapped in the bus_dma_map on architectures that need to invalidate virtual caches. This makes the sync operation type agnostic. Rather than mallocing a small structure for each virtual address as busdma_machdep-v6.c on arm did, I opted to allocate an array sized by the maximum number of physical segments supported based on the idea that there should always be more physical than virtual segments. Sponsored by: EMC / Isilon Storage Division Modified: projects/physbio/sys/arm/arm/busdma_machdep-v6.c projects/physbio/sys/arm/arm/busdma_machdep.c projects/physbio/sys/mips/mips/busdma_machdep.c Modified: projects/physbio/sys/arm/arm/busdma_machdep-v6.c ============================================================================== --- projects/physbio/sys/arm/arm/busdma_machdep-v6.c Fri Dec 7 22:30:30 2012 (r243999) +++ projects/physbio/sys/arm/arm/busdma_machdep-v6.c Fri Dec 7 23:18:30 2012 (r244000) @@ -108,7 +108,6 @@ struct sync_list { vm_offset_t vaddr; /* kva of bounce buffer */ bus_addr_t busaddr; /* Physical address */ bus_size_t datacount; /* client data count */ - STAILQ_ENTRY(sync_list) slinks; }; int busdma_swi_pending; @@ -151,7 +150,8 @@ struct bus_dmamap { bus_dmamap_callback_t *callback; void *callback_arg; STAILQ_ENTRY(bus_dmamap) links; - STAILQ_HEAD(,sync_list) slist; + int sync_count; + struct sync_list slist[]; }; static STAILQ_HEAD(, bus_dmamap) bounce_map_waitinglist; @@ -436,17 +436,18 @@ out: int bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_dmamap_t *mapp) { + int mapsize; int error; error = 0; - *mapp = (bus_dmamap_t)malloc(sizeof(**mapp), M_DEVBUF, - M_NOWAIT | M_ZERO); + mapsize = sizeof(**mapp) + (sizeof(struct sync_list) * dmat->nsegments); + *mapp = (bus_dmamap_t)malloc(mapsize, M_DEVBUF, M_NOWAIT | M_ZERO); if (*mapp == NULL) { CTR3(KTR_BUSDMA, "%s: tag %p error %d", __func__, dmat, ENOMEM); return (ENOMEM); } - STAILQ_INIT(&((*mapp)->slist)); + (*mapp)->sync_count = 0; if (dmat->segments == NULL) { dmat->segments = (bus_dma_segment_t *)malloc( @@ -521,8 +522,7 @@ bus_dmamap_create(bus_dma_tag_t dmat, in int bus_dmamap_destroy(bus_dma_tag_t dmat, bus_dmamap_t map) { - if (STAILQ_FIRST(&map->bpages) != NULL || - STAILQ_FIRST(&map->slist) != NULL) { + if (STAILQ_FIRST(&map->bpages) != NULL || map->sync_count != 0) { CTR3(KTR_BUSDMA, "%s: tag %p error %d", __func__, dmat, EBUSY); return (EBUSY); @@ -546,6 +546,7 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, voi bus_dmamap_t *mapp) { int mflags, len; + int mapsize; if (flags & BUS_DMA_NOWAIT) mflags = M_NOWAIT; @@ -554,15 +555,15 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, voi /* ARM non-snooping caches need a map for the VA cache sync structure */ - *mapp = (bus_dmamap_t)malloc(sizeof(**mapp), M_DEVBUF, - M_NOWAIT | M_ZERO); + mapsize = sizeof(**mapp) + (sizeof(struct sync_list) * dmat->nsegments); + *mapp = (bus_dmamap_t)malloc(mapsize, M_DEVBUF, M_NOWAIT | M_ZERO); if (*mapp == NULL) { CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", __func__, dmat, dmat->flags, ENOMEM); return (ENOMEM); } - STAILQ_INIT(&((*mapp)->slist)); + (*mapp)->sync_count = 0; if (dmat->segments == NULL) { dmat->segments = (bus_dma_segment_t *)malloc( @@ -774,18 +775,14 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm map->pagesneeded != 0 && run_filter(dmat, curaddr)) { curaddr = add_bounce_page(dmat, map, vaddr, sgsize); } else { - /* add_sync_list(dmat, map, vaddr, sgsize, cflag); */ - sl = (struct sync_list *)malloc(sizeof(struct sync_list), - M_DEVBUF, M_NOWAIT | M_ZERO); - if (sl == NULL) + sl = &map->slist[map->sync_count]; + if (++map->sync_count > dmat->nsegments) goto cleanup; - STAILQ_INSERT_TAIL(&(map->slist), sl, slinks); sl->vaddr = vaddr; sl->datacount = sgsize; sl->busaddr = curaddr; } - if (dmat->ranges) { struct arm32_dma_range *dr; @@ -1012,12 +1009,6 @@ _bus_dmamap_unload(bus_dma_tag_t dmat, b { struct bounce_page *bpage; struct bounce_zone *bz; - struct sync_list *sl; - - while ((sl = STAILQ_FIRST(&map->slist)) != NULL) { - STAILQ_REMOVE_HEAD(&map->slist, slinks); - free(sl, M_DEVBUF); - } if ((bz = dmat->bounce_zone) != NULL) { while ((bpage = STAILQ_FIRST(&map->bpages)) != NULL) { @@ -1031,6 +1022,7 @@ _bus_dmamap_unload(bus_dma_tag_t dmat, b map->pagesreserved = 0; map->pagesneeded = 0; } + map->sync_count = 0; } #ifdef notyetbounceuser @@ -1090,15 +1082,13 @@ void _bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) { struct bounce_page *bpage; - struct sync_list *sl; + struct sync_list *sl, *end; bus_size_t len, unalign; vm_offset_t buf, ebuf; #ifdef FIX_DMAP_BUS_DMASYNC_POSTREAD vm_offset_t bbuf; char _tmp_cl[arm_dcache_align], _tmp_clend[arm_dcache_align]; #endif - int listcount = 0; - /* if buffer was from user space, it it possible that this * is not the same vm map. The fix is to map each page in * the buffer into the current address space (KVM) and then @@ -1166,29 +1156,26 @@ _bus_dmamap_sync(bus_dma_tag_t dmat, bus } } - sl = STAILQ_FIRST(&map->slist); - while (sl) { - listcount++; - sl = STAILQ_NEXT(sl, slinks); - } - if ((sl = STAILQ_FIRST(&map->slist)) != NULL) { + if (map->sync_count != 0) { /* ARM caches are not self-snooping for dma */ + sl = &map->slist[0]; + end = &map->slist[map->sync_count]; CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x op 0x%x " "performing sync", __func__, dmat, dmat->flags, op); switch (op) { case BUS_DMASYNC_PREWRITE: - while (sl != NULL) { + while (sl != end) { cpu_dcache_wb_range(sl->vaddr, sl->datacount); l2cache_wb_range(sl->vaddr, sl->busaddr, sl->datacount); - sl = STAILQ_NEXT(sl, slinks); + sl++; } break; case BUS_DMASYNC_PREREAD: - while (sl != NULL) { + while (sl != end) { /* write back the unaligned portions */ vm_paddr_t physaddr = sl->busaddr, ephysaddr; buf = sl->vaddr; @@ -1228,16 +1215,16 @@ _bus_dmamap_sync(bus_dma_tag_t dmat, bus cpu_dcache_inv_range(buf, len); l2cache_inv_range(buf, physaddr, len); } - sl = STAILQ_NEXT(sl, slinks); + sl++; } break; case BUS_DMASYNC_PREWRITE | BUS_DMASYNC_PREREAD: - while (sl != NULL) { + while (sl != end) { cpu_dcache_wbinv_range(sl->vaddr, sl->datacount); l2cache_wbinv_range(sl->vaddr, sl->busaddr, sl->datacount); - sl = STAILQ_NEXT(sl, slinks); + sl++; } break; @@ -1245,7 +1232,7 @@ _bus_dmamap_sync(bus_dma_tag_t dmat, bus case BUS_DMASYNC_POSTREAD: if (!pmap_dmap_iscurrent(map->pmap)) panic("_bus_dmamap_sync: wrong user map. apply fix"); - while (sl != NULL) { + while (sl != end) { /* write back the unaligned portions */ vm_paddr_t physaddr; buf = sl->vaddr; @@ -1278,7 +1265,7 @@ _bus_dmamap_sync(bus_dma_tag_t dmat, bus unalign = arm_dcache_align - unalign; memcpy((void *)ebuf, _tmp_clend, unalign); } - sl = STAILQ_NEXT(sl, slinks); + sl++; } break; #endif /* FIX_DMAP_BUS_DMASYNC_POSTREAD */ Modified: projects/physbio/sys/arm/arm/busdma_machdep.c ============================================================================== --- projects/physbio/sys/arm/arm/busdma_machdep.c Fri Dec 7 22:30:30 2012 (r243999) +++ projects/physbio/sys/arm/arm/busdma_machdep.c Fri Dec 7 23:18:30 2012 (r244000) @@ -102,6 +102,12 @@ struct bounce_page { STAILQ_ENTRY(bounce_page) links; }; +struct sync_list { + vm_offset_t vaddr; /* kva of bounce buffer */ + bus_addr_t busaddr; /* Physical address */ + bus_size_t datacount; /* client data count */ +}; + int busdma_swi_pending; struct bounce_zone { @@ -131,11 +137,7 @@ static SYSCTL_NODE(_hw, OID_AUTO, busdma SYSCTL_INT(_hw_busdma, OID_AUTO, total_bpages, CTLFLAG_RD, &total_bpages, 0, "Total bounce pages"); -#define DMAMAP_LINEAR 0x1 -#define DMAMAP_MBUF 0x2 -#define DMAMAP_UIO 0x4 #define DMAMAP_ALLOCATED 0x10 -#define DMAMAP_TYPE_MASK (DMAMAP_LINEAR|DMAMAP_MBUF|DMAMAP_UIO) #define DMAMAP_COHERENT 0x8 struct bus_dmamap { struct bp_list bpages; @@ -151,7 +153,8 @@ struct bus_dmamap { STAILQ_ENTRY(bus_dmamap) links; bus_dmamap_callback_t *callback; void *callback_arg; - + int sync_count; + struct sync_list *slist; }; static STAILQ_HEAD(, bus_dmamap) bounce_map_waitinglist; @@ -290,10 +293,14 @@ dflt_lock(void *arg, bus_dma_lock_op_t o } static __inline bus_dmamap_t -_busdma_alloc_dmamap(void) +_busdma_alloc_dmamap(bus_dma_tag_t dmat) { + struct sync_list *slist; bus_dmamap_t map; + slist = malloc(sizeof(*slist) * dmat->nsegments, M_DEVBUF, M_NOWAIT); + if (slist == NULL) + return (NULL); mtx_lock(&busdma_mtx); map = TAILQ_FIRST(&dmamap_freelist); if (map) @@ -305,13 +312,17 @@ _busdma_alloc_dmamap(void) map->flags = DMAMAP_ALLOCATED; } else map->flags = 0; - STAILQ_INIT(&map->bpages); + if (map != NULL) + STAILQ_INIT(&map->bpages); + else + free(slist, M_DEVBUF); return (map); } static __inline void _busdma_free_dmamap(bus_dmamap_t map) { + free(map->slist, M_DEVBUF); if (map->flags & DMAMAP_ALLOCATED) free(map, M_DEVBUF); else { @@ -494,7 +505,7 @@ bus_dmamap_create(bus_dma_tag_t dmat, in } } - newmap = _busdma_alloc_dmamap(); + newmap = _busdma_alloc_dmamap(dmat); if (newmap == NULL) { CTR3(KTR_BUSDMA, "%s: tag %p error %d", __func__, dmat, ENOMEM); return (ENOMEM); @@ -502,6 +513,7 @@ bus_dmamap_create(bus_dma_tag_t dmat, in *mapp = newmap; newmap->dmat = dmat; newmap->allocbuffer = NULL; + newmap->sync_count = 0; dmat->map_count++; /* @@ -565,7 +577,7 @@ int bus_dmamap_destroy(bus_dma_tag_t dmat, bus_dmamap_t map) { - if (STAILQ_FIRST(&map->bpages) != NULL) { + if (STAILQ_FIRST(&map->bpages) != NULL || map->sync_count != 0) { CTR3(KTR_BUSDMA, "%s: tag %p error %d", __func__, dmat, EBUSY); return (EBUSY); @@ -608,7 +620,7 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, voi if (flags & BUS_DMA_ZERO) mflags |= M_ZERO; - newmap = _busdma_alloc_dmamap(); + newmap = _busdma_alloc_dmamap(dmat); if (newmap == NULL) { CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", __func__, dmat, dmat->flags, ENOMEM); @@ -617,6 +629,7 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, voi dmat->map_count++; *mapp = newmap; newmap->dmat = dmat; + newmap->sync_count = 0; if (dmat->maxsize <= PAGE_SIZE && (dmat->alignment < dmat->maxsize) && @@ -728,6 +741,8 @@ _bus_dmamap_count_pages(bus_dma_tag_t dm } else { if (reserve_bounce_pages(dmat, map, 1) != 0) { /* Queue us for resources */ + map->buffer = buf; + map->len = buflen; STAILQ_INSERT_TAIL(&bounce_map_waitinglist, map, links); mtx_unlock(&bounce_lock); @@ -751,6 +766,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm { bus_size_t sgsize; bus_addr_t curaddr, baddr, bmask; + struct sync_list *sl; vm_offset_t vaddr = (vm_offset_t)buf; int seg; int error = 0; @@ -839,8 +855,16 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm sgsize = (baddr - curaddr); } if (((dmat->flags & BUS_DMA_COULD_BOUNCE) != 0) && - map->pagesneeded != 0 && run_filter(dmat, curaddr)) + map->pagesneeded != 0 && run_filter(dmat, curaddr)) { curaddr = add_bounce_page(dmat, map, vaddr, sgsize); + } else { + sl = &map->slist[map->sync_count]; + if (++map->sync_count > dmat->nsegments) + goto cleanup; + sl->vaddr = vaddr; + sl->datacount = sgsize; + sl->busaddr = curaddr; + } if (dmat->ranges) { struct arm32_dma_range *dr; @@ -883,7 +907,7 @@ segdone: } *segp = seg; - +cleanup: /* * Did we fit? */ @@ -906,10 +930,6 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ KASSERT(map != NULL, ("dmamap is NULL")); map->callback = callback; map->callback_arg = callback_arg; - map->flags &= ~DMAMAP_TYPE_MASK; - map->flags |= DMAMAP_LINEAR|DMAMAP_COHERENT; - map->buffer = buf; - map->len = buflen; error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, kernel_pmap, flags, NULL, &nsegs); @@ -938,10 +958,6 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, M_ASSERTPKTHDR(m0); - map->flags &= ~DMAMAP_TYPE_MASK; - map->flags |= DMAMAP_MBUF | DMAMAP_COHERENT; - map->buffer = m0; - map->len = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { struct mbuf *m; @@ -950,7 +966,6 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, kernel_pmap, flags, NULL, &nsegs); - map->len += m->m_len; } } } else { @@ -982,10 +997,6 @@ bus_dmamap_load_mbuf_sg(bus_dma_tag_t dm flags |= BUS_DMA_NOWAIT; *nsegs = -1; - map->flags &= ~DMAMAP_TYPE_MASK; - map->flags |= DMAMAP_MBUF | DMAMAP_COHERENT; - map->buffer = m0; - map->len = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { struct mbuf *m; @@ -995,7 +1006,6 @@ bus_dmamap_load_mbuf_sg(bus_dma_tag_t dm m->m_data, m->m_len, kernel_pmap, flags, segs, nsegs); - map->len += m->m_len; } } } else { @@ -1024,10 +1034,6 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, resid = uio->uio_resid; iov = uio->uio_iov; - map->flags &= ~DMAMAP_TYPE_MASK; - map->flags |= DMAMAP_UIO|DMAMAP_COHERENT; - map->buffer = uio; - map->len = 0; if (uio->uio_segflg == UIO_USERSPACE) { KASSERT(uio->uio_td != NULL, @@ -1051,7 +1057,6 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, error = _bus_dmamap_load_buffer(dmat, map, addr, minlen, pmap, flags, NULL, &nsegs); - map->len += minlen; resid -= minlen; } } @@ -1079,11 +1084,11 @@ _bus_dmamap_unload(bus_dma_tag_t dmat, b { struct bounce_page *bpage; - map->flags &= ~DMAMAP_TYPE_MASK; while ((bpage = STAILQ_FIRST(&map->bpages)) != NULL) { STAILQ_REMOVE_HEAD(&map->bpages, links); free_bounce_page(dmat, bpage); } + map->sync_count = 0; return; } @@ -1172,28 +1177,10 @@ _bus_dmamap_sync_bp(bus_dma_tag_t dmat, } } -static __inline int -_bus_dma_buf_is_in_bp(bus_dmamap_t map, void *buf, int len) -{ - struct bounce_page *bpage; - - STAILQ_FOREACH(bpage, &map->bpages, links) { - if ((vm_offset_t)buf >= bpage->datavaddr && - (vm_offset_t)buf + len <= bpage->datavaddr + - bpage->datacount) - return (1); - } - return (0); - -} - void _bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) { - struct mbuf *m; - struct uio *uio; - int resid; - struct iovec *iov; + struct sync_list *sl, *end; if (op == BUS_DMASYNC_POSTWRITE) return; @@ -1202,38 +1189,10 @@ _bus_dmamap_sync(bus_dma_tag_t dmat, bus if (map->flags & DMAMAP_COHERENT) return; CTR3(KTR_BUSDMA, "%s: op %x flags %x", __func__, op, map->flags); - switch(map->flags & DMAMAP_TYPE_MASK) { - case DMAMAP_LINEAR: - if (!(_bus_dma_buf_is_in_bp(map, map->buffer, map->len))) - bus_dmamap_sync_buf(map->buffer, map->len, op); - break; - case DMAMAP_MBUF: - m = map->buffer; - while (m) { - if (m->m_len > 0 && - !(_bus_dma_buf_is_in_bp(map, m->m_data, m->m_len))) - bus_dmamap_sync_buf(m->m_data, m->m_len, op); - m = m->m_next; - } - break; - case DMAMAP_UIO: - uio = map->buffer; - iov = uio->uio_iov; - resid = uio->uio_resid; - for (int i = 0; i < uio->uio_iovcnt && resid != 0; i++) { - bus_size_t minlen = resid < iov[i].iov_len ? resid : - iov[i].iov_len; - if (minlen > 0) { - if (!_bus_dma_buf_is_in_bp(map, iov[i].iov_base, - minlen)) - bus_dmamap_sync_buf(iov[i].iov_base, - minlen, op); - resid -= minlen; - } - } - break; - default: - break; + if (map->sync_count) { + end = &map->slist[map->sync_count]; + for (sl = &map->slist[0]; sl != end; sl++) + bus_dmamap_sync_buf(sl->vaddr, sl->datacount, op); } cpu_drain_writebuf(); } Modified: projects/physbio/sys/mips/mips/busdma_machdep.c ============================================================================== --- projects/physbio/sys/mips/mips/busdma_machdep.c Fri Dec 7 22:30:30 2012 (r243999) +++ projects/physbio/sys/mips/mips/busdma_machdep.c Fri Dec 7 23:18:30 2012 (r244000) @@ -93,6 +93,12 @@ struct bounce_page { STAILQ_ENTRY(bounce_page) links; }; +struct sync_list { + vm_offset_t vaddr; /* kva of bounce buffer */ + bus_addr_t busaddr; /* Physical address */ + bus_size_t datacount; /* client data count */ +}; + int busdma_swi_pending; struct bounce_zone { @@ -122,10 +128,6 @@ static SYSCTL_NODE(_hw, OID_AUTO, busdma SYSCTL_INT(_hw_busdma, OID_AUTO, total_bpages, CTLFLAG_RD, &total_bpages, 0, "Total bounce pages"); -#define DMAMAP_LINEAR 0x1 -#define DMAMAP_MBUF 0x2 -#define DMAMAP_UIO 0x4 -#define DMAMAP_TYPE_MASK (DMAMAP_LINEAR|DMAMAP_MBUF|DMAMAP_UIO) #define DMAMAP_UNCACHEABLE 0x8 #define DMAMAP_ALLOCATED 0x10 #define DMAMAP_MALLOCUSED 0x20 @@ -144,7 +146,8 @@ struct bus_dmamap { STAILQ_ENTRY(bus_dmamap) links; bus_dmamap_callback_t *callback; void *callback_arg; - + int sync_count; + struct sync_list *slist; }; static STAILQ_HEAD(, bus_dmamap) bounce_map_waitinglist; @@ -268,10 +271,14 @@ dflt_lock(void *arg, bus_dma_lock_op_t o } static __inline bus_dmamap_t -_busdma_alloc_dmamap(void) +_busdma_alloc_dmamap(bus_dma_tag_t dmat) { + struct sync_list *slist; bus_dmamap_t map; + slist = malloc(sizeof(*slist) * dmat->nsegments, M_DEVBUF, M_NOWAIT); + if (slist == NULL) + return (NULL); mtx_lock(&busdma_mtx); map = TAILQ_FIRST(&dmamap_freelist); if (map) @@ -283,13 +290,17 @@ _busdma_alloc_dmamap(void) map->flags = DMAMAP_ALLOCATED; } else map->flags = 0; - STAILQ_INIT(&map->bpages); + if (map != NULL) + STAILQ_INIT(&map->bpages); + else + free(slist, M_DEVBUF); return (map); } static __inline void _busdma_free_dmamap(bus_dmamap_t map) { + free(map->slist, M_DEVBUF); if (map->flags & DMAMAP_ALLOCATED) free(map, M_DEVBUF); else { @@ -472,7 +483,7 @@ bus_dmamap_create(bus_dma_tag_t dmat, in } } - newmap = _busdma_alloc_dmamap(); + newmap = _busdma_alloc_dmamap(dmat); if (newmap == NULL) { CTR3(KTR_BUSDMA, "%s: tag %p error %d", __func__, dmat, ENOMEM); return (ENOMEM); @@ -480,6 +491,7 @@ bus_dmamap_create(bus_dma_tag_t dmat, in *mapp = newmap; newmap->dmat = dmat; newmap->allocbuffer = NULL; + newmap->sync_count = 0; dmat->map_count++; /* @@ -544,7 +556,7 @@ int bus_dmamap_destroy(bus_dma_tag_t dmat, bus_dmamap_t map) { - if (STAILQ_FIRST(&map->bpages) != NULL) { + if (STAILQ_FIRST(&map->bpages) != NULL || map->sync_count != 0) { CTR3(KTR_BUSDMA, "%s: tag %p error %d", __func__, dmat, EBUSY); return (EBUSY); @@ -587,7 +599,7 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, voi if (flags & BUS_DMA_ZERO) mflags |= M_ZERO; - newmap = _busdma_alloc_dmamap(); + newmap = _busdma_alloc_dmamap(dmat); if (newmap == NULL) { CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", __func__, dmat, dmat->flags, ENOMEM); @@ -596,6 +608,7 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, voi dmat->map_count++; *mapp = newmap; newmap->dmat = dmat; + nwemap->sync_count = 0; /* * If all the memory is coherent with DMA then we don't need to @@ -726,6 +739,8 @@ _bus_dmamap_count_pages(bus_dma_tag_t dm } else { if (reserve_bounce_pages(dmat, map, 1) != 0) { /* Queue us for resources */ + map->buffer = buf; + map->len = buflen; STAILQ_INSERT_TAIL(&bounce_map_waitinglist, map, links); mtx_unlock(&bounce_lock); @@ -750,6 +765,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm { bus_size_t sgsize; bus_addr_t curaddr, baddr, bmask; + struct sync_list *sl; vm_offset_t vaddr = (vm_offset_t)buf; int seg; int error = 0; @@ -798,6 +814,13 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm if (((dmat->flags & BUS_DMA_COULD_BOUNCE) != 0) && map->pagesneeded != 0 && run_filter(dmat, curaddr)) { curaddr = add_bounce_page(dmat, map, vaddr, sgsize); + } else { + sl = &map->slist[map->sync_count]; + if (++map->sync_count > dmat->nsegments) + goto cleanup; + sl->vaddr = vaddr; + sl->datacount = sgsize; + sl->busaddr = curaddr; } /* @@ -826,7 +849,7 @@ segdone: } *segp = seg; - +cleanup: /* * Did we fit? */ @@ -849,10 +872,6 @@ bus_dmamap_load(bus_dma_tag_t dmat, bus_ KASSERT(map != NULL, ("dmamap is NULL")); map->callback = callback; map->callback_arg = callback_arg; - map->flags &= ~DMAMAP_TYPE_MASK; - map->flags |= DMAMAP_LINEAR; - map->buffer = buf; - map->len = buflen; error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, kernel_pmap, flags, NULL, &nsegs); if (error == EINPROGRESS) @@ -880,10 +899,6 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, M_ASSERTPKTHDR(m0); - map->flags &= ~DMAMAP_TYPE_MASK; - map->flags |= DMAMAP_MBUF; - map->buffer = m0; - map->len = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { struct mbuf *m; @@ -892,7 +907,6 @@ bus_dmamap_load_mbuf(bus_dma_tag_t dmat, error = _bus_dmamap_load_buffer(dmat, map, m->m_data, m->m_len, kernel_pmap, flags, NULL, &nsegs); - map->len += m->m_len; } } } else { @@ -924,10 +938,6 @@ bus_dmamap_load_mbuf_sg(bus_dma_tag_t dm flags |= BUS_DMA_NOWAIT; *nsegs = -1; - map->flags &= ~DMAMAP_TYPE_MASK; - map->flags |= DMAMAP_MBUF; - map->buffer = m0; - map->len = 0; if (m0->m_pkthdr.len <= dmat->maxsize) { struct mbuf *m; @@ -937,7 +947,6 @@ bus_dmamap_load_mbuf_sg(bus_dma_tag_t dm m->m_data, m->m_len, kernel_pmap, flags, segs, nsegs); - map->len += m->m_len; } } } else { @@ -966,10 +975,6 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, resid = uio->uio_resid; iov = uio->uio_iov; - map->flags &= ~DMAMAP_TYPE_MASK; - map->flags |= DMAMAP_UIO; - map->buffer = uio; - map->len = 0; if (uio->uio_segflg == UIO_USERSPACE) { KASSERT(uio->uio_td != NULL, @@ -994,7 +999,6 @@ bus_dmamap_load_uio(bus_dma_tag_t dmat, error = _bus_dmamap_load_buffer(dmat, map, addr, minlen, pmap, flags, NULL, &nsegs); - map->len += minlen; resid -= minlen; } } @@ -1022,11 +1026,11 @@ _bus_dmamap_unload(bus_dma_tag_t dmat, b { struct bounce_page *bpage; - map->flags &= ~DMAMAP_TYPE_MASK; while ((bpage = STAILQ_FIRST(&map->bpages)) != NULL) { STAILQ_REMOVE_HEAD(&map->bpages, links); free_bounce_page(dmat, bpage); } + map->sync_count = 0; return; } @@ -1154,28 +1158,10 @@ _bus_dmamap_sync_bp(bus_dma_tag_t dmat, } } -static __inline int -_bus_dma_buf_is_in_bp(bus_dmamap_t map, void *buf, int len) -{ - struct bounce_page *bpage; - - STAILQ_FOREACH(bpage, &map->bpages, links) { - if ((vm_offset_t)buf >= bpage->datavaddr && - (vm_offset_t)buf + len <= bpage->datavaddr + - bpage->datacount) - return (1); - } - return (0); - -} - void _bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op) { - struct mbuf *m; - struct uio *uio; - int resid; - struct iovec *iov; + struct sync_list *sl, *end; if (op == BUS_DMASYNC_POSTWRITE) return; @@ -1189,38 +1175,10 @@ _bus_dmamap_sync(bus_dma_tag_t dmat, bus return; CTR3(KTR_BUSDMA, "%s: op %x flags %x", __func__, op, map->flags); - switch(map->flags & DMAMAP_TYPE_MASK) { - case DMAMAP_LINEAR: - if (!(_bus_dma_buf_is_in_bp(map, map->buffer, map->len))) - bus_dmamap_sync_buf(map->buffer, map->len, op); - break; - case DMAMAP_MBUF: - m = map->buffer; - while (m) { - if (m->m_len > 0 && - !(_bus_dma_buf_is_in_bp(map, m->m_data, m->m_len))) - bus_dmamap_sync_buf(m->m_data, m->m_len, op); - m = m->m_next; - } - break; - case DMAMAP_UIO: - uio = map->buffer; - iov = uio->uio_iov; - resid = uio->uio_resid; - for (int i = 0; i < uio->uio_iovcnt && resid != 0; i++) { - bus_size_t minlen = resid < iov[i].iov_len ? resid : - iov[i].iov_len; - if (minlen > 0) { - if (!_bus_dma_buf_is_in_bp(map, iov[i].iov_base, - minlen)) - bus_dmamap_sync_buf(iov[i].iov_base, - minlen, op); - resid -= minlen; - } - } - break; - default: - break; + if (map->sync_count) { + end = &map->slist[map->sync_count]; + for (sl = &map->slist[0]; sl != end; sl++) + bus_dmamap_sync_buf(sl->vaddr, sl->datacount, op); } } From owner-svn-src-projects@FreeBSD.ORG Sat Dec 8 00:47: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 9B7B2324; Sat, 8 Dec 2012 00:47:04 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 679D48FC19; Sat, 8 Dec 2012 00:47:04 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB80l4Es025035; Sat, 8 Dec 2012 00:47:04 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB80l4jO025032; Sat, 8 Dec 2012 00:47:04 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212080047.qB80l4jO025032@svn.freebsd.org> From: Jung-uk Kim Date: Sat, 8 Dec 2012 00:47:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r244009 - projects/bpfjit/sys/netgraph 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: Sat, 08 Dec 2012 00:47:04 -0000 Author: jkim Date: Sat Dec 8 00:47:03 2012 New Revision: 244009 URL: http://svnweb.freebsd.org/changeset/base/244009 Log: Remove an unnecessary hack. bpfjit can handle mbuf chains. Modified: projects/bpfjit/sys/netgraph/ng_bpf.c Modified: projects/bpfjit/sys/netgraph/ng_bpf.c ============================================================================== --- projects/bpfjit/sys/netgraph/ng_bpf.c Sat Dec 8 00:29:16 2012 (r244008) +++ projects/bpfjit/sys/netgraph/ng_bpf.c Sat Dec 8 00:47:03 2012 (r244009) @@ -416,7 +416,7 @@ ng_bpf_rcvdata(hook_p hook, item_p item) { const hinfo_p hip = NG_HOOK_PRIVATE(hook); int totlen; - int needfree = 0, error = 0, usejit = 0; + int error = 0; u_char *data = NULL; hinfo_p dhip; hook_p dest; @@ -437,23 +437,8 @@ ng_bpf_rcvdata(hook_p hook, item_p item) goto ready; } -#ifdef BPFJIT - if (bpfjit_disable == 0 && hip->jit_prog != NULL) - usejit = 1; -#endif - /* Need to put packet in contiguous memory for bpf */ - if (m->m_next != NULL && totlen > MHLEN) { - if (usejit) { - data = malloc(totlen, M_NETGRAPH_BPF, M_NOWAIT); - if (data == NULL) { - NG_FREE_ITEM(item); - return (ENOMEM); - } - needfree = 1; - m_copydata(m, 0, totlen, (caddr_t)data); - } - } else { + if (m->m_next == NULL || totlen <= MHLEN) { if (m->m_next != NULL) { NGI_M(item) = m = m_pullup(m, totlen); if (m == NULL) { @@ -466,16 +451,18 @@ ng_bpf_rcvdata(hook_p hook, item_p item) /* Run packet through filter */ #ifdef BPFJIT - if (usejit) - len = (hip->jit_prog)(data, totlen, totlen); - else + if (bpfjit_disable == 0 && hip->jit_prog != NULL) { + if (data) + len = (hip->jit_prog)(data, totlen, totlen); + else + len = (hip->jit_prog)((u_char *)m, totlen, 0); + } else #endif if (data) len = bpf_filter(hip->prog->bpf_prog, data, totlen, totlen); else len = bpf_filter(hip->prog->bpf_prog, (u_char *)m, totlen, 0); - if (needfree) - free(data, M_NETGRAPH_BPF); + ready: /* See if we got a match and find destination hook */ if (len > 0) { From owner-svn-src-projects@FreeBSD.ORG Sat Dec 8 01:11:56 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 D142A8E0; Sat, 8 Dec 2012 01:11:56 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id ABF818FC13; Sat, 8 Dec 2012 01:11:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB81Bu0S028997; Sat, 8 Dec 2012 01:11:56 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB81Bteq028993; Sat, 8 Dec 2012 01:11:55 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212080111.qB81Bteq028993@svn.freebsd.org> From: Jung-uk Kim Date: Sat, 8 Dec 2012 01:11:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r244010 - in projects/bpfjit/sys: net netgraph 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: Sat, 08 Dec 2012 01:11:57 -0000 Author: jkim Date: Sat Dec 8 01:11:55 2012 New Revision: 244010 URL: http://svnweb.freebsd.org/changeset/base/244010 Log: Disable bpfjit by default. Only allow toggling when a filter is set. Modified: projects/bpfjit/sys/net/bpf.c projects/bpfjit/sys/net/bpfjit.c projects/bpfjit/sys/net/bpfjit.h projects/bpfjit/sys/netgraph/ng_bpf.c Modified: projects/bpfjit/sys/net/bpf.c ============================================================================== --- projects/bpfjit/sys/net/bpf.c Sat Dec 8 00:47:03 2012 (r244009) +++ projects/bpfjit/sys/net/bpf.c Sat Dec 8 01:11:55 2012 (r244010) @@ -1776,10 +1776,11 @@ bpf_setf(struct bpf_d *d, struct bpf_pro } #ifdef BPFJIT /* Filter is copied inside fcode and is perfectly valid. */ - jfunc = bpfjit_generate_code(fcode, flen); - - if (jfunc == NULL && bootverbose) - printf("bpf_setf: failed to compile filter\n"); + if (bpfjit_enable != 0) { + jfunc = bpfjit_generate_code(fcode, flen); + if (jfunc == NULL && bootverbose) + printf("bpf_setf: failed to compile filter\n"); + } #endif } @@ -2062,10 +2063,10 @@ bpf_tap(struct bpf_if *bp, u_char *pkt, * the interface pointers on the mbuf to figure it out. */ #ifdef BPFJIT - bf = bpfjit_disable == 0 ? d->bd_bfilter : NULL; - if (bf != NULL) + if (d->bd_bfilter != NULL) { + bf = d->bd_bfilter; slen = bf(pkt, pktlen, pktlen); - else + } else #endif slen = bpf_filter(d->bd_rfilter, pkt, pktlen, pktlen); if (slen != 0) { @@ -2123,10 +2124,10 @@ bpf_mtap(struct bpf_if *bp, struct mbuf continue; ++d->bd_rcount; #ifdef BPFJIT - bf = bpfjit_disable == 0 ? d->bd_bfilter : NULL; - if (bf != NULL) + if (d->bd_bfilter != NULL) { + bf = d->bd_bfilter; slen = bf((u_char *)m, pktlen, 0); - else + } else #endif slen = bpf_filter(d->bd_rfilter, (u_char *)m, pktlen, 0); if (slen != 0) { @@ -2188,10 +2189,10 @@ bpf_mtap2(struct bpf_if *bp, void *data, continue; ++d->bd_rcount; #ifdef BPFJIT - bf = bpfjit_disable == 0 ? d->bd_bfilter : NULL; - if (bf != NULL) + if (d->bd_bfilter != NULL) { + bf = d->bd_bfilter; slen = bf((u_char *)&mb, pktlen, 0); - else + } else #endif slen = bpf_filter(d->bd_rfilter, (u_char *)&mb, pktlen, 0); if (slen != 0) { Modified: projects/bpfjit/sys/net/bpfjit.c ============================================================================== --- projects/bpfjit/sys/net/bpfjit.c Sat Dec 8 00:47:03 2012 (r244009) +++ projects/bpfjit/sys/net/bpfjit.c Sat Dec 8 01:11:55 2012 (r244010) @@ -58,10 +58,10 @@ uint32_t m_xword(const struct mbuf *, ui uint32_t m_xhalf(const struct mbuf *, uint32_t, int *); uint32_t m_xbyte(const struct mbuf *, uint32_t, int *); -int bpfjit_disable = 0; +int bpfjit_enable = 0; SYSCTL_NODE(_net, OID_AUTO, bpfjit, CTLFLAG_RW, 0, "BPF just-in-time compiler"); -SYSCTL_INT(_net_bpfjit, OID_AUTO, disable, CTLFLAG_RW, &bpfjit_disable, 0, - "disable BPF just-in-time compiler"); +SYSCTL_INT(_net_bpfjit, OID_AUTO, enable, CTLFLAG_RW, &bpfjit_enable, 0, + "enable BPF just-in-time compiler"); #else Modified: projects/bpfjit/sys/net/bpfjit.h ============================================================================== --- projects/bpfjit/sys/net/bpfjit.h Sat Dec 8 00:47:03 2012 (r244009) +++ projects/bpfjit/sys/net/bpfjit.h Sat Dec 8 01:11:55 2012 (r244010) @@ -49,7 +49,7 @@ #endif #ifdef _KERNEL -extern int bpfjit_disable; +extern int bpfjit_enable; #endif /* Modified: projects/bpfjit/sys/netgraph/ng_bpf.c ============================================================================== --- projects/bpfjit/sys/netgraph/ng_bpf.c Sat Dec 8 00:47:03 2012 (r244009) +++ projects/bpfjit/sys/netgraph/ng_bpf.c Sat Dec 8 01:11:55 2012 (r244010) @@ -451,7 +451,7 @@ ng_bpf_rcvdata(hook_p hook, item_p item) /* Run packet through filter */ #ifdef BPFJIT - if (bpfjit_disable == 0 && hip->jit_prog != NULL) { + if (hip->jit_prog != NULL) { if (data) len = (hip->jit_prog)(data, totlen, totlen); else @@ -545,7 +545,7 @@ ng_bpf_setprog(hook_p hook, const struct const hinfo_p hip = NG_HOOK_PRIVATE(hook); struct ng_bpf_hookprog *hp; #ifdef BPFJIT - bpfjit_function_t jit_prog; + bpfjit_function_t jit_prog = NULL; #endif int size; @@ -560,8 +560,10 @@ ng_bpf_setprog(hook_p hook, const struct if (hp == NULL) return (ENOMEM); bcopy(hp0, hp, size); + #ifdef BPFJIT - jit_prog = bpfjit_generate_code(hp->bpf_prog, hp->bpf_prog_len); + if (bpfjit_enable != 0) + jit_prog = bpfjit_generate_code(hp->bpf_prog, hp->bpf_prog_len); #endif /* Free previous program, if any, and assign new one */ From owner-svn-src-projects@FreeBSD.ORG Sat Dec 8 01:16: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 E9631A2E; Sat, 8 Dec 2012 01:16:54 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id CEE348FC13; Sat, 8 Dec 2012 01:16:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB81GsH6029823; Sat, 8 Dec 2012 01:16:54 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB81GsmM029822; Sat, 8 Dec 2012 01:16:54 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201212080116.qB81GsmM029822@svn.freebsd.org> From: Jung-uk Kim Date: Sat, 8 Dec 2012 01:16:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r244011 - projects/bpfjit/sys/netgraph 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: Sat, 08 Dec 2012 01:16:55 -0000 Author: jkim Date: Sat Dec 8 01:16:54 2012 New Revision: 244011 URL: http://svnweb.freebsd.org/changeset/base/244011 Log: Fix an unnecessary style change in the previous commit. Modified: projects/bpfjit/sys/netgraph/ng_bpf.c Modified: projects/bpfjit/sys/netgraph/ng_bpf.c ============================================================================== --- projects/bpfjit/sys/netgraph/ng_bpf.c Sat Dec 8 01:11:55 2012 (r244010) +++ projects/bpfjit/sys/netgraph/ng_bpf.c Sat Dec 8 01:16:54 2012 (r244011) @@ -560,7 +560,6 @@ ng_bpf_setprog(hook_p hook, const struct if (hp == NULL) return (ENOMEM); bcopy(hp0, hp, size); - #ifdef BPFJIT if (bpfjit_enable != 0) jit_prog = bpfjit_generate_code(hp->bpf_prog, hp->bpf_prog_len); From owner-svn-src-projects@FreeBSD.ORG Sat Dec 8 02:32:37 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 0EA63B8B; Sat, 8 Dec 2012 02:32:37 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E4B208FC08; Sat, 8 Dec 2012 02:32:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB82WaBi041976; Sat, 8 Dec 2012 02:32:36 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB82WaJl041966; Sat, 8 Dec 2012 02:32:36 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201212080232.qB82WaJl041966@svn.freebsd.org> From: Jeff Roberson Date: Sat, 8 Dec 2012 02:32:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r244012 - in projects/physbio/sys: arm/arm ia64/ia64 kern mips/mips powerpc/powerpc sparc64/include sparc64/sparc64 sys x86/x86 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: Sat, 08 Dec 2012 02:32:37 -0000 Author: jeff Date: Sat Dec 8 02:32:35 2012 New Revision: 244012 URL: http://svnweb.freebsd.org/changeset/base/244012 Log: - Make a MI/MD busdma interface for loading virtual addresses. Re-implement load_mbuf, load_uio, load_buf, and a new load of a virtual segment list using these primitives. This eliminates code duplicated in 8 places and allows for future expansion of the busdma types without changing each architecture. Sponsored by: EMC / Isilon Storage Division Modified: projects/physbio/sys/arm/arm/busdma_machdep-v6.c projects/physbio/sys/arm/arm/busdma_machdep.c projects/physbio/sys/ia64/ia64/busdma_machdep.c projects/physbio/sys/kern/subr_busdma.c projects/physbio/sys/mips/mips/busdma_machdep.c projects/physbio/sys/powerpc/powerpc/busdma_machdep.c projects/physbio/sys/sparc64/include/bus_dma.h projects/physbio/sys/sparc64/sparc64/bus_machdep.c projects/physbio/sys/sparc64/sparc64/iommu.c projects/physbio/sys/sys/bus_dma.h projects/physbio/sys/x86/x86/busdma_machdep.c Modified: projects/physbio/sys/arm/arm/busdma_machdep-v6.c ============================================================================== --- projects/physbio/sys/arm/arm/busdma_machdep-v6.c Sat Dec 8 01:16:54 2012 (r244011) +++ projects/physbio/sys/arm/arm/busdma_machdep-v6.c Sat Dec 8 02:32:35 2012 (r244012) @@ -46,8 +46,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include #include #include @@ -837,168 +835,46 @@ cleanup: return (0); } -/* - * Map the buffer buf into bus space using the dmamap map. - */ -int -bus_dmamap_load(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, - bus_size_t buflen, bus_dmamap_callback_t *callback, - void *callback_arg, int flags) + +void +__bus_dmamap_mayblock(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dmamap_callback_t *callback, void *callback_arg, + int *flags) { - int error, nsegs = -1; - flags |= BUS_DMA_WAITOK; + (*flags) |= BUS_DMA_WAITOK; map->callback = callback; map->callback_arg = callback_arg; +} - error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, kernel_pmap, - flags, NULL, &nsegs); - - CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", - __func__, dmat, dmat->flags, error, nsegs + 1); - - if (error == EINPROGRESS) { - return (error); - } +void +_bus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dmamap_callback_t *callback, void *callback_arg, + int nsegs, int error) +{ if (error) (*callback)(callback_arg, dmat->segments, 0, error); else - (*callback)(callback_arg, dmat->segments, nsegs + 1, 0); - - /* - * Return ENOMEM to the caller so that it can pass it up the stack. - * This error only happens when NOWAIT is set, so deferal is disabled. - */ - if (error == ENOMEM) - return (error); - - return (0); + (*callback)(callback_arg, dmat->segments, nsegs, 0); } - -/* - * Like _bus_dmamap_load(), but for mbufs. - */ -static __inline int -_bus_dmamap_load_mbuf_sg(bus_dma_tag_t dmat, bus_dmamap_t map, - struct mbuf *m0, bus_dma_segment_t *segs, int *nsegs, - int flags) -{ - int error; - - M_ASSERTPKTHDR(m0); - - flags |= BUS_DMA_NOWAIT; - *nsegs = -1; - error = 0; - if (m0->m_pkthdr.len <= dmat->maxsize) { - struct mbuf *m; - - for (m = m0; m != NULL && error == 0; m = m->m_next) { - if (m->m_len > 0) { - error = _bus_dmamap_load_buffer(dmat, map, - m->m_data, m->m_len, - kernel_pmap, flags, segs, - nsegs); - } - } - } else { - error = EINVAL; - } - - /* XXX FIXME: Having to increment nsegs is really annoying */ - ++*nsegs; - CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", - __func__, dmat, dmat->flags, error, *nsegs); - return (error); -} - -int -bus_dmamap_load_mbuf(bus_dma_tag_t dmat, bus_dmamap_t map, - struct mbuf *m0, - bus_dmamap_callback2_t *callback, void *callback_arg, - int flags) +void +_bus_dmamap_complete2(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dmamap_callback2_t *callback, + void *callback_arg, int nsegs, bus_size_t len, int error) { - int nsegs, error; - error = _bus_dmamap_load_mbuf_sg(dmat, map, m0, NULL, &nsegs, flags); - - if (error) { - /* force "no valid mappings" in callback */ + if (error) (*callback)(callback_arg, dmat->segments, 0, 0, error); - } else { - (*callback)(callback_arg, dmat->segments, - nsegs, m0->m_pkthdr.len, error); - } - CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", - __func__, dmat, dmat->flags, error, nsegs); - - return (error); + else + (*callback)(callback_arg, dmat->segments, nsegs, len, error); } -int -bus_dmamap_load_mbuf_sg(bus_dma_tag_t dmat, bus_dmamap_t map, - struct mbuf *m0, bus_dma_segment_t *segs, int *nsegs, - int flags) +void +_bus_dmamap_directseg(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dma_segment_t *segs, int nsegs, int error) { - return (_bus_dmamap_load_mbuf_sg(dmat, map, m0, segs, nsegs, flags)); -} - -/* - * Like _bus_dmamap_load(), but for uios. - */ -int -bus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_t map, - struct uio *uio, - bus_dmamap_callback2_t *callback, void *callback_arg, - int flags) -{ - int nsegs, error, i; - bus_size_t resid; - struct iovec *iov; - pmap_t pmap; - - flags |= BUS_DMA_NOWAIT; - resid = uio->uio_resid; - iov = uio->uio_iov; - - if (uio->uio_segflg == UIO_USERSPACE) { - KASSERT(uio->uio_td != NULL, - ("bus_dmamap_load_uio: USERSPACE but no proc")); - pmap = vmspace_pmap(uio->uio_td->td_proc->p_vmspace); - } else - pmap = kernel_pmap; - - nsegs = -1; - error = 0; - for (i = 0; i < uio->uio_iovcnt && resid != 0 && !error; i++) { - /* - * Now at the first iovec to load. Load each iovec - * until we have exhausted the residual count. - */ - bus_size_t minlen = - resid < iov[i].iov_len ? resid : iov[i].iov_len; - caddr_t addr = (caddr_t) iov[i].iov_base; - - if (minlen > 0) { - error = _bus_dmamap_load_buffer(dmat, map, - addr, minlen, pmap, flags, - NULL, &nsegs); - resid -= minlen; - } - } - - if (error) { - /* force "no valid mappings" in callback */ - (*callback)(callback_arg, dmat->segments, 0, 0, error); - } else { - (*callback)(callback_arg, dmat->segments, - nsegs+1, uio->uio_resid, error); - } - CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", - __func__, dmat, dmat->flags, error, nsegs + 1); - return (error); } /* Modified: projects/physbio/sys/arm/arm/busdma_machdep.c ============================================================================== --- projects/physbio/sys/arm/arm/busdma_machdep.c Sat Dec 8 01:16:54 2012 (r244011) +++ projects/physbio/sys/arm/arm/busdma_machdep.c Sat Dec 8 02:32:35 2012 (r244012) @@ -44,8 +44,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include #include #include #include @@ -916,164 +914,47 @@ cleanup: return (error); } -/* - * Map the buffer buf into bus space using the dmamap map. - */ -int -bus_dmamap_load(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, - bus_size_t buflen, bus_dmamap_callback_t *callback, - void *callback_arg, int flags) +void +__bus_dmamap_mayblock(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dmamap_callback_t *callback, void *callback_arg, + int *flags) { - int error, nsegs = -1; KASSERT(dmat != NULL, ("dmatag is NULL")); KASSERT(map != NULL, ("dmamap is NULL")); + (*flags) |= BUS_DMA_WAITOK; map->callback = callback; map->callback_arg = callback_arg; - error = _bus_dmamap_load_buffer(dmat, - map, buf, buflen, kernel_pmap, - flags, NULL, &nsegs); - if (error == EINPROGRESS) - return (error); - if (error) - (*callback)(callback_arg, NULL, 0, error); - else - (*callback)(callback_arg, dmat->segments, nsegs + 1, error); - - CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", - __func__, dmat, dmat->flags, nsegs + 1, error); - - return (error); -} - -/* - * Like bus_dmamap_load(), but for mbufs. - */ -int -bus_dmamap_load_mbuf(bus_dma_tag_t dmat, bus_dmamap_t map, struct mbuf *m0, - bus_dmamap_callback2_t *callback, void *callback_arg, - int flags) -{ - int nsegs = -1, error = 0; - - M_ASSERTPKTHDR(m0); - - if (m0->m_pkthdr.len <= dmat->maxsize) { - struct mbuf *m; - - for (m = m0; m != NULL && error == 0; m = m->m_next) { - if (m->m_len > 0) { - error = _bus_dmamap_load_buffer(dmat, - map, m->m_data, m->m_len, - kernel_pmap, flags, NULL, &nsegs); - } - } - } else { - error = EINVAL; - } - - if (error) { - /* - * force "no valid mappings" on error in callback. - */ - (*callback)(callback_arg, dmat->segments, 0, 0, error); - } else { - (*callback)(callback_arg, dmat->segments, nsegs + 1, - m0->m_pkthdr.len, error); - } - CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", - __func__, dmat, dmat->flags, error, nsegs + 1); - - return (error); } -int -bus_dmamap_load_mbuf_sg(bus_dma_tag_t dmat, bus_dmamap_t map, - struct mbuf *m0, bus_dma_segment_t *segs, int *nsegs, - int flags) +void +_bus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dmamap_callback_t *callback, void *callback_arg, + int nsegs, int error) { - int error = 0; - M_ASSERTPKTHDR(m0); - - flags |= BUS_DMA_NOWAIT; - *nsegs = -1; - if (m0->m_pkthdr.len <= dmat->maxsize) { - struct mbuf *m; - - for (m = m0; m != NULL && error == 0; m = m->m_next) { - if (m->m_len > 0) { - error = _bus_dmamap_load_buffer(dmat, map, - m->m_data, m->m_len, - kernel_pmap, flags, - segs, nsegs); - } - } - } else { - error = EINVAL; - } - /* XXX FIXME: Having to increment nsegs is really annoying */ - ++*nsegs; - CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", - __func__, dmat, dmat->flags, error, *nsegs); - return (error); + if (error) + (*callback)(callback_arg, dmat->segments, 0, error); + else + (*callback)(callback_arg, dmat->segments, nsegs, 0); } -/* - * Like bus_dmamap_load(), but for uios. - */ -int -bus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_t map, struct uio *uio, - bus_dmamap_callback2_t *callback, void *callback_arg, - int flags) -{ - int nsegs, i, error; - bus_size_t resid; - struct iovec *iov; - struct pmap *pmap; - - resid = uio->uio_resid; - iov = uio->uio_iov; - - if (uio->uio_segflg == UIO_USERSPACE) { - KASSERT(uio->uio_td != NULL, - ("bus_dmamap_load_uio: USERSPACE but no proc")); - pmap = vmspace_pmap(uio->uio_td->td_proc->p_vmspace); - } else - pmap = kernel_pmap; - - error = 0; - nsegs = -1; - for (i = 0; i < uio->uio_iovcnt && resid != 0 && !error; i++) { - /* - * Now at the first iovec to load. Load each iovec - * until we have exhausted the residual count. - */ - bus_size_t minlen = - resid < iov[i].iov_len ? resid : iov[i].iov_len; - caddr_t addr = (caddr_t) iov[i].iov_base; - - if (minlen > 0) { - error = _bus_dmamap_load_buffer(dmat, - map, addr, minlen, pmap, flags, NULL, &nsegs); - - resid -= minlen; - } - } +void +_bus_dmamap_complete2(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dmamap_callback2_t *callback, + void *callback_arg, int nsegs, bus_size_t len, int error) +{ - if (error) { - /* - * force "no valid mappings" on error in callback. - */ + if (error) (*callback)(callback_arg, dmat->segments, 0, 0, error); - } else { - (*callback)(callback_arg, dmat->segments, nsegs+1, - uio->uio_resid, error); - } + else + (*callback)(callback_arg, dmat->segments, nsegs, len, error); +} - CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", - __func__, dmat, dmat->flags, error, nsegs + 1); - return (error); +void +_bus_dmamap_directseg(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dma_segment_t *segs, int nsegs, int error) +{ } /* Modified: projects/physbio/sys/ia64/ia64/busdma_machdep.c ============================================================================== --- projects/physbio/sys/ia64/ia64/busdma_machdep.c Sat Dec 8 01:16:54 2012 (r244011) +++ projects/physbio/sys/ia64/ia64/busdma_machdep.c Sat Dec 8 02:32:35 2012 (r244012) @@ -31,13 +31,11 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include #include #include -#include #include #include @@ -615,152 +613,45 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm return (buflen != 0 ? EFBIG : 0); /* XXX better return value here? */ } -/* - * Map the buffer buf into bus space using the dmamap map. - */ -int -bus_dmamap_load(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, - bus_size_t buflen, bus_dmamap_callback_t *callback, void *callback_arg, - int flags) -{ - int error, nsegs = -1; +void +__bus_dmamap_mayblock(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dmamap_callback_t *callback, void *callback_arg, int *flags) +{ if (map != NULL) { - flags |= BUS_DMA_WAITOK; + (*flags) |= BUS_DMA_WAITOK; map->callback = callback; map->callback_arg = callback_arg; } +} - error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, kernel_pmap, - flags, NULL, &nsegs); - - if (error == EINPROGRESS) - return (error); +void +_bus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dmamap_callback_t *callback, void *callback_arg, int nsegs, int error) +{ if (error) (*callback)(callback_arg, dmat->segments, 0, error); else - (*callback)(callback_arg, dmat->segments, nsegs + 1, 0); - - return (0); + (*callback)(callback_arg, dmat->segments, nsegs, 0); } -/* - * Like _bus_dmamap_load(), but for mbufs. - */ -int -bus_dmamap_load_mbuf(bus_dma_tag_t dmat, bus_dmamap_t map, struct mbuf *m0, - bus_dmamap_callback2_t *callback, void *callback_arg, int flags) +void +_bus_dmamap_complete2(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dmamap_callback2_t *callback, + void *callback_arg, int nsegs, bus_size_t len, int error) { - int nsegs, error; - - M_ASSERTPKTHDR(m0); - - flags |= BUS_DMA_NOWAIT; - nsegs = -1; - error = 0; - if (m0->m_pkthdr.len <= dmat->maxsize) { - struct mbuf *m; - for (m = m0; m != NULL && error == 0; m = m->m_next) { - if (m->m_len > 0) { - error = _bus_dmamap_load_buffer(dmat, map, - m->m_data, m->m_len, kernel_pmap, flags, - NULL, &nsegs); - } - } - } else { - error = EINVAL; - } - - if (error) { - /* force "no valid mappings" in callback */ + if (error) (*callback)(callback_arg, dmat->segments, 0, 0, error); - } else { - (*callback)(callback_arg, dmat->segments, nsegs + 1, - m0->m_pkthdr.len, error); - } - return (error); -} - -int -bus_dmamap_load_mbuf_sg(bus_dma_tag_t dmat, bus_dmamap_t map, struct mbuf *m0, - bus_dma_segment_t *segs, int *nsegs, int flags) -{ - int error; - - M_ASSERTPKTHDR(m0); - - flags |= BUS_DMA_NOWAIT; - *nsegs = -1; - error = 0; - if (m0->m_pkthdr.len <= dmat->maxsize) { - struct mbuf *m; - - for (m = m0; m != NULL && error == 0; m = m->m_next) { - if (m->m_len > 0) { - error = _bus_dmamap_load_buffer(dmat, map, - m->m_data, m->m_len, kernel_pmap, flags, - segs, nsegs); - } - } - ++*nsegs; - } else { - error = EINVAL; - } - - return (error); + else + (*callback)(callback_arg, dmat->segments, nsegs, len, error); } -/* - * Like _bus_dmamap_load(), but for uios. - */ -int -bus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_t map, struct uio *uio, - bus_dmamap_callback2_t *callback, void *callback_arg, int flags) +void +_bus_dmamap_directseg(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dma_segment_t *segs, int nsegs, int error) { - int nsegs, error, i; - bus_size_t resid; - struct iovec *iov; - pmap_t pmap; - - flags |= BUS_DMA_NOWAIT; - resid = uio->uio_resid; - iov = uio->uio_iov; - - if (uio->uio_segflg == UIO_USERSPACE) { - pmap = vmspace_pmap(uio->uio_td->td_proc->p_vmspace); - KASSERT(td != NULL, - ("bus_dmamap_load_uio: USERSPACE but no proc")); - } else - pmap = kernel_pmap; - - nsegs = -1; - error = 0; - for (i = 0; i < uio->uio_iovcnt && resid != 0 && !error; i++) { - /* - * Now at the first iovec to load. Load each iovec - * until we have exhausted the residual count. - */ - bus_size_t minlen = - resid < iov[i].iov_len ? resid : iov[i].iov_len; - caddr_t addr = (caddr_t) iov[i].iov_base; - - if (minlen > 0) { - error = _bus_dmamap_load_buffer(dmat, map, addr, - minlen, td, flags, NULL, &nsegs); - resid -= minlen; - } - } - - if (error) { - /* force "no valid mappings" in callback */ - (*callback)(callback_arg, dmat->segments, 0, 0, error); - } else { - (*callback)(callback_arg, dmat->segments, nsegs + 1, - uio->uio_resid, error); - } - return (error); } /* Modified: projects/physbio/sys/kern/subr_busdma.c ============================================================================== --- projects/physbio/sys/kern/subr_busdma.c Sat Dec 8 01:16:54 2012 (r244011) +++ projects/physbio/sys/kern/subr_busdma.c Sat Dec 8 02:32:35 2012 (r244012) @@ -2,6 +2,9 @@ * Copyright (c) 2012 EMC Corp. * All rights reserved. * + * Copyright (c) 1997, 1998 Justin T. Gibbs. + * All rights reserved. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -35,13 +38,162 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include #include +#include +#include +#include +#include + #include #include #include +/* + * Map the buffer buf into bus space using the dmamap map. + */ +int +bus_dmamap_load(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, + bus_size_t buflen, bus_dmamap_callback_t *callback, + void *callback_arg, int flags) +{ + int error; + int nsegs; + + _bus_dmamap_mayblock(dmat, map, callback, callback_arg, &flags); + + nsegs = -1; + error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, kernel_pmap, + flags, NULL, &nsegs); + nsegs++; + + CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", + __func__, dmat, flags, error, nsegs + 1); + + if (error == EINPROGRESS) + return (error); + + _bus_dmamap_complete(dmat, map, callback, callback_arg, nsegs, error); + + /* + * Return ENOMEM to the caller so that it can pass it up the stack. + * This error only happens when NOWAIT is set, so deferal is disabled. + */ + if (error == ENOMEM) + return (error); + + return (0); +} + +/* + * Like _bus_dmamap_load(), but for mbufs. + */ +static __inline int +_bus_dmamap_load_mbuf_sg(bus_dma_tag_t dmat, bus_dmamap_t map, + struct mbuf *m0, bus_dma_segment_t *segs, int *nsegs, int flags) +{ + struct mbuf *m; + int error; + + M_ASSERTPKTHDR(m0); + + flags |= BUS_DMA_NOWAIT; + *nsegs = -1; + error = 0; + + for (m = m0; m != NULL && error == 0; m = m->m_next) { + if (m->m_len > 0) { + error = _bus_dmamap_load_buffer(dmat, map, m->m_data, + m->m_len, kernel_pmap, flags, segs, nsegs); + } + } + + ++*nsegs; + CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", + __func__, dmat, flags, error, *nsegs); + return (error); +} + +int +bus_dmamap_load_mbuf(bus_dma_tag_t dmat, bus_dmamap_t map, struct mbuf *m0, + bus_dmamap_callback2_t *callback, void *callback_arg, int flags) +{ + int nsegs, error; + + error = _bus_dmamap_load_mbuf_sg(dmat, map, m0, NULL, &nsegs, flags); + + _bus_dmamap_complete2(dmat, map, callback, callback_arg, nsegs, + m0->m_pkthdr.len, error); + + CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", + __func__, dmat, flags, error, nsegs); + return (error); +} + +int +bus_dmamap_load_mbuf_sg(bus_dma_tag_t dmat, bus_dmamap_t map, struct mbuf *m0, + bus_dma_segment_t *segs, int *nsegs, int flags) +{ + int error; + + error = _bus_dmamap_load_mbuf_sg(dmat, map, m0, segs, nsegs, flags); + _bus_dmamap_directseg(dmat, map, segs, *nsegs, error); + return (error); +} + +/* + * Like _bus_dmamap_load(), but for uios. + */ +int +bus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_t map, struct uio *uio, + bus_dmamap_callback2_t *callback, void *callback_arg, int flags) +{ + int nsegs, error, i; + bus_size_t resid; + bus_size_t minlen; + struct iovec *iov; + caddr_t addr; + pmap_t pmap; + + flags |= BUS_DMA_NOWAIT; + resid = uio->uio_resid; + iov = uio->uio_iov; + + if (uio->uio_segflg == UIO_USERSPACE) { + KASSERT(uio->uio_td != NULL, + ("bus_dmamap_load_uio: USERSPACE but no proc")); + pmap = vmspace_pmap(uio->uio_td->td_proc->p_vmspace); + } else + pmap = kernel_pmap; + + nsegs = -1; + error = 0; + for (i = 0; i < uio->uio_iovcnt && resid != 0 && !error; i++) { + /* + * Now at the first iovec to load. Load each iovec + * until we have exhausted the residual count. + */ + + addr = (caddr_t) iov[i].iov_base; + minlen = resid < iov[i].iov_len ? resid : iov[i].iov_len; + if (minlen > 0) { + error = _bus_dmamap_load_buffer(dmat, map, addr, + minlen, pmap, flags, NULL, &nsegs); + resid -= minlen; + } + } + + _bus_dmamap_complete2(dmat, map, callback, callback_arg, nsegs, + uio->uio_resid, error); + + CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", + __func__, dmat, dmat, error, nsegs + 1); + return (error); +} + int bus_dmamap_load_ccb(bus_dma_tag_t dmat, bus_dmamap_t map, union ccb *ccb, bus_dmamap_callback_t *callback, void *callback_arg, @@ -96,22 +248,26 @@ bus_dmamap_load_ccb(bus_dma_tag_t dmat, break; } case CAM_DATA_SG: { -#if 0 - struct uio sguio; - KASSERT((sizeof (sguio.uio_iov) == sizeof (data_ptr) && - sizeof (sguio.uio_iovcnt) >= sizeof (sglist_cnt) && - sizeof (sguio.uio_resid) >= sizeof (dxfer_len)), - ("uio won't fit csio data")); - sguio.uio_iov = (struct iovec *)data_ptr; - sguio.uio_iovcnt = csio->sglist_cnt; - sguio.uio_resid = csio->dxfer_len; - sguio.uio_segflg = UIO_SYSSPACE; - return bus_dmamap_load_uio(dmat, map, &sguio, callback, - callback_arg, 0); -#else - panic("bus_dmamap_load_ccb: flags 0x%X unimplemented", - ccb_h->flags); -#endif + struct bus_dma_segment *segs; + int nsegs; + int error; + int i; + + flags |= BUS_DMA_NOWAIT; + segs = (struct bus_dma_segment *)data_ptr; + nsegs = -1; + error = 0; + for (i = 0; i < csio->sglist_cnt && error == 0; i++) { + error = _bus_dmamap_load_buffer(dmat, map, + (void *)segs[i].ds_addr, segs[i].ds_len, + kernel_pmap, flags, NULL, &nsegs); + } + nsegs++; + _bus_dmamap_complete(dmat, map, callback, callback_arg, nsegs, + error); + if (error == ENOMEM) + return (error); + break; } case CAM_DATA_SG_PADDR: { struct bus_dma_segment *segs; Modified: projects/physbio/sys/mips/mips/busdma_machdep.c ============================================================================== --- projects/physbio/sys/mips/mips/busdma_machdep.c Sat Dec 8 01:16:54 2012 (r244011) +++ projects/physbio/sys/mips/mips/busdma_machdep.c Sat Dec 8 02:32:35 2012 (r244012) @@ -41,8 +41,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include -#include #include #include #include @@ -858,164 +856,47 @@ cleanup: return (error); } -/* - * Map the buffer buf into bus space using the dmamap map. - */ -int -bus_dmamap_load(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, - bus_size_t buflen, bus_dmamap_callback_t *callback, - void *callback_arg, int flags) +void +__bus_dmamap_mayblock(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dmamap_callback_t *callback, void *callback_arg, + int *flags) { - int error, nsegs = -1; KASSERT(dmat != NULL, ("dmatag is NULL")); KASSERT(map != NULL, ("dmamap is NULL")); + (*flags) |= BUS_DMA_WAITOK; map->callback = callback; map->callback_arg = callback_arg; - error = _bus_dmamap_load_buffer(dmat, map, buf, buflen, kernel_pmap, - flags, NULL, &nsegs); - if (error == EINPROGRESS) - return (error); - if (error) - (*callback)(callback_arg, NULL, 0, error); - else - (*callback)(callback_arg, dmat->segments, nsegs + 1, error); - - CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", - __func__, dmat, dmat->flags, nsegs + 1, error); - - return (error); -} - -/* - * Like bus_dmamap_load(), but for mbufs. - */ -int -bus_dmamap_load_mbuf(bus_dma_tag_t dmat, bus_dmamap_t map, struct mbuf *m0, - bus_dmamap_callback2_t *callback, void *callback_arg, - int flags) -{ - int nsegs = -1, error = 0; - - M_ASSERTPKTHDR(m0); - - if (m0->m_pkthdr.len <= dmat->maxsize) { - struct mbuf *m; - - for (m = m0; m != NULL && error == 0; m = m->m_next) { - if (m->m_len > 0) { - error = _bus_dmamap_load_buffer(dmat, - map, m->m_data, m->m_len, - kernel_pmap, flags, NULL, &nsegs); - } - } - } else { - error = EINVAL; - } - - if (error) { - /* - * force "no valid mappings" on error in callback. - */ - (*callback)(callback_arg, dmat->segments, 0, 0, error); - } else { - (*callback)(callback_arg, dmat->segments, nsegs + 1, - m0->m_pkthdr.len, error); - } - CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", - __func__, dmat, dmat->flags, error, nsegs + 1); - - return (error); } -int -bus_dmamap_load_mbuf_sg(bus_dma_tag_t dmat, bus_dmamap_t map, - struct mbuf *m0, bus_dma_segment_t *segs, int *nsegs, - int flags) +void +_bus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dmamap_callback_t *callback, void *callback_arg, + int nsegs, int error) { - int error = 0; - M_ASSERTPKTHDR(m0); - flags |= BUS_DMA_NOWAIT; - *nsegs = -1; - if (m0->m_pkthdr.len <= dmat->maxsize) { - struct mbuf *m; - - for (m = m0; m != NULL && error == 0; m = m->m_next) { - if (m->m_len > 0) { - error = _bus_dmamap_load_buffer(dmat, map, - m->m_data, m->m_len, - kernel_pmap, flags, - segs, nsegs); - } - } - } else { - error = EINVAL; - } - - /* XXX FIXME: Having to increment nsegs is really annoying */ - ++*nsegs; - CTR5(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d nsegs %d", - __func__, dmat, dmat->flags, error, *nsegs); - return (error); + if (error) + (*callback)(callback_arg, dmat->segments, 0, error); + else + (*callback)(callback_arg, dmat->segments, nsegs, 0); } -/* - * Like bus_dmamap_load(), but for uios. - */ -int -bus_dmamap_load_uio(bus_dma_tag_t dmat, bus_dmamap_t map, struct uio *uio, - bus_dmamap_callback2_t *callback, void *callback_arg, - int flags) -{ - int nsegs, i, error; - bus_size_t resid; - struct iovec *iov; - struct pmap *pmap; - - resid = uio->uio_resid; - iov = uio->uio_iov; - - if (uio->uio_segflg == UIO_USERSPACE) { - KASSERT(uio->uio_td != NULL, - ("bus_dmamap_load_uio: USERSPACE but no proc")); - /* XXX: pmap = vmspace_pmap(uio->uio_td->td_proc->p_vmspace); */ - panic("can't do it yet"); - } else - pmap = kernel_pmap; - - error = 0; - nsegs = -1; - for (i = 0; i < uio->uio_iovcnt && resid != 0 && !error; i++) { - /* - * Now at the first iovec to load. Load each iovec - * until we have exhausted the residual count. - */ - bus_size_t minlen = - resid < iov[i].iov_len ? resid : iov[i].iov_len; - caddr_t addr = (caddr_t) iov[i].iov_base; - - if (minlen > 0) { - error = _bus_dmamap_load_buffer(dmat, map, addr, - minlen, pmap, flags, NULL, &nsegs); - - resid -= minlen; - } - } +void +_bus_dmamap_complete2(bus_dma_tag_t dmat, bus_dmamap_t map, + bus_dmamap_callback2_t *callback, + void *callback_arg, int nsegs, bus_size_t len, int error) +{ - if (error) { - /* - * force "no valid mappings" on error in callback. - */ + if (error) (*callback)(callback_arg, dmat->segments, 0, 0, error); - } else { - (*callback)(callback_arg, dmat->segments, nsegs+1, - uio->uio_resid, error); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sat Dec 8 02:37:19 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 08073D20; Sat, 8 Dec 2012 02:37:19 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C89B88FC16; Sat, 8 Dec 2012 02:37:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB82bINM042745; Sat, 8 Dec 2012 02:37:18 GMT (envelope-from grehan@svn.freebsd.org) Received: (from grehan@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB82bIuQ042744; Sat, 8 Dec 2012 02:37:18 GMT (envelope-from grehan@svn.freebsd.org) Message-Id: <201212080237.qB82bIuQ042744@svn.freebsd.org> From: Peter Grehan Date: Sat, 8 Dec 2012 02:37:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r244013 - 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: Sat, 08 Dec 2012 02:37:19 -0000 Author: grehan Date: Sat Dec 8 02:37:18 2012 New Revision: 244013 URL: http://svnweb.freebsd.org/changeset/base/244013 Log: Determine the correct length and sector size for raw devices. Obtained from: NetApp Tested by: Michael Dexter with iscsi LUNs Modified: projects/bhyve/usr.sbin/bhyve/pci_virtio_block.c Modified: projects/bhyve/usr.sbin/bhyve/pci_virtio_block.c ============================================================================== --- projects/bhyve/usr.sbin/bhyve/pci_virtio_block.c Sat Dec 8 02:32:35 2012 (r244012) +++ projects/bhyve/usr.sbin/bhyve/pci_virtio_block.c Sat Dec 8 02:37:18 2012 (r244013) @@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -331,7 +332,9 @@ pci_vtblk_init(struct vmctx *ctx, struct { struct stat sbuf; struct pci_vtblk_softc *sc; + off_t size; int fd; + int sectsz; if (opts == NULL) { printf("virtio-block: backing device required\n"); @@ -359,7 +362,23 @@ pci_vtblk_init(struct vmctx *ctx, struct close(fd); return (1); } - + + /* + * Deal with raw devices + */ + size = sbuf.st_size; + sectsz = DEV_BSIZE; + if (S_ISCHR(sbuf.st_mode)) { + if (ioctl(fd, DIOCGMEDIASIZE, &size) < 0 || + ioctl(fd, DIOCGSECTORSIZE, §sz)) { + perror("Could not fetch dev blk/sector size"); + close(fd); + return (1); + } + assert(size != 0); + assert(sectsz != 0); + } + sc = malloc(sizeof(struct pci_vtblk_softc)); memset(sc, 0, sizeof(struct pci_vtblk_softc)); @@ -368,9 +387,9 @@ pci_vtblk_init(struct vmctx *ctx, struct sc->vbsc_fd = fd; /* setup virtio block config space */ - sc->vbsc_cfg.vbc_capacity = sbuf.st_size / DEV_BSIZE; + sc->vbsc_cfg.vbc_capacity = size / sectsz; sc->vbsc_cfg.vbc_seg_max = VTBLK_MAXSEGS; - sc->vbsc_cfg.vbc_blk_size = DEV_BSIZE; + sc->vbsc_cfg.vbc_blk_size = sectsz; sc->vbsc_cfg.vbc_size_max = 0; /* not negotiated */ sc->vbsc_cfg.vbc_geom_c = 0; /* no geometry */ sc->vbsc_cfg.vbc_geom_h = 0; From owner-svn-src-projects@FreeBSD.ORG Sat Dec 8 09:14:22 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 5BA17EB8; Sat, 8 Dec 2012 09:14:22 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 39BEA8FC0C; Sat, 8 Dec 2012 09:14:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB89EM8S008562; Sat, 8 Dec 2012 09:14:22 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB89EJho008549; Sat, 8 Dec 2012 09:14:19 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201212080914.qB89EJho008549@svn.freebsd.org> From: Jeff Roberson Date: Sat, 8 Dec 2012 09:14:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r244023 - in projects/physbio/sys: arm/arm cam/scsi dev/ahb dev/amr dev/ata dev/firewire kern mips/mips powerpc/powerpc 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: Sat, 08 Dec 2012 09:14:22 -0000 Author: jeff Date: Sat Dec 8 09:14:19 2012 New Revision: 244023 URL: http://svnweb.freebsd.org/changeset/base/244023 Log: - Correct minor compile errors from cam and busdma work revealed by make universe. Sponsored by: EMC / Isilon Storage Division Modified: projects/physbio/sys/arm/arm/busdma_machdep.c projects/physbio/sys/cam/scsi/scsi_target.c projects/physbio/sys/dev/ahb/ahb.c projects/physbio/sys/dev/amr/amr_cam.c projects/physbio/sys/dev/ata/ata-dma.c projects/physbio/sys/dev/ata/atapi-cam.c projects/physbio/sys/dev/firewire/sbp.c projects/physbio/sys/kern/subr_busdma.c projects/physbio/sys/mips/mips/busdma_machdep.c projects/physbio/sys/powerpc/powerpc/busdma_machdep.c projects/physbio/sys/sys/bus_dma.h Modified: projects/physbio/sys/arm/arm/busdma_machdep.c ============================================================================== --- projects/physbio/sys/arm/arm/busdma_machdep.c Sat Dec 8 08:35:49 2012 (r244022) +++ projects/physbio/sys/arm/arm/busdma_machdep.c Sat Dec 8 09:14:19 2012 (r244023) @@ -974,51 +974,50 @@ _bus_dmamap_unload(bus_dma_tag_t dmat, b } static void -bus_dmamap_sync_buf(void *buf, int len, bus_dmasync_op_t op) +bus_dmamap_sync_buf(vm_offset_t buf, int len, bus_dmasync_op_t op) { char _tmp_cl[arm_dcache_align], _tmp_clend[arm_dcache_align]; register_t s; int partial; if ((op & BUS_DMASYNC_PREWRITE) && !(op & BUS_DMASYNC_PREREAD)) { - cpu_dcache_wb_range((vm_offset_t)buf, len); - cpu_l2cache_wb_range((vm_offset_t)buf, len); + cpu_dcache_wb_range(buf, len); + cpu_l2cache_wb_range(buf, len); } - partial = (((vm_offset_t)buf) | len) & arm_dcache_align_mask; + partial = (buf | len) & arm_dcache_align_mask; if (op & BUS_DMASYNC_PREREAD) { if (!(op & BUS_DMASYNC_PREWRITE) && !partial) { - cpu_dcache_inv_range((vm_offset_t)buf, len); - cpu_l2cache_inv_range((vm_offset_t)buf, len); + cpu_dcache_inv_range(buf, len); + cpu_l2cache_inv_range(buf, len); } else { - cpu_dcache_wbinv_range((vm_offset_t)buf, len); - cpu_l2cache_wbinv_range((vm_offset_t)buf, len); + cpu_dcache_wbinv_range(buf, len); + cpu_l2cache_wbinv_range(buf, len); } } if (op & BUS_DMASYNC_POSTREAD) { if (partial) { s = intr_disable(); - if ((vm_offset_t)buf & arm_dcache_align_mask) - memcpy(_tmp_cl, (void *)((vm_offset_t)buf & + if (buf & arm_dcache_align_mask) + memcpy(_tmp_cl, (void *)(buf & ~arm_dcache_align_mask), - (vm_offset_t)buf & arm_dcache_align_mask); - if (((vm_offset_t)buf + len) & arm_dcache_align_mask) + buf & arm_dcache_align_mask); + if ((buf + len) & arm_dcache_align_mask) memcpy(_tmp_clend, - (void *)((vm_offset_t)buf + len), - arm_dcache_align - (((vm_offset_t)(buf) + - len) & arm_dcache_align_mask)); + (void *)(buf + len), + arm_dcache_align - + ((buf + len) & arm_dcache_align_mask)); } - cpu_dcache_inv_range((vm_offset_t)buf, len); - cpu_l2cache_inv_range((vm_offset_t)buf, len); + cpu_dcache_inv_range(buf, len); + cpu_l2cache_inv_range(buf, len); if (partial) { - if ((vm_offset_t)buf & arm_dcache_align_mask) - memcpy((void *)((vm_offset_t)buf & + if (buf & arm_dcache_align_mask) + memcpy((void *)(buf & ~arm_dcache_align_mask), _tmp_cl, - (vm_offset_t)buf & arm_dcache_align_mask); - if (((vm_offset_t)buf + len) & arm_dcache_align_mask) - memcpy((void *)((vm_offset_t)buf + len), + buf & arm_dcache_align_mask); + if ((buf + len) & arm_dcache_align_mask) + memcpy((void *)(buf + len), _tmp_clend, arm_dcache_align - - (((vm_offset_t)(buf) + len) & - arm_dcache_align_mask)); + ((buf + len) & arm_dcache_align_mask)); intr_restore(s); } } Modified: projects/physbio/sys/cam/scsi/scsi_target.c ============================================================================== --- projects/physbio/sys/cam/scsi/scsi_target.c Sat Dec 8 08:35:49 2012 (r244022) +++ projects/physbio/sys/cam/scsi/scsi_target.c Sat Dec 8 09:14:19 2012 (r244023) @@ -737,7 +737,7 @@ targsendccb(struct targ_softc *softc, un * without data are a reasonably common occurance (e.g. test unit * ready), it will save a few cycles if we check for it here. */ - if (((ccb_h->flags & CAM_DATA_PHYS) == 0) + if (((ccb_h->flags & CAM_DATA_ISPHYS) == 0) && (((ccb_h->func_code == XPT_CONT_TARGET_IO) && ((ccb_h->flags & CAM_DIR_MASK) != CAM_DIR_NONE)) || (ccb_h->func_code == XPT_DEV_MATCH))) { Modified: projects/physbio/sys/dev/ahb/ahb.c ============================================================================== --- projects/physbio/sys/dev/ahb/ahb.c Sat Dec 8 08:35:49 2012 (r244022) +++ projects/physbio/sys/dev/ahb/ahb.c Sat Dec 8 09:14:19 2012 (r244023) @@ -1006,6 +1006,7 @@ ahbaction(struct cam_sim *sim, union ccb { struct ecb *ecb; struct hardware_ecb *hecb; + int error; /* * get an ecb to use. Modified: projects/physbio/sys/dev/amr/amr_cam.c ============================================================================== --- projects/physbio/sys/dev/amr/amr_cam.c Sat Dec 8 08:35:49 2012 (r244022) +++ projects/physbio/sys/dev/amr/amr_cam.c Sat Dec 8 09:14:19 2012 (r244023) @@ -274,12 +274,9 @@ amr_cam_action(struct cam_sim *sim, unio * address */ if ((ccbh->flags & CAM_DIR_MASK) != CAM_DIR_NONE) { - if (ccbh->flags & CAM_DATA_PHYS) + if ((ccbh->flags & CAM_DATA_MASK) != CAM_DATA_VADDR) /* we can't map it */ ccbh->status = CAM_REQ_INVALID; - if (ccbh->flags & CAM_SCATTER_VALID) - /* we want to do the s/g setup */ - ccbh->status = CAM_REQ_INVALID; } /* Modified: projects/physbio/sys/dev/ata/ata-dma.c ============================================================================== --- projects/physbio/sys/dev/ata/ata-dma.c Sat Dec 8 08:35:49 2012 (r244022) +++ projects/physbio/sys/dev/ata/ata-dma.c Sat Dec 8 09:14:19 2012 (r244023) @@ -304,11 +304,13 @@ ata_dmaload(struct ata_request *request, else dspa.dmatab = request->dma->sg; +#ifdef ATA_CAM if (request->ccb) error = bus_dmamap_load_ccb(request->dma->data_tag, request->dma->data_map, request->ccb, ch->dma.setprd, &dspa, BUS_DMA_NOWAIT); else +#endif error = bus_dmamap_load(request->dma->data_tag, request->dma->data_map, request->data, request->bytecount, ch->dma.setprd, &dspa, BUS_DMA_NOWAIT); Modified: projects/physbio/sys/dev/ata/atapi-cam.c ============================================================================== --- projects/physbio/sys/dev/ata/atapi-cam.c Sat Dec 8 08:35:49 2012 (r244022) +++ projects/physbio/sys/dev/ata/atapi-cam.c Sat Dec 8 09:14:19 2012 (r244023) @@ -514,12 +514,6 @@ atapi_action(struct cam_sim *sim, union ("CAM CCB too long for ATAPI")); goto action_invalid; } - if ((ccb_h->flags & CAM_SCATTER_VALID)) { - /* scatter-gather not supported */ - xpt_print_path(ccb_h->path); - printf("ATAPI/CAM does not support scatter-gather yet!\n"); - goto action_invalid; - } switch (ccb_h->flags & CAM_DIR_MASK) { case CAM_DIR_IN: Modified: projects/physbio/sys/dev/firewire/sbp.c ============================================================================== --- projects/physbio/sys/dev/firewire/sbp.c Sat Dec 8 08:35:49 2012 (r244022) +++ projects/physbio/sys/dev/firewire/sbp.c Sat Dec 8 09:14:19 2012 (r244023) @@ -2478,11 +2478,6 @@ END_DEBUG ocb->orb[4] |= htonl(ORB_CMD_IN); } - if (csio->ccb_h.flags & CAM_SCATTER_VALID) - printf("sbp: CAM_SCATTER_VALID\n"); - if (csio->ccb_h.flags & CAM_DATA_PHYS) - printf("sbp: CAM_DATA_PHYS\n"); - if (csio->ccb_h.flags & CAM_CDB_POINTER) cdb = (void *)csio->cdb_io.cdb_ptr; else Modified: projects/physbio/sys/kern/subr_busdma.c ============================================================================== --- projects/physbio/sys/kern/subr_busdma.c Sat Dec 8 08:35:49 2012 (r244022) +++ projects/physbio/sys/kern/subr_busdma.c Sat Dec 8 09:14:19 2012 (r244023) @@ -257,7 +257,7 @@ bus_dmamap_load_ccb(bus_dma_tag_t dmat, segs = (struct bus_dma_segment *)data_ptr; nsegs = -1; error = 0; - for (i = 0; i < csio->sglist_cnt && error == 0; i++) { + for (i = 0; i < sglist_cnt && error == 0; i++) { error = _bus_dmamap_load_buffer(dmat, map, (void *)segs[i].ds_addr, segs[i].ds_len, kernel_pmap, flags, NULL, &nsegs); Modified: projects/physbio/sys/mips/mips/busdma_machdep.c ============================================================================== --- projects/physbio/sys/mips/mips/busdma_machdep.c Sat Dec 8 08:35:49 2012 (r244022) +++ projects/physbio/sys/mips/mips/busdma_machdep.c Sat Dec 8 09:14:19 2012 (r244023) @@ -606,7 +606,7 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, voi dmat->map_count++; *mapp = newmap; newmap->dmat = dmat; - nwemap->sync_count = 0; + newmap->sync_count = 0; /* * If all the memory is coherent with DMA then we don't need to @@ -916,7 +916,7 @@ _bus_dmamap_unload(bus_dma_tag_t dmat, b } static void -bus_dmamap_sync_buf(void *buf, int len, bus_dmasync_op_t op) +bus_dmamap_sync_buf(vm_offset_t buf, int len, bus_dmasync_op_t op) { char tmp_cl[mips_pdcache_linesize], tmp_clend[mips_pdcache_linesize]; vm_offset_t buf_cl, buf_clend; @@ -930,9 +930,9 @@ bus_dmamap_sync_buf(void *buf, int len, * prevent a data loss we save these chunks in temporary buffer * before invalidation and restore them afer it */ - buf_cl = (vm_offset_t)buf & ~cache_linesize_mask; - size_cl = (vm_offset_t)buf & cache_linesize_mask; - buf_clend = (vm_offset_t)buf + len; + buf_cl = buf & ~cache_linesize_mask; + size_cl = buf & cache_linesize_mask; + buf_clend = buf + len; size_clend = (mips_pdcache_linesize - (buf_clend & cache_linesize_mask)) & cache_linesize_mask; @@ -947,7 +947,7 @@ bus_dmamap_sync_buf(void *buf, int len, memcpy (tmp_cl, (void*)buf_cl, size_cl); if (size_clend) memcpy (tmp_clend, (void*)buf_clend, size_clend); - mips_dcache_inv_range((vm_offset_t)buf, len); + mips_dcache_inv_range(buf, len); /* * Restore them */ @@ -962,15 +962,14 @@ bus_dmamap_sync_buf(void *buf, int len, * necessary. */ if (size_cl) - mips_dcache_wbinv_range((vm_offset_t)buf_cl, size_cl); + mips_dcache_wbinv_range(buf_cl, size_cl); if (size_clend && (size_cl == 0 || buf_clend - buf_cl > mips_pdcache_linesize)) - mips_dcache_wbinv_range((vm_offset_t)buf_clend, - size_clend); + mips_dcache_wbinv_range(buf_clend, size_clend); break; case BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE: - mips_dcache_wbinv_range((vm_offset_t)buf_cl, len); + mips_dcache_wbinv_range(buf_cl, len); break; case BUS_DMASYNC_PREREAD: @@ -981,7 +980,7 @@ bus_dmamap_sync_buf(void *buf, int len, memcpy (tmp_cl, (void *)buf_cl, size_cl); if (size_clend) memcpy (tmp_clend, (void *)buf_clend, size_clend); - mips_dcache_inv_range((vm_offset_t)buf, len); + mips_dcache_inv_range(buf, len); /* * Restore them */ @@ -996,15 +995,14 @@ bus_dmamap_sync_buf(void *buf, int len, * necessary. */ if (size_cl) - mips_dcache_wbinv_range((vm_offset_t)buf_cl, size_cl); + mips_dcache_wbinv_range(buf_cl, size_cl); if (size_clend && (size_cl == 0 || buf_clend - buf_cl > mips_pdcache_linesize)) - mips_dcache_wbinv_range((vm_offset_t)buf_clend, - size_clend); + mips_dcache_wbinv_range(buf_clend, size_clend); break; case BUS_DMASYNC_PREWRITE: - mips_dcache_wb_range((vm_offset_t)buf, len); + mips_dcache_wb_range(buf, len); break; } } Modified: projects/physbio/sys/powerpc/powerpc/busdma_machdep.c ============================================================================== --- projects/physbio/sys/powerpc/powerpc/busdma_machdep.c Sat Dec 8 08:35:49 2012 (r244022) +++ projects/physbio/sys/powerpc/powerpc/busdma_machdep.c Sat Dec 8 09:14:19 2012 (r244023) @@ -735,9 +735,9 @@ _bus_dmamap_complete(bus_dma_tag_t dmat, dmat->boundary, dmat->iommu_cookie); if (error) - (*callback)(callback_arg, dmat->segments, 0, error); + (*callback)(callback_arg, map->segments, 0, error); else - (*callback)(callback_arg, dmat->segments, nsegs, 0); + (*callback)(callback_arg, map->segments, nsegs, 0); } void @@ -753,9 +753,9 @@ _bus_dmamap_complete2(bus_dma_tag_t dmat dmat->boundary, dmat->iommu_cookie); if (error) - (*callback)(callback_arg, dmat->segments, 0, 0, error); + (*callback)(callback_arg, map->segments, 0, 0, error); else - (*callback)(callback_arg, dmat->segments, nsegs, len, error); + (*callback)(callback_arg, map->segments, nsegs, len, error); } void Modified: projects/physbio/sys/sys/bus_dma.h ============================================================================== --- projects/physbio/sys/sys/bus_dma.h Sat Dec 8 08:35:49 2012 (r244022) +++ projects/physbio/sys/sys/bus_dma.h Sat Dec 8 09:14:19 2012 (r244023) @@ -110,6 +110,7 @@ #define BUS_DMA_KEEP_PG_OFFSET 0x400 /* Forwards needed by prototypes below. */ +struct pmap; struct mbuf; struct uio; union ccb; @@ -296,7 +297,6 @@ void __bus_dmamap_mayblock(bus_dma_tag_t callback_arg, flags); \ } while (0); -struct pmap; int _bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, bus_size_t buflen, struct pmap *pmap, int flags, bus_dma_segment_t *segs, int *segp); From owner-svn-src-projects@FreeBSD.ORG Sat Dec 8 13:24:57 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 54DA789A; Sat, 8 Dec 2012 13:24:57 +0000 (UTC) (envelope-from ray@freebsd.org) Received: from smtp.dlink.ua (smtp.dlink.ua [193.138.187.146]) by mx1.freebsd.org (Postfix) with ESMTP id 0568F8FC08; Sat, 8 Dec 2012 13:24:57 +0000 (UTC) Received: from rnote.ddteam.net (184-57-135-95.pool.ukrtel.net [95.135.57.184]) (Authenticated sender: ray) by smtp.dlink.ua (Postfix) with ESMTPSA id 94F08C4930; Sat, 8 Dec 2012 15:24:55 +0200 (EET) Date: Sat, 8 Dec 2012 15:24:47 +0200 From: Aleksandr Rybalko To: Jung-uk Kim Subject: Re: svn commit: r243914 - projects/bpfjit Message-Id: <20121208152447.5b2958d2.ray@freebsd.org> In-Reply-To: <50C0DFB0.6030007@FreeBSD.org> References: <201212052312.qB5NC2Hn056351@svn.freebsd.org> <20121206084936.GA58940@freebsd.org> <50C0DFB0.6030007@FreeBSD.org> Organization: FreeBSD.ORG X-Mailer: Sylpheed 3.1.2 (GTK+ 2.24.5; amd64-portbld-freebsd9.0) X-Operating-System: FreeBSD Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: svn-src-projects@freebsd.org, Roman Divacky , src-committers@freebsd.org 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: Sat, 08 Dec 2012 13:24:57 -0000 On Thu, 06 Dec 2012 13:10:56 -0500 Jung-uk Kim wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 2012-12-06 03:49:36 -0500, Roman Divacky wrote: > > Hi, > > > > David Chisnall started bpf jitter based on llvm. You can check it > > out here: > > > > http://people.freebsd.org/~theraven/bpfjit/ > > > > > > It's based on the idea of jitting the code in userspace and > > passing the resulting code to the kernel via some interface (this > > part is not done yet). > > Long time ago (about 10 years ago), I implemented something like that > (i.e., compile BPF program to native machine code in userspace, then > upload to kernel space) for my $job but I quickly replace it with > BPF_JITTER for several reasons. First of all, there is a big security > risk. A BPF filter program can be easily validated by kernel with > bpf_validate(9). We cannot do that for native machine code and we > must not allow uploading arbitrary code to kernel space. You may say > it is well protected by /dev/bpf permissions but it is not good > enough, i.e., all you need is read permission to inject code to kernel > space. > Second, LLVM is too heavy for BPF filter machine. For example, +1 Embedded FreeBSD will lost BPF if LLVM will be used for compilation :) > libtrace did that long ago: > > http://www.wand.net.nz/trac/libtrace/changeset/1586 > > Someone actually benchmarked it with other JIT implementations: > > http://carnivore.it/2011/12/28/bpf_performance > > LLVM compilation took too much time to be useful: > > engine filter cycles compile cycles > - ---------------+---------------+---------------- > jit-linux 106468 33126+72796 > jit-freebsd 113958 48292+72796 > llvm 157394 380843640+72796 > pcap 276910 72796 > linux 351391 9245+72796 > > I haven't tried theraven's implementation but I am afraid the result > may be similar. On top of that, it cannot be easily embedded in > kernel. > > BTW, NetBSD actually imported my BPF_JITTER first, then it was > replaced by bpfjit: > > http://mail-index.netbsd.org/tech-net/2012/08/19/msg003619.html > http://mail-index.netbsd.org/source-changes/2012/10/27/msg038310.html > > I wanted to try it out because I think it has great potential. ;-) > > Jung-uk Kim > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2.0.19 (FreeBSD) > > iQEcBAEBAgAGBQJQwN+wAAoJECXpabHZMqHObcIH/0VN0ssRB9nNPwKq0WnxYZdO > 7rnhymuYh8gRIGXkcHAu1ma/egJFk7tFTx37fm1q9iT/f+1TB2U5ZNi+6h9pnxSl > W7U+yrEFvE4FkI6xnHq26amLTAQv3xdmNhB67M+glXj+emRuFfckgShnvgd4brRy > ZJnaqJ3frCXld/1WG7dSmq1OIN4mT/7stw6BwwtzrkbdtcTQRgukNIFEyObMmReE > RNligaB0l2Yj0S+6lI+6VQTyDc7NhSHMAUw32F385EuKYcJwkrj24eYxbCcWyP+g > +9lGAYhLUOXUfM+7IISwdguWnQnIcpOxvo4I2shAglJYygnN+hSXZWn9IzTU5Gw= > =4Ov6 > -----END PGP SIGNATURE----- -- Aleksandr Rybalko From owner-svn-src-projects@FreeBSD.ORG Sat Dec 8 13:56:23 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 858D0B8A; Sat, 8 Dec 2012 13:56:23 +0000 (UTC) (envelope-from ray@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6B0408FC13; Sat, 8 Dec 2012 13:56:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB8DuNet050586; Sat, 8 Dec 2012 13:56:23 GMT (envelope-from ray@svn.freebsd.org) Received: (from ray@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB8DuNgI050585; Sat, 8 Dec 2012 13:56:23 GMT (envelope-from ray@svn.freebsd.org) Message-Id: <201212081356.qB8DuNgI050585@svn.freebsd.org> From: Aleksandr Rybalko Date: Sat, 8 Dec 2012 13:56:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r244032 - projects/efika_mx/sys/dev/usb/controller 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: Sat, 08 Dec 2012 13:56:23 -0000 Author: ray Date: Sat Dec 8 13:56:22 2012 New Revision: 244032 URL: http://svnweb.freebsd.org/changeset/base/244032 Log: Attach all EHCIs inside USB core. Sponsored by: FreeBSD Foundation Modified: projects/efika_mx/sys/dev/usb/controller/ehci_imx.c Modified: projects/efika_mx/sys/dev/usb/controller/ehci_imx.c ============================================================================== --- projects/efika_mx/sys/dev/usb/controller/ehci_imx.c Sat Dec 8 12:51:06 2012 (r244031) +++ projects/efika_mx/sys/dev/usb/controller/ehci_imx.c Sat Dec 8 13:56:22 2012 (r244032) @@ -38,9 +38,6 @@ __FBSDID("$FreeBSD: projects/efika_mx/sy #include #include #include -#include -#include -#include #include #include @@ -49,21 +46,41 @@ __FBSDID("$FreeBSD: projects/efika_mx/sy #include #include -#include #include #include -#include #include #include #include #include #include -#include #include #include "opt_platform.h" +#define FSL_EHCI_COUNT 4 +#define FSL_EHCI_REG_OFF 0x100 +#define FSL_EHCI_REG_SIZE 0x100 +#define FSL_EHCI_REG_STEP 0x200 + +struct imx_ehci_softc { + ehci_softc_t ehci[FSL_EHCI_COUNT]; + /* MEM + 4 interrupts */ + struct resource *sc_res[1 + FSL_EHCI_COUNT]; +}; + +/* i.MX515 have 4 EHCI inside USB core */ +/* TODO: we can get number of EHCIs by IRQ allocation */ +static struct resource_spec imx_ehci_spec[] = { + { SYS_RES_MEMORY, 0, RF_ACTIVE }, + { SYS_RES_IRQ, 0, RF_ACTIVE }, + { SYS_RES_IRQ, 1, RF_ACTIVE }, + { SYS_RES_IRQ, 2, RF_ACTIVE }, + /* RF_OPTIONAL will allow to use driver for systems with 3 EHCIs */ + { SYS_RES_IRQ, 3, RF_ACTIVE | RF_OPTIONAL }, + { -1, 0 } +}; + /* Forward declarations */ static int fsl_ehci_attach(device_t self); static int fsl_ehci_detach(device_t self); @@ -88,7 +105,7 @@ static device_method_t ehci_methods[] = static driver_t ehci_driver = { "ehci", ehci_methods, - sizeof(struct ehci_softc) + sizeof(struct imx_ehci_softc) }; static devclass_t ehci_devclass; @@ -97,13 +114,6 @@ DRIVER_MODULE(ehci, simplebus, ehci_driv MODULE_DEPEND(ehci, usb, 1, 1, 1); /* - * Defines location of first EHCI. - */ -/* TODO: enable EHCI2 EHCI3, make driver for OTG */ -#define FSL_EHCI_REG_OFF 0x300 -#define FSL_EHCI_REG_SIZE 0x100 - -/* * Public methods */ static int @@ -121,174 +131,152 @@ fsl_ehci_probe(device_t dev) static int fsl_ehci_attach(device_t self) { - ehci_softc_t *sc; - int rid; - int err; - bus_space_handle_t ioh; + struct imx_ehci_softc *sc; bus_space_tag_t iot; + ehci_softc_t *esc; + int err, i, rid; sc = device_get_softc(self); rid = 0; - sc->sc_bus.parent = self; - sc->sc_bus.devices = sc->sc_devices; - sc->sc_bus.devices_max = EHCI_MAX_DEVICES; - - if (usb_bus_mem_alloc_all(&sc->sc_bus, - USB_GET_DMA_TAG(self), &ehci_iterate_hw_softc)) - return (ENOMEM); - /* Allocate io resource for EHCI */ - sc->sc_io_res = bus_alloc_resource_any(self, SYS_RES_MEMORY, &rid, - RF_ACTIVE); - if (sc->sc_io_res == NULL) { - err = fsl_ehci_detach(self); - if (err) { - device_printf(self, - "Detach of the driver failed with error %d\n", - err); - } - return (ENXIO); - } - iot = rman_get_bustag(sc->sc_io_res); - - /* - * Set handle to USB related registers subregion used by generic - * EHCI driver - */ - ioh = rman_get_bushandle(sc->sc_io_res); - - err = bus_space_subregion(iot, ioh, FSL_EHCI_REG_OFF, FSL_EHCI_REG_SIZE, - &sc->sc_io_hdl); - if (err != 0) { - err = fsl_ehci_detach(self); - if (err) { - device_printf(self, - "Detach of the driver failed with error %d\n", - err); - } - return (ENXIO); - } - - sc->sc_io_tag = iot; - - /* Allocate irq */ - sc->sc_irq_res = bus_alloc_resource_any(self, SYS_RES_IRQ, &rid, - RF_ACTIVE); - if (sc->sc_irq_res == NULL) { - err = fsl_ehci_detach(self); - if (err) { - device_printf(self, - "Detach of the driver failed with error %d\n", - err); - } - return (ENXIO); - } - - /* Setup interrupt handler */ - err = bus_setup_intr(self, sc->sc_irq_res, INTR_TYPE_BIO, - NULL, (driver_intr_t *)ehci_interrupt, sc, &sc->sc_intr_hdl); - if (err) { - device_printf(self, "Could not setup irq, %d\n", err); - sc->sc_intr_hdl = NULL; - err = fsl_ehci_detach(self); - if (err) { - device_printf(self, - "Detach of the driver failed with error %d\n", - err); - } + if (bus_alloc_resources(self, imx_ehci_spec, sc->sc_res)) { + device_printf(self, "could not allocate resources\n"); return (ENXIO); } + iot = rman_get_bustag(sc->sc_res[0]); - /* Add USB device */ - sc->sc_bus.bdev = device_add_child(self, "usbus", -1); - if (!sc->sc_bus.bdev) { - device_printf(self, "Could not add USB device\n"); - err = fsl_ehci_detach(self); - if (err) { - device_printf(self, - "Detach of the driver failed with error %d\n", - err); - } - return (ENOMEM); - } - device_set_ivars(sc->sc_bus.bdev, &sc->sc_bus); + /* TODO: Power/clock enable */ + /* TODO: basic init */ - sc->sc_id_vendor = 0x1234; - strlcpy(sc->sc_vendor, "Freescale", sizeof(sc->sc_vendor)); - - /* Set flags */ - sc->sc_flags |= EHCI_SCFLG_DONTRESET | EHCI_SCFLG_NORESTERM; - - err = ehci_init(sc); - if (!err) { - sc->sc_flags |= EHCI_SCFLG_DONEINIT; - err = device_probe_and_attach(sc->sc_bus.bdev); - } + for (i = 0; i < FSL_EHCI_COUNT; i ++) { + /* No interrupt - no driver */ + if (sc->sc_res[1 + i] == NULL) + continue; + + esc = &sc->ehci[i]; + esc->sc_io_tag = iot; + esc->sc_bus.parent = self; + esc->sc_bus.devices = esc->sc_devices; + esc->sc_bus.devices_max = EHCI_MAX_DEVICES; + + if (usb_bus_mem_alloc_all(&esc->sc_bus, USB_GET_DMA_TAG(self), + &ehci_iterate_hw_softc)) + continue; + + /* + * Set handle to USB related registers subregion used by + * generic EHCI driver. + */ + err = bus_space_subregion(iot, + rman_get_bushandle(sc->sc_res[0]), + FSL_EHCI_REG_OFF + (i * FSL_EHCI_REG_STEP), + FSL_EHCI_REG_SIZE, &esc->sc_io_hdl); + if (err != 0) + continue; + + /* Setup interrupt handler */ + err = bus_setup_intr(self, sc->sc_res[1 + i], INTR_TYPE_BIO, + NULL, (driver_intr_t *)ehci_interrupt, esc, + &esc->sc_intr_hdl); + if (err) { + device_printf(self, "Could not setup irq, " + "for EHCI%d %d\n", i, err); + continue; + } + + /* Add USB device */ + esc->sc_bus.bdev = device_add_child(self, "usbus", -1); + if (!esc->sc_bus.bdev) { + device_printf(self, "Could not add USB device\n"); + err = bus_teardown_intr(self, esc->sc_irq_res, + esc->sc_intr_hdl); + if (err) + device_printf(self, "Could not tear down irq," + " %d\n", err); + continue; + } + device_set_ivars(esc->sc_bus.bdev, &esc->sc_bus); + + esc->sc_id_vendor = 0x1234; + strlcpy(esc->sc_vendor, "Freescale", sizeof(esc->sc_vendor)); + + /* Set flags */ + esc->sc_flags |= EHCI_SCFLG_DONTRESET | EHCI_SCFLG_NORESTERM; + + err = ehci_init(esc); + if (!err) { + esc->sc_flags |= EHCI_SCFLG_DONEINIT; + err = device_probe_and_attach(esc->sc_bus.bdev); + } else { + device_printf(self, "USB init failed err=%d\n", err); + + device_delete_child(self, esc->sc_bus.bdev); + esc->sc_bus.bdev = NULL; + + err = bus_teardown_intr(self, esc->sc_irq_res, + esc->sc_intr_hdl); + if (err) + device_printf(self, "Could not tear down irq," + " %d\n", err); - if (err) { - device_printf(self, "USB init failed err=%d\n", err); - err = fsl_ehci_detach(self); - if (err) { - device_printf(self, - "Detach of the driver failed with error %d\n", - err); + continue; } - return (EIO); } - return (0); } static int fsl_ehci_detach(device_t self) { - - int err; - ehci_softc_t *sc; + struct imx_ehci_softc *sc; + ehci_softc_t *esc; + int err, i; sc = device_get_softc(self); - /* - * only call ehci_detach() after ehci_init() - */ - if (sc->sc_flags & EHCI_SCFLG_DONEINIT) { - ehci_detach(sc); - sc->sc_flags &= ~EHCI_SCFLG_DONEINIT; - } - - /* Disable interrupts that might have been switched on in ehci_init */ - if (sc->sc_io_tag && sc->sc_io_hdl) - bus_space_write_4(sc->sc_io_tag, sc->sc_io_hdl, EHCI_USBINTR, 0); - if (sc->sc_irq_res && sc->sc_intr_hdl) { - err = bus_teardown_intr(self, sc->sc_irq_res, sc->sc_intr_hdl); - if (err) { - device_printf(self, "Could not tear down irq, %d\n", - err); - return (err); + for (i = 0; i < FSL_EHCI_COUNT; i ++) { + esc = &sc->ehci[i]; + if (esc->sc_flags & EHCI_SCFLG_DONEINIT) + continue; + /* + * only call ehci_detach() after ehci_init() + */ + if (esc->sc_flags & EHCI_SCFLG_DONEINIT) { + ehci_detach(esc); + esc->sc_flags &= ~EHCI_SCFLG_DONEINIT; + } + + /* + * Disable interrupts that might have been switched on in + * ehci_init. + */ + if (esc->sc_io_tag && esc->sc_io_hdl) + bus_space_write_4(esc->sc_io_tag, esc->sc_io_hdl, + EHCI_USBINTR, 0); + + if (esc->sc_irq_res && esc->sc_intr_hdl) { + err = bus_teardown_intr(self, esc->sc_irq_res, + esc->sc_intr_hdl); + if (err) { + device_printf(self, "Could not tear down irq," + " %d\n", err); + return (err); + } + esc->sc_intr_hdl = NULL; + } + + if (esc->sc_bus.bdev) { + device_delete_child(self, esc->sc_bus.bdev); + esc->sc_bus.bdev = NULL; } - sc->sc_intr_hdl = NULL; - } - - if (sc->sc_bus.bdev) { - device_delete_child(self, sc->sc_bus.bdev); - sc->sc_bus.bdev = NULL; } /* During module unload there are lots of children leftover */ device_delete_children(self); - if (sc->sc_irq_res) { - bus_release_resource(self, SYS_RES_IRQ, 0, sc->sc_irq_res); - sc->sc_irq_res = NULL; - } - - if (sc->sc_io_res) { - bus_release_resource(self, SYS_RES_MEMORY, 0, sc->sc_io_res); - sc->sc_io_res = NULL; - sc->sc_io_tag = 0; - sc->sc_io_hdl = 0; - } + if (sc->sc_res[0]) + bus_release_resources(self, imx_ehci_spec, sc->sc_res); return (0); } From owner-svn-src-projects@FreeBSD.ORG Sat Dec 8 14:02:58 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 9401ECF6; Sat, 8 Dec 2012 14:02:58 +0000 (UTC) (envelope-from theraven@theravensnest.org) Received: from theravensnest.org (theraven.freebsd.your.org [216.14.102.27]) by mx1.freebsd.org (Postfix) with ESMTP id 5A4D48FC08; Sat, 8 Dec 2012 14:02:57 +0000 (UTC) Received: from [192.168.0.2] (cpc39-cmbg15-2-0-cust69.5-4.cable.virginmedia.com [81.101.138.70]) (authenticated bits=0) by theravensnest.org (8.14.5/8.14.5) with ESMTP id qB8E2mXf068913 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES128-SHA bits=128 verify=NO); Sat, 8 Dec 2012 14:02:50 GMT (envelope-from theraven@theravensnest.org) Subject: Re: svn commit: r243914 - projects/bpfjit Mime-Version: 1.0 (Apple Message framework v1278) Content-Type: text/plain; charset=us-ascii From: David Chisnall In-Reply-To: <20121208152447.5b2958d2.ray@freebsd.org> Date: Sat, 8 Dec 2012 14:02:45 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: <2434306D-5AC7-4624-B9E8-7C682350B78F@theravensnest.org> References: <201212052312.qB5NC2Hn056351@svn.freebsd.org> <20121206084936.GA58940@freebsd.org> <50C0DFB0.6030007@FreeBSD.org> <20121208152447.5b2958d2.ray@freebsd.org> To: Aleksandr Rybalko X-Mailer: Apple Mail (2.1278) Cc: svn-src-projects@FreeBSD.org, Roman Divacky , src-committers@FreeBSD.org, Jung-uk Kim 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: Sat, 08 Dec 2012 14:02:58 -0000 On 8 Dec 2012, at 13:24, Aleksandr Rybalko wrote: > On Thu, 06 Dec 2012 13:10:56 -0500 > Jung-uk Kim wrote: >=20 >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA1 >>=20 >> On 2012-12-06 03:49:36 -0500, Roman Divacky wrote: >>> Hi, >>>=20 >>> David Chisnall started bpf jitter based on llvm. You can check it >>> out here: >>>=20 >>> http://people.freebsd.org/~theraven/bpfjit/ >>>=20 >>>=20 >>> It's based on the idea of jitting the code in userspace and >>> passing the resulting code to the kernel via some interface (this >>> part is not done yet). >>=20 >> Long time ago (about 10 years ago), I implemented something like that >> (i.e., compile BPF program to native machine code in userspace, then >> upload to kernel space) for my $job but I quickly replace it with >> BPF_JITTER for several reasons. First of all, there is a big = security >> risk. A BPF filter program can be easily validated by kernel with >> bpf_validate(9). We cannot do that for native machine code and we >> must not allow uploading arbitrary code to kernel space. You may say >> it is well protected by /dev/bpf permissions but it is not good >> enough, i.e., all you need is read permission to inject code to = kernel >> space. >> Second, LLVM is too heavy for BPF filter machine. For example, >=20 > +1 > Embedded FreeBSD will lost BPF if LLVM will be used for compilation :) Really? I've run LLVM JITs for more complex languages than BPF on = machines with only 128MB of RAM. LLVM itself takes about 5MB of storage = space and 20MB of RAM (used only during compilation, unloaded = immediately afterwards). One REALLY embedded systems, the filter rules = can be run on another host and provided in the form of a kernel module = using exactly the same code. >> libtrace did that long ago: >>=20 >> http://www.wand.net.nz/trac/libtrace/changeset/1586 >>=20 >> Someone actually benchmarked it with other JIT implementations: >>=20 >> http://carnivore.it/2011/12/28/bpf_performance Reading the description there, I found it hard to believe that someone = had actually written that LLVM implementation. It is a case study in = how not to implement an LLVM JIT. >> LLVM compilation took too much time to be useful: >>=20 >> engine filter cycles compile cycles >> - ---------------+---------------+---------------- >> jit-linux 106468 33126+72796 >> jit-freebsd 113958 48292+72796 >> llvm 157394 380843640+72796 >> pcap 276910 72796 >> linux 351391 9245+72796 >>=20 >> I haven't tried theraven's implementation but I am afraid the result >> may be similar. On top of that, it cannot be easily embedded in >> kernel. Note that mine is a proof-of-concept prototype, however in my ad-hoc = testing its output was about a third the size of the output of the = current JIT. A simpler JIT loses a lot through not being able to do = even simple optimisations such as common subexpression elimination and = through a very primitive register allocator. =20 The extra cost comes in the form of more CPU cycles spent actually = running the optimisation. JIT compilation is always a trade: is the = result being run enough times to offset the time spent optimising. I'd = have thought this would be obvious for something that is run on every = packet. Even a very slow optimiser will be a net win after a while. = More importantly, the optimisation happens at the time the rules are = loaded and so can run at a much lower priority, whereas the packet = filter evaluation happens on the critical path for network traffic and = impacts the latency of every single packet. =20 David= From owner-svn-src-projects@FreeBSD.ORG Sat Dec 8 14:17:25 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 301E0F93; Sat, 8 Dec 2012 14:17:25 +0000 (UTC) (envelope-from theraven@theravensnest.org) Received: from theravensnest.org (theraven.freebsd.your.org [216.14.102.27]) by mx1.freebsd.org (Postfix) with ESMTP id DE3AE8FC13; Sat, 8 Dec 2012 14:17:24 +0000 (UTC) Received: from [192.168.0.2] (cpc39-cmbg15-2-0-cust69.5-4.cable.virginmedia.com [81.101.138.70]) (authenticated bits=0) by theravensnest.org (8.14.5/8.14.5) with ESMTP id qB8EHMYE068953 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES128-SHA bits=128 verify=NO); Sat, 8 Dec 2012 14:17:23 GMT (envelope-from theraven@theravensnest.org) Subject: Re: svn commit: r243914 - projects/bpfjit Mime-Version: 1.0 (Apple Message framework v1278) Content-Type: text/plain; charset=us-ascii From: David Chisnall In-Reply-To: <20121208152447.5b2958d2.ray@freebsd.org> Date: Sat, 8 Dec 2012 14:17:16 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: <06193EEB-C26B-4110-980B-F04A815C9871@theravensnest.org> References: <201212052312.qB5NC2Hn056351@svn.freebsd.org> <20121206084936.GA58940@freebsd.org> <50C0DFB0.6030007@FreeBSD.org> <20121208152447.5b2958d2.ray@freebsd.org> To: Aleksandr Rybalko X-Mailer: Apple Mail (2.1278) Cc: svn-src-projects@FreeBSD.org, Roman Divacky , src-committers@FreeBSD.org, Jung-uk Kim 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: Sat, 08 Dec 2012 14:17:25 -0000 On 8 Dec 2012, at 13:24, Aleksandr Rybalko wrote: >> LLVM compilation took too much time to be useful: >>=20 >> engine filter cycles compile cycles >> - ---------------+---------------+---------------- >> jit-linux 106468 33126+72796 >> jit-freebsd 113958 48292+72796 >> llvm 157394 380843640+72796 >> pcap 276910 72796 >> linux 351391 9245+72796 As a further note: in the small print for this benchmark, it was done on = 1,000 packets. On a typical network where you might want to use BPF, = that's, what, 20-100ms of network traffic? If you're changing BPF rules = over ten times per second, then you are probably in quite an unusual = usecase. Alternatively, if you're on a network where 1,000 packets take = so long to arrive that it's significant, then your packet filtering = startup time is almost certainly not an issue - no one will notice if it = takes even an extra few seconds before the first pigeon takes off... David= From owner-svn-src-projects@FreeBSD.ORG Sat Dec 8 15:07: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 63B7B6E1; Sat, 8 Dec 2012 15:07:47 +0000 (UTC) (envelope-from ray@freebsd.org) Received: from smtp.dlink.ua (smtp.dlink.ua [193.138.187.146]) by mx1.freebsd.org (Postfix) with ESMTP id CE4038FC12; Sat, 8 Dec 2012 15:07:46 +0000 (UTC) Received: from rnote.ddteam.net (184-57-135-95.pool.ukrtel.net [95.135.57.184]) (Authenticated sender: ray) by smtp.dlink.ua (Postfix) with ESMTPSA id 9AB11C492D; Sat, 8 Dec 2012 17:07:44 +0200 (EET) Date: Sat, 8 Dec 2012 17:07:36 +0200 From: Aleksandr Rybalko To: David Chisnall Subject: Re: svn commit: r243914 - projects/bpfjit Message-Id: <20121208170736.f9abd2c1.ray@freebsd.org> In-Reply-To: <2434306D-5AC7-4624-B9E8-7C682350B78F@theravensnest.org> References: <201212052312.qB5NC2Hn056351@svn.freebsd.org> <20121206084936.GA58940@freebsd.org> <50C0DFB0.6030007@FreeBSD.org> <20121208152447.5b2958d2.ray@freebsd.org> <2434306D-5AC7-4624-B9E8-7C682350B78F@theravensnest.org> Organization: FreeBSD.ORG X-Mailer: Sylpheed 3.1.2 (GTK+ 2.24.5; amd64-portbld-freebsd9.0) X-Operating-System: FreeBSD Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: svn-src-projects@FreeBSD.org, Aleksandr Rybalko , src-committers@FreeBSD.org, Roman Divacky , Jung-uk Kim 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: Sat, 08 Dec 2012 15:07:47 -0000 On Sat, 8 Dec 2012 14:02:45 +0000 David Chisnall wrote: > On 8 Dec 2012, at 13:24, Aleksandr Rybalko wrote: > > > On Thu, 06 Dec 2012 13:10:56 -0500 > > Jung-uk Kim wrote: > > > >> -----BEGIN PGP SIGNED MESSAGE----- > >> Hash: SHA1 > >> > >> On 2012-12-06 03:49:36 -0500, Roman Divacky wrote: > >>> Hi, > >>> > >>> David Chisnall started bpf jitter based on llvm. You can check it > >>> out here: > >>> > >>> http://people.freebsd.org/~theraven/bpfjit/ > >>> > >>> > >>> It's based on the idea of jitting the code in userspace and > >>> passing the resulting code to the kernel via some interface (this > >>> part is not done yet). > >> > >> Long time ago (about 10 years ago), I implemented something like > >> that (i.e., compile BPF program to native machine code in > >> userspace, then upload to kernel space) for my $job but I quickly > >> replace it with BPF_JITTER for several reasons. First of all, > >> there is a big security risk. A BPF filter program can be easily > >> validated by kernel with bpf_validate(9). We cannot do that for > >> native machine code and we must not allow uploading arbitrary code > >> to kernel space. You may say it is well protected by /dev/bpf > >> permissions but it is not good enough, i.e., all you need is read > >> permission to inject code to kernel space. > >> Second, LLVM is too heavy for BPF filter machine. For example, > > > > +1 > > Embedded FreeBSD will lost BPF if LLVM will be used for > > compilation :) > > Really? I've run LLVM JITs for more complex languages than BPF on > machines with only 128MB of RAM. LLVM itself takes about 5MB of > storage space and 20MB of RAM (used only during compilation, unloaded > immediately afterwards). One REALLY embedded systems, the filter > rules can be run on another host and provided in the form of a kernel > module using exactly the same code. What about systems with total 8MB of flash and 32MB of RAM (maybe even 4MB and 16MB)? :) > > >> libtrace did that long ago: > >> > >> http://www.wand.net.nz/trac/libtrace/changeset/1586 > >> > >> Someone actually benchmarked it with other JIT implementations: > >> > >> http://carnivore.it/2011/12/28/bpf_performance > > Reading the description there, I found it hard to believe that > someone had actually written that LLVM implementation. It is a case > study in how not to implement an LLVM JIT. > > >> LLVM compilation took too much time to be useful: > >> > >> engine filter cycles compile cycles > >> - ---------------+---------------+---------------- > >> jit-linux 106468 33126+72796 > >> jit-freebsd 113958 48292+72796 > >> llvm 157394 380843640+72796 > >> pcap 276910 72796 > >> linux 351391 9245+72796 > >> > >> I haven't tried theraven's implementation but I am afraid the > >> result may be similar. On top of that, it cannot be easily > >> embedded in kernel. > > Note that mine is a proof-of-concept prototype, however in my ad-hoc > testing its output was about a third the size of the output of the > current JIT. A simpler JIT loses a lot through not being able to do > even simple optimisations such as common subexpression elimination > and through a very primitive register allocator. > > The extra cost comes in the form of more CPU cycles spent actually > running the optimisation. JIT compilation is always a trade: is the > result being run enough times to offset the time spent optimising. > I'd have thought this would be obvious for something that is run on > every packet. Even a very slow optimiser will be a net win after a > while. More importantly, the optimisation happens at the time the > rules are loaded and so can run at a much lower priority, whereas the > packet filter evaluation happens on the critical path for network > traffic and impacts the latency of every single packet. > > David -- Aleksandr Rybalko From owner-svn-src-projects@FreeBSD.ORG Sat Dec 8 18:35:46 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 57B85A76; Sat, 8 Dec 2012 18:35:46 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 1ED318FC08; Sat, 8 Dec 2012 18:35:46 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB8IZjVs093836; Sat, 8 Dec 2012 18:35:45 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB8IZjY5093834; Sat, 8 Dec 2012 18:35:45 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201212081835.qB8IZjY5093834@svn.freebsd.org> From: Jeff Roberson Date: Sat, 8 Dec 2012 18:35:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r244035 - projects/physbio/sys/sparc64/sparc64 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: Sat, 08 Dec 2012 18:35:46 -0000 Author: jeff Date: Sat Dec 8 18:35:45 2012 New Revision: 244035 URL: http://svnweb.freebsd.org/changeset/base/244035 Log: - Correct a few compile errors, dmat is spelled dt, unused variable, etc. Sponsored by: EMC / Isilon Storage Division Modified: projects/physbio/sys/sparc64/sparc64/bus_machdep.c projects/physbio/sys/sparc64/sparc64/iommu.c Modified: projects/physbio/sys/sparc64/sparc64/bus_machdep.c ============================================================================== --- projects/physbio/sys/sparc64/sparc64/bus_machdep.c Sat Dec 8 17:41:39 2012 (r244034) +++ projects/physbio/sys/sparc64/sparc64/bus_machdep.c Sat Dec 8 18:35:45 2012 (r244035) @@ -410,7 +410,7 @@ nexus_dmamap_mayblock(bus_dma_tag_t dmat } -void +static void nexus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmamap_callback_t *callback, void *callback_arg, int nsegs, int error) { Modified: projects/physbio/sys/sparc64/sparc64/iommu.c ============================================================================== --- projects/physbio/sys/sparc64/sparc64/iommu.c Sat Dec 8 17:41:39 2012 (r244034) +++ projects/physbio/sys/sparc64/sparc64/iommu.c Sat Dec 8 18:35:45 2012 (r244035) @@ -860,7 +860,6 @@ iommu_dvmamap_load_buffer(bus_dma_tag_t vm_offset_t vaddr, voffs; vm_paddr_t curaddr; int error, firstpg, sgcnt; - int first; u_int slot; is = dt->dt_cookie; @@ -977,7 +976,7 @@ iommu_dvmamap_mayblock(bus_dma_tag_t dma } static void -iommu_dvmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t map, +iommu_dvmamap_complete(bus_dma_tag_t dt, bus_dmamap_t map, bus_dmamap_callback_t *callback, void *callback_arg, int nsegs, int error) { struct iommu_state *is = dt->dt_cookie; @@ -996,7 +995,7 @@ iommu_dvmamap_complete(bus_dma_tag_t dma } static void -iommu_dvmamap_complete2(bus_dma_tag_t dmat, bus_dmamap_t map, +iommu_dvmamap_complete2(bus_dma_tag_t dt, bus_dmamap_t map, bus_dmamap_callback2_t *callback, void *callback_arg, int nsegs, bus_size_t len, int error) { @@ -1016,7 +1015,7 @@ iommu_dvmamap_complete2(bus_dma_tag_t dm } static void -iommu_dvmamap_directseg(bus_dma_tag_t dmat, bus_dmamap_t map, +iommu_dvmamap_directseg(bus_dma_tag_t dt, bus_dmamap_t map, bus_dma_segment_t *segs, int nsegs, int error) { struct iommu_state *is = dt->dt_cookie; @@ -1030,7 +1029,6 @@ iommu_dvmamap_directseg(bus_dma_tag_t dm IS_UNLOCK(is); map->dm_flags |= DMF_LOADED; } - return (error); } static void From owner-svn-src-projects@FreeBSD.ORG Sat Dec 8 18:36:53 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 10FA1B8B; Sat, 8 Dec 2012 18:36:53 +0000 (UTC) (envelope-from jeff@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id EBAF48FC08; Sat, 8 Dec 2012 18:36:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qB8IaqZ2094018; Sat, 8 Dec 2012 18:36:52 GMT (envelope-from jeff@svn.freebsd.org) Received: (from jeff@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qB8Iaq91094015; Sat, 8 Dec 2012 18:36:52 GMT (envelope-from jeff@svn.freebsd.org) Message-Id: <201212081836.qB8Iaq91094015@svn.freebsd.org> From: Jeff Roberson Date: Sat, 8 Dec 2012 18:36:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r244036 - in projects/physbio/sys/dev: mfi virtio/scsi wds 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: Sat, 08 Dec 2012 18:36:53 -0000 Author: jeff Date: Sat Dec 8 18:36:51 2012 New Revision: 244036 URL: http://svnweb.freebsd.org/changeset/base/244036 Log: - Convert the last few drivers to the new CAM_DATA_* format. Sponsored by: EMC / Isilon Storage Division Modified: projects/physbio/sys/dev/mfi/mfi_cam.c projects/physbio/sys/dev/virtio/scsi/virtio_scsi.c projects/physbio/sys/dev/wds/wd7000.c Modified: projects/physbio/sys/dev/mfi/mfi_cam.c ============================================================================== --- projects/physbio/sys/dev/mfi/mfi_cam.c Sat Dec 8 18:35:45 2012 (r244035) +++ projects/physbio/sys/dev/mfi/mfi_cam.c Sat Dec 8 18:36:51 2012 (r244036) @@ -265,11 +265,7 @@ mfip_cam_action(struct cam_sim *sim, uni break; } if ((ccbh->flags & CAM_DIR_MASK) != CAM_DIR_NONE) { - if (ccbh->flags & CAM_DATA_PHYS) { - ccbh->status = CAM_REQ_INVALID; - break; - } - if (ccbh->flags & CAM_SCATTER_VALID) { + if ((ccbh->flags & CAM_DATA_MASK) != CAM_DATA_VADDR) { ccbh->status = CAM_REQ_INVALID; break; } Modified: projects/physbio/sys/dev/virtio/scsi/virtio_scsi.c ============================================================================== --- projects/physbio/sys/dev/virtio/scsi/virtio_scsi.c Sat Dec 8 18:35:45 2012 (r244035) +++ projects/physbio/sys/dev/virtio/scsi/virtio_scsi.c Sat Dec 8 18:36:51 2012 (r244036) @@ -964,28 +964,31 @@ vtscsi_sg_append_scsi_buf(struct vtscsi_ ccbh = &csio->ccb_h; error = 0; - if ((ccbh->flags & CAM_SCATTER_VALID) == 0) { - - if ((ccbh->flags & CAM_DATA_PHYS) == 0) + switch ((ccbh->flags & CAM_DATA_MASK)) { + case CAM_DATA_VADDR: + error = sglist_append(sg, csio->data_ptr, csio->dxfer_len); + break; + case CAM_DATA_PADDR: + error = sglist_append_phys(sg, + (vm_paddr_t)(vm_offset_t) csio->data_ptr, csio->dxfer_len); + break; + case CAM_DATA_SG: + for (i = 0; i < csio->sglist_cnt && error == 0; i++) { + dseg = &((struct bus_dma_segment *)csio->data_ptr)[i]; error = sglist_append(sg, - csio->data_ptr, csio->dxfer_len); - else - error = sglist_append_phys(sg, - (vm_paddr_t)(vm_offset_t) csio->data_ptr, - csio->dxfer_len); - } else { - + (void *)(vm_offset_t) dseg->ds_addr, dseg->ds_len); + } + break; + case CAM_DATA_SG_PADDR: for (i = 0; i < csio->sglist_cnt && error == 0; i++) { dseg = &((struct bus_dma_segment *)csio->data_ptr)[i]; - - if ((ccbh->flags & CAM_SG_LIST_PHYS) == 0) - error = sglist_append(sg, - (void *)(vm_offset_t) dseg->ds_addr, - dseg->ds_len); - else - error = sglist_append_phys(sg, - (vm_paddr_t) dseg->ds_addr, dseg->ds_len); + error = sglist_append_phys(sg, + (vm_paddr_t) dseg->ds_addr, dseg->ds_len); } + break; + default: + error = EINVAL; + break; } return (error); Modified: projects/physbio/sys/dev/wds/wd7000.c ============================================================================== --- projects/physbio/sys/dev/wds/wd7000.c Sat Dec 8 18:35:45 2012 (r244035) +++ projects/physbio/sys/dev/wds/wd7000.c Sat Dec 8 18:36:51 2012 (r244036) @@ -1066,7 +1066,7 @@ wds_scsi_io(struct cam_sim * sim, struct xpt_done((union ccb *) csio); return; } - if (ccb_h->flags & (CAM_CDB_PHYS | CAM_SCATTER_VALID | CAM_DATA_PHYS)) { + if ((ccb_h->flags & CAM_DATA_MASK) != CAM_DATA_VADDR) { /* don't support these */ ccb_h->status = CAM_REQ_INVALID; xpt_done((union ccb *) csio);