From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 16:03:33 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5B75C1065693; Sun, 22 Aug 2010 16:03:33 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4ABDA8FC13; Sun, 22 Aug 2010 16:03:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MG3X5K008192; Sun, 22 Aug 2010 16:03:33 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MG3X8p008190; Sun, 22 Aug 2010 16:03:33 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201008221603.o7MG3X8p008190@svn.freebsd.org> From: Adrian Chadd Date: Sun, 22 Aug 2010 16:03:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211625 - user/adrian/if_ath_devel/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 16:03:33 -0000 Author: adrian Date: Sun Aug 22 16:03:33 2010 New Revision: 211625 URL: http://svn.freebsd.org/changeset/base/211625 Log: Add some glue to shim ath direct into a SoC setup. This doesn't include the stuff needed for eeprom support. Added: user/adrian/if_ath_devel/sys/dev/ath/if_ath_ahb.c Added: user/adrian/if_ath_devel/sys/dev/ath/if_ath_ahb.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/adrian/if_ath_devel/sys/dev/ath/if_ath_ahb.c Sun Aug 22 16:03:33 2010 (r211625) @@ -0,0 +1,244 @@ +/*- + * Copyright (c) 2002-2008 Sam Leffler, Errno Consulting + * Copyright (c) 2010 Adrian Chadd + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer, + * without modification. + * 2. Redistributions in binary form must reproduce at minimum a disclaimer + * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any + * redistribution must be conditioned upon including a substantially + * similar Disclaimer requirement for further binary redistribution. + * + * NO WARRANTY + * 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 NONINFRINGEMENT, MERCHANTIBILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES. + */ + +#include +__FBSDID("$FreeBSD$"); + +/* + * SoC (ar91xx) front-end for the Atheros Wireless LAN controller driver. + */ + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +#include +#include +#include + +#include + +#include + +#include +#include +#include + +/* + * bus glue. + */ + +struct ath_ahb_softc { + struct ath_softc sc_sc; + struct resource *sc_sr; /* memory resource */ + struct resource *sc_irq; /* irq resource */ + void *sc_ih; /* interrupt handler */ +}; + +#define VENDOR_ATHEROS 0x168c +#define AR9100_DEVID 0x000b + +static int +ath_ahb_probe(device_t dev) +{ + const char* devname; + + /* Atheros / ar9100 */ + devname = ath_hal_probe(VENDOR_ATHEROS, AR9100_DEVID); + + if (devname != NULL) { + device_set_desc(dev, devname); + return BUS_PROBE_DEFAULT; + } + return ENXIO; +} + +static int +ath_ahb_attach(device_t dev) +{ + struct ath_ahb_softc *psc = device_get_softc(dev); + struct ath_softc *sc = &psc->sc_sc; + int error = ENXIO; + int rid; + + sc->sc_dev = dev; + + rid = 0; + psc->sc_sr = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, RF_ACTIVE); + if (psc->sc_sr == NULL) { + device_printf(dev, "cannot map register space\n"); + goto bad; + } + + /* XXX uintptr_t is a bandaid for ia64; to be fixed */ + sc->sc_st = (HAL_BUS_TAG)(uintptr_t) rman_get_bustag(psc->sc_sr); + sc->sc_sh = (HAL_BUS_HANDLE) rman_get_bushandle(psc->sc_sr); + /* + * Mark device invalid so any interrupts (shared or otherwise) + * that arrive before the HAL is setup are discarded. + */ + sc->sc_invalid = 1; + + /* + * Arrange interrupt line. + */ + rid = 0; + psc->sc_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, RF_SHAREABLE|RF_ACTIVE); + if (psc->sc_irq == NULL) { + device_printf(dev, "could not map interrupt\n"); + goto bad1; + } + if (bus_setup_intr(dev, psc->sc_irq, + INTR_TYPE_NET | INTR_MPSAFE, + NULL, ath_intr, sc, &psc->sc_ih)) { + device_printf(dev, "could not establish interrupt\n"); + goto bad2; + } + + /* + * Setup DMA descriptor area. + */ + if (bus_dma_tag_create(bus_get_dma_tag(dev), /* parent */ + 1, 0, /* alignment, bounds */ + BUS_SPACE_MAXADDR_32BIT, /* lowaddr */ + BUS_SPACE_MAXADDR, /* highaddr */ + NULL, NULL, /* filter, filterarg */ + 0x3ffff, /* maxsize XXX */ + ATH_MAX_SCATTER, /* nsegments */ + 0x3ffff, /* maxsegsize XXX */ + BUS_DMA_ALLOCNOW, /* flags */ + NULL, /* lockfunc */ + NULL, /* lockarg */ + &sc->sc_dmat)) { + device_printf(dev, "cannot allocate DMA tag\n"); + goto bad3; + } + + ATH_LOCK_INIT(sc); + + error = ath_attach(AR9100_DEVID, sc); + if (error == 0) /* success */ + return 0; + + ATH_LOCK_DESTROY(sc); + bus_dma_tag_destroy(sc->sc_dmat); +bad3: + bus_teardown_intr(dev, psc->sc_irq, psc->sc_ih); +bad2: + bus_release_resource(dev, SYS_RES_IRQ, 0, psc->sc_irq); +bad1: + bus_release_resource(dev, SYS_RES_MEMORY, BS_BAR, psc->sc_sr); +bad: + return (error); +} + +static int +ath_ahb_detach(device_t dev) +{ + struct ath_ahb_softc *psc = device_get_softc(dev); + struct ath_softc *sc = &psc->sc_sc; + + /* check if device was removed */ + sc->sc_invalid = !bus_child_present(dev); + + ath_detach(sc); + + bus_generic_detach(dev); + bus_teardown_intr(dev, psc->sc_irq, psc->sc_ih); + bus_release_resource(dev, SYS_RES_IRQ, 0, psc->sc_irq); + + bus_dma_tag_destroy(sc->sc_dmat); + bus_release_resource(dev, SYS_RES_MEMORY, BS_BAR, psc->sc_sr); + + ATH_LOCK_DESTROY(sc); + + return (0); +} + +static int +ath_ahb_shutdown(device_t dev) +{ + struct ath_ahb_softc *psc = device_get_softc(dev); + + ath_shutdown(&psc->sc_sc); + return (0); +} + +static int +ath_ahb_suspend(device_t dev) +{ + struct ath_ahb_softc *psc = device_get_softc(dev); + + ath_suspend(&psc->sc_sc); + + return (0); +} + +static int +ath_ahb_resume(device_t dev) +{ + struct ath_ahb_softc *psc = device_get_softc(dev); + + ath_resume(&psc->sc_sc); + + return (0); +} + +static device_method_t ath_ahb_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, ath_ahb_probe), + DEVMETHOD(device_attach, ath_ahb_attach), + DEVMETHOD(device_detach, ath_ahb_detach), + DEVMETHOD(device_shutdown, ath_ahb_shutdown), + DEVMETHOD(device_suspend, ath_ahb_suspend), + DEVMETHOD(device_resume, ath_ahb_resume), + + { 0,0 } +}; +static driver_t ath_ahb_driver = { + "ath", + ath_ahb_methods, + sizeof (struct ath_ahb_softc) +}; +static devclass_t ath_devclass; +DRIVER_MODULE(ath, nexus, ath_ahb_driver, ath_devclass, 0, 0); +MODULE_VERSION(ath, 1); +MODULE_DEPEND(ath, wlan, 1, 1, 1); /* 802.11 media layer */ From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 16:04:21 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 33A231065697; Sun, 22 Aug 2010 16:04:21 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 210B38FC08; Sun, 22 Aug 2010 16:04:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MG4L4q008241; Sun, 22 Aug 2010 16:04:21 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MG4LiR008239; Sun, 22 Aug 2010 16:04:21 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201008221604.o7MG4LiR008239@svn.freebsd.org> From: Adrian Chadd Date: Sun, 22 Aug 2010 16:04:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211626 - user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ar5416 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 16:04:21 -0000 Author: adrian Date: Sun Aug 22 16:04:20 2010 New Revision: 211626 URL: http://svn.freebsd.org/changeset/base/211626 Log: Bring over the ar9100 inivals from Linux. Tidy them up to resemble the formatting used in the FreeBSD ath hal. Obtained from: Linux Added: user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ar5416/ar9100.ini Added: user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ar5416/ar9100.ini ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ar5416/ar9100.ini Sun Aug 22 16:04:20 2010 (r211626) @@ -0,0 +1,667 @@ +/* + * Copyright (c) 2010 Atheros Communications Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +static const u32 ar5416Modes_9100[][6] = { + { 0x00001030, 0x00000230, 0x00000460, 0x000002c0, 0x00000160, 0x000001e0 }, + { 0x00001070, 0x00000168, 0x000002d0, 0x00000318, 0x0000018c, 0x000001e0 }, + { 0x000010b0, 0x00000e60, 0x00001cc0, 0x00007c70, 0x00003e38, 0x00001180 }, + { 0x000010f0, 0x0000a000, 0x00014000, 0x00016000, 0x0000b000, 0x00014008 }, + { 0x00008014, 0x03e803e8, 0x07d007d0, 0x10801600, 0x08400b00, 0x06e006e0 }, + { 0x0000801c, 0x128d93a7, 0x128d93cf, 0x12e013d7, 0x12e013ab, 0x098813cf }, + { 0x00008120, 0x08f04800, 0x08f04800, 0x08f04810, 0x08f04810, 0x08f04810 }, + { 0x000081d0, 0x00003210, 0x00003210, 0x0000320a, 0x0000320a, 0x0000320a }, + { 0x00009804, 0x00000300, 0x000003c4, 0x000003c4, 0x00000300, 0x00000303 }, + { 0x00009820, 0x02020200, 0x02020200, 0x02020200, 0x02020200, 0x02020200 }, + { 0x00009824, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e }, + { 0x00009828, 0x0a020001, 0x0a020001, 0x0a020001, 0x0a020001, 0x0a020001 }, + { 0x00009834, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e }, + { 0x00009838, 0x00000007, 0x00000007, 0x00000007, 0x00000007, 0x00000007 }, + { 0x00009844, 0x0372161e, 0x0372161e, 0x037216a0, 0x037216a0, 0x037216a0 }, + { 0x00009848, 0x001a6a65, 0x001a6a65, 0x00197a68, 0x00197a68, 0x00197a68 }, + { 0x0000a848, 0x001a6a65, 0x001a6a65, 0x00197a68, 0x00197a68, 0x00197a68 }, + { 0x0000b848, 0x001a6a65, 0x001a6a65, 0x00197a68, 0x00197a68, 0x00197a68 }, + { 0x00009850, 0x6c48b4e2, 0x6d48b4e2, 0x6d48b0e2, 0x6c48b0e2, 0x6c48b0e2 }, + { 0x00009858, 0x7ec82d2e, 0x7ec82d2e, 0x7ec82d2e, 0x7ec82d2e, 0x7ec82d2e }, + { 0x0000985c, 0x31395d5e, 0x3139605e, 0x3139605e, 0x31395d5e, 0x31395d5e }, + { 0x00009860, 0x00048d18, 0x00048d18, 0x00048d20, 0x00048d20, 0x00048d18 }, + { 0x0000c864, 0x0001ce00, 0x0001ce00, 0x0001ce00, 0x0001ce00, 0x0001ce00 }, + { 0x00009868, 0x409a40d0, 0x409a40d0, 0x409a40d0, 0x409a40d0, 0x409a40d0 }, + { 0x0000986c, 0x050cb081, 0x050cb081, 0x050cb081, 0x050cb081, 0x050cb081 }, + { 0x00009914, 0x000007d0, 0x00000fa0, 0x00001130, 0x00000898, 0x000007d0 }, + { 0x00009918, 0x0000000a, 0x00000014, 0x00000016, 0x0000000b, 0x00000016 }, + { 0x00009924, 0xd00a8a07, 0xd00a8a07, 0xd00a8a0d, 0xd00a8a0d, 0xd00a8a0d }, + { 0x00009940, 0x00750604, 0x00754604, 0xfff81204, 0xfff81204, 0xfff81204 }, + { 0x00009944, 0xdfb81020, 0xdfb81020, 0xdfb81020, 0xdfb81020, 0xdfb81020 }, + { 0x00009954, 0x5f3ca3de, 0x5f3ca3de, 0xe250a51e, 0xe250a51e, 0xe250a51e }, + { 0x00009958, 0x2108ecff, 0x2108ecff, 0x3388ffff, 0x3388ffff, 0x3388ffff }, + { 0x00009960, 0x0001bfc0, 0x0001bfc0, 0x0001bfc0, 0x0001bfc0, 0x0001bfc0 }, + { 0x0000a960, 0x0001bfc0, 0x0001bfc0, 0x0001bfc0, 0x0001bfc0, 0x0001bfc0 }, + { 0x0000b960, 0x0001bfc0, 0x0001bfc0, 0x0001bfc0, 0x0001bfc0, 0x0001bfc0 }, + { 0x00009964, 0x00001120, 0x00001120, 0x00001120, 0x00001120, 0x00001120 }, + { 0x0000c9bc, 0x001a0600, 0x001a0600, 0x001a1000, 0x001a0c00, 0x001a0c00 }, + { 0x000099c0, 0x038919be, 0x038919be, 0x038919be, 0x038919be, 0x038919be }, + { 0x000099c4, 0x06336f77, 0x06336f77, 0x06336f77, 0x06336f77, 0x06336f77 }, + { 0x000099c8, 0x6af65329, 0x6af65329, 0x6af65329, 0x6af65329, 0x6af65329 }, + { 0x000099cc, 0x08f186c8, 0x08f186c8, 0x08f186c8, 0x08f186c8, 0x08f186c8 }, + { 0x000099d0, 0x00046384, 0x00046384, 0x00046384, 0x00046384, 0x00046384 }, + { 0x000099d4, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, + { 0x000099d8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, + { 0x0000a204, 0x00000880, 0x00000880, 0x00000880, 0x00000880, 0x00000880 }, + { 0x0000a208, 0xd6be4788, 0xd6be4788, 0xd03e4788, 0xd03e4788, 0xd03e4788 }, + { 0x0000a20c, 0x002fc160, 0x002fc160, 0x002ac120, 0x002ac120, 0x002ac120 }, + { 0x0000b20c, 0x002fc160, 0x002fc160, 0x002ac120, 0x002ac120, 0x002ac120 }, + { 0x0000c20c, 0x002fc160, 0x002fc160, 0x002ac120, 0x002ac120, 0x002ac120 }, + { 0x0000a21c, 0x1883800a, 0x1883800a, 0x1883800a, 0x1883800a, 0x1883800a }, + { 0x0000a230, 0x00000000, 0x00000000, 0x00000210, 0x00000108, 0x00000000 }, + { 0x0000a274, 0x0a1a9caa, 0x0a1a9caa, 0x0a1a7caa, 0x0a1a7caa, 0x0a1a7caa }, + { 0x0000a300, 0x18010000, 0x18010000, 0x18010000, 0x18010000, 0x18010000 }, + { 0x0000a304, 0x30032602, 0x30032602, 0x2e032402, 0x2e032402, 0x2e032402 }, + { 0x0000a308, 0x48073e06, 0x48073e06, 0x4a0a3c06, 0x4a0a3c06, 0x4a0a3c06 }, + { 0x0000a30c, 0x560b4c0a, 0x560b4c0a, 0x621a540b, 0x621a540b, 0x621a540b }, + { 0x0000a310, 0x641a600f, 0x641a600f, 0x764f6c1b, 0x764f6c1b, 0x764f6c1b }, + { 0x0000a314, 0x7a4f6e1b, 0x7a4f6e1b, 0x845b7a5a, 0x845b7a5a, 0x845b7a5a }, + { 0x0000a318, 0x8c5b7e5a, 0x8c5b7e5a, 0x950f8ccf, 0x950f8ccf, 0x950f8ccf }, + { 0x0000a31c, 0x9d0f96cf, 0x9d0f96cf, 0xa5cf9b4f, 0xa5cf9b4f, 0xa5cf9b4f }, + { 0x0000a320, 0xb51fa69f, 0xb51fa69f, 0xbddfaf1f, 0xbddfaf1f, 0xbddfaf1f }, + { 0x0000a324, 0xcb3fbd07, 0xcb3fbcbf, 0xd1ffc93f, 0xd1ffc93f, 0xd1ffc93f }, + { 0x0000a328, 0x0000d7bf, 0x0000d7bf, 0x00000000, 0x00000000, 0x00000000 }, + { 0x0000a32c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, + { 0x0000a330, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, + { 0x0000a334, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, +}; + +static const u32 ar5416Common_9100[][2] = { + /* Addr allmodes */ + { 0x0000000c, 0x00000000 }, + { 0x00000030, 0x00020015 }, + { 0x00000034, 0x00000005 }, + { 0x00000040, 0x00000000 }, + { 0x00000044, 0x00000008 }, + { 0x00000048, 0x00000008 }, + { 0x0000004c, 0x00000010 }, + { 0x00000050, 0x00000000 }, + { 0x00000054, 0x0000001f }, + { 0x00000800, 0x00000000 }, + { 0x00000804, 0x00000000 }, + { 0x00000808, 0x00000000 }, + { 0x0000080c, 0x00000000 }, + { 0x00000810, 0x00000000 }, + { 0x00000814, 0x00000000 }, + { 0x00000818, 0x00000000 }, + { 0x0000081c, 0x00000000 }, + { 0x00000820, 0x00000000 }, + { 0x00000824, 0x00000000 }, + { 0x00001040, 0x002ffc0f }, + { 0x00001044, 0x002ffc0f }, + { 0x00001048, 0x002ffc0f }, + { 0x0000104c, 0x002ffc0f }, + { 0x00001050, 0x002ffc0f }, + { 0x00001054, 0x002ffc0f }, + { 0x00001058, 0x002ffc0f }, + { 0x0000105c, 0x002ffc0f }, + { 0x00001060, 0x002ffc0f }, + { 0x00001064, 0x002ffc0f }, + { 0x00001230, 0x00000000 }, + { 0x00001270, 0x00000000 }, + { 0x00001038, 0x00000000 }, + { 0x00001078, 0x00000000 }, + { 0x000010b8, 0x00000000 }, + { 0x000010f8, 0x00000000 }, + { 0x00001138, 0x00000000 }, + { 0x00001178, 0x00000000 }, + { 0x000011b8, 0x00000000 }, + { 0x000011f8, 0x00000000 }, + { 0x00001238, 0x00000000 }, + { 0x00001278, 0x00000000 }, + { 0x000012b8, 0x00000000 }, + { 0x000012f8, 0x00000000 }, + { 0x00001338, 0x00000000 }, + { 0x00001378, 0x00000000 }, + { 0x000013b8, 0x00000000 }, + { 0x000013f8, 0x00000000 }, + { 0x00001438, 0x00000000 }, + { 0x00001478, 0x00000000 }, + { 0x000014b8, 0x00000000 }, + { 0x000014f8, 0x00000000 }, + { 0x00001538, 0x00000000 }, + { 0x00001578, 0x00000000 }, + { 0x000015b8, 0x00000000 }, + { 0x000015f8, 0x00000000 }, + { 0x00001638, 0x00000000 }, + { 0x00001678, 0x00000000 }, + { 0x000016b8, 0x00000000 }, + { 0x000016f8, 0x00000000 }, + { 0x00001738, 0x00000000 }, + { 0x00001778, 0x00000000 }, + { 0x000017b8, 0x00000000 }, + { 0x000017f8, 0x00000000 }, + { 0x0000103c, 0x00000000 }, + { 0x0000107c, 0x00000000 }, + { 0x000010bc, 0x00000000 }, + { 0x000010fc, 0x00000000 }, + { 0x0000113c, 0x00000000 }, + { 0x0000117c, 0x00000000 }, + { 0x000011bc, 0x00000000 }, + { 0x000011fc, 0x00000000 }, + { 0x0000123c, 0x00000000 }, + { 0x0000127c, 0x00000000 }, + { 0x000012bc, 0x00000000 }, + { 0x000012fc, 0x00000000 }, + { 0x0000133c, 0x00000000 }, + { 0x0000137c, 0x00000000 }, + { 0x000013bc, 0x00000000 }, + { 0x000013fc, 0x00000000 }, + { 0x0000143c, 0x00000000 }, + { 0x0000147c, 0x00000000 }, + { 0x00020010, 0x00000003 }, + { 0x00020038, 0x000004c2 }, + { 0x00008004, 0x00000000 }, + { 0x00008008, 0x00000000 }, + { 0x0000800c, 0x00000000 }, + { 0x00008018, 0x00000700 }, + { 0x00008020, 0x00000000 }, + { 0x00008038, 0x00000000 }, + { 0x0000803c, 0x00000000 }, + { 0x00008048, 0x40000000 }, + { 0x00008054, 0x00004000 }, + { 0x00008058, 0x00000000 }, + { 0x0000805c, 0x000fc78f }, + { 0x00008060, 0x0000000f }, + { 0x00008064, 0x00000000 }, + { 0x000080c0, 0x2a82301a }, + { 0x000080c4, 0x05dc01e0 }, + { 0x000080c8, 0x1f402710 }, + { 0x000080cc, 0x01f40000 }, + { 0x000080d0, 0x00001e00 }, + { 0x000080d4, 0x00000000 }, + { 0x000080d8, 0x00400000 }, + { 0x000080e0, 0xffffffff }, + { 0x000080e4, 0x0000ffff }, + { 0x000080e8, 0x003f3f3f }, + { 0x000080ec, 0x00000000 }, + { 0x000080f0, 0x00000000 }, + { 0x000080f4, 0x00000000 }, + { 0x000080f8, 0x00000000 }, + { 0x000080fc, 0x00020000 }, + { 0x00008100, 0x00020000 }, + { 0x00008104, 0x00000001 }, + { 0x00008108, 0x00000052 }, + { 0x0000810c, 0x00000000 }, + { 0x00008110, 0x00000168 }, + { 0x00008118, 0x000100aa }, + { 0x0000811c, 0x00003210 }, + { 0x00008120, 0x08f04800 }, + { 0x00008124, 0x00000000 }, + { 0x00008128, 0x00000000 }, + { 0x0000812c, 0x00000000 }, + { 0x00008130, 0x00000000 }, + { 0x00008134, 0x00000000 }, + { 0x00008138, 0x00000000 }, + { 0x0000813c, 0x00000000 }, + { 0x00008144, 0x00000000 }, + { 0x00008168, 0x00000000 }, + { 0x0000816c, 0x00000000 }, + { 0x00008170, 0x32143320 }, + { 0x00008174, 0xfaa4fa50 }, + { 0x00008178, 0x00000100 }, + { 0x0000817c, 0x00000000 }, + { 0x000081c4, 0x00000000 }, + { 0x000081d0, 0x00003210 }, + { 0x000081ec, 0x00000000 }, + { 0x000081f0, 0x00000000 }, + { 0x000081f4, 0x00000000 }, + { 0x000081f8, 0x00000000 }, + { 0x000081fc, 0x00000000 }, + { 0x00008200, 0x00000000 }, + { 0x00008204, 0x00000000 }, + { 0x00008208, 0x00000000 }, + { 0x0000820c, 0x00000000 }, + { 0x00008210, 0x00000000 }, + { 0x00008214, 0x00000000 }, + { 0x00008218, 0x00000000 }, + { 0x0000821c, 0x00000000 }, + { 0x00008220, 0x00000000 }, + { 0x00008224, 0x00000000 }, + { 0x00008228, 0x00000000 }, + { 0x0000822c, 0x00000000 }, + { 0x00008230, 0x00000000 }, + { 0x00008234, 0x00000000 }, + { 0x00008238, 0x00000000 }, + { 0x0000823c, 0x00000000 }, + { 0x00008240, 0x00100000 }, + { 0x00008244, 0x0010f400 }, + { 0x00008248, 0x00000100 }, + { 0x0000824c, 0x0001e800 }, + { 0x00008250, 0x00000000 }, + { 0x00008254, 0x00000000 }, + { 0x00008258, 0x00000000 }, + { 0x0000825c, 0x400000ff }, + { 0x00008260, 0x00080922 }, + { 0x00008270, 0x00000000 }, + { 0x00008274, 0x40000000 }, + { 0x00008278, 0x003e4180 }, + { 0x0000827c, 0x00000000 }, + { 0x00008284, 0x0000002c }, + { 0x00008288, 0x0000002c }, + { 0x0000828c, 0x00000000 }, + { 0x00008294, 0x00000000 }, + { 0x00008298, 0x00000000 }, + { 0x00008300, 0x00000000 }, + { 0x00008304, 0x00000000 }, + { 0x00008308, 0x00000000 }, + { 0x0000830c, 0x00000000 }, + { 0x00008310, 0x00000000 }, + { 0x00008314, 0x00000000 }, + { 0x00008318, 0x00000000 }, + { 0x00008328, 0x00000000 }, + { 0x0000832c, 0x00000007 }, + { 0x00008330, 0x00000302 }, + { 0x00008334, 0x00000e00 }, + { 0x00008338, 0x00000000 }, + { 0x0000833c, 0x00000000 }, + { 0x00008340, 0x000107ff }, + { 0x00009808, 0x00000000 }, + { 0x0000980c, 0xad848e19 }, + { 0x00009810, 0x7d14e000 }, + { 0x00009814, 0x9c0a9f6b }, + { 0x0000981c, 0x00000000 }, + { 0x0000982c, 0x0000a000 }, + { 0x00009830, 0x00000000 }, + { 0x0000983c, 0x00200400 }, + { 0x00009840, 0x206a01ae }, + { 0x0000984c, 0x1284233c }, + { 0x00009854, 0x00000859 }, + { 0x00009900, 0x00000000 }, + { 0x00009904, 0x00000000 }, + { 0x00009908, 0x00000000 }, + { 0x0000990c, 0x00000000 }, + { 0x0000991c, 0x10000fff }, + { 0x00009920, 0x05100000 }, + { 0x0000a920, 0x05100000 }, + { 0x0000b920, 0x05100000 }, + { 0x00009928, 0x00000001 }, + { 0x0000992c, 0x00000004 }, + { 0x00009934, 0x1e1f2022 }, + { 0x00009938, 0x0a0b0c0d }, + { 0x0000993c, 0x00000000 }, + { 0x00009948, 0x9280b212 }, + { 0x0000994c, 0x00020028 }, + { 0x0000c95c, 0x004b6a8e }, + { 0x0000c968, 0x000003ce }, + { 0x00009970, 0x190fb515 }, + { 0x00009974, 0x00000000 }, + { 0x00009978, 0x00000001 }, + { 0x0000997c, 0x00000000 }, + { 0x00009980, 0x00000000 }, + { 0x00009984, 0x00000000 }, + { 0x00009988, 0x00000000 }, + { 0x0000998c, 0x00000000 }, + { 0x00009990, 0x00000000 }, + { 0x00009994, 0x00000000 }, + { 0x00009998, 0x00000000 }, + { 0x0000999c, 0x00000000 }, + { 0x000099a0, 0x00000000 }, + { 0x000099a4, 0x00000001 }, + { 0x000099a8, 0x201fff00 }, + { 0x000099ac, 0x006f0000 }, + { 0x000099b0, 0x03051000 }, + { 0x000099dc, 0x00000000 }, + { 0x000099e0, 0x00000200 }, + { 0x000099e4, 0xaaaaaaaa }, + { 0x000099e8, 0x3c466478 }, + { 0x000099ec, 0x0cc80caa }, + { 0x000099fc, 0x00001042 }, + { 0x00009b00, 0x00000000 }, + { 0x00009b04, 0x00000001 }, + { 0x00009b08, 0x00000002 }, + { 0x00009b0c, 0x00000003 }, + { 0x00009b10, 0x00000004 }, + { 0x00009b14, 0x00000005 }, + { 0x00009b18, 0x00000008 }, + { 0x00009b1c, 0x00000009 }, + { 0x00009b20, 0x0000000a }, + { 0x00009b24, 0x0000000b }, + { 0x00009b28, 0x0000000c }, + { 0x00009b2c, 0x0000000d }, + { 0x00009b30, 0x00000010 }, + { 0x00009b34, 0x00000011 }, + { 0x00009b38, 0x00000012 }, + { 0x00009b3c, 0x00000013 }, + { 0x00009b40, 0x00000014 }, + { 0x00009b44, 0x00000015 }, + { 0x00009b48, 0x00000018 }, + { 0x00009b4c, 0x00000019 }, + { 0x00009b50, 0x0000001a }, + { 0x00009b54, 0x0000001b }, + { 0x00009b58, 0x0000001c }, + { 0x00009b5c, 0x0000001d }, + { 0x00009b60, 0x00000020 }, + { 0x00009b64, 0x00000021 }, + { 0x00009b68, 0x00000022 }, + { 0x00009b6c, 0x00000023 }, + { 0x00009b70, 0x00000024 }, + { 0x00009b74, 0x00000025 }, + { 0x00009b78, 0x00000028 }, + { 0x00009b7c, 0x00000029 }, + { 0x00009b80, 0x0000002a }, + { 0x00009b84, 0x0000002b }, + { 0x00009b88, 0x0000002c }, + { 0x00009b8c, 0x0000002d }, + { 0x00009b90, 0x00000030 }, + { 0x00009b94, 0x00000031 }, + { 0x00009b98, 0x00000032 }, + { 0x00009b9c, 0x00000033 }, + { 0x00009ba0, 0x00000034 }, + { 0x00009ba4, 0x00000035 }, + { 0x00009ba8, 0x00000035 }, + { 0x00009bac, 0x00000035 }, + { 0x00009bb0, 0x00000035 }, + { 0x00009bb4, 0x00000035 }, + { 0x00009bb8, 0x00000035 }, + { 0x00009bbc, 0x00000035 }, + { 0x00009bc0, 0x00000035 }, + { 0x00009bc4, 0x00000035 }, + { 0x00009bc8, 0x00000035 }, + { 0x00009bcc, 0x00000035 }, + { 0x00009bd0, 0x00000035 }, + { 0x00009bd4, 0x00000035 }, + { 0x00009bd8, 0x00000035 }, + { 0x00009bdc, 0x00000035 }, + { 0x00009be0, 0x00000035 }, + { 0x00009be4, 0x00000035 }, + { 0x00009be8, 0x00000035 }, + { 0x00009bec, 0x00000035 }, + { 0x00009bf0, 0x00000035 }, + { 0x00009bf4, 0x00000035 }, + { 0x00009bf8, 0x00000010 }, + { 0x00009bfc, 0x0000001a }, + { 0x0000a210, 0x40806333 }, + { 0x0000a214, 0x00106c10 }, + { 0x0000a218, 0x009c4060 }, + { 0x0000a220, 0x018830c6 }, + { 0x0000a224, 0x00000400 }, + { 0x0000a228, 0x001a0bb5 }, + { 0x0000a22c, 0x00000000 }, + { 0x0000a234, 0x20202020 }, + { 0x0000a238, 0x20202020 }, + { 0x0000a23c, 0x13c889af }, + { 0x0000a240, 0x38490a20 }, + { 0x0000a244, 0x00007bb6 }, + { 0x0000a248, 0x0fff3ffc }, + { 0x0000a24c, 0x00000001 }, + { 0x0000a250, 0x0000e000 }, + { 0x0000a254, 0x00000000 }, + { 0x0000a258, 0x0cc75380 }, + { 0x0000a25c, 0x0f0f0f01 }, + { 0x0000a260, 0xdfa91f01 }, + { 0x0000a268, 0x00000001 }, + { 0x0000a26c, 0x0ebae9c6 }, + { 0x0000b26c, 0x0ebae9c6 }, + { 0x0000c26c, 0x0ebae9c6 }, + { 0x0000d270, 0x00820820 }, + { 0x0000a278, 0x1ce739ce }, + { 0x0000a27c, 0x050701ce }, + { 0x0000a338, 0x00000000 }, + { 0x0000a33c, 0x00000000 }, + { 0x0000a340, 0x00000000 }, + { 0x0000a344, 0x00000000 }, + { 0x0000a348, 0x3fffffff }, + { 0x0000a34c, 0x3fffffff }, + { 0x0000a350, 0x3fffffff }, + { 0x0000a354, 0x0003ffff }, + { 0x0000a358, 0x79a8aa33 }, + { 0x0000d35c, 0x07ffffef }, + { 0x0000d360, 0x0fffffe7 }, + { 0x0000d364, 0x17ffffe5 }, + { 0x0000d368, 0x1fffffe4 }, + { 0x0000d36c, 0x37ffffe3 }, + { 0x0000d370, 0x3fffffe3 }, + { 0x0000d374, 0x57ffffe3 }, + { 0x0000d378, 0x5fffffe2 }, + { 0x0000d37c, 0x7fffffe2 }, + { 0x0000d380, 0x7f3c7bba }, + { 0x0000d384, 0xf3307ff0 }, + { 0x0000a388, 0x0c000000 }, + { 0x0000a38c, 0x20202020 }, + { 0x0000a390, 0x20202020 }, + { 0x0000a394, 0x1ce739ce }, + { 0x0000a398, 0x000001ce }, + { 0x0000a39c, 0x00000001 }, + { 0x0000a3a0, 0x00000000 }, + { 0x0000a3a4, 0x00000000 }, + { 0x0000a3a8, 0x00000000 }, + { 0x0000a3ac, 0x00000000 }, + { 0x0000a3b0, 0x00000000 }, + { 0x0000a3b4, 0x00000000 }, + { 0x0000a3b8, 0x00000000 }, + { 0x0000a3bc, 0x00000000 }, + { 0x0000a3c0, 0x00000000 }, + { 0x0000a3c4, 0x00000000 }, + { 0x0000a3c8, 0x00000246 }, + { 0x0000a3cc, 0x20202020 }, + { 0x0000a3d0, 0x20202020 }, + { 0x0000a3d4, 0x20202020 }, + { 0x0000a3dc, 0x1ce739ce }, + { 0x0000a3e0, 0x000001ce }, +}; + +static const u32 ar5416Bank0_9100[][2] = { + /* Addr allmodes */ + { 0x000098b0, 0x1e5795e5 }, + { 0x000098e0, 0x02008020 }, +}; + +static const u32 ar5416BB_RfGain_9100[][3] = { + /* Addr 5G_HT20 5G_HT40 */ + { 0x00009a00, 0x00000000, 0x00000000 }, + { 0x00009a04, 0x00000040, 0x00000040 }, + { 0x00009a08, 0x00000080, 0x00000080 }, + { 0x00009a0c, 0x000001a1, 0x00000141 }, + { 0x00009a10, 0x000001e1, 0x00000181 }, + { 0x00009a14, 0x00000021, 0x000001c1 }, + { 0x00009a18, 0x00000061, 0x00000001 }, + { 0x00009a1c, 0x00000168, 0x00000041 }, + { 0x00009a20, 0x000001a8, 0x000001a8 }, + { 0x00009a24, 0x000001e8, 0x000001e8 }, + { 0x00009a28, 0x00000028, 0x00000028 }, + { 0x00009a2c, 0x00000068, 0x00000068 }, + { 0x00009a30, 0x00000189, 0x000000a8 }, + { 0x00009a34, 0x000001c9, 0x00000169 }, + { 0x00009a38, 0x00000009, 0x000001a9 }, + { 0x00009a3c, 0x00000049, 0x000001e9 }, + { 0x00009a40, 0x00000089, 0x00000029 }, + { 0x00009a44, 0x00000170, 0x00000069 }, + { 0x00009a48, 0x000001b0, 0x00000190 }, + { 0x00009a4c, 0x000001f0, 0x000001d0 }, + { 0x00009a50, 0x00000030, 0x00000010 }, + { 0x00009a54, 0x00000070, 0x00000050 }, + { 0x00009a58, 0x00000191, 0x00000090 }, + { 0x00009a5c, 0x000001d1, 0x00000151 }, + { 0x00009a60, 0x00000011, 0x00000191 }, + { 0x00009a64, 0x00000051, 0x000001d1 }, + { 0x00009a68, 0x00000091, 0x00000011 }, + { 0x00009a6c, 0x000001b8, 0x00000051 }, + { 0x00009a70, 0x000001f8, 0x00000198 }, + { 0x00009a74, 0x00000038, 0x000001d8 }, + { 0x00009a78, 0x00000078, 0x00000018 }, + { 0x00009a7c, 0x00000199, 0x00000058 }, + { 0x00009a80, 0x000001d9, 0x00000098 }, + { 0x00009a84, 0x00000019, 0x00000159 }, + { 0x00009a88, 0x00000059, 0x00000199 }, + { 0x00009a8c, 0x00000099, 0x000001d9 }, + { 0x00009a90, 0x000000d9, 0x00000019 }, + { 0x00009a94, 0x000000f9, 0x00000059 }, + { 0x00009a98, 0x000000f9, 0x00000099 }, + { 0x00009a9c, 0x000000f9, 0x000000d9 }, + { 0x00009aa0, 0x000000f9, 0x000000f9 }, + { 0x00009aa4, 0x000000f9, 0x000000f9 }, + { 0x00009aa8, 0x000000f9, 0x000000f9 }, + { 0x00009aac, 0x000000f9, 0x000000f9 }, + { 0x00009ab0, 0x000000f9, 0x000000f9 }, + { 0x00009ab4, 0x000000f9, 0x000000f9 }, + { 0x00009ab8, 0x000000f9, 0x000000f9 }, + { 0x00009abc, 0x000000f9, 0x000000f9 }, + { 0x00009ac0, 0x000000f9, 0x000000f9 }, + { 0x00009ac4, 0x000000f9, 0x000000f9 }, + { 0x00009ac8, 0x000000f9, 0x000000f9 }, + { 0x00009acc, 0x000000f9, 0x000000f9 }, + { 0x00009ad0, 0x000000f9, 0x000000f9 }, + { 0x00009ad4, 0x000000f9, 0x000000f9 }, + { 0x00009ad8, 0x000000f9, 0x000000f9 }, + { 0x00009adc, 0x000000f9, 0x000000f9 }, + { 0x00009ae0, 0x000000f9, 0x000000f9 }, + { 0x00009ae4, 0x000000f9, 0x000000f9 }, + { 0x00009ae8, 0x000000f9, 0x000000f9 }, + { 0x00009aec, 0x000000f9, 0x000000f9 }, + { 0x00009af0, 0x000000f9, 0x000000f9 }, + { 0x00009af4, 0x000000f9, 0x000000f9 }, + { 0x00009af8, 0x000000f9, 0x000000f9 }, + { 0x00009afc, 0x000000f9, 0x000000f9 }, +}; + +static const u32 ar5416Bank1_9100[][2] = { + /* Addr allmodes */ + { 0x000098b0, 0x02108421 }, + { 0x000098ec, 0x00000008 }, +}; + +static const u32 ar5416Bank2_9100[][2] = { + /* Addr allmodes */ + { 0x000098b0, 0x0e73ff17 }, + { 0x000098e0, 0x00000420 }, +}; + +static const u32 ar5416Bank3_9100[][3] = { + /* Addr 5G_HT20 5G_HT40 */ + { 0x000098f0, 0x01400018, 0x01c00018 }, +}; + +static const u32 ar5416Bank6_9100[][3] = { + /* Addr 5G_HT20 5G_HT40 */ + { 0x0000989c, 0x00000000, 0x00000000 }, + { 0x0000989c, 0x00000000, 0x00000000 }, + { 0x0000989c, 0x00000000, 0x00000000 }, + { 0x0000989c, 0x00e00000, 0x00e00000 }, + { 0x0000989c, 0x005e0000, 0x005e0000 }, + { 0x0000989c, 0x00120000, 0x00120000 }, + { 0x0000989c, 0x00620000, 0x00620000 }, + { 0x0000989c, 0x00020000, 0x00020000 }, + { 0x0000989c, 0x00ff0000, 0x00ff0000 }, + { 0x0000989c, 0x00ff0000, 0x00ff0000 }, + { 0x0000989c, 0x00ff0000, 0x00ff0000 }, + { 0x0000989c, 0x00ff0000, 0x00ff0000 }, + { 0x0000989c, 0x005f0000, 0x005f0000 }, + { 0x0000989c, 0x00870000, 0x00870000 }, + { 0x0000989c, 0x00f90000, 0x00f90000 }, + { 0x0000989c, 0x007b0000, 0x007b0000 }, + { 0x0000989c, 0x00ff0000, 0x00ff0000 }, + { 0x0000989c, 0x00f50000, 0x00f50000 }, + { 0x0000989c, 0x00dc0000, 0x00dc0000 }, + { 0x0000989c, 0x00110000, 0x00110000 }, + { 0x0000989c, 0x006100a8, 0x006100a8 }, + { 0x0000989c, 0x004210a2, 0x004210a2 }, + { 0x0000989c, 0x0014000f, 0x0014000f }, + { 0x0000989c, 0x00c40002, 0x00c40002 }, + { 0x0000989c, 0x003000f2, 0x003000f2 }, + { 0x0000989c, 0x00440016, 0x00440016 }, + { 0x0000989c, 0x00410040, 0x00410040 }, + { 0x0000989c, 0x000180d6, 0x000180d6 }, + { 0x0000989c, 0x0000c0aa, 0x0000c0aa }, + { 0x0000989c, 0x000000b1, 0x000000b1 }, + { 0x0000989c, 0x00002000, 0x00002000 }, + { 0x0000989c, 0x000000d4, 0x000000d4 }, + { 0x000098d0, 0x0000000f, 0x0010000f }, +}; + +static const u32 ar5416Bank6TPC_9100[][3] = { + /* Addr 5G_HT20 5G_HT40 */ + { 0x0000989c, 0x00000000, 0x00000000 }, + { 0x0000989c, 0x00000000, 0x00000000 }, + { 0x0000989c, 0x00000000, 0x00000000 }, + { 0x0000989c, 0x00e00000, 0x00e00000 }, + { 0x0000989c, 0x005e0000, 0x005e0000 }, + { 0x0000989c, 0x00120000, 0x00120000 }, + { 0x0000989c, 0x00620000, 0x00620000 }, + { 0x0000989c, 0x00020000, 0x00020000 }, + { 0x0000989c, 0x00ff0000, 0x00ff0000 }, + { 0x0000989c, 0x00ff0000, 0x00ff0000 }, + { 0x0000989c, 0x00ff0000, 0x00ff0000 }, + { 0x0000989c, 0x40ff0000, 0x40ff0000 }, + { 0x0000989c, 0x005f0000, 0x005f0000 }, + { 0x0000989c, 0x00870000, 0x00870000 }, + { 0x0000989c, 0x00f90000, 0x00f90000 }, + { 0x0000989c, 0x007b0000, 0x007b0000 }, + { 0x0000989c, 0x00ff0000, 0x00ff0000 }, + { 0x0000989c, 0x00f50000, 0x00f50000 }, + { 0x0000989c, 0x00dc0000, 0x00dc0000 }, + { 0x0000989c, 0x00110000, 0x00110000 }, + { 0x0000989c, 0x006100a8, 0x006100a8 }, + { 0x0000989c, 0x00423022, 0x00423022 }, + { 0x0000989c, 0x2014008f, 0x2014008f }, + { 0x0000989c, 0x00c40002, 0x00c40002 }, + { 0x0000989c, 0x003000f2, 0x003000f2 }, + { 0x0000989c, 0x00440016, 0x00440016 }, + { 0x0000989c, 0x00410040, 0x00410040 }, + { 0x0000989c, 0x0001805e, 0x0001805e }, + { 0x0000989c, 0x0000c0ab, 0x0000c0ab }, + { 0x0000989c, 0x000000e1, 0x000000e1 }, + { 0x0000989c, 0x00007080, 0x00007080 }, + { 0x0000989c, 0x000000d4, 0x000000d4 }, + { 0x000098d0, 0x0000000f, 0x0010000f }, +}; + +static const u32 ar5416Bank7_9100[][2] = { + /* Addr allmodes */ + { 0x0000989c, 0x00000500 }, + { 0x0000989c, 0x00000800 }, + { 0x000098cc, 0x0000000e }, +}; + +static const u32 ar5416Addac_9100[][2] = { + /* Addr allmodes */ + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000010 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x000000c0 }, + { 0x0000989c, 0x00000015 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x0000989c, 0x00000000 }, + { 0x000098cc, 0x00000000 }, +}; From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 16:06:07 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BE8351065694; Sun, 22 Aug 2010 16:06:07 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AE67A8FC1A; Sun, 22 Aug 2010 16:06:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MG67LN008329; Sun, 22 Aug 2010 16:06:07 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MG67mx008327; Sun, 22 Aug 2010 16:06:07 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201008221606.o7MG67mx008327@svn.freebsd.org> From: Adrian Chadd Date: Sun, 22 Aug 2010 16:06:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211627 - user/adrian/if_ath_devel/sys/dev/ath/ath_hal X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 16:06:07 -0000 Author: adrian Date: Sun Aug 22 16:06:07 2010 New Revision: 211627 URL: http://svn.freebsd.org/changeset/base/211627 Log: Commit the AR9100 device id. Obtained from: Linux Modified: user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ah_devid.h Modified: user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ah_devid.h ============================================================================== --- user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ah_devid.h Sun Aug 22 16:04:20 2010 (r211626) +++ user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ah_devid.h Sun Aug 22 16:06:07 2010 (r211627) @@ -74,6 +74,7 @@ /* AR5416 compatible devid's */ #define AR5416_DEVID_PCI 0x0023 /* AR5416 PCI (MB/CB) Owl */ #define AR5416_DEVID_PCIE 0x0024 /* AR5416 PCI-E (XB) Owl */ +#define AR5416_DEVID_AR9100 0x000b /* AR9100 (SoC) */ #define AR9160_DEVID_PCI 0x0027 /* AR9160 PCI Sowl */ #define AR9280_DEVID_PCI 0x0029 /* AR9280 PCI Merlin */ #define AR9280_DEVID_PCIE 0x002a /* AR9280 PCI-E Merlin */ From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 16:12:45 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 61BD3106564A; Sun, 22 Aug 2010 16:12:45 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 36DEE8FC1A; Sun, 22 Aug 2010 16:12:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MGCjjL008544; Sun, 22 Aug 2010 16:12:45 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MGCjPV008541; Sun, 22 Aug 2010 16:12:45 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201008221612.o7MGCjPV008541@svn.freebsd.org> From: Adrian Chadd Date: Sun, 22 Aug 2010 16:12:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211629 - user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ar5416 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 16:12:45 -0000 Author: adrian Date: Sun Aug 22 16:12:44 2010 New Revision: 211629 URL: http://svn.freebsd.org/changeset/base/211629 Log: Add the mac revision id AR9100 SoC wireless MAC. Obtained from: Linux Modified: user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ar5416/ar5416reg.h Modified: user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c ============================================================================== --- user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Sun Aug 22 16:08:12 2010 (r211628) +++ user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Sun Aug 22 16:12:44 2010 (r211629) @@ -216,6 +216,9 @@ ar5416Attach(uint16_t devid, HAL_SOFTC s ahp = &ahp5416->ah_5212; ah = &ahp->ah_priv.h; + if (devid == AR5416_AR9100_DEVID) + AH_PRIVATE((ah))->ah_macVersion = AR_XSREV_VERSION_9100; + if (!ar5416SetResetReg(ah, HAL_RESET_POWER_ON)) { /* reset chip */ HALDEBUG(ah, HAL_DEBUG_ANY, "%s: couldn't reset chip\n", __func__); @@ -833,6 +836,8 @@ ar5416Probe(uint16_t vendorid, uint16_t if (vendorid == ATHEROS_VENDOR_ID && (devid == AR5416_DEVID_PCI || devid == AR5416_DEVID_PCIE)) return "Atheros 5416"; + if (vendorid == ATHEROS_VENDOR_ID && devid == AR5416_AR9100_DEVID) + return "Atheros 910x"; return AH_NULL; } AH_CHIP(AR5416, ar5416Probe, ar5416Attach); Modified: user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ar5416/ar5416reg.h ============================================================================== --- user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ar5416/ar5416reg.h Sun Aug 22 16:08:12 2010 (r211628) +++ user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ar5416/ar5416reg.h Sun Aug 22 16:12:44 2010 (r211629) @@ -576,6 +576,7 @@ #define AR_XSREV_REVISION_OWL_10 0 /* Owl 1.0 */ #define AR_XSREV_REVISION_OWL_20 1 /* Owl 2.0/2.1 */ #define AR_XSREV_REVISION_OWL_22 2 /* Owl 2.2 */ +#define AR_XSREV_VERSION_9100 0x14 #define AR_XSREV_VERSION_SOWL 0x40 #define AR_XSREV_REVISION_SOWL_10 0 /* Sowl 1.0 */ #define AR_XSREV_REVISION_SOWL_11 1 /* Sowl 1.1 */ @@ -588,6 +589,11 @@ #define AR_XSREV_REVISION_KITE_11 1 /* Kite 1.1 */ #define AR_XSREV_REVISION_KITE_12 2 /* Kite 1.2 */ +#define AR_SREV_9100(_ah) \ + (AH_PRIVATE((_ah))->ah_macVersion == AR_XSREV_VERSION_9100) +#define AR_SREV_9100_OR_LATER(_ah) \ + (AH_PRIVATE((_ah))->ah_macVersion >= AR_XSREV_VERSION_9100) + #define AR_SREV_OWL_20_OR_LATER(_ah) \ (AH_PRIVATE((_ah))->ah_macVersion >= AR_XSREV_VERSION_SOWL || \ AH_PRIVATE((_ah))->ah_macRev >= AR_XSREV_REVISION_OWL_20) From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 16:13:51 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EA4CF1065695; Sun, 22 Aug 2010 16:13:51 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DA30D8FC1D; Sun, 22 Aug 2010 16:13:51 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MGDpwx008626; Sun, 22 Aug 2010 16:13:51 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MGDpOC008624; Sun, 22 Aug 2010 16:13:51 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201008221613.o7MGDpOC008624@svn.freebsd.org> From: Adrian Chadd Date: Sun, 22 Aug 2010 16:13:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211630 - user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ar5416 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 16:13:52 -0000 Author: adrian Date: Sun Aug 22 16:13:51 2010 New Revision: 211630 URL: http://svn.freebsd.org/changeset/base/211630 Log: Revert the incorrectly committed part to the last commit. Modified: user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Modified: user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c ============================================================================== --- user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Sun Aug 22 16:12:44 2010 (r211629) +++ user/adrian/if_ath_devel/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Sun Aug 22 16:13:51 2010 (r211630) @@ -216,9 +216,6 @@ ar5416Attach(uint16_t devid, HAL_SOFTC s ahp = &ahp5416->ah_5212; ah = &ahp->ah_priv.h; - if (devid == AR5416_AR9100_DEVID) - AH_PRIVATE((ah))->ah_macVersion = AR_XSREV_VERSION_9100; - if (!ar5416SetResetReg(ah, HAL_RESET_POWER_ON)) { /* reset chip */ HALDEBUG(ah, HAL_DEBUG_ANY, "%s: couldn't reset chip\n", __func__); @@ -836,8 +833,6 @@ ar5416Probe(uint16_t vendorid, uint16_t if (vendorid == ATHEROS_VENDOR_ID && (devid == AR5416_DEVID_PCI || devid == AR5416_DEVID_PCIE)) return "Atheros 5416"; - if (vendorid == ATHEROS_VENDOR_ID && devid == AR5416_AR9100_DEVID) - return "Atheros 910x"; return AH_NULL; } AH_CHIP(AR5416, ar5416Probe, ar5416Attach); From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 19:06:21 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 46F14106566B; Sun, 22 Aug 2010 19:06:21 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 36FD78FC24; Sun, 22 Aug 2010 19:06:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MJ6L3C012136; Sun, 22 Aug 2010 19:06:21 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MJ6LZa012134; Sun, 22 Aug 2010 19:06:21 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201008221906.o7MJ6LZa012134@svn.freebsd.org> From: Nathan Whitehorn Date: Sun, 22 Aug 2010 19:06:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211635 - user/nwhitehorn/ps3/powerpc/aim X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 19:06:21 -0000 Author: nwhitehorn Date: Sun Aug 22 19:06:20 2010 New Revision: 211635 URL: http://svn.freebsd.org/changeset/base/211635 Log: Fix one instance where a non-hypervisor page table routine was being called unconditionally. Modified: user/nwhitehorn/ps3/powerpc/aim/mmu_oea64.c Modified: user/nwhitehorn/ps3/powerpc/aim/mmu_oea64.c ============================================================================== --- user/nwhitehorn/ps3/powerpc/aim/mmu_oea64.c Sun Aug 22 16:53:28 2010 (r211634) +++ user/nwhitehorn/ps3/powerpc/aim/mmu_oea64.c Sun Aug 22 19:06:20 2010 (r211635) @@ -2881,7 +2881,10 @@ moea64_query_bit(vm_page_t m, u_int64_t * ptebit is set, cache it and return success. */ LOCK_TABLE(); - pt = moea64_pvo_to_pte_native(pvo); + if (moea64_pvo_to_pte_hook) + pt = moea64_pvo_to_pte_hook(pvo); + else + pt = moea64_pvo_to_pte_native(pvo); if (pt != NULL) { if (moea64_pte_synch_hook != NULL) moea64_pte_synch_hook(pt, &pvo->pvo_pte.lpte); From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 19:09:18 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B4E141065672; Sun, 22 Aug 2010 19:09:18 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 992B88FC0A; Sun, 22 Aug 2010 19:09:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MJ9Ia6012233; Sun, 22 Aug 2010 19:09:18 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MJ9IUZ012226; Sun, 22 Aug 2010 19:09:18 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201008221909.o7MJ9IUZ012226@svn.freebsd.org> From: Nathan Whitehorn Date: Sun, 22 Aug 2010 19:09:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211636 - in user/nwhitehorn/ps3/powerpc: include ps3 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 19:09:18 -0000 Author: nwhitehorn Date: Sun Aug 22 19:09:18 2010 New Revision: 211636 URL: http://svn.freebsd.org/changeset/base/211636 Log: Get interrupts functioning, along with a few other minor things. The kernel now can transmit and receive network traffic, mounts root, and gets several thousand packets in before hanging. Modified: user/nwhitehorn/ps3/powerpc/include/cpufunc.h user/nwhitehorn/ps3/powerpc/include/spr.h user/nwhitehorn/ps3/powerpc/ps3/if_glc.c user/nwhitehorn/ps3/powerpc/ps3/platform_ps3.c user/nwhitehorn/ps3/powerpc/ps3/ps3bus.c user/nwhitehorn/ps3/powerpc/ps3/ps3pic.c Modified: user/nwhitehorn/ps3/powerpc/include/cpufunc.h ============================================================================== --- user/nwhitehorn/ps3/powerpc/include/cpufunc.h Sun Aug 22 19:06:20 2010 (r211635) +++ user/nwhitehorn/ps3/powerpc/include/cpufunc.h Sun Aug 22 19:09:18 2010 (r211636) @@ -106,6 +106,17 @@ mfsrin(vm_offset_t va) } #endif +static __inline register_t +mfctrl(void) +{ + register_t value; + + __asm __volatile ("mfspr %0,136" : "=r"(value)); + + return (value); +} + + static __inline void mtdec(register_t value) { Modified: user/nwhitehorn/ps3/powerpc/include/spr.h ============================================================================== --- user/nwhitehorn/ps3/powerpc/include/spr.h Sun Aug 22 19:06:20 2010 (r211635) +++ user/nwhitehorn/ps3/powerpc/include/spr.h Sun Aug 22 19:09:18 2010 (r211636) @@ -423,7 +423,7 @@ #define SPR_HID6 0x3f9 /* ..8 Hardware Implementation Register 6 */ #define SPR_CELL_TSRL 0x380 /* ... Cell BE Thread Status Register */ -#define SPR_CELL_TSCR 0x399 /* ... Cell BE Thread Status Register */ +#define SPR_CELL_TSCR 0x399 /* ... Cell BE Thread Switch Register */ #if defined(AIM) #define SPR_DBSR 0x3f0 /* 4.. Debug Status Register */ Modified: user/nwhitehorn/ps3/powerpc/ps3/if_glc.c ============================================================================== --- user/nwhitehorn/ps3/powerpc/ps3/if_glc.c Sun Aug 22 19:06:20 2010 (r211635) +++ user/nwhitehorn/ps3/powerpc/ps3/if_glc.c Sun Aug 22 19:09:18 2010 (r211636) @@ -128,32 +128,15 @@ glc_attach(device_t dev) sc->next_txdma_slot = sc->first_used_txdma_slot = 0; /* - * Open device, and shut down existing tasks. + * Shut down existing tasks. */ - err = lv1_open_device(sc->sc_bus, sc->sc_dev, 0); - if (err) { - device_printf(dev, "Error opening device: %d\n", err); - mtx_destroy(&sc->sc_mtx); - return (ENXIO); - } - lv1_net_stop_tx_dma(sc->sc_bus, sc->sc_dev, 0); lv1_net_stop_rx_dma(sc->sc_bus, sc->sc_dev, 0); sc->sc_ifp = if_alloc(IFT_ETHER); sc->sc_ifp->if_softc = sc; -/* Wait for link */ -for (i = 0; i < 1000; i++) { - lv1_net_control(sc->sc_bus, sc->sc_dev, GELIC_GET_LINK_STATUS, 2, 0, - 0, &val, &junk); - if (val & GELIC_LINK_UP) - break; - DELAY(500); -} - - /* * Get MAC address and VLAN id */ @@ -357,7 +340,6 @@ glc_start_locked(struct ifnet *ifp) mtx_assert(&sc->sc_mtx, MA_OWNED); first = 0; -printf("Transmitting packet!\n"); while (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) { IFQ_DRV_DEQUEUE(&ifp->if_snd, mb_head); @@ -614,7 +596,6 @@ glc_rxintr(struct glc_softc *sc) { int i, restart_rxdma; struct mbuf *m; - uint16_t tag; struct ifnet *ifp = sc->sc_ifp; bus_dmamap_sync(sc->sc_dmadesc_tag, sc->sc_rxdmadesc_map, @@ -640,27 +621,11 @@ glc_rxintr(struct glc_softc *sc) m->m_len = sc->sc_rxdmadesc[i].valid_size; m->m_pkthdr.len = m->m_len; sc->sc_next_rxdma_slot++; + if (sc->sc_next_rxdma_slot >= GLC_MAX_RX_PACKETS) + sc->sc_next_rxdma_slot = 0; - if (sc->sc_rx_vlan >= 0) { - struct ether_vlan_header *evl; - if (m->m_len < sizeof(*evl) && - (m = m_pullup(m, sizeof(*evl))) == NULL) { - if_printf(ifp, "cannot pullup VLAN header\n"); - return; - } - evl = mtod(m, struct ether_vlan_header *); - tag = EVL_VLANOFTAG(ntohs(evl->evl_tag)); - - /* - * Remove the 802.1q header by copying the Ethernet - * addresses over it and adjusting the beginning of - * the data in the mbuf. The encapsulated Ethernet - * type field is already in place. - */ - bcopy((char *)evl, (char *)evl + ETHER_VLAN_ENCAP_LEN, - ETHER_HDR_LEN - ETHER_TYPE_LEN); - m_adj(m, ETHER_VLAN_ENCAP_LEN); - } + if (sc->sc_rx_vlan >= 0) + m_adj(m, 2); mtx_unlock(&sc->sc_mtx); (*ifp->if_input)(ifp, m); @@ -725,12 +690,11 @@ glc_intr(void *xsc) mtx_lock(&sc->sc_mtx); - if (sc->sc_interrupt_status == 0) { + if (*sc->sc_interrupt_status == 0) { device_printf(sc->sc_self, "stray interrupt!\n"); mtx_unlock(&sc->sc_mtx); return; } -printf("GLC Interrupt!\n"); if (*sc->sc_interrupt_status & (GELIC_INT_RXDONE | GELIC_INT_RXFRAME)) glc_rxintr(sc); Modified: user/nwhitehorn/ps3/powerpc/ps3/platform_ps3.c ============================================================================== --- user/nwhitehorn/ps3/powerpc/ps3/platform_ps3.c Sun Aug 22 19:06:20 2010 (r211635) +++ user/nwhitehorn/ps3/powerpc/ps3/platform_ps3.c Sun Aug 22 19:09:18 2010 (r211636) @@ -192,7 +192,7 @@ static int ps3_smp_start_cpu(platform_t plat, struct pcpu *pc) { #ifdef SMP - /* loader(8) is spinning on 0x40 == 1 right now */ + /* loader(8) is spinning on 0x40 == 0 right now */ uint32_t *secondary_spin_sem = (uint32_t *)(0x40); int timeout; Modified: user/nwhitehorn/ps3/powerpc/ps3/ps3bus.c ============================================================================== --- user/nwhitehorn/ps3/powerpc/ps3/ps3bus.c Sun Aug 22 19:06:20 2010 (r211635) +++ user/nwhitehorn/ps3/powerpc/ps3/ps3bus.c Sun Aug 22 19:09:18 2010 (r211636) @@ -62,6 +62,12 @@ struct ps3bus_devinfo { static MALLOC_DEFINE(M_PS3BUS, "ps3bus", "PS3 system bus device information"); +enum ps3bus_irq_type { + SB_IRQ = 2, + OHCI_IRQ = 3, + EHCI_IRQ = 4, +}; + static device_method_t ps3bus_methods[] = { /* Device interface */ DEVMETHOD(device_identify, ps3bus_identify), @@ -75,6 +81,8 @@ static device_method_t ps3bus_methods[] DEVMETHOD(bus_read_ivar, ps3bus_read_ivar), DEVMETHOD(bus_alloc_resource, ps3bus_alloc_resource), DEVMETHOD(bus_activate_resource, ps3bus_activate_resource), + DEVMETHOD(bus_setup_intr, bus_generic_setup_intr), + DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), { 0, 0 } }; @@ -112,13 +120,18 @@ ps3bus_probe(device_t dev) static void ps3bus_resources_init(int bus_index, int dev_index, struct resource_list *rl) { - uint64_t irq_type, irq; + uint64_t irq_type, irq, outlet; uint64_t reg_type, paddr, len; + uint64_t bus, dev, ppe; uint64_t junk; int i, result; + int thread; resource_list_init(rl); + lv1_get_logical_ppe_id(&ppe); + thread = 32 - fls(mfctrl()); + /* Scan for interrupts */ for (i = 0; i < 10; i++) { result = lv1_get_repository_node_value(PS3_LPAR_ID_PME, @@ -129,7 +142,35 @@ ps3bus_resources_init(int bus_index, int if (result != 0) break; - resource_list_add(rl, SYS_RES_IRQ, i, irq, irq, 1); + lv1_get_repository_node_value(PS3_LPAR_ID_PME, + (lv1_repository_string("bus") >> 32) | bus_index, + lv1_repository_string("id"), 0, 0, &bus, &junk); + lv1_get_repository_node_value(PS3_LPAR_ID_PME, + (lv1_repository_string("bus") >> 32) | bus_index, + lv1_repository_string("dev") | dev_index, + lv1_repository_string("id"), 0, &dev, &junk); + + switch (irq_type) { + case SB_IRQ: + lv1_construct_event_receive_port(&outlet); + lv1_connect_irq_plug_ext(ppe, thread, outlet, outlet, + 0); + lv1_connect_interrupt_event_receive_port(bus, dev, + outlet, irq); + break; + case OHCI_IRQ: + case EHCI_IRQ: + lv1_construct_io_irq_outlet(irq, &outlet); + lv1_connect_irq_plug_ext(ppe, thread, outlet, outlet, + 0); + break; + default: + printf("Unknown IRQ type %ld for device %ld.%ld\n", + irq_type, bus, dev); + break; + } + + resource_list_add(rl, SYS_RES_IRQ, i, outlet, outlet, 1); } /* Scan for registers */ @@ -212,6 +253,9 @@ ps3bus_attach(device_t self) dinfo->bustype = bustype; dinfo->devtype = devtype; + if (dinfo->bustype == PS3_BUSTYPE_SYSBUS) + lv1_open_device(bus, dev, 0); + ps3bus_resources_init(bus_index, dev_index, &dinfo->resources); Modified: user/nwhitehorn/ps3/powerpc/ps3/ps3pic.c ============================================================================== --- user/nwhitehorn/ps3/powerpc/ps3/ps3pic.c Sun Aug 22 19:06:20 2010 (r211635) +++ user/nwhitehorn/ps3/powerpc/ps3/ps3pic.c Sun Aug 22 19:09:18 2010 (r211636) @@ -31,7 +31,10 @@ #include #include #include -#include +#include + +#include +#include #include #include @@ -53,6 +56,15 @@ static void ps3pic_mask(device_t, u_int) static void ps3pic_unmask(device_t, u_int); static uint32_t ps3pic_id(device_t dev); +struct ps3pic_softc { + uint64_t *bitmap_thread0; + uint64_t *mask_thread0; + uint64_t *bitmap_thread1; + uint64_t *mask_thread1; + + int sc_vector[64]; +}; + static device_method_t ps3pic_methods[] = { /* Device interface */ DEVMETHOD(device_identify, ps3pic_identify), @@ -74,13 +86,15 @@ static device_method_t ps3pic_methods[] static driver_t ps3pic_driver = { "ps3pic", ps3pic_methods, - 0 + sizeof(struct ps3pic_softc) }; static devclass_t ps3pic_devclass; DRIVER_MODULE(ps3pic, nexus, ps3pic_driver, ps3pic_devclass, 0, 0); +static MALLOC_DEFINE(M_PS3PIC, "ps3pic", "PS3 PIC"); + static void ps3pic_identify(driver_t *driver, device_t parent) { @@ -101,9 +115,31 @@ ps3pic_probe(device_t dev) static int ps3pic_attach(device_t dev) { + struct ps3pic_softc *sc; + uint64_t ppe; + int thread; + powerpc_register_pic(dev, 64); root_pic = dev; /* PS3s have only one PIC */ + sc = device_get_softc(dev); + + sc->bitmap_thread0 = contigmalloc(128 /* 512 bits * 2 */, M_PS3PIC, + M_NOWAIT | M_ZERO, 0, BUS_SPACE_MAXADDR, 64 /* alignment */, + PAGE_SIZE /* boundary */); + sc->mask_thread0 = sc->bitmap_thread0 + 4; + sc->bitmap_thread1 = sc->bitmap_thread0 + 8; + sc->mask_thread1 = sc->bitmap_thread0 + 12; + + lv1_get_logical_ppe_id(&ppe); + thread = 32 - fls(mfctrl()); + lv1_configure_irq_state_bitmap(ppe, thread, + vtophys(sc->bitmap_thread0)); +#ifdef SMP + lv1_configure_irq_state_bitmap(ppe, !thread, + vtophys(sc->bitmap_thread1)); +#endif + return (0); } @@ -114,16 +150,50 @@ ps3pic_attach(device_t dev) static void ps3pic_dispatch(device_t dev, struct trapframe *tf) { + uint64_t bitmap, mask; + int irq; + struct ps3pic_softc *sc; + + sc = device_get_softc(dev); + + if (PCPU_GET(cpuid) == 0) { + bitmap = sc->bitmap_thread0[0]; + mask = sc->mask_thread0[0]; + } else { + bitmap = sc->bitmap_thread1[0]; + mask = sc->mask_thread1[0]; + } + + while ((irq = ffsl(bitmap & mask) - 1) != -1) { + bitmap &= ~(1UL << irq); + powerpc_dispatch_intr(sc->sc_vector[63 - irq], tf); + } } static void ps3pic_enable(device_t dev, u_int irq, u_int vector) { + struct ps3pic_softc *sc; + + if (irq > 63) /* IPI */ + return; + + sc = device_get_softc(dev); + sc->sc_vector[irq] = vector; + + ps3pic_unmask(dev, irq); } static void -ps3pic_eoi(device_t dev __unused, u_int irq __unused) +ps3pic_eoi(device_t dev, u_int irq) { + uint64_t ppe; + int thread; + + lv1_get_logical_ppe_id(&ppe); + thread = 32 - fls(mfctrl()); + + lv1_end_of_interrupt_ext(ppe, thread, irq); } static void @@ -134,11 +204,31 @@ ps3pic_ipi(device_t dev, u_int irq) static void ps3pic_mask(device_t dev, u_int irq) { + struct ps3pic_softc *sc; + uint64_t ppe; + + sc = device_get_softc(dev); + sc->mask_thread0[0] &= ~(1UL << (63 - irq)); + sc->mask_thread1[0] &= ~(1UL << (63 - irq)); + + lv1_get_logical_ppe_id(&ppe); + lv1_did_update_interrupt_mask(ppe, 0); + lv1_did_update_interrupt_mask(ppe, 1); } static void ps3pic_unmask(device_t dev, u_int irq) { + struct ps3pic_softc *sc; + uint64_t ppe; + + sc = device_get_softc(dev); + sc->mask_thread0[0] |= (1UL << (63 - irq)); + sc->mask_thread1[0] |= (1UL << (63 - irq)); + + lv1_get_logical_ppe_id(&ppe); + lv1_did_update_interrupt_mask(ppe, 0); + lv1_did_update_interrupt_mask(ppe, 1); } static uint32_t From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 21:42:32 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5AABC106566B; Sun, 22 Aug 2010 21:42:32 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 44EDA8FC0A; Sun, 22 Aug 2010 21:42:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MLgW3D017102; Sun, 22 Aug 2010 21:42:32 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MLgVkO017079; Sun, 22 Aug 2010 21:42:31 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008222142.o7MLgVkO017079@svn.freebsd.org> From: Warner Losh Date: Sun, 22 Aug 2010 21:42:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211651 - in user/imp/tbemd: . bin/getfacl bin/kill bin/ln bin/pkill bin/ps bin/setfacl bin/sh bin/sleep cddl/compat/opensolaris/include cddl/compat/opensolaris/misc cddl/contrib/dtrace... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 21:42:32 -0000 Author: imp Date: Sun Aug 22 21:42:30 2010 New Revision: 211651 URL: http://svn.freebsd.org/changeset/base/211651 Log: Merge to head @211636 -- with hand tweaks hoping for the best Added: user/imp/tbemd/cddl/contrib/dtracetoolkit/ - copied from r211636, head/cddl/contrib/dtracetoolkit/ user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_SCALAR.stddevtoofew.d - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_AGG_SCALAR.stddevtoofew.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.stddevnoarg.d - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.stddevnoarg.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.stddevtoomany.d - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/err.D_PROTO_LEN.stddevtoomany.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearstddev.d - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearstddev.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearstddev.d.out - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.clearstddev.d.out user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/ - copied from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/cpc/ user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/ - copied from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/ user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/src/TestGetAggregate.java - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/src/TestGetAggregate.java user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.GetAggregate.ksh - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.GetAggregate.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh.out - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh.out user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PDESC_ZERO.badlib.exe - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PDESC_ZERO.badlib.exe user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_CREATEFAIL.many.exe - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_CREATEFAIL.many.exe user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_FUNC.badfunc.exe - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_FUNC.badfunc.exe user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_LIB.libdash.exe - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_LIB.libdash.exe user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.alldash.exe - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.alldash.exe user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.badname.exe - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.badname.exe user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.globdash.exe - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.globdash.exe user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_OFF.toobig.exe - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_OFF.toobig.exe user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.coverage.exe - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.coverage.exe user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.emptystack.exe - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.emptystack.exe user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.killonerror.ksh - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.killonerror.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/plockstat/tst.available.exe - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/plockstat/tst.available.exe user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/plockstat/tst.libmap.exe - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/plockstat/tst.libmap.exe user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.largeusersym.ksh - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.largeusersym.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/sdt/ - copied from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/sdt/ user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithStddev.d - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/err.D_AGG_SPEC.SpeculateWithStddev.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/Makefile - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/Makefile user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/main.c - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/main.c user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/prov.d - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/prov.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/prov.h - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/prov.h user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.corruptenv.ksh - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.corruptenv.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh.out - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled2.ksh.out user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/i86xpv/ - copied from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/i86xpv/ user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/sparc/pid/err.D_PROC_ALIGN.misaligned.exe - copied unchanged from r211636, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/sparc/pid/err.D_PROC_ALIGN.misaligned.exe user/imp/tbemd/cddl/contrib/opensolaris/cmd/plockstat/ - copied from r211636, head/cddl/contrib/opensolaris/cmd/plockstat/ user/imp/tbemd/cddl/contrib/opensolaris/cmd/pyzfs/ - copied from r211636, head/cddl/contrib/opensolaris/cmd/pyzfs/ user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/mkerrno.sh - copied unchanged from r211636, head/cddl/contrib/opensolaris/lib/libdtrace/common/mkerrno.sh user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/mksignal.sh - copied unchanged from r211636, head/cddl/contrib/opensolaris/lib/libdtrace/common/mksignal.sh user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/i386/ - copied from r211636, head/cddl/contrib/opensolaris/lib/libdtrace/i386/ user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/sparc/ - copied from r211636, head/cddl/contrib/opensolaris/lib/libdtrace/sparc/ user/imp/tbemd/cddl/contrib/opensolaris/lib/pyzfs/ - copied from r211636, head/cddl/contrib/opensolaris/lib/pyzfs/ user/imp/tbemd/cddl/lib/libdtrace/libproc_compat.h - copied unchanged from r211636, head/cddl/lib/libdtrace/libproc_compat.h user/imp/tbemd/cddl/lib/libdtrace/regs_x86.d - copied unchanged from r211636, head/cddl/lib/libdtrace/regs_x86.d user/imp/tbemd/cddl/usr.bin/ctfconvert/ctfconvert.1 - copied unchanged from r211636, head/cddl/usr.bin/ctfconvert/ctfconvert.1 user/imp/tbemd/cddl/usr.bin/ctfdump/ctfdump.1 - copied unchanged from r211636, head/cddl/usr.bin/ctfdump/ctfdump.1 user/imp/tbemd/cddl/usr.bin/ctfmerge/ctfmerge.1 - copied unchanged from r211636, head/cddl/usr.bin/ctfmerge/ctfmerge.1 user/imp/tbemd/cddl/usr.sbin/dtruss/ - copied from r211636, head/cddl/usr.sbin/dtruss/ user/imp/tbemd/cddl/usr.sbin/plockstat/ - copied from r211636, head/cddl/usr.sbin/plockstat/ user/imp/tbemd/contrib/llvm/include/llvm/ADT/DAGDeltaAlgorithm.h - copied unchanged from r211636, head/contrib/llvm/include/llvm/ADT/DAGDeltaAlgorithm.h user/imp/tbemd/contrib/llvm/include/llvm/Analysis/CodeMetrics.h - copied unchanged from r211636, head/contrib/llvm/include/llvm/Analysis/CodeMetrics.h user/imp/tbemd/contrib/llvm/include/llvm/Analysis/Loads.h - copied unchanged from r211636, head/contrib/llvm/include/llvm/Analysis/Loads.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/FunctionLoweringInfo.h - copied unchanged from r211636, head/contrib/llvm/include/llvm/CodeGen/FunctionLoweringInfo.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/PostRAHazardRecognizer.h - copied unchanged from r211636, head/contrib/llvm/include/llvm/CodeGen/PostRAHazardRecognizer.h user/imp/tbemd/contrib/llvm/include/llvm/MC/MCObjectStreamer.h - copied unchanged from r211636, head/contrib/llvm/include/llvm/MC/MCObjectStreamer.h user/imp/tbemd/contrib/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h - copied unchanged from r211636, head/contrib/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h user/imp/tbemd/contrib/llvm/include/llvm/Support/COFF.h - copied unchanged from r211636, head/contrib/llvm/include/llvm/Support/COFF.h user/imp/tbemd/contrib/llvm/include/llvm/Target/TargetCallingConv.h - copied unchanged from r211636, head/contrib/llvm/include/llvm/Target/TargetCallingConv.h user/imp/tbemd/contrib/llvm/lib/Analysis/Loads.cpp - copied unchanged from r211636, head/contrib/llvm/lib/Analysis/Loads.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/CallingConvLower.cpp - copied unchanged from r211636, head/contrib/llvm/lib/CodeGen/CallingConvLower.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/InlineSpiller.cpp - copied unchanged from r211636, head/contrib/llvm/lib/CodeGen/InlineSpiller.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/PostRAHazardRecognizer.cpp - copied unchanged from r211636, head/contrib/llvm/lib/CodeGen/PostRAHazardRecognizer.cpp user/imp/tbemd/contrib/llvm/lib/MC/MCObjectStreamer.cpp - copied unchanged from r211636, head/contrib/llvm/lib/MC/MCObjectStreamer.cpp user/imp/tbemd/contrib/llvm/lib/MC/MCParser/DarwinAsmParser.cpp - copied unchanged from r211636, head/contrib/llvm/lib/MC/MCParser/DarwinAsmParser.cpp user/imp/tbemd/contrib/llvm/lib/MC/MCParser/ELFAsmParser.cpp - copied unchanged from r211636, head/contrib/llvm/lib/MC/MCParser/ELFAsmParser.cpp user/imp/tbemd/contrib/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp - copied unchanged from r211636, head/contrib/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp user/imp/tbemd/contrib/llvm/lib/MC/WinCOFFObjectWriter.cpp - copied unchanged from r211636, head/contrib/llvm/lib/MC/WinCOFFObjectWriter.cpp user/imp/tbemd/contrib/llvm/lib/MC/WinCOFFStreamer.cpp - copied unchanged from r211636, head/contrib/llvm/lib/MC/WinCOFFStreamer.cpp user/imp/tbemd/contrib/llvm/lib/Support/DAGDeltaAlgorithm.cpp - copied unchanged from r211636, head/contrib/llvm/lib/Support/DAGDeltaAlgorithm.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/Thumb2HazardRecognizer.cpp - copied unchanged from r211636, head/contrib/llvm/lib/Target/ARM/Thumb2HazardRecognizer.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/Thumb2HazardRecognizer.h - copied unchanged from r211636, head/contrib/llvm/lib/Target/ARM/Thumb2HazardRecognizer.h user/imp/tbemd/contrib/llvm/lib/Transforms/Hello/Hello.exports - copied unchanged from r211636, head/contrib/llvm/lib/Transforms/Hello/Hello.exports user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/Attr.td - copied unchanged from r211636, head/contrib/llvm/tools/clang/include/clang/Basic/Attr.td user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/AttrKinds.h - copied unchanged from r211636, head/contrib/llvm/tools/clang/include/clang/Basic/AttrKinds.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/DeclNodes.td - copied unchanged from r211636, head/contrib/llvm/tools/clang/include/clang/Basic/DeclNodes.td user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td - copied unchanged from r211636, head/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/Version.inc.in - copied unchanged from r211636, head/contrib/llvm/tools/clang/include/clang/Basic/Version.inc.in user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td - copied unchanged from r211636, head/contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Checker/AnalysisConsumer.h - copied unchanged from r211636, head/contrib/llvm/tools/clang/include/clang/Checker/AnalysisConsumer.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Checker/FrontendActions.h - copied unchanged from r211636, head/contrib/llvm/tools/clang/include/clang/Checker/FrontendActions.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Checker/PathDiagnosticClients.h - copied unchanged from r211636, head/contrib/llvm/tools/clang/include/clang/Checker/PathDiagnosticClients.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/CodeGen/BackendUtil.h - copied unchanged from r211636, head/contrib/llvm/tools/clang/include/clang/CodeGen/BackendUtil.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenAction.h - copied unchanged from r211636, head/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenAction.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/AnalyzerOptions.h - copied unchanged from r211636, head/contrib/llvm/tools/clang/include/clang/Frontend/AnalyzerOptions.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h - copied unchanged from r211636, head/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/PCHDeserializationListener.h - copied unchanged from r211636, head/contrib/llvm/tools/clang/include/clang/Frontend/PCHDeserializationListener.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Rewrite/ASTConsumers.h - copied unchanged from r211636, head/contrib/llvm/tools/clang/include/clang/Rewrite/ASTConsumers.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Rewrite/FixItRewriter.h - copied unchanged from r211636, head/contrib/llvm/tools/clang/include/clang/Rewrite/FixItRewriter.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Rewrite/FrontendActions.h - copied unchanged from r211636, head/contrib/llvm/tools/clang/include/clang/Rewrite/FrontendActions.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Rewrite/Rewriters.h - copied unchanged from r211636, head/contrib/llvm/tools/clang/include/clang/Rewrite/Rewriters.h user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/AnalysisConsumer.cpp - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/Checker/AnalysisConsumer.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/CStringChecker.cpp - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/Checker/CStringChecker.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/FrontendActions.cpp - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/Checker/FrontendActions.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/HTMLDiagnostics.cpp - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/Checker/HTMLDiagnostics.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/IdempotentOperationChecker.cpp - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/Checker/IdempotentOperationChecker.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/PlistDiagnostics.cpp - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/Checker/PlistDiagnostics.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/StackAddrLeakChecker.cpp - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/Checker/StackAddrLeakChecker.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/StreamChecker.cpp - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/Checker/StreamChecker.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGException.h - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/CodeGen/CGException.h user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Headers/arm_neon.td - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/Headers/arm_neon.td user/imp/tbemd/contrib/llvm/tools/clang/lib/Rewrite/FixItRewriter.cpp - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/Rewrite/FixItRewriter.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Rewrite/FrontendActions.cpp - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/Rewrite/FrontendActions.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Rewrite/HTMLPrint.cpp - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/Rewrite/HTMLPrint.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Rewrite/RewriteMacros.cpp - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/Rewrite/RewriteMacros.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Rewrite/RewriteObjC.cpp - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/Rewrite/RewriteObjC.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Rewrite/RewriteTest.cpp - copied unchanged from r211636, head/contrib/llvm/tools/clang/lib/Rewrite/RewriteTest.cpp user/imp/tbemd/contrib/llvm/tools/clang/runtime/ - copied from r211636, head/contrib/llvm/tools/clang/runtime/ user/imp/tbemd/contrib/llvm/tools/clang/utils/FuzzTest - copied unchanged from r211636, head/contrib/llvm/tools/clang/utils/FuzzTest user/imp/tbemd/contrib/llvm/utils/TableGen/ClangAttrEmitter.cpp - copied unchanged from r211636, head/contrib/llvm/utils/TableGen/ClangAttrEmitter.cpp user/imp/tbemd/contrib/llvm/utils/TableGen/ClangAttrEmitter.h - copied unchanged from r211636, head/contrib/llvm/utils/TableGen/ClangAttrEmitter.h user/imp/tbemd/contrib/llvm/utils/TableGen/NeonEmitter.cpp - copied unchanged from r211636, head/contrib/llvm/utils/TableGen/NeonEmitter.cpp user/imp/tbemd/contrib/llvm/utils/TableGen/NeonEmitter.h - copied unchanged from r211636, head/contrib/llvm/utils/TableGen/NeonEmitter.h user/imp/tbemd/contrib/llvm/utils/unittest/googletest/include/gtest/internal/gtest-tuple.h - copied unchanged from r211636, head/contrib/llvm/utils/unittest/googletest/include/gtest/internal/gtest-tuple.h user/imp/tbemd/contrib/wpa/hostapd/Makefile - copied unchanged from r211636, head/contrib/wpa/hostapd/Makefile user/imp/tbemd/contrib/wpa/hostapd/driver_bsd.c - copied unchanged from r211636, head/contrib/wpa/hostapd/driver_bsd.c user/imp/tbemd/contrib/wpa/hostapd/driver_hostap.c - copied unchanged from r211636, head/contrib/wpa/hostapd/driver_hostap.c user/imp/tbemd/contrib/wpa/hostapd/driver_wired.c - copied unchanged from r211636, head/contrib/wpa/hostapd/driver_wired.c user/imp/tbemd/contrib/wpa/hostapd/radiotap.c - copied unchanged from r211636, head/contrib/wpa/hostapd/radiotap.c user/imp/tbemd/contrib/wpa/hostapd/radiotap.h - copied unchanged from r211636, head/contrib/wpa/hostapd/radiotap.h user/imp/tbemd/contrib/wpa/hostapd/radiotap_iter.h - copied unchanged from r211636, head/contrib/wpa/hostapd/radiotap_iter.h user/imp/tbemd/contrib/wpa/src/common/nl80211_copy.h - copied unchanged from r211636, head/contrib/wpa/src/common/nl80211_copy.h user/imp/tbemd/contrib/wpa/src/common/wireless_copy.h - copied unchanged from r211636, head/contrib/wpa/src/common/wireless_copy.h user/imp/tbemd/contrib/wpa/src/drivers/Makefile - copied unchanged from r211636, head/contrib/wpa/src/drivers/Makefile user/imp/tbemd/contrib/wpa/src/drivers/driver_ndis_.c - copied unchanged from r211636, head/contrib/wpa/src/drivers/driver_ndis_.c user/imp/tbemd/contrib/wpa/src/drivers/driver_ndiswrapper.c - copied unchanged from r211636, head/contrib/wpa/src/drivers/driver_ndiswrapper.c user/imp/tbemd/contrib/wpa/src/drivers/driver_wired.c - copied unchanged from r211636, head/contrib/wpa/src/drivers/driver_wired.c user/imp/tbemd/contrib/wpa/src/drivers/ndis_events.c - copied unchanged from r211636, head/contrib/wpa/src/drivers/ndis_events.c user/imp/tbemd/contrib/wpa/src/drivers/radiotap.c - copied unchanged from r211636, head/contrib/wpa/src/drivers/radiotap.c user/imp/tbemd/contrib/wpa/src/drivers/radiotap.h - copied unchanged from r211636, head/contrib/wpa/src/drivers/radiotap.h user/imp/tbemd/contrib/wpa/src/drivers/radiotap_iter.h - copied unchanged from r211636, head/contrib/wpa/src/drivers/radiotap_iter.h user/imp/tbemd/contrib/wpa/src/l2_packet/Makefile - copied unchanged from r211636, head/contrib/wpa/src/l2_packet/Makefile user/imp/tbemd/contrib/wpa/src/l2_packet/l2_packet_freebsd.c - copied unchanged from r211636, head/contrib/wpa/src/l2_packet/l2_packet_freebsd.c user/imp/tbemd/contrib/wpa/src/l2_packet/l2_packet_ndis.c - copied unchanged from r211636, head/contrib/wpa/src/l2_packet/l2_packet_ndis.c user/imp/tbemd/contrib/wpa/src/l2_packet/l2_packet_none.c - copied unchanged from r211636, head/contrib/wpa/src/l2_packet/l2_packet_none.c user/imp/tbemd/contrib/wpa/src/utils/eloop_none.c - copied unchanged from r211636, head/contrib/wpa/src/utils/eloop_none.c user/imp/tbemd/contrib/wpa/src/utils/eloop_win.c - copied unchanged from r211636, head/contrib/wpa/src/utils/eloop_win.c user/imp/tbemd/contrib/wpa/src/utils/os_none.c - copied unchanged from r211636, head/contrib/wpa/src/utils/os_none.c user/imp/tbemd/contrib/wpa/src/utils/os_win32.c - copied unchanged from r211636, head/contrib/wpa/src/utils/os_win32.c user/imp/tbemd/contrib/wpa/wpa_supplicant/Makefile - copied unchanged from r211636, head/contrib/wpa/wpa_supplicant/Makefile user/imp/tbemd/contrib/wpa/wpa_supplicant/ctrl_iface_named_pipe.c - copied unchanged from r211636, head/contrib/wpa/wpa_supplicant/ctrl_iface_named_pipe.c user/imp/tbemd/contrib/wpa/wpa_supplicant/main_none.c - copied unchanged from r211636, head/contrib/wpa/wpa_supplicant/main_none.c user/imp/tbemd/contrib/wpa/wpa_supplicant/nmake.mak - copied unchanged from r211636, head/contrib/wpa/wpa_supplicant/nmake.mak Replaced: user/imp/tbemd/contrib/llvm/lib/ExecutionEngine/JIT/JITDebugRegisterer.cpp - copied unchanged from r211636, head/contrib/llvm/lib/ExecutionEngine/JIT/JITDebugRegisterer.cpp user/imp/tbemd/contrib/llvm/lib/ExecutionEngine/JIT/JITDebugRegisterer.h - copied unchanged from r211636, head/contrib/llvm/lib/ExecutionEngine/JIT/JITDebugRegisterer.h Deleted: user/imp/tbemd/contrib/llvm/lib/CodeGen/ExactHazardRecognizer.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/ExactHazardRecognizer.h user/imp/tbemd/contrib/llvm/lib/CodeGen/RegAllocLocal.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/CallingConvLower.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.h user/imp/tbemd/contrib/llvm/lib/CodeGen/SimpleHazardRecognizer.h user/imp/tbemd/contrib/llvm/lib/Target/X86/X86COFF.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/StmtNodes.td user/imp/tbemd/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenOptions.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/AnalysisConsumer.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenAction.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/FixItRewriter.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/PathDiagnosticClients.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/ReturnStackAddressChecker.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/AnalysisConsumer.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/CodeGenAction.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/FixItRewriter.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/HTMLDiagnostics.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/HTMLPrint.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/PlistDiagnostics.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/RewriteMacros.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/RewriteObjC.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/RewriteTest.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Runtime/Makefile user/imp/tbemd/contrib/wpa/hostapd/.gitignore user/imp/tbemd/contrib/wpa/hostapd/doc/.gitignore user/imp/tbemd/contrib/wpa/src/common/.gitignore user/imp/tbemd/contrib/wpa/src/crypto/.gitignore user/imp/tbemd/contrib/wpa/src/eap_common/.gitignore user/imp/tbemd/contrib/wpa/src/eap_peer/.gitignore user/imp/tbemd/contrib/wpa/src/eap_server/.gitignore user/imp/tbemd/contrib/wpa/src/eapol_supp/.gitignore user/imp/tbemd/contrib/wpa/src/hlr_auc_gw/.gitignore user/imp/tbemd/contrib/wpa/src/radius/.gitignore user/imp/tbemd/contrib/wpa/src/rsn_supp/.gitignore user/imp/tbemd/contrib/wpa/src/tls/.gitignore user/imp/tbemd/contrib/wpa/src/utils/.gitignore user/imp/tbemd/contrib/wpa/src/wps/.gitignore user/imp/tbemd/contrib/wpa/wpa_supplicant/.gitignore user/imp/tbemd/contrib/wpa/wpa_supplicant/doc/.gitignore user/imp/tbemd/contrib/wpa/wpa_supplicant/doc/docbook/.gitignore Modified: user/imp/tbemd/Makefile user/imp/tbemd/Makefile.inc1 user/imp/tbemd/ObsoleteFiles.inc user/imp/tbemd/UPDATING user/imp/tbemd/bin/getfacl/getfacl.1 user/imp/tbemd/bin/kill/kill.c user/imp/tbemd/bin/ln/ln.1 user/imp/tbemd/bin/pkill/pkill.1 user/imp/tbemd/bin/pkill/pkill.c user/imp/tbemd/bin/ps/keyword.c user/imp/tbemd/bin/ps/ps.1 user/imp/tbemd/bin/setfacl/setfacl.1 user/imp/tbemd/bin/sh/error.c user/imp/tbemd/bin/sh/eval.c user/imp/tbemd/bin/sh/expand.c user/imp/tbemd/bin/sh/histedit.c user/imp/tbemd/bin/sh/jobs.c user/imp/tbemd/bin/sh/jobs.h user/imp/tbemd/bin/sh/main.c user/imp/tbemd/bin/sh/mksyntax.c user/imp/tbemd/bin/sh/parser.c user/imp/tbemd/bin/sh/sh.1 user/imp/tbemd/bin/sleep/sleep.1 user/imp/tbemd/bin/sleep/sleep.c user/imp/tbemd/cddl/compat/opensolaris/include/mnttab.h user/imp/tbemd/cddl/compat/opensolaris/misc/fsshare.c user/imp/tbemd/cddl/compat/opensolaris/misc/mnttab.c user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/baddof/baddof.c user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/chkargs/chkargs.c user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dstyle.pl (contents, props changed) user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl (contents, props changed) user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs1.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs2.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs2.d.out user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs3.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.multiaggs3.d.out user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.stddev.d.out user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/aggs/tst.subr.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/assocs/tst.orthogonality.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.AddSearchPath.d.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithModule.d.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ELFGenerationOut.d.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ELFGenerationWithO.d.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.PreprocessorStatement.d.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoofew.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoomany.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtatoofew.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtatoomany.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.index.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/src/TestFunctionLookup.java user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/java_api/tst.FunctionLookup.ksh.out user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.include.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.schrock.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.fork.c user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.gcc.c user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.probemod.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex1.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex2.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex3.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex4.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.basics.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.basics.d.out user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printa/tst.walltimestamp.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printT.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.printY.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.str.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.str.d.out user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.sym.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/printf/tst.sym.d.out user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.exec.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ENOENT.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.execfail.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/proc/tst.sigwait.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.D_MACRO_UNUSED.overflow.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.arguments.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.egid.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.euid.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.gid.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.ppid.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.projid.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.sid.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.stringmacro.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.taskid.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/scripting/tst.uid.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/sysevent/tst.post_chan.c user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.badguess.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose1.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose2.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose3.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.eliminate.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.enabled.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.entryreturn.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.fork.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.guess32.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.guess64.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.header.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.include.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.linkpriv.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.linkunpriv.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.multiple.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.nodtrace.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.onlyenabled.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.reeval.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.static.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.static2.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.user.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/vars/tst.ucaller.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/i386/funcs/tst.badcopyin.d user/imp/tbemd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/sparc/usdt/tst.tailcall.ksh user/imp/tbemd/cddl/contrib/opensolaris/cmd/zdb/zdb.8 user/imp/tbemd/cddl/contrib/opensolaris/cmd/zdb/zdb.c user/imp/tbemd/cddl/contrib/opensolaris/cmd/zdb/zdb_il.c user/imp/tbemd/cddl/contrib/opensolaris/cmd/zfs/zfs.8 user/imp/tbemd/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c user/imp/tbemd/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c user/imp/tbemd/cddl/contrib/opensolaris/cmd/ztest/ztest.c user/imp/tbemd/cddl/contrib/opensolaris/common/avl/avl.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/dt_cc.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/dt_dof.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/dt_error.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/dt_module.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pid.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.h user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/dt_program.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/dt_string.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h user/imp/tbemd/cddl/contrib/opensolaris/lib/libgen/common/gmatch.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h user/imp/tbemd/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_changelist.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_graph.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h user/imp/tbemd/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c user/imp/tbemd/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h user/imp/tbemd/cddl/contrib/opensolaris/lib/libzpool/common/taskq.c user/imp/tbemd/cddl/contrib/opensolaris/tools/ctf/cvt/ctf.c user/imp/tbemd/cddl/contrib/opensolaris/tools/ctf/cvt/ctfmerge.c user/imp/tbemd/cddl/contrib/opensolaris/tools/ctf/cvt/ctfmerge.h user/imp/tbemd/cddl/contrib/opensolaris/tools/ctf/cvt/output.c user/imp/tbemd/cddl/contrib/opensolaris/tools/ctf/cvt/st_parse.c user/imp/tbemd/cddl/contrib/opensolaris/tools/ctf/cvt/tdata.c user/imp/tbemd/cddl/lib/Makefile user/imp/tbemd/cddl/lib/drti/Makefile user/imp/tbemd/cddl/lib/libdtrace/Makefile user/imp/tbemd/cddl/usr.bin/ctfconvert/Makefile user/imp/tbemd/cddl/usr.bin/ctfdump/Makefile user/imp/tbemd/cddl/usr.bin/ctfmerge/Makefile user/imp/tbemd/cddl/usr.sbin/Makefile user/imp/tbemd/cddl/usr.sbin/dtrace/Makefile user/imp/tbemd/cddl/usr.sbin/lockstat/Makefile user/imp/tbemd/contrib/binutils/bfd/elf64-ppc.c user/imp/tbemd/contrib/binutils/binutils/doc/readelf.1 user/imp/tbemd/contrib/binutils/ld/emultempl/elf32.em user/imp/tbemd/contrib/binutils/ld/lexsup.c user/imp/tbemd/contrib/bsnmp/snmp_mibII/mibII.c user/imp/tbemd/contrib/bsnmp/snmpd/bsnmpd.1 user/imp/tbemd/contrib/bsnmp/snmpd/snmpmod.3 user/imp/tbemd/contrib/file/apprentice.c user/imp/tbemd/contrib/file/magic.c user/imp/tbemd/contrib/gcc/config/rs6000/freebsd.h user/imp/tbemd/contrib/gcc/longlong.h user/imp/tbemd/contrib/gdb/gdb/ppcfbsd-tdep.c user/imp/tbemd/contrib/gdb/gdb/solib-svr4.c user/imp/tbemd/contrib/llvm/CMakeLists.txt user/imp/tbemd/contrib/llvm/Makefile user/imp/tbemd/contrib/llvm/Makefile.config.in user/imp/tbemd/contrib/llvm/Makefile.rules user/imp/tbemd/contrib/llvm/autoconf/configure.ac user/imp/tbemd/contrib/llvm/autoconf/m4/link_options.m4 user/imp/tbemd/contrib/llvm/bindings/ada/llvm/llvm.ads user/imp/tbemd/contrib/llvm/configure user/imp/tbemd/contrib/llvm/include/llvm-c/Core.h user/imp/tbemd/contrib/llvm/include/llvm-c/Target.h user/imp/tbemd/contrib/llvm/include/llvm-c/lto.h user/imp/tbemd/contrib/llvm/include/llvm/ADT/APFloat.h user/imp/tbemd/contrib/llvm/include/llvm/ADT/APInt.h user/imp/tbemd/contrib/llvm/include/llvm/ADT/DenseMap.h user/imp/tbemd/contrib/llvm/include/llvm/ADT/EquivalenceClasses.h user/imp/tbemd/contrib/llvm/include/llvm/ADT/FoldingSet.h user/imp/tbemd/contrib/llvm/include/llvm/ADT/ImmutableIntervalMap.h user/imp/tbemd/contrib/llvm/include/llvm/ADT/PostOrderIterator.h user/imp/tbemd/contrib/llvm/include/llvm/ADT/SetVector.h user/imp/tbemd/contrib/llvm/include/llvm/ADT/SmallPtrSet.h user/imp/tbemd/contrib/llvm/include/llvm/ADT/SmallVector.h user/imp/tbemd/contrib/llvm/include/llvm/ADT/Statistic.h user/imp/tbemd/contrib/llvm/include/llvm/ADT/Triple.h user/imp/tbemd/contrib/llvm/include/llvm/ADT/ValueMap.h user/imp/tbemd/contrib/llvm/include/llvm/ADT/ilist.h user/imp/tbemd/contrib/llvm/include/llvm/AbstractTypeUser.h user/imp/tbemd/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h user/imp/tbemd/contrib/llvm/include/llvm/Analysis/CFGPrinter.h user/imp/tbemd/contrib/llvm/include/llvm/Analysis/CaptureTracking.h user/imp/tbemd/contrib/llvm/include/llvm/Analysis/DebugInfo.h user/imp/tbemd/contrib/llvm/include/llvm/Analysis/DominatorInternals.h user/imp/tbemd/contrib/llvm/include/llvm/Analysis/Dominators.h user/imp/tbemd/contrib/llvm/include/llvm/Analysis/InlineCost.h user/imp/tbemd/contrib/llvm/include/llvm/Analysis/IntervalIterator.h user/imp/tbemd/contrib/llvm/include/llvm/Analysis/LoopInfo.h user/imp/tbemd/contrib/llvm/include/llvm/Analysis/MemoryBuiltins.h user/imp/tbemd/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h user/imp/tbemd/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h user/imp/tbemd/contrib/llvm/include/llvm/Analysis/ValueTracking.h user/imp/tbemd/contrib/llvm/include/llvm/Bitcode/ReaderWriter.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/CallingConvLower.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/FastISel.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/GCMetadata.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/GCMetadataPrinter.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/LiveInterval.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/MachineFunctionPass.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/MachineInstr.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/MachineJumpTableInfo.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/MachineLoopInfo.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/MachineModuleInfo.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/MachineOperand.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/MachineRegisterInfo.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/Passes.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/ProcessImplicitDefs.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/RegisterCoalescer.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/RegisterScavenging.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/RuntimeLibcalls.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/SelectionDAGISel.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h user/imp/tbemd/contrib/llvm/include/llvm/CodeGen/SlotIndexes.h user/imp/tbemd/contrib/llvm/include/llvm/Config/config.h.in user/imp/tbemd/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h user/imp/tbemd/contrib/llvm/include/llvm/GlobalValue.h user/imp/tbemd/contrib/llvm/include/llvm/InlineAsm.h user/imp/tbemd/contrib/llvm/include/llvm/InstrTypes.h user/imp/tbemd/contrib/llvm/include/llvm/Instructions.h user/imp/tbemd/contrib/llvm/include/llvm/IntrinsicInst.h user/imp/tbemd/contrib/llvm/include/llvm/Intrinsics.td user/imp/tbemd/contrib/llvm/include/llvm/LinkAllPasses.h user/imp/tbemd/contrib/llvm/include/llvm/MC/MCAssembler.h user/imp/tbemd/contrib/llvm/include/llvm/MC/MCContext.h user/imp/tbemd/contrib/llvm/include/llvm/MC/MCDirectives.h user/imp/tbemd/contrib/llvm/include/llvm/MC/MCObjectWriter.h user/imp/tbemd/contrib/llvm/include/llvm/MC/MCParser/AsmLexer.h user/imp/tbemd/contrib/llvm/include/llvm/MC/MCParser/AsmParser.h user/imp/tbemd/contrib/llvm/include/llvm/MC/MCParser/MCAsmLexer.h user/imp/tbemd/contrib/llvm/include/llvm/MC/MCParser/MCAsmParser.h user/imp/tbemd/contrib/llvm/include/llvm/MC/MCSection.h user/imp/tbemd/contrib/llvm/include/llvm/MC/MCSectionCOFF.h user/imp/tbemd/contrib/llvm/include/llvm/MC/MCStreamer.h user/imp/tbemd/contrib/llvm/include/llvm/MC/SectionKind.h user/imp/tbemd/contrib/llvm/include/llvm/Module.h user/imp/tbemd/contrib/llvm/include/llvm/Pass.h user/imp/tbemd/contrib/llvm/include/llvm/PassAnalysisSupport.h user/imp/tbemd/contrib/llvm/include/llvm/PassManagers.h user/imp/tbemd/contrib/llvm/include/llvm/PassSupport.h user/imp/tbemd/contrib/llvm/include/llvm/Support/CFG.h user/imp/tbemd/contrib/llvm/include/llvm/Support/CallSite.h user/imp/tbemd/contrib/llvm/include/llvm/Support/Dwarf.h user/imp/tbemd/contrib/llvm/include/llvm/Support/ELF.h user/imp/tbemd/contrib/llvm/include/llvm/Support/IRBuilder.h user/imp/tbemd/contrib/llvm/include/llvm/Support/IRReader.h user/imp/tbemd/contrib/llvm/include/llvm/Support/MemoryBuffer.h user/imp/tbemd/contrib/llvm/include/llvm/Support/Regex.h user/imp/tbemd/contrib/llvm/include/llvm/Support/StringPool.h user/imp/tbemd/contrib/llvm/include/llvm/Support/Timer.h user/imp/tbemd/contrib/llvm/include/llvm/Support/raw_ostream.h user/imp/tbemd/contrib/llvm/include/llvm/SymbolTableListTraits.h user/imp/tbemd/contrib/llvm/include/llvm/System/DataTypes.h.cmake user/imp/tbemd/contrib/llvm/include/llvm/System/Path.h user/imp/tbemd/contrib/llvm/include/llvm/Target/Target.td user/imp/tbemd/contrib/llvm/include/llvm/Target/TargetAsmParser.h user/imp/tbemd/contrib/llvm/include/llvm/Target/TargetInstrDesc.h user/imp/tbemd/contrib/llvm/include/llvm/Target/TargetInstrInfo.h user/imp/tbemd/contrib/llvm/include/llvm/Target/TargetInstrItineraries.h user/imp/tbemd/contrib/llvm/include/llvm/Target/TargetLowering.h user/imp/tbemd/contrib/llvm/include/llvm/Target/TargetOpcodes.h user/imp/tbemd/contrib/llvm/include/llvm/Target/TargetOptions.h user/imp/tbemd/contrib/llvm/include/llvm/Target/TargetRegisterInfo.h user/imp/tbemd/contrib/llvm/include/llvm/Transforms/IPO.h user/imp/tbemd/contrib/llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h user/imp/tbemd/contrib/llvm/include/llvm/Transforms/Utils/BuildLibCalls.h user/imp/tbemd/contrib/llvm/include/llvm/Transforms/Utils/Cloning.h user/imp/tbemd/contrib/llvm/include/llvm/Transforms/Utils/Local.h user/imp/tbemd/contrib/llvm/include/llvm/Type.h user/imp/tbemd/contrib/llvm/include/llvm/Use.h user/imp/tbemd/contrib/llvm/include/llvm/Value.h user/imp/tbemd/contrib/llvm/lib/Analysis/AliasAnalysis.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/AliasDebugger.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/CMakeLists.txt user/imp/tbemd/contrib/llvm/lib/Analysis/ConstantFolding.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/DebugInfo.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/DomPrinter.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/IPA/CallGraph.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/IPA/GlobalsModRef.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/InlineCost.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/InstructionSimplify.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/Lint.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/LoopInfo.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/MemoryBuiltins.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/PostDominators.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/ProfileInfo.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/ScalarEvolution.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/ScalarEvolutionNormalization.cpp user/imp/tbemd/contrib/llvm/lib/Analysis/ValueTracking.cpp user/imp/tbemd/contrib/llvm/lib/Archive/ArchiveWriter.cpp user/imp/tbemd/contrib/llvm/lib/AsmParser/LLLexer.cpp user/imp/tbemd/contrib/llvm/lib/AsmParser/LLParser.cpp user/imp/tbemd/contrib/llvm/lib/AsmParser/LLParser.h user/imp/tbemd/contrib/llvm/lib/AsmParser/LLToken.h user/imp/tbemd/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp user/imp/tbemd/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp user/imp/tbemd/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp user/imp/tbemd/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.h user/imp/tbemd/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.h user/imp/tbemd/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h user/imp/tbemd/contrib/llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/BranchFolding.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/BranchFolding.h user/imp/tbemd/contrib/llvm/lib/CodeGen/CMakeLists.txt user/imp/tbemd/contrib/llvm/lib/CodeGen/CalcSpillWeights.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/CodePlacementOpt.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.h user/imp/tbemd/contrib/llvm/lib/CodeGen/DwarfEHPrepare.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/ELFCodeEmitter.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/GCStrategy.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/IfConversion.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/IntrinsicLowering.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/LatencyPriorityQueue.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/LiveInterval.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/LiveStackAnalysis.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/LiveVariables.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/LowerSubregs.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/MachineCSE.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/MachineDominators.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/MachineFunction.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/MachineInstr.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/MachineLICM.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/MachineModuleInfo.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/MachineRegisterInfo.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/MachineSink.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/MachineVerifier.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/OptimizeExts.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/OptimizePHIs.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/PBQP/HeuristicSolver.h user/imp/tbemd/contrib/llvm/lib/CodeGen/PBQP/Heuristics/Briggs.h user/imp/tbemd/contrib/llvm/lib/CodeGen/PHIElimination.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/Passes.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/PreAllocSplitting.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/ProcessImplicitDefs.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/RegAllocFast.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/RegAllocLinearScan.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/RegAllocPBQP.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/RegisterCoalescer.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/ScheduleDAG.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/ScheduleDAGEmit.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.h user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/CMakeLists.txt user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/ShadowStackGC.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SimpleRegisterCoalescing.h user/imp/tbemd/contrib/llvm/lib/CodeGen/SjLjEHPrepare.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/SlotIndexes.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/Spiller.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/Spiller.h user/imp/tbemd/contrib/llvm/lib/CodeGen/StackProtector.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/StackSlotColoring.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/StrongPHIElimination.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/TailDuplication.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/TargetInstrInfoImpl.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp user/imp/tbemd/contrib/llvm/lib/CodeGen/VirtRegRewriter.cpp user/imp/tbemd/contrib/llvm/lib/CompilerDriver/Tool.cpp user/imp/tbemd/contrib/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp user/imp/tbemd/contrib/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp user/imp/tbemd/contrib/llvm/lib/ExecutionEngine/JIT/JIT.cpp user/imp/tbemd/contrib/llvm/lib/ExecutionEngine/JIT/JIT.h user/imp/tbemd/contrib/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp user/imp/tbemd/contrib/llvm/lib/Linker/LinkItems.cpp user/imp/tbemd/contrib/llvm/lib/MC/CMakeLists.txt user/imp/tbemd/contrib/llvm/lib/MC/MCAsmStreamer.cpp user/imp/tbemd/contrib/llvm/lib/MC/MCAssembler.cpp user/imp/tbemd/contrib/llvm/lib/MC/MCContext.cpp user/imp/tbemd/contrib/llvm/lib/MC/MCExpr.cpp user/imp/tbemd/contrib/llvm/lib/MC/MCMachOStreamer.cpp user/imp/tbemd/contrib/llvm/lib/MC/MCParser/AsmLexer.cpp user/imp/tbemd/contrib/llvm/lib/MC/MCParser/AsmParser.cpp user/imp/tbemd/contrib/llvm/lib/MC/MCParser/CMakeLists.txt user/imp/tbemd/contrib/llvm/lib/MC/MCParser/MCAsmLexer.cpp user/imp/tbemd/contrib/llvm/lib/MC/MCParser/MCAsmParser.cpp user/imp/tbemd/contrib/llvm/lib/MC/MCSectionCOFF.cpp user/imp/tbemd/contrib/llvm/lib/MC/MachObjectWriter.cpp user/imp/tbemd/contrib/llvm/lib/Support/APFloat.cpp user/imp/tbemd/contrib/llvm/lib/Support/APInt.cpp user/imp/tbemd/contrib/llvm/lib/Support/CMakeLists.txt user/imp/tbemd/contrib/llvm/lib/Support/DeltaAlgorithm.cpp user/imp/tbemd/contrib/llvm/lib/Support/Dwarf.cpp user/imp/tbemd/contrib/llvm/lib/Support/FileUtilities.cpp user/imp/tbemd/contrib/llvm/lib/Support/FoldingSet.cpp user/imp/tbemd/contrib/llvm/lib/Support/MemoryBuffer.cpp user/imp/tbemd/contrib/llvm/lib/Support/PrettyStackTrace.cpp user/imp/tbemd/contrib/llvm/lib/Support/Regex.cpp user/imp/tbemd/contrib/llvm/lib/Support/SmallPtrSet.cpp user/imp/tbemd/contrib/llvm/lib/Support/SmallVector.cpp user/imp/tbemd/contrib/llvm/lib/Support/StringPool.cpp user/imp/tbemd/contrib/llvm/lib/Support/Timer.cpp user/imp/tbemd/contrib/llvm/lib/Support/Triple.cpp user/imp/tbemd/contrib/llvm/lib/Support/raw_ostream.cpp user/imp/tbemd/contrib/llvm/lib/System/Disassembler.cpp user/imp/tbemd/contrib/llvm/lib/System/Path.cpp user/imp/tbemd/contrib/llvm/lib/System/Unix/Path.inc user/imp/tbemd/contrib/llvm/lib/System/Unix/Program.inc user/imp/tbemd/contrib/llvm/lib/System/Unix/Signals.inc user/imp/tbemd/contrib/llvm/lib/System/Win32/Path.inc user/imp/tbemd/contrib/llvm/lib/System/Win32/Signals.inc user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARM.h user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARM.td user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMAddressingModes.h user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.h user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMCodeEmitter.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMConstantPoolValue.h user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMISelLowering.h user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMInstrInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMInstrInfo.h user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMInstrVFP.td user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMJITInfo.h user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMMachineFunctionInfo.h user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.td user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMScheduleA8.td user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMScheduleA9.td user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMScheduleV6.td user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMSubtarget.h user/imp/tbemd/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMInstPrinter.h user/imp/tbemd/contrib/llvm/lib/Target/ARM/CMakeLists.txt user/imp/tbemd/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassemblerCore.h user/imp/tbemd/contrib/llvm/lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h user/imp/tbemd/contrib/llvm/lib/Target/ARM/NEONMoveFix.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/NEONPreAllocPass.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/README.txt user/imp/tbemd/contrib/llvm/lib/Target/ARM/Thumb1InstrInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/Thumb1InstrInfo.h user/imp/tbemd/contrib/llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/Thumb1RegisterInfo.h user/imp/tbemd/contrib/llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/Thumb2InstrInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/ARM/Thumb2InstrInfo.h user/imp/tbemd/contrib/llvm/lib/Target/ARM/Thumb2SizeReduction.cpp user/imp/tbemd/contrib/llvm/lib/Target/Alpha/AlphaISelLowering.cpp user/imp/tbemd/contrib/llvm/lib/Target/Alpha/AlphaISelLowering.h user/imp/tbemd/contrib/llvm/lib/Target/Alpha/AlphaInstrFormats.td user/imp/tbemd/contrib/llvm/lib/Target/Alpha/AlphaInstrInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/Alpha/AlphaInstrInfo.h user/imp/tbemd/contrib/llvm/lib/Target/Alpha/AlphaInstrInfo.td user/imp/tbemd/contrib/llvm/lib/Target/Alpha/AlphaMCAsmInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/Alpha/AlphaMCAsmInfo.h user/imp/tbemd/contrib/llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/Alpha/AlphaRegisterInfo.h user/imp/tbemd/contrib/llvm/lib/Target/Blackfin/BlackfinISelDAGToDAG.cpp user/imp/tbemd/contrib/llvm/lib/Target/Blackfin/BlackfinISelLowering.cpp user/imp/tbemd/contrib/llvm/lib/Target/Blackfin/BlackfinISelLowering.h user/imp/tbemd/contrib/llvm/lib/Target/Blackfin/BlackfinInstrInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/Blackfin/BlackfinInstrInfo.h user/imp/tbemd/contrib/llvm/lib/Target/Blackfin/BlackfinInstrInfo.td user/imp/tbemd/contrib/llvm/lib/Target/Blackfin/BlackfinMCAsmInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/Blackfin/BlackfinMCAsmInfo.h user/imp/tbemd/contrib/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/Blackfin/BlackfinRegisterInfo.h user/imp/tbemd/contrib/llvm/lib/Target/CBackend/CBackend.cpp user/imp/tbemd/contrib/llvm/lib/Target/CellSPU/SPUCallingConv.td user/imp/tbemd/contrib/llvm/lib/Target/CellSPU/SPUFrameInfo.h user/imp/tbemd/contrib/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp user/imp/tbemd/contrib/llvm/lib/Target/CellSPU/SPUISelLowering.cpp user/imp/tbemd/contrib/llvm/lib/Target/CellSPU/SPUISelLowering.h user/imp/tbemd/contrib/llvm/lib/Target/CellSPU/SPUInstrInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/CellSPU/SPUInstrInfo.h user/imp/tbemd/contrib/llvm/lib/Target/CellSPU/SPUMCAsmInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/CellSPU/SPUMCAsmInfo.h user/imp/tbemd/contrib/llvm/lib/Target/CellSPU/SPUNodes.td user/imp/tbemd/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/CellSPU/SPURegisterInfo.h user/imp/tbemd/contrib/llvm/lib/Target/CppBackend/CPPBackend.cpp user/imp/tbemd/contrib/llvm/lib/Target/MBlaze/AsmPrinter/MBlazeAsmPrinter.cpp user/imp/tbemd/contrib/llvm/lib/Target/MBlaze/MBlazeISelLowering.cpp user/imp/tbemd/contrib/llvm/lib/Target/MBlaze/MBlazeISelLowering.h user/imp/tbemd/contrib/llvm/lib/Target/MBlaze/MBlazeInstrInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/MBlaze/MBlazeInstrInfo.h user/imp/tbemd/contrib/llvm/lib/Target/MBlaze/MBlazeMCAsmInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/MBlaze/MBlazeMCAsmInfo.h user/imp/tbemd/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/MBlaze/MBlazeRegisterInfo.h user/imp/tbemd/contrib/llvm/lib/Target/MSIL/MSILWriter.cpp user/imp/tbemd/contrib/llvm/lib/Target/MSIL/MSILWriter.h user/imp/tbemd/contrib/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp user/imp/tbemd/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp user/imp/tbemd/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.h user/imp/tbemd/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.h user/imp/tbemd/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.td user/imp/tbemd/contrib/llvm/lib/Target/MSP430/MSP430MCAsmInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/MSP430/MSP430MCAsmInfo.h user/imp/tbemd/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.h user/imp/tbemd/contrib/llvm/lib/Target/Mangler.cpp user/imp/tbemd/contrib/llvm/lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp user/imp/tbemd/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp user/imp/tbemd/contrib/llvm/lib/Target/Mips/MipsISelLowering.h user/imp/tbemd/contrib/llvm/lib/Target/Mips/MipsInstrInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/Mips/MipsInstrInfo.h user/imp/tbemd/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td user/imp/tbemd/contrib/llvm/lib/Target/Mips/MipsMCAsmInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/Mips/MipsMCAsmInfo.h user/imp/tbemd/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.h user/imp/tbemd/contrib/llvm/lib/Target/PIC16/PIC16DebugInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/PIC16/PIC16ISelLowering.cpp user/imp/tbemd/contrib/llvm/lib/Target/PIC16/PIC16ISelLowering.h user/imp/tbemd/contrib/llvm/lib/Target/PIC16/PIC16InstrInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/PIC16/PIC16InstrInfo.h user/imp/tbemd/contrib/llvm/lib/Target/PIC16/PIC16InstrInfo.td user/imp/tbemd/contrib/llvm/lib/Target/PIC16/PIC16MCAsmInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/PIC16/PIC16MCAsmInfo.h user/imp/tbemd/contrib/llvm/lib/Target/PIC16/PIC16MemSelOpt.cpp user/imp/tbemd/contrib/llvm/lib/Target/PIC16/PIC16Passes/PIC16Cloner.cpp user/imp/tbemd/contrib/llvm/lib/Target/PIC16/PIC16Passes/PIC16Cloner.h user/imp/tbemd/contrib/llvm/lib/Target/PIC16/PIC16RegisterInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/PIC16/PIC16RegisterInfo.h user/imp/tbemd/contrib/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp user/imp/tbemd/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp user/imp/tbemd/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h user/imp/tbemd/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.h user/imp/tbemd/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.h user/imp/tbemd/contrib/llvm/lib/Target/README.txt user/imp/tbemd/contrib/llvm/lib/Target/Sparc/SparcISelLowering.cpp user/imp/tbemd/contrib/llvm/lib/Target/Sparc/SparcISelLowering.h user/imp/tbemd/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.h user/imp/tbemd/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.td user/imp/tbemd/contrib/llvm/lib/Target/Sparc/SparcMCAsmInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/Sparc/SparcMCAsmInfo.h user/imp/tbemd/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.h user/imp/tbemd/contrib/llvm/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp user/imp/tbemd/contrib/llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp user/imp/tbemd/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp user/imp/tbemd/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.h user/imp/tbemd/contrib/llvm/lib/Target/SystemZ/SystemZInstrFP.td user/imp/tbemd/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.h user/imp/tbemd/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.td user/imp/tbemd/contrib/llvm/lib/Target/SystemZ/SystemZMCAsmInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/SystemZ/SystemZMCAsmInfo.h user/imp/tbemd/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.h user/imp/tbemd/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.td user/imp/tbemd/contrib/llvm/lib/Target/TargetInstrInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/TargetLoweringObjectFile.cpp user/imp/tbemd/contrib/llvm/lib/Target/TargetMachine.cpp user/imp/tbemd/contrib/llvm/lib/Target/TargetRegisterInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/X86/AsmParser/X86AsmLexer.cpp user/imp/tbemd/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp user/imp/tbemd/contrib/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp user/imp/tbemd/contrib/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.h user/imp/tbemd/contrib/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp user/imp/tbemd/contrib/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.cpp user/imp/tbemd/contrib/llvm/lib/Target/X86/AsmPrinter/X86IntelInstPrinter.h user/imp/tbemd/contrib/llvm/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp user/imp/tbemd/contrib/llvm/lib/Target/X86/Disassembler/CMakeLists.txt user/imp/tbemd/contrib/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp user/imp/tbemd/contrib/llvm/lib/Target/X86/README-SSE.txt user/imp/tbemd/contrib/llvm/lib/Target/X86/README-X86-64.txt user/imp/tbemd/contrib/llvm/lib/Target/X86/README.txt user/imp/tbemd/contrib/llvm/lib/Target/X86/X86.h user/imp/tbemd/contrib/llvm/lib/Target/X86/X86AsmBackend.cpp user/imp/tbemd/contrib/llvm/lib/Target/X86/X86CallingConv.td user/imp/tbemd/contrib/llvm/lib/Target/X86/X86CodeEmitter.cpp user/imp/tbemd/contrib/llvm/lib/Target/X86/X86FastISel.cpp user/imp/tbemd/contrib/llvm/lib/Target/X86/X86FixupKinds.h user/imp/tbemd/contrib/llvm/lib/Target/X86/X86FloatingPoint.cpp user/imp/tbemd/contrib/llvm/lib/Target/X86/X86FloatingPointRegKill.cpp user/imp/tbemd/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp user/imp/tbemd/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp user/imp/tbemd/contrib/llvm/lib/Target/X86/X86ISelLowering.h user/imp/tbemd/contrib/llvm/lib/Target/X86/X86Instr64bit.td user/imp/tbemd/contrib/llvm/lib/Target/X86/X86InstrBuilder.h user/imp/tbemd/contrib/llvm/lib/Target/X86/X86InstrFPStack.td user/imp/tbemd/contrib/llvm/lib/Target/X86/X86InstrFormats.td user/imp/tbemd/contrib/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td user/imp/tbemd/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/X86/X86InstrInfo.h user/imp/tbemd/contrib/llvm/lib/Target/X86/X86InstrInfo.td user/imp/tbemd/contrib/llvm/lib/Target/X86/X86InstrMMX.td user/imp/tbemd/contrib/llvm/lib/Target/X86/X86InstrSSE.td user/imp/tbemd/contrib/llvm/lib/Target/X86/X86MCCodeEmitter.cpp user/imp/tbemd/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/X86/X86RegisterInfo.h user/imp/tbemd/contrib/llvm/lib/Target/X86/X86RegisterInfo.td user/imp/tbemd/contrib/llvm/lib/Target/X86/X86Subtarget.cpp user/imp/tbemd/contrib/llvm/lib/Target/X86/X86Subtarget.h user/imp/tbemd/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp user/imp/tbemd/contrib/llvm/lib/Target/XCore/AsmPrinter/XCoreAsmPrinter.cpp user/imp/tbemd/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp user/imp/tbemd/contrib/llvm/lib/Target/XCore/XCoreISelLowering.h user/imp/tbemd/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.h user/imp/tbemd/contrib/llvm/lib/Target/XCore/XCoreInstrInfo.td user/imp/tbemd/contrib/llvm/lib/Target/XCore/XCoreMCAsmInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/XCore/XCoreMCAsmInfo.h user/imp/tbemd/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.cpp user/imp/tbemd/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.h user/imp/tbemd/contrib/llvm/lib/Transforms/Hello/Hello.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Hello/Makefile user/imp/tbemd/contrib/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/IPO/IPConstantPropagation.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/IPO/Inliner.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/IPO/LowerSetJmp.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/IPO/MergeFunctions.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/IPO/PartialInlining.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/IPO/PartialSpecialization.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/IPO/StripSymbols.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/IPO/StructRetPromotion.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/InstCombine/InstCombine.h user/imp/tbemd/contrib/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Instrumentation/OptimalEdgeProfiling.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Instrumentation/ProfilingUtils.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Scalar/ABCD.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Scalar/ADCE.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Scalar/CodeGenPrepare.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Scalar/GVN.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Scalar/LoopDeletion.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Scalar/LoopIndexSplit.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Scalar/Reassociate.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Scalar/ScalarReplAggregates.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Scalar/SimplifyLibCalls.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Scalar/TailDuplication.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Utils/AddrModeMatcher.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Utils/BuildLibCalls.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Utils/CloneFunction.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Utils/CloneLoop.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Utils/CloneModule.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Utils/LCSSA.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Utils/Local.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Utils/LoopSimplify.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Utils/LoopUnroll.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Utils/LowerInvoke.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Utils/ValueMapper.cpp user/imp/tbemd/contrib/llvm/lib/Transforms/Utils/ValueMapper.h user/imp/tbemd/contrib/llvm/lib/VMCore/AsmWriter.cpp user/imp/tbemd/contrib/llvm/lib/VMCore/AutoUpgrade.cpp user/imp/tbemd/contrib/llvm/lib/VMCore/ConstantFold.cpp user/imp/tbemd/contrib/llvm/lib/VMCore/Core.cpp user/imp/tbemd/contrib/llvm/lib/VMCore/Instruction.cpp user/imp/tbemd/contrib/llvm/lib/VMCore/Instructions.cpp user/imp/tbemd/contrib/llvm/lib/VMCore/IntrinsicInst.cpp user/imp/tbemd/contrib/llvm/lib/VMCore/Metadata.cpp user/imp/tbemd/contrib/llvm/lib/VMCore/Module.cpp user/imp/tbemd/contrib/llvm/lib/VMCore/Pass.cpp user/imp/tbemd/contrib/llvm/lib/VMCore/PassManager.cpp user/imp/tbemd/contrib/llvm/lib/VMCore/Value.cpp user/imp/tbemd/contrib/llvm/lib/VMCore/Verifier.cpp user/imp/tbemd/contrib/llvm/tools/Makefile user/imp/tbemd/contrib/llvm/tools/bugpoint/BugDriver.h user/imp/tbemd/contrib/llvm/tools/bugpoint/CrashDebugger.cpp user/imp/tbemd/contrib/llvm/tools/bugpoint/ExtractFunction.cpp user/imp/tbemd/contrib/llvm/tools/bugpoint/ListReducer.h user/imp/tbemd/contrib/llvm/tools/bugpoint/Miscompilation.cpp user/imp/tbemd/contrib/llvm/tools/bugpoint/ToolRunner.h user/imp/tbemd/contrib/llvm/tools/clang/CMakeLists.txt user/imp/tbemd/contrib/llvm/tools/clang/Makefile user/imp/tbemd/contrib/llvm/tools/clang/NOTES.txt user/imp/tbemd/contrib/llvm/tools/clang/README.txt user/imp/tbemd/contrib/llvm/tools/clang/include/Makefile user/imp/tbemd/contrib/llvm/tools/clang/include/clang-c/Index.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang-c/Makefile user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/Attr.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/CMakeLists.txt user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/Decl.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/DeclFriend.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/DeclVisitor.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/Expr.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/ExternalASTSource.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/Makefile user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/Redeclarable.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/Stmt.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/StmtIterator.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/TemplateBase.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/TemplateName.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/Type.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/TypeLocBuilder.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/TypeNodes.def user/imp/tbemd/contrib/llvm/tools/clang/include/clang/AST/UsuallyTinyPtrVector.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/PrintfFormatString.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Analysis/Support/BumpVector.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Analysis/Visitors/CFGRecStmtDeclVisitor.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsARM.def user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsPPC.def user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/CMakeLists.txt user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/FileManager.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/Makefile user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/PartialDiagnostic.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/TargetOptions.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Basic/Version.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Checker/BugReporter/BugReporter.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/Checker.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/CheckerVisitor.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/Environment.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/ExplodedGraph.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/GRCoreEngine.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/GRExprEngine.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/GRState.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/GRSubEngine.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/GRTransferFuncs.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/MemRegion.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/SVals.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/SValuator.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/Store.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Checker/PathSensitive/SymbolManager.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/CodeGen/ModuleBuilder.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Driver/Action.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Driver/Arg.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Driver/ArgList.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Driver/Compilation.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Driver/Driver.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Driver/HostInfo.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Driver/Makefile user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Driver/OptTable.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Driver/Option.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Driver/Options.td user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Driver/Types.def user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Driver/Types.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/ASTConsumers.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInvocation.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticOptions.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/FrontendAction.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/FrontendActions.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/FrontendOptions.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/FrontendPluginRegistry.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/PCHBitCodes.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/PCHReader.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/PCHWriter.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnosticPrinter.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/TypeXML.def user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Frontend/Utils.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Index/CallGraph.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Index/Entity.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Index/Indexer.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Index/TranslationUnit.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Lex/PPCallbacks.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Lex/Pragma.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Lex/Token.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Makefile user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Parse/Action.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Parse/AttributeList.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Parse/DeclSpec.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Parse/Parser.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Parse/Template.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Rewrite/RewriteRope.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Rewrite/Rewriter.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteConsumer.h user/imp/tbemd/contrib/llvm/tools/clang/include/clang/Sema/ExternalSemaSource.h user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/AttrImpl.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/CMakeLists.txt user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/CXXInheritance.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/Decl.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/DeclFriend.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/Expr.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/Makefile user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/Stmt.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/TemplateBase.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/TemplateName.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/Type.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Analysis/CMakeLists.txt user/imp/tbemd/contrib/llvm/tools/clang/lib/Analysis/LiveVariables.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Analysis/Makefile user/imp/tbemd/contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Basic/CMakeLists.txt user/imp/tbemd/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Basic/Makefile user/imp/tbemd/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Basic/Targets.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Basic/Version.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/AttrNonNullChecker.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/BasicConstraintManager.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/BasicObjCFoundationChecks.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/BasicObjCFoundationChecks.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/BasicStore.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/BugReporter.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/BuiltinFunctionChecker.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/CFRefCount.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/CMakeLists.txt user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/CallInliner.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/CastSizeChecker.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/CheckSecuritySyntaxOnly.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/Environment.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/FlatStore.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/GRCoreEngine.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/GRExprEngine.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/GRExprEngineExperimentalChecks.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/GRExprEngineExperimentalChecks.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/GRExprEngineInternalChecks.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/GRState.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/LLVMConventionsChecker.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/Makefile user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/MallocChecker.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/MemRegion.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/OSAtomicChecker.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/PathDiagnostic.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/RangeConstraintManager.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/RegionStore.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/SVals.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/SValuator.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/SimpleConstraintManager.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/SimpleConstraintManager.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/SimpleSValuator.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/Store.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/SymbolManager.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Checker/VLASizeChecker.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/ABIInfo.h user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.h user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGBuilder.h user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.h user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGCall.h user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGExprComplex.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.h user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGRTTI.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGTemporaries.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.h user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CMakeLists.txt user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/GlobalDecl.h user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/Makefile user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/Mangle.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/Mangle.h user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Driver/Action.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Driver/Arg.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Driver/ArgList.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Driver/CMakeLists.txt user/imp/tbemd/contrib/llvm/tools/clang/lib/Driver/Compilation.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Driver/Driver.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Driver/HostInfo.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Driver/Makefile user/imp/tbemd/contrib/llvm/tools/clang/lib/Driver/OptTable.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Driver/Option.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Driver/ToolChains.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Driver/Tools.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Driver/Tools.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Driver/Types.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/ASTConsumers.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/ASTMerge.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/BoostConAction.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/CMakeLists.txt user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/FrontendOptions.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/GeneratePCH.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/Makefile user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/PCHReader.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/PCHReaderDecl.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/PCHReaderStmt.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/PCHWriter.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/PCHWriterDecl.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/PCHWriterStmt.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/PrintParserCallbacks.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Frontend/Warnings.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Headers/CMakeLists.txt user/imp/tbemd/contrib/llvm/tools/clang/lib/Headers/Makefile user/imp/tbemd/contrib/llvm/tools/clang/lib/Headers/altivec.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Headers/emmintrin.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Headers/smmintrin.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Headers/stddef.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Headers/stdint.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Index/CallGraph.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Index/Entity.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Index/EntityImpl.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Index/Indexer.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Index/Makefile user/imp/tbemd/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Lex/Makefile user/imp/tbemd/contrib/llvm/tools/clang/lib/Lex/PPCaching.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Makefile user/imp/tbemd/contrib/llvm/tools/clang/lib/Parse/AttributeList.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Parse/CMakeLists.txt user/imp/tbemd/contrib/llvm/tools/clang/lib/Parse/DeclSpec.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Parse/Makefile user/imp/tbemd/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Parse/ParseInit.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Parse/ParsePragma.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Parse/Parser.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Parse/RAIIObjectsForParser.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Rewrite/CMakeLists.txt user/imp/tbemd/contrib/llvm/tools/clang/lib/Rewrite/Makefile user/imp/tbemd/contrib/llvm/tools/clang/lib/Rewrite/RewriteRope.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Rewrite/Rewriter.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/CMakeLists.txt user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/Lookup.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/Makefile user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/Sema.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/Sema.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaAccess.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaAttr.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaCXXCast.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaInit.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.h user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp user/imp/tbemd/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h user/imp/tbemd/contrib/llvm/tools/clang/tools/Makefile user/imp/tbemd/contrib/llvm/tools/clang/tools/c-index-test/Makefile user/imp/tbemd/contrib/llvm/tools/clang/tools/c-index-test/c-index-test.c user/imp/tbemd/contrib/llvm/tools/clang/tools/driver/CMakeLists.txt user/imp/tbemd/contrib/llvm/tools/clang/tools/driver/Makefile user/imp/tbemd/contrib/llvm/tools/clang/tools/driver/cc1_main.cpp user/imp/tbemd/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp user/imp/tbemd/contrib/llvm/tools/clang/tools/libclang/CIndex.cpp user/imp/tbemd/contrib/llvm/tools/clang/tools/libclang/CIndexCodeCompletion.cpp user/imp/tbemd/contrib/llvm/tools/clang/tools/libclang/CIndexer.cpp user/imp/tbemd/contrib/llvm/tools/clang/tools/libclang/CMakeLists.txt user/imp/tbemd/contrib/llvm/tools/clang/tools/libclang/CXCursor.cpp user/imp/tbemd/contrib/llvm/tools/clang/tools/libclang/CXSourceLocation.h user/imp/tbemd/contrib/llvm/tools/clang/tools/libclang/CXTypes.cpp user/imp/tbemd/contrib/llvm/tools/clang/tools/libclang/Makefile user/imp/tbemd/contrib/llvm/tools/clang/tools/libclang/libclang.darwin.exports user/imp/tbemd/contrib/llvm/tools/clang/tools/libclang/libclang.exports user/imp/tbemd/contrib/llvm/tools/clang/tools/scan-build/ccc-analyzer user/imp/tbemd/contrib/llvm/tools/clang/utils/TestUtils/pch-test.pl user/imp/tbemd/contrib/llvm/tools/edis/EDDisassembler.cpp user/imp/tbemd/contrib/llvm/tools/edis/Makefile user/imp/tbemd/contrib/llvm/tools/gold/gold-plugin.cpp user/imp/tbemd/contrib/llvm/tools/llc/llc.cpp user/imp/tbemd/contrib/llvm/tools/llvm-extract/llvm-extract.cpp user/imp/tbemd/contrib/llvm/tools/llvm-link/llvm-link.cpp user/imp/tbemd/contrib/llvm/tools/llvm-mc/Makefile user/imp/tbemd/contrib/llvm/tools/llvm-mc/llvm-mc.cpp user/imp/tbemd/contrib/llvm/tools/llvm-nm/llvm-nm.cpp user/imp/tbemd/contrib/llvm/tools/llvmc/plugins/Base/Base.td.in user/imp/tbemd/contrib/llvm/tools/lto/LTOCodeGenerator.cpp user/imp/tbemd/contrib/llvm/tools/opt/GraphPrinters.cpp user/imp/tbemd/contrib/llvm/tools/opt/PrintSCC.cpp user/imp/tbemd/contrib/llvm/tools/opt/opt.cpp user/imp/tbemd/contrib/llvm/utils/FileUpdate/FileUpdate.cpp user/imp/tbemd/contrib/llvm/utils/NewNightlyTest.pl user/imp/tbemd/contrib/llvm/utils/TableGen/ARMDecoderEmitter.cpp user/imp/tbemd/contrib/llvm/utils/TableGen/ARMDecoderEmitter.h user/imp/tbemd/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp user/imp/tbemd/contrib/llvm/utils/TableGen/CMakeLists.txt user/imp/tbemd/contrib/llvm/utils/TableGen/ClangASTNodesEmitter.cpp user/imp/tbemd/contrib/llvm/utils/TableGen/ClangASTNodesEmitter.h user/imp/tbemd/contrib/llvm/utils/TableGen/CodeEmitterGen.cpp user/imp/tbemd/contrib/llvm/utils/TableGen/CodeGenInstruction.cpp user/imp/tbemd/contrib/llvm/utils/TableGen/CodeGenTarget.cpp user/imp/tbemd/contrib/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp user/imp/tbemd/contrib/llvm/utils/TableGen/EDEmitter.cpp user/imp/tbemd/contrib/llvm/utils/TableGen/FastISelEmitter.cpp user/imp/tbemd/contrib/llvm/utils/TableGen/InstrInfoEmitter.cpp user/imp/tbemd/contrib/llvm/utils/TableGen/Record.cpp user/imp/tbemd/contrib/llvm/utils/TableGen/RegisterInfoEmitter.cpp user/imp/tbemd/contrib/llvm/utils/TableGen/TGParser.cpp user/imp/tbemd/contrib/llvm/utils/TableGen/TGParser.h user/imp/tbemd/contrib/llvm/utils/TableGen/TableGen.cpp user/imp/tbemd/contrib/llvm/utils/TableGen/X86RecognizableInstr.cpp user/imp/tbemd/contrib/llvm/utils/TableGen/X86RecognizableInstr.h user/imp/tbemd/contrib/llvm/utils/buildit/GNUmakefile user/imp/tbemd/contrib/llvm/utils/buildit/build_llvm user/imp/tbemd/contrib/llvm/utils/count/count.c user/imp/tbemd/contrib/llvm/utils/lit/lit/TestRunner.py user/imp/tbemd/contrib/llvm/utils/unittest/UnitTestMain/Makefile user/imp/tbemd/contrib/llvm/utils/unittest/googletest/Makefile user/imp/tbemd/contrib/llvm/utils/unittest/googletest/README.LLVM user/imp/tbemd/contrib/llvm/utils/unittest/googletest/gtest-death-test.cc user/imp/tbemd/contrib/llvm/utils/unittest/googletest/gtest-filepath.cc user/imp/tbemd/contrib/llvm/utils/unittest/googletest/gtest-port.cc user/imp/tbemd/contrib/llvm/utils/unittest/googletest/gtest-test-part.cc user/imp/tbemd/contrib/llvm/utils/unittest/googletest/gtest-typed-test.cc user/imp/tbemd/contrib/llvm/utils/unittest/googletest/gtest.cc user/imp/tbemd/contrib/llvm/utils/unittest/googletest/include/gtest/gtest-death-test.h user/imp/tbemd/contrib/llvm/utils/unittest/googletest/include/gtest/gtest-message.h user/imp/tbemd/contrib/llvm/utils/unittest/googletest/include/gtest/gtest-param-test.h user/imp/tbemd/contrib/llvm/utils/unittest/googletest/include/gtest/gtest-spi.h user/imp/tbemd/contrib/llvm/utils/unittest/googletest/include/gtest/gtest-test-part.h user/imp/tbemd/contrib/llvm/utils/unittest/googletest/include/gtest/gtest-typed-test.h user/imp/tbemd/contrib/llvm/utils/unittest/googletest/include/gtest/gtest.h user/imp/tbemd/contrib/llvm/utils/unittest/googletest/include/gtest/internal/gtest-death-test-internal.h user/imp/tbemd/contrib/llvm/utils/unittest/googletest/include/gtest/internal/gtest-filepath.h user/imp/tbemd/contrib/llvm/utils/unittest/googletest/include/gtest/internal/gtest-internal-inl.h user/imp/tbemd/contrib/llvm/utils/unittest/googletest/include/gtest/internal/gtest-internal.h user/imp/tbemd/contrib/llvm/utils/unittest/googletest/include/gtest/internal/gtest-linked_ptr.h user/imp/tbemd/contrib/llvm/utils/unittest/googletest/include/gtest/internal/gtest-param-util-generated.h user/imp/tbemd/contrib/llvm/utils/unittest/googletest/include/gtest/internal/gtest-param-util.h user/imp/tbemd/contrib/llvm/utils/unittest/googletest/include/gtest/internal/gtest-port.h user/imp/tbemd/contrib/llvm/utils/unittest/googletest/include/gtest/internal/gtest-string.h user/imp/tbemd/contrib/llvm/utils/unittest/googletest/include/gtest/internal/gtest-type-util.h user/imp/tbemd/contrib/ncurses/man/keybound.3x user/imp/tbemd/contrib/netcat/nc.1 user/imp/tbemd/contrib/pf/pflogd/pflogd.c user/imp/tbemd/contrib/tcp_wrappers/fix_options.c user/imp/tbemd/contrib/top/display.c user/imp/tbemd/contrib/top/screen.c user/imp/tbemd/contrib/traceroute/traceroute.c user/imp/tbemd/contrib/tzcode/zic/zic.8 user/imp/tbemd/contrib/tzdata/africa user/imp/tbemd/contrib/tzdata/asia user/imp/tbemd/contrib/tzdata/australasia user/imp/tbemd/contrib/tzdata/backward user/imp/tbemd/contrib/tzdata/europe user/imp/tbemd/contrib/tzdata/leapseconds user/imp/tbemd/contrib/tzdata/northamerica user/imp/tbemd/contrib/tzdata/zone.tab user/imp/tbemd/contrib/wpa/hostapd/ChangeLog user/imp/tbemd/contrib/wpa/hostapd/README-WPS user/imp/tbemd/contrib/wpa/hostapd/ap.h user/imp/tbemd/contrib/wpa/hostapd/beacon.c user/imp/tbemd/contrib/wpa/hostapd/config.c user/imp/tbemd/contrib/wpa/hostapd/config.h user/imp/tbemd/contrib/wpa/hostapd/ctrl_iface.c user/imp/tbemd/contrib/wpa/hostapd/drivers.c user/imp/tbemd/contrib/wpa/hostapd/hostapd.8 user/imp/tbemd/contrib/wpa/hostapd/hostapd.c user/imp/tbemd/contrib/wpa/hostapd/hostapd.conf user/imp/tbemd/contrib/wpa/hostapd/hostapd_cli.1 user/imp/tbemd/contrib/wpa/hostapd/hostapd_cli.c user/imp/tbemd/contrib/wpa/hostapd/hw_features.c user/imp/tbemd/contrib/wpa/hostapd/ieee802_11.c user/imp/tbemd/contrib/wpa/hostapd/ieee802_1x.c user/imp/tbemd/contrib/wpa/hostapd/preauth.c user/imp/tbemd/contrib/wpa/hostapd/wme.c user/imp/tbemd/contrib/wpa/hostapd/wme.h user/imp/tbemd/contrib/wpa/hostapd/wpa.c user/imp/tbemd/contrib/wpa/hostapd/wpa.h user/imp/tbemd/contrib/wpa/hostapd/wpa_auth_i.h user/imp/tbemd/contrib/wpa/hostapd/wpa_auth_ie.c user/imp/tbemd/contrib/wpa/hostapd/wpa_ft.c user/imp/tbemd/contrib/wpa/hostapd/wps_hostapd.c user/imp/tbemd/contrib/wpa/hostapd/wps_hostapd.h user/imp/tbemd/contrib/wpa/src/common/ieee802_11_common.c user/imp/tbemd/contrib/wpa/src/common/ieee802_11_common.h user/imp/tbemd/contrib/wpa/src/common/ieee802_11_defs.h user/imp/tbemd/contrib/wpa/src/common/version.h user/imp/tbemd/contrib/wpa/src/common/wpa_common.c user/imp/tbemd/contrib/wpa/src/crypto/crypto_cryptoapi.c user/imp/tbemd/contrib/wpa/src/crypto/crypto_gnutls.c user/imp/tbemd/contrib/wpa/src/crypto/crypto_internal.c user/imp/tbemd/contrib/wpa/src/crypto/dh_groups.c user/imp/tbemd/contrib/wpa/src/crypto/ms_funcs.c user/imp/tbemd/contrib/wpa/src/crypto/rc4.c user/imp/tbemd/contrib/wpa/src/crypto/rc4.h user/imp/tbemd/contrib/wpa/src/crypto/sha1.c user/imp/tbemd/contrib/wpa/src/crypto/sha256.c user/imp/tbemd/contrib/wpa/src/crypto/tls.h user/imp/tbemd/contrib/wpa/src/crypto/tls_gnutls.c user/imp/tbemd/contrib/wpa/src/crypto/tls_openssl.c user/imp/tbemd/contrib/wpa/src/drivers/driver.h user/imp/tbemd/contrib/wpa/src/drivers/driver_ndis.c user/imp/tbemd/contrib/wpa/src/eap_common/eap_defs.h user/imp/tbemd/contrib/wpa/src/eap_common/eap_fast_common.h user/imp/tbemd/contrib/wpa/src/eap_common/eap_tlv_common.h user/imp/tbemd/contrib/wpa/src/eap_peer/eap_fast.c user/imp/tbemd/contrib/wpa/src/eap_peer/eap_gpsk.c user/imp/tbemd/contrib/wpa/src/eap_peer/eap_methods.h user/imp/tbemd/contrib/wpa/src/eap_peer/eap_sim.c user/imp/tbemd/contrib/wpa/src/eap_peer/eap_tls_common.c user/imp/tbemd/contrib/wpa/src/eap_peer/eap_tnc.c user/imp/tbemd/contrib/wpa/src/eap_peer/eap_ttls.c user/imp/tbemd/contrib/wpa/src/eap_peer/eap_wsc.c user/imp/tbemd/contrib/wpa/src/eap_peer/tncc.c user/imp/tbemd/contrib/wpa/src/eap_server/eap.c user/imp/tbemd/contrib/wpa/src/eap_server/eap_fast.c user/imp/tbemd/contrib/wpa/src/eap_server/eap_gpsk.c user/imp/tbemd/contrib/wpa/src/eap_server/eap_i.h user/imp/tbemd/contrib/wpa/src/eap_server/eap_tls_common.c user/imp/tbemd/contrib/wpa/src/eap_server/eap_tnc.c user/imp/tbemd/contrib/wpa/src/eap_server/eap_ttls.c user/imp/tbemd/contrib/wpa/src/eapol_supp/eapol_supp_sm.c user/imp/tbemd/contrib/wpa/src/hlr_auc_gw/hlr_auc_gw.c user/imp/tbemd/contrib/wpa/src/radius/radius_client.c user/imp/tbemd/contrib/wpa/src/radius/radius_server.c user/imp/tbemd/contrib/wpa/src/rsn_supp/wpa.c user/imp/tbemd/contrib/wpa/src/rsn_supp/wpa_ft.c user/imp/tbemd/contrib/wpa/src/rsn_supp/wpa_i.h user/imp/tbemd/contrib/wpa/src/tls/rsa.c user/imp/tbemd/contrib/wpa/src/tls/tlsv1_client.c user/imp/tbemd/contrib/wpa/src/tls/tlsv1_server_read.c user/imp/tbemd/contrib/wpa/src/utils/base64.c user/imp/tbemd/contrib/wpa/src/utils/common.c user/imp/tbemd/contrib/wpa/src/utils/common.h user/imp/tbemd/contrib/wpa/src/utils/os_unix.c user/imp/tbemd/contrib/wpa/src/utils/wpa_debug.c user/imp/tbemd/contrib/wpa/src/utils/wpa_debug.h user/imp/tbemd/contrib/wpa/src/utils/wpabuf.c user/imp/tbemd/contrib/wpa/src/wps/httpread.c user/imp/tbemd/contrib/wpa/src/wps/wps.h user/imp/tbemd/contrib/wpa/src/wps/wps_attr_parse.c user/imp/tbemd/contrib/wpa/src/wps/wps_common.c user/imp/tbemd/contrib/wpa/src/wps/wps_enrollee.c user/imp/tbemd/contrib/wpa/src/wps/wps_i.h user/imp/tbemd/contrib/wpa/src/wps/wps_registrar.c user/imp/tbemd/contrib/wpa/src/wps/wps_upnp.c user/imp/tbemd/contrib/wpa/src/wps/wps_upnp_event.c user/imp/tbemd/contrib/wpa/src/wps/wps_upnp_i.h user/imp/tbemd/contrib/wpa/src/wps/wps_upnp_ssdp.c user/imp/tbemd/contrib/wpa/src/wps/wps_upnp_web.c user/imp/tbemd/contrib/wpa/wpa_supplicant/ChangeLog user/imp/tbemd/contrib/wpa/wpa_supplicant/README user/imp/tbemd/contrib/wpa/wpa_supplicant/README-WPS user/imp/tbemd/contrib/wpa/wpa_supplicant/ctrl_iface_dbus.c user/imp/tbemd/contrib/wpa/wpa_supplicant/ctrl_iface_dbus.h user/imp/tbemd/contrib/wpa/wpa_supplicant/ctrl_iface_dbus_handlers.c user/imp/tbemd/contrib/wpa/wpa_supplicant/ctrl_iface_dbus_handlers.h user/imp/tbemd/contrib/wpa/wpa_supplicant/ctrl_iface_unix.c user/imp/tbemd/contrib/wpa/wpa_supplicant/defconfig user/imp/tbemd/contrib/wpa/wpa_supplicant/doc/docbook/wpa_background.8 user/imp/tbemd/contrib/wpa/wpa_supplicant/doc/docbook/wpa_cli.8 user/imp/tbemd/contrib/wpa/wpa_supplicant/doc/docbook/wpa_gui.8 user/imp/tbemd/contrib/wpa/wpa_supplicant/doc/docbook/wpa_passphrase.8 user/imp/tbemd/contrib/wpa/wpa_supplicant/doc/docbook/wpa_priv.8 user/imp/tbemd/contrib/wpa/wpa_supplicant/doc/docbook/wpa_supplicant.8 user/imp/tbemd/contrib/wpa/wpa_supplicant/doc/docbook/wpa_supplicant.conf.5 user/imp/tbemd/contrib/wpa/wpa_supplicant/doc/porting.doxygen user/imp/tbemd/contrib/wpa/wpa_supplicant/eapol_test.c user/imp/tbemd/contrib/wpa/wpa_supplicant/events.c user/imp/tbemd/contrib/wpa/wpa_supplicant/mlme.c user/imp/tbemd/contrib/wpa/wpa_supplicant/scan.c user/imp/tbemd/contrib/wpa/wpa_supplicant/wpa_priv.c user/imp/tbemd/contrib/wpa/wpa_supplicant/wpa_supplicant.c user/imp/tbemd/contrib/wpa/wpa_supplicant/wpa_supplicant_i.h user/imp/tbemd/contrib/wpa/wpa_supplicant/wpas_glue.c user/imp/tbemd/contrib/wpa/wpa_supplicant/wps_supplicant.c Directory Properties: user/imp/tbemd/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/contrib/bind9/ (props changed) user/imp/tbemd/contrib/ee/ (props changed) user/imp/tbemd/contrib/expat/ (props changed) user/imp/tbemd/contrib/file/ (props changed) user/imp/tbemd/contrib/gdb/ (props changed) user/imp/tbemd/contrib/gdtoa/ (props changed) user/imp/tbemd/contrib/gnu-sort/ (props changed) user/imp/tbemd/contrib/groff/ (props changed) user/imp/tbemd/contrib/less/ (props changed) user/imp/tbemd/contrib/libpcap/ (props changed) user/imp/tbemd/contrib/llvm/ (props changed) user/imp/tbemd/contrib/llvm/tools/clang/ (props changed) user/imp/tbemd/contrib/ncurses/ (props changed) user/imp/tbemd/contrib/netcat/ (props changed) user/imp/tbemd/contrib/ntp/ (props changed) user/imp/tbemd/contrib/one-true-awk/ (props changed) user/imp/tbemd/contrib/openbsm/ (props changed) user/imp/tbemd/contrib/openpam/ (props changed) user/imp/tbemd/contrib/pf/ (props changed) user/imp/tbemd/contrib/sendmail/ (props changed) user/imp/tbemd/contrib/tcpdump/ (props changed) user/imp/tbemd/contrib/tcsh/ (props changed) user/imp/tbemd/contrib/top/ (props changed) user/imp/tbemd/contrib/top/install-sh (props changed) user/imp/tbemd/contrib/tzcode/stdtime/ (props changed) user/imp/tbemd/contrib/tzcode/zic/ (props changed) user/imp/tbemd/contrib/tzdata/ (props changed) user/imp/tbemd/contrib/wpa/ (props changed) Modified: user/imp/tbemd/Makefile ============================================================================== --- user/imp/tbemd/Makefile Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/Makefile Sun Aug 22 21:42:30 2010 (r211651) @@ -89,7 +89,8 @@ TGTS= all all-man buildenv buildenvvars obj objlink regress rerelease showconfig tags toolchain update \ _worldtmp _legacy _bootstrap-tools _cleanobj _obj \ _build-tools _cross-tools _includes _libraries _depend \ - build32 distribute32 install32 xdev xdev-build xdev-install + build32 builddtb distribute32 install32 xdev xdev-build xdev-install \ + TGTS+= ${SUBDIR_TARGETS} BITGTS= files includes Modified: user/imp/tbemd/Makefile.inc1 ============================================================================== --- user/imp/tbemd/Makefile.inc1 Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/Makefile.inc1 Sun Aug 22 21:42:30 2010 (r211651) @@ -127,7 +127,7 @@ TARGET= ${TARGET_ARCH:C/mipse[lb]/mips/ TARGET?= ${MACHINE} TARGET_ARCH?= ${MACHINE_ARCH} -KNOWN_ARCHES?= amd64 arm armeb/arm i386 i386/pc98 ia64 mipsel/mips mipseb/mips powerpc sparc64 sparc64/sun4v +KNOWN_ARCHES?= amd64 arm armeb/arm i386 i386/pc98 ia64 mipsel/mips mipseb/mips powerpc powerpc65/powerpc sparc64 sparc64/sun4v .if ${TARGET} == ${TARGET_ARCH} _t= ${TARGET} .else @@ -261,34 +261,47 @@ WMAKEENV+= NO_CTF=1 .endif WMAKE= ${WMAKEENV} ${MAKE} -f Makefile.inc1 DESTDIR=${WORLDTMP} -.if ${TARGET_ARCH} == "amd64" +.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64" # 32 bit world LIB32TMP= ${OBJTREE}${.CURDIR}/lib32 +.if ${TARGET_ARCH} == "amd64" .if empty(TARGET_CPUTYPE) LIB32CPUFLAGS= -march=i686 -mmmx -msse -msse2 .else LIB32CPUFLAGS= -march=${TARGET_CPUTYPE} .endif -LIB32FLAGS= -m32 ${LIB32CPUFLAGS} -mfancy-math-387 -DCOMPAT_32BIT \ +LIB32CPUFLAGS+= -mfancy-math-387 +LIB32WMAKEENV= MACHINE=i386 MACHINE_ARCH=i386 \ + MACHINE_CPU="i686 mmx sse sse2" \ + LD="${LD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" \ + AS="${AS} --32" + +.elif ${TARGET_ARCH} == "powerpc64" +.if empty(TARGET_CPUTYPE) +LIB32CPUFLAGS= -mcpu=powerpc +.else +LIB32CPUFLAGS= -mcpu=${TARGET_CPUTYPE} +.endif +LIB32WMAKEENV= MACHINE=powerpc MACHINE_ARCH=powerpc \ + LD="${LD} -m elf32ppc" +.endif + + +LIB32FLAGS= -m32 ${LIB32CPUFLAGS} -DCOMPAT_32BIT \ -isystem ${LIB32TMP}/usr/include/ \ -L${LIB32TMP}/usr/lib32 \ -B${LIB32TMP}/usr/lib32 # Yes, the flags are redundant. -LIB32WMAKEENV= MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \ +LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \ _SHLIBDIRPREFIX=${LIB32TMP} \ VERSION="${VERSION}" \ - MACHINE=i386 \ - MACHINE_ARCH=i386 \ - MACHINE_CPU="i686 mmx sse sse2" \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} \ CC="${CC} ${LIB32FLAGS}" \ CXX="${CXX} ${LIB32FLAGS}" \ OBJC="${OBJC} ${LIB32FLAGS}" \ - LD="${LD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" \ - AS="${AS} --32" \ LIBDIR=/usr/lib32 \ SHLIBDIR=/usr/lib32 @@ -335,7 +348,7 @@ _worldtmp: @echo "--------------------------------------------------------------" .if !defined(NO_CLEAN) rm -rf ${WORLDTMP} -.if ${TARGET_ARCH} == "amd64" +.if defined(LIB32TMP) rm -rf ${LIB32TMP} .endif .else @@ -379,7 +392,7 @@ _cleanobj: @echo ">>> stage 2.1: cleaning up the object tree" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${WMAKE} ${CLEANDIR:S/^/par-/} -.if ${TARGET_ARCH} == "amd64" +.if defined(LIB32TMP) ${_+_}cd ${.CURDIR}; ${LIB32WMAKE} -f Makefile.inc1 ${CLEANDIR:S/^/par-/} .endif .endif @@ -427,7 +440,7 @@ everything: @echo ">>> stage 4.4: building everything" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${WMAKE} par-all -.if ${TARGET_ARCH} == "amd64" +.if defined(LIB32TMP) build32: @echo @echo "--------------------------------------------------------------" @@ -509,7 +522,7 @@ WMAKE_TGTS+= _cleanobj _obj _build-tools WMAKE_TGTS+= _cross-tools .endif WMAKE_TGTS+= _includes _libraries _depend everything -.if ${TARGET_ARCH} == "amd64" && ${MK_LIB32} != "no" +.if defined(LIB32TMP) && ${MK_LIB32} != "no" WMAKE_TGTS+= build32 .endif @@ -659,7 +672,7 @@ reinstall: @echo ">>> Installing everything" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install -.if ${TARGET_ARCH} == "amd64" && ${MK_LIB32} != "no" +.if defined(LIB32TMP) && ${MK_LIB32} != "no" ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install32 .endif @@ -668,7 +681,7 @@ redistribute: @echo ">>> Distributing everything" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 distribute -.if ${TARGET_ARCH} == "amd64" && ${MK_LIB32} != "no" +.if defined(LIB32TMP) && ${MK_LIB32} != "no" ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 distribute32 \ DISTRIBUTION=lib32 .endif @@ -704,8 +717,12 @@ KERNCONF=${KERNFAST} KERNCONF= ${KERNEL} KERNWARN= .else +.if ${TARGET_ARCH} == "powerpc64" +KERNCONF?= GENERIC64 +.else KERNCONF?= GENERIC .endif +.endif INSTKERNNAME?= kernel KERNSRCDIR?= ${.CURDIR}/sys @@ -965,6 +982,10 @@ _dtrace_tools= cddl/usr.bin/sgsmsg cddl/ lib/libdwarf cddl/usr.bin/ctfconvert cddl/usr.bin/ctfmerge .endif +.if ${MK_FDT} != "no" +_dtc= gnu/usr.bin/dtc +.endif + bootstrap-tools: .for _tool in \ ${_clang_tblgen} \ @@ -973,6 +994,7 @@ bootstrap-tools: ${_gperf} \ ${_groff} \ ${_ar} \ + ${_dtc} \ usr.bin/lorder \ usr.bin/makewhatis \ ${_mklocale} \ @@ -1055,8 +1077,15 @@ _kgzip= usr.sbin/kgzip .endif .endif +.if ${CC:T:Mclang} == "clang" +_clang= usr.bin/clang +_clang_libs= lib/clang +.endif + cross-tools: .for _tool in \ + ${_clang_libs} \ + ${_clang} \ gnu/usr.bin/binutils \ gnu/usr.bin/cc \ usr.bin/xlint/lint1 usr.bin/xlint/lint2 usr.bin/xlint/xlint \ @@ -1104,6 +1133,10 @@ _prereq_libs= gnu/lib/libssp/libssp_nons _startup_libs= gnu/lib/csu .if exists(${.CURDIR}/lib/csu/${MACHINE_CPUARCH}-elf) _startup_libs+= lib/csu/${MACHINE_CPUARCH}-elf +.elif exists(${.CURDIR}/lib/csu/${MACHINE_CPUARCH}-elf) +_startup_libs+= lib/csu/${MACHINE_CPUARCH}-elf +.elif exists(${.CURDIR}/lib/csu/${MACHINE_ARCH}) +_startup_libs+= lib/csu/${MACHINE_ARCH} .else _startup_libs+= lib/csu/${MACHINE_CPUARCH} .endif @@ -1445,3 +1478,41 @@ _xi-links: ../../../../usr/bin/${XDDIR}${OSREL}-$$i; \ done .endif + +.if !empty(KRNLOBJDIR) && !empty(KERNCONF) +DTBOUTPUTPATH= ${KRNLOBJDIR}/${KERNCONF}/ + +.if !defined(FDT_DTS_FILE) || empty(FDT_DTS_FILE) +.if exists(${KERNCONFDIR}/${KERNCONF}) +FDT_DTS_FILE!= awk 'BEGIN {FS="="} /^makeoptions[[:space:]]+FDT_DTS_FILE/ {print $$2}' \ + ${KERNCONFDIR}/${KERNCONF} +.endif +.endif + +.endif + +.if !defined(DTBOUTPUTPATH) || !exists(${DTBOUTPUTPATH}) +DTBOUTPUTPATH= ${.CURDIR} +.endif + +# +# Build 'standalone' Device Tree Blob +# +builddtb: + @if [ "${FDT_DTS_FILE}" = "" ]; then \ + echo "ERROR: FDT_DTS_FILE must be specified!"; \ + exit 1; \ + fi; \ + if [ ! -f ${.CURDIR}/sys/boot/fdt/dts/${FDT_DTS_FILE} ]; then \ + echo "ERROR: Specified DTS file (${FDT_DTS_FILE}) does not \ + exist!"; \ + exit 1; \ + fi; \ + if [ "${DTBOUTPUTPATH}" = "${.CURDIR}" ]; then \ + echo "WARNING: DTB will be placed in the current working \ + directory"; \ + fi + @PATH=${TMPPATH} \ + dtc -O dtb -o \ + ${DTBOUTPUTPATH}/`echo ${FDT_DTS_FILE} | cut -d. -f1`.dtb -b 0 \ + -p 1024 ${.CURDIR}/sys/boot/fdt/dts/${FDT_DTS_FILE} Modified: user/imp/tbemd/ObsoleteFiles.inc ============================================================================== --- user/imp/tbemd/ObsoleteFiles.inc Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/ObsoleteFiles.inc Sun Aug 22 21:42:30 2010 (r211651) @@ -14,6 +14,29 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20100815: retired last traces of chooseproc(9) +OLD_FILES+=usr/share/man/man9/chooseproc.9.gz +# 20100806: removal of unused libcompat routines +OLD_FILES+=usr/share/man/man3/ascftime.3.gz +OLD_FILES+=usr/share/man/man3/cfree.3.gz +OLD_FILES+=usr/share/man/man3/cftime.3.gz +OLD_FILES+=usr/share/man/man3/getpw.3.gz +# 20100725: acpi_aiboost(4) removal. +OLD_FILES+=usr/share/man/man4/acpi_aiboost.4.gz +# 20100720: new clang import which bumps version from 2.0 to 2.8 +OLD_FILES+=usr/include/clang/2.0/emmintrin.h +OLD_FILES+=usr/include/clang/2.0/mm_malloc.h +OLD_FILES+=usr/include/clang/2.0/mmintrin.h +OLD_FILES+=usr/include/clang/2.0/pmmintrin.h +OLD_FILES+=usr/include/clang/2.0/tmmintrin.h +OLD_FILES+=usr/include/clang/2.0/xmmintrin.h +OLD_DIRS+=usr/include/clang/2.0 +# 20100706: removed pc-sysinstall's detect-vmware.sh +OLD_FILES+=usr/share/pc-sysinstall/backend-query/detect-vmware.sh +# 20100701: [powerpc] removed +.if ${TARGET_ARCH} == "powerpc" +OLD_FILES+=usr/include/machine/intr.h +.endif # 20100514: library version bump for versioned symbols for liblzma OLD_LIBS+=usr/lib/liblzma.so.0 .if ${TARGET_ARCH} == "amd64" Modified: user/imp/tbemd/UPDATING ============================================================================== --- user/imp/tbemd/UPDATING Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/UPDATING Sun Aug 22 21:42:30 2010 (r211651) @@ -22,6 +22,37 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20100725: + The acpi_aiboost(4) driver has been removed in favor of the new + aibs(4) driver. You should update your kernel configuration file. + +20100722: + BSD grep has been imported to the base system and it is built by + default. It is completely BSD licensed, highly GNU-compatible, uses + less memory than its GNU counterpart and has a small codebase. + However, it is slower than its GNU counterpart, which is mostly + noticeable for larger searches, for smaller ones it is measurable + but not significant. The reason is complex, the most important factor + is that we lack a modern and efficient regex library and GNU + overcomes this by optimizing the searches internally. Future work + on improving the regex performance is planned, for the meantime, + users that need better performance, can build GNU grep instead by + setting the WITH_GNU_GREP knob. + +20100713: + Due to the import of powerpc64 support, all existing powerpc kernel + configuration files must be updated with a machine directive like this: + machine powerpc powerpc + + In addition, an updated config(8) is required to build powerpc kernels + after this change. + +20100713: + A new version of ZFS (version 15) has been merged to -HEAD. + This version uses a python library for the following subcommands: + zfs allow, zfs unallow, zfs groupspace, zfs userspace. + For full functionality of these commands the following port must + be installed: sysutils/py-zfs 20100429: 'vm_page's are now hashed by physical address to an array of mutexes. @@ -964,6 +995,22 @@ COMMON ITEMS: path, and has the highest probability of being successful. Please try this approach before reporting problems with a major version upgrade. + ZFS notes + --------- + When upgrading the boot ZFS pool to a new version, always follow + these two steps: + + 1.) recompile and reinstall the ZFS boot loader and boot block + (this is part of "make buildworld" and "make installworld") + + 2.) update the ZFS boot block on your boot drive + + The following example updates the ZFS boot block on the first + partition (freebsd-boot) of a GPT partitioned drive ad0: + "gpart bootcode -p /boot/gptzfsboot -i 1 ad0" + + Non-boot pools do not need these updates. + To build a kernel ----------------- If you are updating from a prior version of FreeBSD (even one just Modified: user/imp/tbemd/bin/getfacl/getfacl.1 ============================================================================== --- user/imp/tbemd/bin/getfacl/getfacl.1 Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/bin/getfacl/getfacl.1 Sun Aug 22 21:42:30 2010 (r211651) @@ -48,7 +48,7 @@ the specified file(s) to standard output If the .Xr getconf 1 utility indicates that -.Eq { } Va _POSIX_ACL_EXTENDED +.Brq Va _POSIX_ACL_EXTENDED is not in effect for a .Ar file then the standard discretionary access permissions are interpreted as Modified: user/imp/tbemd/bin/kill/kill.c ============================================================================== --- user/imp/tbemd/bin/kill/kill.c Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/bin/kill/kill.c Sun Aug 22 21:42:30 2010 (r211651) @@ -123,10 +123,9 @@ main(int argc, char *argv[]) for (errors = 0; argc; argc--, argv++) { pid = strtol(*argv, &ep, 10); - if (!**argv || *ep) { - warnx("illegal process id: %s", *argv); - errors = 1; - } else if (kill(pid, numsig) == -1) { + if (!**argv || *ep) + errx(1, "illegal process id: %s", *argv); + else if (kill(pid, numsig) == -1) { warn("%s", *argv); errors = 1; } Modified: user/imp/tbemd/bin/ln/ln.1 ============================================================================== --- user/imp/tbemd/bin/ln/ln.1 Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/bin/ln/ln.1 Sun Aug 22 21:42:30 2010 (r211651) @@ -229,7 +229,7 @@ The .Fl F option is .Fx -extention and should not be used in portable scripts. +extension and should not be used in portable scripts. .Sh SEE ALSO .Xr link 2 , .Xr lstat 2 , Modified: user/imp/tbemd/bin/pkill/pkill.1 ============================================================================== --- user/imp/tbemd/bin/pkill/pkill.1 Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/bin/pkill/pkill.1 Sun Aug 22 21:42:30 2010 (r211651) @@ -53,7 +53,7 @@ .Ar pattern ... .Nm pkill .Op Fl Ar signal -.Op Fl ILafinovx +.Op Fl ILafilnovx .Op Fl F Ar pidfile .Op Fl G Ar gid .Op Fl M Ar core @@ -156,14 +156,16 @@ The value matches processes not in jail. .It Fl l Long output. -Print the process name in addition to the process ID for each matching +For +.Nm pgrep , +print the process name in addition to the process ID for each matching process. If used in conjunction with .Fl f , print the process ID and the full argument list for each matching process. -This option can only be used with the -.Nm pgrep -command. +For +.Nm pkill , +display the kill command used for each process killed. .It Fl n Select only the newest (most recently started) of the matching processes. .It Fl o Modified: user/imp/tbemd/bin/pkill/pkill.c ============================================================================== --- user/imp/tbemd/bin/pkill/pkill.c Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/bin/pkill/pkill.c Sun Aug 22 21:42:30 2010 (r211651) @@ -128,7 +128,7 @@ main(int argc, char **argv) { char buf[_POSIX2_LINE_MAX], *mstr, **pargv, *p, *q, *pidfile; const char *execf, *coref; - int ancestors, debug_opt; + int ancestors, debug_opt, did_action; int i, ch, bestidx, rv, criteria, pidfromfile, pidfilelock; size_t jsz; int (*action)(const struct kinfo_proc *); @@ -242,8 +242,6 @@ main(int argc, char **argv) criteria = 1; break; case 'l': - if (!pgrep) - usage(); longfmt = 1; break; case 'n': @@ -530,16 +528,24 @@ main(int argc, char **argv) /* * Take the appropriate action for each matched process, if any. */ + did_action = 0; for (i = 0, rv = 0, kp = plist; i < nproc; i++, kp++) { if (PSKIP(kp)) continue; if (selected[i]) { + if (longfmt && !pgrep) { + did_action = 1; + printf("kill -%d %d\n", signum, kp->ki_pid); + } if (inverse) continue; } else if (!inverse) continue; rv |= (*action)(kp); } + if (!did_action && !pgrep && longfmt) + fprintf(stderr, + "No matching processes belonging to you were found\n"); exit(rv ? STATUS_MATCH : STATUS_NOMATCH); } @@ -552,7 +558,7 @@ usage(void) if (pgrep) ustr = "[-LSfilnoqvx] [-d delim]"; else - ustr = "[-signal] [-ILfinovx]"; + ustr = "[-signal] [-ILfilnovx]"; fprintf(stderr, "usage: %s %s [-F pidfile] [-G gid] [-M core] [-N system]\n" Modified: user/imp/tbemd/bin/ps/keyword.c ============================================================================== --- user/imp/tbemd/bin/ps/keyword.c Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/bin/ps/keyword.c Sun Aug 22 21:42:30 2010 (r211651) @@ -90,7 +90,7 @@ static VAR var[] = { NULL, 0}, {"etime", "ELAPSED", NULL, USER, elapsed, NULL, 12, 0, CHAR, NULL, 0}, {"etimes", "ELAPSED", NULL, USER, elapseds, NULL, 12, 0, CHAR, NULL, 0}, - {"f", "F", NULL, 0, kvar, NULL, 7, KOFF(ki_flag), INT, "x", 0}, + {"f", "F", NULL, 0, kvar, NULL, 8, KOFF(ki_flag), INT, "x", 0}, {"flags", "", "f", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, {"ignored", "", "sigignore", 0, NULL, NULL, 0, 0, CHAR, NULL, 0}, {"inblk", "INBLK", NULL, USER, rvar, NULL, 4, ROFF(ru_inblock), LONG, @@ -187,7 +187,7 @@ static VAR var[] = { UINT, UIDFMT, 0}, {"svuid", "SVUID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_svuid), UINT, UIDFMT, 0}, - {"tdev", "TDEV", NULL, 0, tdev, NULL, 4, 0, CHAR, NULL, 0}, + {"tdev", "TDEV", NULL, 0, tdev, NULL, 5, 0, CHAR, NULL, 0}, {"tdnam", "TDNAM", NULL, LJUST, tdnam, NULL, COMMLEN, 0, CHAR, NULL, 0}, {"time", "TIME", NULL, USER, cputime, NULL, 9, 0, CHAR, NULL, 0}, {"tpgid", "TPGID", NULL, 0, kvar, NULL, 4, KOFF(ki_tpgid), UINT, Modified: user/imp/tbemd/bin/ps/ps.1 ============================================================================== --- user/imp/tbemd/bin/ps/ps.1 Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/bin/ps/ps.1 Sun Aug 22 21:42:30 2010 (r211651) @@ -29,7 +29,7 @@ .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd April 13, 2010 +.Dd July 24, 2010 .Dt PS 1 .Os .Sh NAME @@ -291,6 +291,7 @@ the include file .It Dv "P_PPWAIT" Ta No "0x00010 Parent is waiting for child to exec/exit" .It Dv "P_PROFIL" Ta No "0x00020 Has started profiling" .It Dv "P_STOPPROF" Ta No "0x00040 Has thread in requesting to stop prof" +.It Dv "P_HASTHREADS" Ta No "0x00080 Has had threads (no cleanup shortcuts)" .It Dv "P_SUGID" Ta No "0x00100 Had set id privileges since last exec" .It Dv "P_SYSTEM" Ta No "0x00200 System proc: no sigs, stats or swapping" .It Dv "P_SINGLE_EXIT" Ta No "0x00400 Threads suspending should exit, not wait" Modified: user/imp/tbemd/bin/setfacl/setfacl.1 ============================================================================== --- user/imp/tbemd/bin/setfacl/setfacl.1 Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/bin/setfacl/setfacl.1 Sun Aug 22 21:42:30 2010 (r211651) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 13, 2010 +.Dd July 27, 2010 .Dt SETFACL 1 .Os .Sh NAME @@ -299,7 +299,7 @@ one of .Dq Li group@ , or .Dq Li everyone@ , -this field is ommited altogether, including the trailing comma. +this field is omitted altogether, including the trailing comma. .It Ar "access permissions" Access permissions may be specified in either short or long form. Short and long forms may not be mixed. Modified: user/imp/tbemd/bin/sh/error.c ============================================================================== --- user/imp/tbemd/bin/sh/error.c Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/bin/sh/error.c Sun Aug 22 21:42:30 2010 (r211651) @@ -102,7 +102,7 @@ exraise(int e) void onint(void) { - sigset_t sigset; + sigset_t sigs; /* * The !in_dotrap here is safe. The only way we can arrive here @@ -115,8 +115,8 @@ onint(void) return; } intpending = 0; - sigemptyset(&sigset); - sigprocmask(SIG_SETMASK, &sigset, NULL); + sigemptyset(&sigs); + sigprocmask(SIG_SETMASK, &sigs, NULL); /* * This doesn't seem to be needed, since main() emits a newline. Modified: user/imp/tbemd/bin/sh/eval.c ============================================================================== --- user/imp/tbemd/bin/sh/eval.c Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/bin/sh/eval.c Sun Aug 22 21:42:30 2010 (r211651) @@ -145,7 +145,8 @@ evalcmd(int argc, char **argv) p = grabstackstr(concat); } evalstring(p, builtin_flags & EV_TESTED); - } + } else + exitstatus = 0; return exitstatus; } @@ -160,9 +161,11 @@ evalstring(char *s, int flags) union node *n; struct stackmark smark; int flags_exit; + int any; flags_exit = flags & EV_EXIT; flags &= ~EV_EXIT; + any = 0; setstackmark(&smark); setinputstring(s, 1); while ((n = parsecmd(0)) != NEOF) { @@ -171,11 +174,14 @@ evalstring(char *s, int flags) evaltree(n, flags | EV_EXIT); else evaltree(n, flags); + any = 1; } popstackmark(&smark); } popfile(); popstackmark(&smark); + if (!any) + exitstatus = 0; if (flags_exit) exitshell(exitstatus); } @@ -635,7 +641,7 @@ evalcommand(union node *cmd, int flags, char *lastarg; int realstatus; int do_clearcmdentry; - char *path = pathval(); + const char *path = pathval(); /* First expand the arguments. */ TRACE(("evalcommand(%p, %d) called\n", (void *)cmd, flags)); Modified: user/imp/tbemd/bin/sh/expand.c ============================================================================== --- user/imp/tbemd/bin/sh/expand.c Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/bin/sh/expand.c Sun Aug 22 21:42:30 2010 (r211651) @@ -818,7 +818,7 @@ varisset(char *name, int nulok) { if (*name == '!') - return backgndpid != -1; + return backgndpidset(); else if (*name == '@' || *name == '*') { if (*shellparam.p == NULL) return 0; @@ -891,7 +891,7 @@ varvalue(char *name, int quoted, int sub num = shellparam.nparam; goto numvar; case '!': - num = backgndpid; + num = backgndpidval(); numvar: expdest = cvtnum(num, expdest); break; @@ -1082,8 +1082,8 @@ ifsbreakup(char *string, struct arglist * should be escapes. The results are stored in the list exparg. */ -STATIC char *expdir; - +STATIC char expdir[PATH_MAX]; +#define expdir_end (expdir + sizeof(expdir)) STATIC void expandmeta(struct strlist *str, int flag __unused) @@ -1106,14 +1106,7 @@ expandmeta(struct strlist *str, int flag } savelastp = exparg.lastp; INTOFF; - if (expdir == NULL) { - int i = strlen(str->text); - expdir = ckmalloc(i < 2048 ? 2048 : i); /* XXX */ - } - expmeta(expdir, str->text); - ckfree(expdir); - expdir = NULL; INTON; if (exparg.lastp == savelastp) { /* @@ -1202,6 +1195,8 @@ expmeta(char *enddir, char *name) *enddir++ = *p; if (*p == '\0') break; + if (enddir == expdir_end) + return; } if (metaflag == 0 || lstat(expdir, &statb) >= 0) addfname(expdir); @@ -1216,6 +1211,8 @@ expmeta(char *enddir, char *name) if (*p == CTLESC) p++; *enddir++ = *p++; + if (enddir == expdir_end) + return; } } if (enddir == expdir) { @@ -1249,15 +1246,17 @@ expmeta(char *enddir, char *name) if (dp->d_name[0] == '.' && ! matchdot) continue; if (patmatch(start, dp->d_name, 0)) { - if (atend) { - scopy(dp->d_name, enddir); + if (enddir + dp->d_namlen + 1 > expdir_end) + continue; + memcpy(enddir, dp->d_name, dp->d_namlen + 1); + if (atend) addfname(expdir); - } else { - for (p = enddir, q = dp->d_name; - (*p++ = *q++) != '\0';) + else { + if (enddir + dp->d_namlen + 2 > expdir_end) continue; - p[-1] = '/'; - expmeta(p, endname); + enddir[dp->d_namlen] = '/'; + enddir[dp->d_namlen + 1] = '\0'; + expmeta(enddir + dp->d_namlen + 1, endname); } } } Modified: user/imp/tbemd/bin/sh/histedit.c ============================================================================== --- user/imp/tbemd/bin/sh/histedit.c Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/bin/sh/histedit.c Sun Aug 22 21:42:30 2010 (r211651) @@ -119,6 +119,9 @@ histedit(void) if (hist) el_set(el, EL_HIST, history, hist); el_set(el, EL_PROMPT, getprompt); + el_set(el, EL_ADDFN, "sh-complete", + "Filename completion", + _el_fn_sh_complete); } else { bad: out2fmt_flush("sh: can't initialize editing\n"); @@ -135,6 +138,7 @@ bad: el_set(el, EL_EDITOR, "vi"); else if (Eflag) el_set(el, EL_EDITOR, "emacs"); + el_set(el, EL_BIND, "^I", "sh-complete", NULL); el_source(el, NULL); } } else { @@ -164,6 +168,7 @@ sethistsize(hs) (histsize = atoi(hs)) < 0) histsize = 100; history(hist, &he, H_SETSIZE, histsize); + history(hist, &he, H_SETUNIQUE, 1); } } Modified: user/imp/tbemd/bin/sh/jobs.c ============================================================================== --- user/imp/tbemd/bin/sh/jobs.c Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/bin/sh/jobs.c Sun Aug 22 21:42:30 2010 (r211651) @@ -75,6 +75,7 @@ __FBSDID("$FreeBSD$"); STATIC struct job *jobtab; /* array of jobs */ STATIC int njobs; /* size of array */ MKINIT pid_t backgndpid = -1; /* pid of last background process */ +MKINIT struct job *bgjob = NULL; /* last background process */ #if JOBS STATIC struct job *jobmru; /* most recently used job list */ STATIC pid_t initialpgrp; /* pgrp of shell on invocation */ @@ -183,6 +184,7 @@ INCLUDE SHELLPROC { backgndpid = -1; + bgjob = NULL; #if JOBS jobctl = 0; #endif @@ -413,7 +415,11 @@ showjobs(int change, int mode) continue; showjob(jp, 0, mode); jp->changed = 0; - if (jp->state == JOBDONE) { + /* Hack: discard jobs for which $! has not been referenced + * in interactive mode when they terminate. + */ + if (jp->state == JOBDONE && !jp->remembered && + (iflag || jp != bgjob)) { freejob(jp); } } @@ -431,6 +437,8 @@ freejob(struct job *jp) int i; INTOFF; + if (bgjob == jp) + bgjob = NULL; for (i = jp->nprocs, ps = jp->ps ; --i >= 0 ; ps++) { if (ps->cmd != nullstr) ckfree(ps->cmd); @@ -477,12 +485,27 @@ waitcmd(int argc, char **argv) #endif else retval = WTERMSIG(status) + 128; - if (! iflag) + if (! iflag || ! job->changed) freejob(job); + else { + job->remembered = 0; + if (job == bgjob) + bgjob = NULL; + } in_waitcmd--; return retval; } } else { + for (jp = jobtab ; jp < jobtab + njobs; jp++) + if (jp->used && jp->state == JOBDONE) { + if (! iflag || ! jp->changed) + freejob(jp); + else { + jp->remembered = 0; + if (jp == bgjob) + bgjob = NULL; + } + } for (jp = jobtab ; ; jp++) { if (jp >= jobtab + njobs) { /* no running procs */ in_waitcmd--; @@ -623,6 +646,8 @@ makejob(union node *node __unused, int n jp[i].next = &jp[jp[i].next - jobtab]; #endif + if (bgjob != NULL) + bgjob = &jp[bgjob - jobtab]; /* Relocate `ps' pointers */ for (i = 0; i < njobs; i++) if (jp[i].ps == &jobtab[i].ps0) @@ -644,6 +669,7 @@ makejob(union node *node __unused, int n jp->changed = 0; jp->nprocs = 0; jp->foreground = 0; + jp->remembered = 0; #if JOBS jp->jobctl = jobctl; jp->next = NULL; @@ -821,8 +847,13 @@ forkshell(struct job *jp, union node *n, pgrp = jp->ps[0].pid; setpgid(pid, pgrp); } - if (mode == FORK_BG) + if (mode == FORK_BG) { + if (bgjob != NULL && bgjob->state == JOBDONE && + !bgjob->remembered && !iflag) + freejob(bgjob); backgndpid = pid; /* set $! */ + bgjob = jp; + } if (jp) { struct procstat *ps = &jp->ps[jp->nprocs++]; ps->pid = pid; @@ -975,10 +1006,15 @@ dowait(int block, struct job *job) if (jp->state != state) { TRACE(("Job %d: changing state from %d to %d\n", jp - jobtab + 1, jp->state, state)); jp->state = state; + if (jp != job) { + if (done && !jp->remembered && + !iflag && jp != bgjob) + freejob(jp); #if JOBS - if (done) - deljob(jp); + else if (done) + deljob(jp); #endif + } } } } @@ -1074,6 +1110,21 @@ checkzombies(void) } +int +backgndpidset(void) +{ + return backgndpid != -1; +} + + +pid_t +backgndpidval(void) +{ + if (bgjob != NULL) + bgjob->remembered = 1; + return backgndpid; +} + /* * Return a string identifying a command (to be printed by the * jobs command. Modified: user/imp/tbemd/bin/sh/jobs.h ============================================================================== --- user/imp/tbemd/bin/sh/jobs.h Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/bin/sh/jobs.h Sun Aug 22 21:42:30 2010 (r211651) @@ -68,6 +68,7 @@ struct job { char used; /* true if this entry is in used */ char changed; /* true if status has changed */ char foreground; /* true if running in the foreground */ + char remembered; /* true if $! referenced */ #if JOBS char jobctl; /* job running under job control */ struct job *next; /* job used after this one */ @@ -81,7 +82,6 @@ enum { SHOWJOBS_PGIDS /* PID of the group leader only */ }; -extern pid_t backgndpid; /* pid of last background process */ extern int job_warning; /* user was warned about stopped jobs */ extern int in_waitcmd; /* are we in waitcmd()? */ extern int in_dowait; /* are we in dowait()? */ @@ -98,6 +98,8 @@ struct job *makejob(union node *, int); pid_t forkshell(struct job *, union node *, int); int waitforjob(struct job *, int *); int stoppedjobs(void); +int backgndpidset(void); +pid_t backgndpidval(void); char *commandtext(union node *); #if ! JOBS Modified: user/imp/tbemd/bin/sh/main.c ============================================================================== --- user/imp/tbemd/bin/sh/main.c Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/bin/sh/main.c Sun Aug 22 21:42:30 2010 (r211651) @@ -232,8 +232,9 @@ cmdloop(int top) } popstackmark(&smark); setstackmark(&smark); - if (evalskip == SKIPFILE) { - evalskip = 0; + if (evalskip != 0) { + if (evalskip == SKIPFILE) + evalskip = 0; break; } } Modified: user/imp/tbemd/bin/sh/mksyntax.c ============================================================================== --- user/imp/tbemd/bin/sh/mksyntax.c Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/bin/sh/mksyntax.c Sun Aug 22 21:42:30 2010 (r211651) @@ -241,8 +241,8 @@ main(int argc __unused, char **argv __un filltable("0"); fputs("\n/* character classification table */\n", cfile); add("0123456789", "ISDIGIT"); - add("abcdefghijklmnopqrstucvwxyz", "ISLOWER"); - add("ABCDEFGHIJKLMNOPQRSTUCVWXYZ", "ISUPPER"); + add("abcdefghijklmnopqrstuvwxyz", "ISLOWER"); + add("ABCDEFGHIJKLMNOPQRSTUVWXYZ", "ISUPPER"); add("_", "ISUNDER"); add("#?$!-*@", "ISSPECL"); print("is_type"); Modified: user/imp/tbemd/bin/sh/parser.c ============================================================================== --- user/imp/tbemd/bin/sh/parser.c Sun Aug 22 21:32:48 2010 (r211650) +++ user/imp/tbemd/bin/sh/parser.c Sun Aug 22 21:42:30 2010 (r211651) @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include "shell.h" #include "parser.h" @@ -268,6 +269,9 @@ list(int nlflag) parseheredoc(); if (nlflag) return n1; + } else if (tok == TEOF && nlflag) { + parseheredoc(); + return n1; } else { tokpushback++; } @@ -553,6 +557,7 @@ TRACE(("expecting DO got %s %s\n", tokna checkkwd = 1; break; /* Handle an empty command like other simple commands. */ + case TBACKGND: case TSEMI: case TAND: case TOR: @@ -608,8 +613,7 @@ simplecmd(union node **rpp, union node * { union node *args, **app; union node **orig_rpp = rpp; - union node *n = NULL, *n2; - int negate = 0; + union node *n = NULL; /* If we don't have any redirections already, then we must reset */ /* rpp to be the address of the local redir variable. */ @@ -625,12 +629,6 @@ simplecmd(union node **rpp, union node * */ orig_rpp = rpp; - while (readtoken() == TNOT) { - TRACE(("command: TNOT recognized\n")); - negate = !negate; - } - tokpushback++; - for (;;) { if (readtoken() == TWORD) { n = (union node *)stalloc(sizeof (struct narg)); @@ -656,7 +654,7 @@ simplecmd(union node **rpp, union node * n->type = NDEFUN; n->narg.next = command(); funclinno = 0; - goto checkneg; + return n; } else { tokpushback++; break; @@ -669,16 +667,7 @@ simplecmd(union node **rpp, union node * n->ncmd.backgnd = 0; n->ncmd.args = args; n->ncmd.redirect = redir; - -checkneg: - if (negate) { - n2 = (union node *)stalloc(sizeof (struct nnot)); - n2->type = NNOT; - n2->nnot.com = n; - return n2; - } - else - return n; + return n; } STATIC union node * @@ -1733,7 +1722,8 @@ getprompt(void *unused __unused) { static char ps[PROMPTLEN]; char *fmt; - int i, j, trim; + const char *pwd; + int i, trim; static char internal_error[] = ""; /* @@ -1784,17 +1774,15 @@ getprompt(void *unused __unused) */ case 'W': case 'w': - ps[i] = '\0'; - getcwd(&ps[i], PROMPTLEN - i); - if (*fmt == 'W' && ps[i + 1] != '\0') { - /* Final path component only. */ - trim = 1; - for (j = i; ps[j] != '\0'; j++) - if (ps[j] == '/') - trim = j + 1; - memmove(&ps[i], &ps[trim], - j - trim + 1); - } + pwd = lookupvar("PWD"); + if (pwd == NULL) + pwd = "?"; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 21:44:08 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7A8E010656A4; Sun, 22 Aug 2010 21:44:08 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6585F8FC08; Sun, 22 Aug 2010 21:44:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MLi8nB017223; Sun, 22 Aug 2010 21:44:08 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MLi6Fn017182; Sun, 22 Aug 2010 21:44:06 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008222144.o7MLi6Fn017182@svn.freebsd.org> From: Warner Losh Date: Sun, 22 Aug 2010 21:44:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211652 - in user/imp/tbemd: etc etc/defaults etc/mtree etc/namedb etc/periodic/daily etc/periodic/security etc/rc.d games/fortune/datfiles games/grdc games/pom games/random gnu/lib/csu... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 21:44:08 -0000 Author: imp Date: Sun Aug 22 21:44:05 2010 New Revision: 211652 URL: http://svn.freebsd.org/changeset/base/211652 Log: Merge to head @211636 -- with hand tweaks hoping for the best Added: user/imp/tbemd/etc/periodic/daily/490.status-pkg-changes - copied unchanged from r211636, head/etc/periodic/daily/490.status-pkg-changes user/imp/tbemd/etc/periodic/daily/800.scrub-zfs - copied unchanged from r211636, head/etc/periodic/daily/800.scrub-zfs user/imp/tbemd/etc/periodic/security/460.chkportsum - copied unchanged from r211636, head/etc/periodic/security/460.chkportsum user/imp/tbemd/gnu/usr.bin/binutils/as/powerpc64-freebsd/ - copied from r211636, head/gnu/usr.bin/binutils/as/powerpc64-freebsd/ user/imp/tbemd/gnu/usr.bin/binutils/gdb/Makefile.powerpc64 - copied unchanged from r211636, head/gnu/usr.bin/binutils/gdb/Makefile.powerpc64 user/imp/tbemd/gnu/usr.bin/binutils/ld/Makefile.powerpc64 - copied unchanged from r211636, head/gnu/usr.bin/binutils/ld/Makefile.powerpc64 user/imp/tbemd/gnu/usr.bin/binutils/libbfd/Makefile.powerpc64 - copied unchanged from r211636, head/gnu/usr.bin/binutils/libbfd/Makefile.powerpc64 user/imp/tbemd/gnu/usr.bin/binutils/libopcodes/Makefile.powerpc64 - copied unchanged from r211636, head/gnu/usr.bin/binutils/libopcodes/Makefile.powerpc64 user/imp/tbemd/gnu/usr.bin/gdb/arch/powerpc64/ - copied from r211636, head/gnu/usr.bin/gdb/arch/powerpc64/ user/imp/tbemd/gnu/usr.bin/gdb/kgdb/trgt_powerpc64.c - copied unchanged from r211636, head/gnu/usr.bin/gdb/kgdb/trgt_powerpc64.c user/imp/tbemd/lib/clang/include/clang/AST/Attrs.inc - copied unchanged from r211636, head/lib/clang/include/clang/AST/Attrs.inc user/imp/tbemd/lib/clang/include/clang/AST/DeclNodes.inc - copied unchanged from r211636, head/lib/clang/include/clang/AST/DeclNodes.inc user/imp/tbemd/lib/clang/include/clang/Basic/AttrList.inc - copied unchanged from r211636, head/lib/clang/include/clang/Basic/AttrList.inc user/imp/tbemd/lib/clang/include/clang/Basic/Version.inc - copied unchanged from r211636, head/lib/clang/include/clang/Basic/Version.inc user/imp/tbemd/lib/clang/include/clang/Basic/arm_neon.inc - copied unchanged from r211636, head/lib/clang/include/clang/Basic/arm_neon.inc user/imp/tbemd/lib/clang/libllvmasmparser/ - copied from r211636, head/lib/clang/libllvmasmparser/ user/imp/tbemd/lib/csu/powerpc64/ - copied from r211636, head/lib/csu/powerpc64/ user/imp/tbemd/lib/libc/gen/aux.c - copied unchanged from r211636, head/lib/libc/gen/aux.c user/imp/tbemd/lib/libc/mips/gen/_ctx_start.S - copied unchanged from r211636, head/lib/libc/mips/gen/_ctx_start.S user/imp/tbemd/lib/libc/posix1e/acl_id_to_name.c - copied unchanged from r211636, head/lib/libc/posix1e/acl_id_to_name.c user/imp/tbemd/lib/libc/powerpc64/ - copied from r211636, head/lib/libc/powerpc64/ user/imp/tbemd/lib/libedit/filecomplete.c - copied unchanged from r211636, head/lib/libedit/filecomplete.c user/imp/tbemd/lib/libedit/filecomplete.h - copied unchanged from r211636, head/lib/libedit/filecomplete.h user/imp/tbemd/lib/libelf/elf_getphdrnum.3 - copied unchanged from r211636, head/lib/libelf/elf_getphdrnum.3 user/imp/tbemd/lib/libelf/elf_getshdrnum.3 - copied unchanged from r211636, head/lib/libelf/elf_getshdrnum.3 user/imp/tbemd/lib/libelf/elf_getshdrstrndx.3 - copied unchanged from r211636, head/lib/libelf/elf_getshdrstrndx.3 user/imp/tbemd/lib/libelf/libelf_ar_util.c - copied unchanged from r211636, head/lib/libelf/libelf_ar_util.c user/imp/tbemd/lib/libkvm/kvm_powerpc64.c - copied unchanged from r211636, head/lib/libkvm/kvm_powerpc64.c user/imp/tbemd/lib/libproc/proc_bkpt.c - copied unchanged from r211636, head/lib/libproc/proc_bkpt.c user/imp/tbemd/lib/libproc/proc_regs.c - copied unchanged from r211636, head/lib/libproc/proc_regs.c user/imp/tbemd/lib/libproc/proc_rtld.c - copied unchanged from r211636, head/lib/libproc/proc_rtld.c user/imp/tbemd/lib/libproc/test/ - copied from r211636, head/lib/libproc/test/ user/imp/tbemd/lib/librtld_db/ - copied from r211636, head/lib/librtld_db/ user/imp/tbemd/lib/libthr/arch/powerpc64/ - copied from r211636, head/lib/libthr/arch/powerpc64/ user/imp/tbemd/lib/libthread_db/arch/powerpc64/ - copied from r211636, head/lib/libthread_db/arch/powerpc64/ user/imp/tbemd/libexec/rtld-elf/powerpc64/ - copied from r211636, head/libexec/rtld-elf/powerpc64/ user/imp/tbemd/secure/lib/libcrypto/opensslconf-powerpc64.h - copied unchanged from r211636, head/secure/lib/libcrypto/opensslconf-powerpc64.h user/imp/tbemd/share/doc/psd/15.yacc/ss10 - copied unchanged from r211636, head/share/doc/psd/15.yacc/ss10 user/imp/tbemd/share/doc/psd/15.yacc/ss11 - copied unchanged from r211636, head/share/doc/psd/15.yacc/ss11 user/imp/tbemd/share/doc/psd/15.yacc/ss_ - copied unchanged from r211636, head/share/doc/psd/15.yacc/ss_ user/imp/tbemd/share/man/man4/aibs.4 - copied unchanged from r211636, head/share/man/man4/aibs.4 user/imp/tbemd/share/man/man4/fdt.4 - copied unchanged from r211636, head/share/man/man4/fdt.4 user/imp/tbemd/share/man/man4/fdtbus.4 - copied unchanged from r211636, head/share/man/man4/fdtbus.4 user/imp/tbemd/share/man/man4/siftr.4 - copied unchanged from r211636, head/share/man/man4/siftr.4 user/imp/tbemd/share/man/man4/simplebus.4 - copied unchanged from r211636, head/share/man/man4/simplebus.4 user/imp/tbemd/share/man/man4/tpm.4 - copied unchanged from r211636, head/share/man/man4/tpm.4 user/imp/tbemd/share/man/man7/c99.7 - copied unchanged from r211636, head/share/man/man7/c99.7 user/imp/tbemd/share/syscons/keymaps/swissgerman.macbook.acc.kbd - copied unchanged from r211636, head/share/syscons/keymaps/swissgerman.macbook.acc.kbd user/imp/tbemd/tools/build/options/WITH_GNU_GREP - copied unchanged from r211636, head/tools/build/options/WITH_GNU_GREP user/imp/tbemd/tools/regression/bin/sh/builtins/break1.0 - copied unchanged from r211636, head/tools/regression/bin/sh/builtins/break1.0 user/imp/tbemd/tools/regression/bin/sh/builtins/break2.0 - copied unchanged from r211636, head/tools/regression/bin/sh/builtins/break2.0 user/imp/tbemd/tools/regression/bin/sh/builtins/break2.0.stdout - copied unchanged from r211636, head/tools/regression/bin/sh/builtins/break2.0.stdout user/imp/tbemd/tools/regression/bin/sh/builtins/break3.0 - copied unchanged from r211636, head/tools/regression/bin/sh/builtins/break3.0 user/imp/tbemd/tools/regression/bin/sh/builtins/eval4.0 - copied unchanged from r211636, head/tools/regression/bin/sh/builtins/eval4.0 user/imp/tbemd/tools/regression/bin/sh/builtins/eval5.0 - copied unchanged from r211636, head/tools/regression/bin/sh/builtins/eval5.0 user/imp/tbemd/tools/regression/bin/sh/builtins/return5.0 - copied unchanged from r211636, head/tools/regression/bin/sh/builtins/return5.0 user/imp/tbemd/tools/regression/bin/sh/expansion/ifs2.0 - copied unchanged from r211636, head/tools/regression/bin/sh/expansion/ifs2.0 user/imp/tbemd/tools/regression/bin/sh/expansion/ifs3.0 - copied unchanged from r211636, head/tools/regression/bin/sh/expansion/ifs3.0 user/imp/tbemd/tools/regression/bin/sh/expansion/pathname3.0 - copied unchanged from r211636, head/tools/regression/bin/sh/expansion/pathname3.0 user/imp/tbemd/tools/regression/bin/sh/expansion/plus-minus4.0 - copied unchanged from r211636, head/tools/regression/bin/sh/expansion/plus-minus4.0 user/imp/tbemd/tools/regression/bin/sh/parser/heredoc7.0 - copied unchanged from r211636, head/tools/regression/bin/sh/parser/heredoc7.0 user/imp/tbemd/tools/regression/bin/sh/parser/heredoc8.0 - copied unchanged from r211636, head/tools/regression/bin/sh/parser/heredoc8.0 user/imp/tbemd/tools/regression/bin/sh/parser/only-redir1.0 - copied unchanged from r211636, head/tools/regression/bin/sh/parser/only-redir1.0 user/imp/tbemd/tools/regression/pjdfstest/ - copied from r211636, head/tools/regression/pjdfstest/ user/imp/tbemd/tools/regression/usr.sbin/newsyslog/ - copied from r211636, head/tools/regression/usr.sbin/newsyslog/ user/imp/tbemd/tools/test/auxinfo/ - copied from r211636, head/tools/test/auxinfo/ user/imp/tbemd/tools/tools/netrate/tcpp/parallelism.csh - copied unchanged from r211636, head/tools/tools/netrate/tcpp/parallelism.csh user/imp/tbemd/tools/tools/netrate/tcpp/runit.pl - copied unchanged from r211636, head/tools/tools/netrate/tcpp/runit.pl user/imp/tbemd/tools/tools/vhba/mptest/ - copied from r211636, head/tools/tools/vhba/mptest/ Deleted: user/imp/tbemd/lib/libcompat/4.1/ascftime.c user/imp/tbemd/lib/libcompat/4.1/cftime.3 user/imp/tbemd/lib/libcompat/4.1/cftime.c user/imp/tbemd/lib/libcompat/4.1/getpw.3 user/imp/tbemd/lib/libcompat/4.1/getpw.c user/imp/tbemd/lib/libcompat/4.3/cfree.3 user/imp/tbemd/lib/libcompat/4.3/cfree.c user/imp/tbemd/sbin/iscontrol/pdu.h user/imp/tbemd/share/doc/psd/15.yacc/ss.. user/imp/tbemd/share/doc/psd/15.yacc/ssA user/imp/tbemd/share/doc/psd/15.yacc/ssB user/imp/tbemd/share/man/man4/acpi_aiboost.4 user/imp/tbemd/tools/build/options/WITHOUT_GNU_GREP user/imp/tbemd/tools/regression/fstest/ Modified: user/imp/tbemd/etc/Makefile user/imp/tbemd/etc/defaults/periodic.conf user/imp/tbemd/etc/gettytab user/imp/tbemd/etc/login.conf user/imp/tbemd/etc/mtree/BSD.include.dist user/imp/tbemd/etc/mtree/BSD.usr.dist user/imp/tbemd/etc/namedb/named.root user/imp/tbemd/etc/netstart user/imp/tbemd/etc/periodic/daily/Makefile user/imp/tbemd/etc/periodic/security/Makefile user/imp/tbemd/etc/rc.d/ipmon user/imp/tbemd/etc/rc.resume user/imp/tbemd/etc/rc.subr user/imp/tbemd/etc/rc.suspend user/imp/tbemd/etc/snmpd.config user/imp/tbemd/games/fortune/datfiles/fortunes user/imp/tbemd/games/fortune/datfiles/fortunes-o.real user/imp/tbemd/games/fortune/datfiles/freebsd-tips user/imp/tbemd/games/grdc/grdc.c user/imp/tbemd/games/pom/pom.6 user/imp/tbemd/games/pom/pom.c user/imp/tbemd/games/random/random.c user/imp/tbemd/games/random/randomize_fd.c user/imp/tbemd/gnu/lib/csu/Makefile user/imp/tbemd/gnu/lib/libdialog/TESTS/check3.c user/imp/tbemd/gnu/lib/libdialog/TESTS/menu3.c user/imp/tbemd/gnu/lib/libdialog/TESTS/radio1.c user/imp/tbemd/gnu/lib/libdialog/TESTS/radio3.c user/imp/tbemd/gnu/lib/libgcc/Makefile user/imp/tbemd/gnu/lib/libobjc/Makefile user/imp/tbemd/gnu/lib/libreadline/history/Makefile user/imp/tbemd/gnu/lib/libreadline/readline/doc/Makefile user/imp/tbemd/gnu/usr.bin/Makefile user/imp/tbemd/gnu/usr.bin/binutils/as/Makefile user/imp/tbemd/gnu/usr.bin/binutils/gdb/Makefile user/imp/tbemd/gnu/usr.bin/binutils/ld/elf32btsmipn32_fbsd.sh user/imp/tbemd/gnu/usr.bin/binutils/ld/elf32ltsmipn32_fbsd.sh user/imp/tbemd/gnu/usr.bin/binutils/libbfd/Makefile user/imp/tbemd/gnu/usr.bin/cc/Makefile.tgt user/imp/tbemd/gnu/usr.bin/cc/cc_tools/Makefile user/imp/tbemd/gnu/usr.bin/cc/include/Makefile user/imp/tbemd/gnu/usr.bin/cvs/contrib/Makefile user/imp/tbemd/gnu/usr.bin/dialog/dialog.1 user/imp/tbemd/gnu/usr.bin/dtc/Makefile user/imp/tbemd/gnu/usr.bin/gdb/doc/Makefile user/imp/tbemd/gnu/usr.bin/gdb/kgdb/kgdb.h user/imp/tbemd/gnu/usr.bin/gdb/kgdb/kld.c user/imp/tbemd/gnu/usr.bin/gdb/kgdb/kthr.c user/imp/tbemd/gnu/usr.bin/gdb/kgdb/trgt_amd64.c user/imp/tbemd/gnu/usr.bin/gdb/kgdb/trgt_i386.c user/imp/tbemd/gnu/usr.bin/gdb/libgdb/fbsd-threads.c user/imp/tbemd/gnu/usr.bin/groff/tmac/mdoc.local user/imp/tbemd/include/Makefile user/imp/tbemd/include/arpa/inet.h user/imp/tbemd/include/histedit.h user/imp/tbemd/include/stdio.h user/imp/tbemd/include/unistd.h user/imp/tbemd/lib/Makefile user/imp/tbemd/lib/bind/config.mk user/imp/tbemd/lib/clang/Makefile user/imp/tbemd/lib/clang/clang.build.mk user/imp/tbemd/lib/clang/include/Makefile user/imp/tbemd/lib/clang/include/llvm/Config/AsmParsers.def user/imp/tbemd/lib/clang/include/llvm/Config/AsmPrinters.def user/imp/tbemd/lib/clang/include/llvm/Config/Disassemblers.def user/imp/tbemd/lib/clang/include/llvm/Config/Targets.def user/imp/tbemd/lib/clang/include/llvm/Config/config.h user/imp/tbemd/lib/clang/libclanganalysis/Makefile user/imp/tbemd/lib/clang/libclangast/Makefile user/imp/tbemd/lib/clang/libclangbasic/Makefile user/imp/tbemd/lib/clang/libclangchecker/Makefile user/imp/tbemd/lib/clang/libclangcodegen/Makefile user/imp/tbemd/lib/clang/libclangdriver/Makefile user/imp/tbemd/lib/clang/libclangfrontend/Makefile user/imp/tbemd/lib/clang/libclanglex/Makefile user/imp/tbemd/lib/clang/libclangparse/Makefile user/imp/tbemd/lib/clang/libclangrewrite/Makefile user/imp/tbemd/lib/clang/libclangsema/Makefile user/imp/tbemd/lib/clang/libllvmanalysis/Makefile user/imp/tbemd/lib/clang/libllvmarmasmparser/Makefile user/imp/tbemd/lib/clang/libllvmarmasmprinter/Makefile user/imp/tbemd/lib/clang/libllvmarmcodegen/Makefile user/imp/tbemd/lib/clang/libllvmarminfo/Makefile user/imp/tbemd/lib/clang/libllvmasmprinter/Makefile user/imp/tbemd/lib/clang/libllvmbitreader/Makefile user/imp/tbemd/lib/clang/libllvmbitwriter/Makefile user/imp/tbemd/lib/clang/libllvmcodegen/Makefile user/imp/tbemd/lib/clang/libllvmcore/Makefile user/imp/tbemd/lib/clang/libllvminstcombine/Makefile user/imp/tbemd/lib/clang/libllvmipa/Makefile user/imp/tbemd/lib/clang/libllvmipo/Makefile user/imp/tbemd/lib/clang/libllvmmc/Makefile user/imp/tbemd/lib/clang/libllvmmcparser/Makefile user/imp/tbemd/lib/clang/libllvmmipsasmprinter/Makefile user/imp/tbemd/lib/clang/libllvmmipscodegen/Makefile user/imp/tbemd/lib/clang/libllvmmipsinfo/Makefile user/imp/tbemd/lib/clang/libllvmpowerpcasmprinter/Makefile user/imp/tbemd/lib/clang/libllvmpowerpccodegen/Makefile user/imp/tbemd/lib/clang/libllvmpowerpcinfo/Makefile user/imp/tbemd/lib/clang/libllvmscalaropts/Makefile user/imp/tbemd/lib/clang/libllvmselectiondag/Makefile user/imp/tbemd/lib/clang/libllvmsupport/Makefile user/imp/tbemd/lib/clang/libllvmsystem/Makefile user/imp/tbemd/lib/clang/libllvmtarget/Makefile user/imp/tbemd/lib/clang/libllvmtransformutils/Makefile user/imp/tbemd/lib/clang/libllvmx86asmparser/Makefile user/imp/tbemd/lib/clang/libllvmx86asmprinter/Makefile user/imp/tbemd/lib/clang/libllvmx86codegen/Makefile user/imp/tbemd/lib/clang/libllvmx86info/Makefile user/imp/tbemd/lib/csu/i386-elf/crt1_s.S user/imp/tbemd/lib/libarchive/archive_entry.3 user/imp/tbemd/lib/libarchive/archive_read.3 user/imp/tbemd/lib/libarchive/archive_read_disk.3 user/imp/tbemd/lib/libarchive/archive_util.3 user/imp/tbemd/lib/libarchive/archive_write.3 user/imp/tbemd/lib/libarchive/archive_write_disk.3 user/imp/tbemd/lib/libarchive/libarchive-formats.5 user/imp/tbemd/lib/libarchive/libarchive.3 user/imp/tbemd/lib/libarchive/libarchive_internals.3 user/imp/tbemd/lib/libarchive/tar.5 user/imp/tbemd/lib/libbluetooth/bluetooth.3 user/imp/tbemd/lib/libc/Makefile user/imp/tbemd/lib/libc/compat-43/sigcompat.c user/imp/tbemd/lib/libc/gen/Makefile.inc user/imp/tbemd/lib/libc/gen/Symbol.map user/imp/tbemd/lib/libc/gen/__getosreldate.c user/imp/tbemd/lib/libc/gen/_thread_init.c user/imp/tbemd/lib/libc/gen/dlopen.3 user/imp/tbemd/lib/libc/gen/getcap.3 user/imp/tbemd/lib/libc/gen/getosreldate.c user/imp/tbemd/lib/libc/gen/getpagesize.c user/imp/tbemd/lib/libc/gen/getpagesizes.c user/imp/tbemd/lib/libc/gen/getutxent.3 user/imp/tbemd/lib/libc/gmon/gmon.c user/imp/tbemd/lib/libc/include/libc_private.h user/imp/tbemd/lib/libc/locale/isgraph.3 user/imp/tbemd/lib/libc/locale/mbrtowc.3 user/imp/tbemd/lib/libc/locale/setlocale.3 user/imp/tbemd/lib/libc/locale/tolower.3 user/imp/tbemd/lib/libc/locale/toupper.3 user/imp/tbemd/lib/libc/mips/Makefile.inc user/imp/tbemd/lib/libc/mips/SYS.h user/imp/tbemd/lib/libc/mips/Symbol.map user/imp/tbemd/lib/libc/mips/gen/Makefile.inc user/imp/tbemd/lib/libc/mips/gen/_setjmp.S user/imp/tbemd/lib/libc/mips/gen/makecontext.c user/imp/tbemd/lib/libc/mips/gen/setjmp.S user/imp/tbemd/lib/libc/mips/gen/sigsetjmp.S user/imp/tbemd/lib/libc/mips/string/bcmp.S user/imp/tbemd/lib/libc/mips/string/bcopy.S user/imp/tbemd/lib/libc/mips/string/bzero.S user/imp/tbemd/lib/libc/mips/string/ffs.S user/imp/tbemd/lib/libc/mips/string/index.S user/imp/tbemd/lib/libc/mips/string/rindex.S user/imp/tbemd/lib/libc/mips/string/strcmp.S user/imp/tbemd/lib/libc/mips/string/strlen.S user/imp/tbemd/lib/libc/mips/sys/Makefile.inc user/imp/tbemd/lib/libc/mips/sys/Ovfork.S user/imp/tbemd/lib/libc/mips/sys/brk.S user/imp/tbemd/lib/libc/mips/sys/cerror.S user/imp/tbemd/lib/libc/mips/sys/exect.S user/imp/tbemd/lib/libc/mips/sys/fork.S user/imp/tbemd/lib/libc/mips/sys/pipe.S user/imp/tbemd/lib/libc/mips/sys/ptrace.S user/imp/tbemd/lib/libc/mips/sys/sbrk.S user/imp/tbemd/lib/libc/net/gethostbydns.c user/imp/tbemd/lib/libc/net/gethostbyht.c user/imp/tbemd/lib/libc/net/gethostbynis.c user/imp/tbemd/lib/libc/net/gethostnamadr.c user/imp/tbemd/lib/libc/net/getnetbydns.c user/imp/tbemd/lib/libc/net/getnetbyht.c user/imp/tbemd/lib/libc/net/getnetbynis.c user/imp/tbemd/lib/libc/net/getnetnamadr.c user/imp/tbemd/lib/libc/net/getproto.c user/imp/tbemd/lib/libc/net/getprotoent.c user/imp/tbemd/lib/libc/net/getprotoname.c user/imp/tbemd/lib/libc/net/inet6_rth_space.3 user/imp/tbemd/lib/libc/net/sctp_getaddrlen.3 user/imp/tbemd/lib/libc/net/sctp_recvmsg.3 user/imp/tbemd/lib/libc/net/sctp_send.3 user/imp/tbemd/lib/libc/net/sctp_sendmsg.3 user/imp/tbemd/lib/libc/net/sctp_sys_calls.c user/imp/tbemd/lib/libc/nls/ru_RU.KOI8-R.msg (contents, props changed) user/imp/tbemd/lib/libc/posix1e/Makefile.inc user/imp/tbemd/lib/libc/posix1e/acl_from_text.c user/imp/tbemd/lib/libc/posix1e/acl_from_text_nfs4.c user/imp/tbemd/lib/libc/posix1e/acl_strip_np.3 user/imp/tbemd/lib/libc/posix1e/acl_support.c user/imp/tbemd/lib/libc/posix1e/acl_support.h user/imp/tbemd/lib/libc/posix1e/mac.3 user/imp/tbemd/lib/libc/rpc/publickey.3 user/imp/tbemd/lib/libc/stdlib/atexit.c user/imp/tbemd/lib/libc/stdlib/getopt.3 user/imp/tbemd/lib/libc/stdlib/getopt_long.3 user/imp/tbemd/lib/libc/stdlib/malloc.3 user/imp/tbemd/lib/libc/stdlib/malloc.c user/imp/tbemd/lib/libc/stdlib/realpath.3 user/imp/tbemd/lib/libc/sys/getfh.2 user/imp/tbemd/lib/libc/sys/getgroups.2 user/imp/tbemd/lib/libc/sys/jail.2 user/imp/tbemd/lib/libc/sys/kldstat.2 user/imp/tbemd/lib/libc/sys/kqueue.2 user/imp/tbemd/lib/libc/sys/mlock.2 user/imp/tbemd/lib/libc/sys/mlockall.2 user/imp/tbemd/lib/libc/sys/ntp_adjtime.2 user/imp/tbemd/lib/libc/sys/open.2 user/imp/tbemd/lib/libc/sys/ptrace.2 user/imp/tbemd/lib/libc/sys/sctp_peeloff.2 user/imp/tbemd/lib/libc/sys/shm_open.2 user/imp/tbemd/lib/libc/sys/stack_protector.c user/imp/tbemd/lib/libcam/cam.3 user/imp/tbemd/lib/libcompat/4.1/ftime.c user/imp/tbemd/lib/libcompat/Makefile user/imp/tbemd/lib/libdevstat/devstat.3 user/imp/tbemd/lib/libedit/Makefile user/imp/tbemd/lib/libedit/editline.3 user/imp/tbemd/lib/libefi/libefi.3 user/imp/tbemd/lib/libelf/Makefile user/imp/tbemd/lib/libelf/Version.map user/imp/tbemd/lib/libelf/_libelf.h user/imp/tbemd/lib/libelf/elf.3 user/imp/tbemd/lib/libelf/elf_begin.3 user/imp/tbemd/lib/libelf/elf_begin.c user/imp/tbemd/lib/libelf/elf_data.c user/imp/tbemd/lib/libelf/elf_getbase.3 user/imp/tbemd/lib/libelf/elf_getbase.c user/imp/tbemd/lib/libelf/elf_getdata.3 user/imp/tbemd/lib/libelf/elf_getphnum.3 user/imp/tbemd/lib/libelf/elf_getshnum.3 user/imp/tbemd/lib/libelf/elf_getshstrndx.3 user/imp/tbemd/lib/libelf/elf_phnum.c user/imp/tbemd/lib/libelf/elf_scn.c user/imp/tbemd/lib/libelf/elf_shnum.c user/imp/tbemd/lib/libelf/elf_shstrndx.c user/imp/tbemd/lib/libelf/elf_strptr.3 user/imp/tbemd/lib/libelf/elf_types.m4 user/imp/tbemd/lib/libelf/elf_update.c user/imp/tbemd/lib/libelf/gelf_ehdr.c user/imp/tbemd/lib/libelf/gelf_fsize.3 user/imp/tbemd/lib/libelf/gelf_phdr.c user/imp/tbemd/lib/libelf/gelf_shdr.c user/imp/tbemd/lib/libelf/libelf.h user/imp/tbemd/lib/libelf/libelf_align.c user/imp/tbemd/lib/libelf/libelf_ar.c user/imp/tbemd/lib/libelf/libelf_convert.m4 user/imp/tbemd/lib/libelf/libelf_data.c user/imp/tbemd/lib/libelf/libelf_ehdr.c user/imp/tbemd/lib/libelf/libelf_fsize.m4 user/imp/tbemd/lib/libelf/libelf_msize.m4 user/imp/tbemd/lib/libelf/libelf_phdr.c user/imp/tbemd/lib/libelf/libelf_xlate.c user/imp/tbemd/lib/libexpat/Makefile user/imp/tbemd/lib/libfetch/common.c user/imp/tbemd/lib/libfetch/http.c user/imp/tbemd/lib/libgeom/libgeom.3 user/imp/tbemd/lib/libgpib/gpib.3 user/imp/tbemd/lib/libgssapi/gss_accept_sec_context.3 user/imp/tbemd/lib/libgssapi/gss_acquire_cred.3 user/imp/tbemd/lib/libgssapi/gssapi.3 user/imp/tbemd/lib/libjail/jail.c user/imp/tbemd/lib/libjail/jail_getid.c user/imp/tbemd/lib/libkse/Makefile user/imp/tbemd/lib/libkse/arch/amd64/Makefile.inc user/imp/tbemd/lib/libkse/arch/arm/Makefile.inc user/imp/tbemd/lib/libkse/arch/i386/Makefile.inc user/imp/tbemd/lib/libkse/arch/ia64/Makefile.inc user/imp/tbemd/lib/libkse/arch/powerpc/Makefile.inc user/imp/tbemd/lib/libkse/arch/sparc64/Makefile.inc user/imp/tbemd/lib/libkvm/kvm_getloadavg.3 user/imp/tbemd/lib/libkvm/kvm_proc.c user/imp/tbemd/lib/liblzma/config.h user/imp/tbemd/lib/libmagic/Makefile user/imp/tbemd/lib/libmemstat/libmemstat.3 user/imp/tbemd/lib/libmemstat/memstat.c user/imp/tbemd/lib/libmemstat/memstat.h user/imp/tbemd/lib/libmemstat/memstat_internal.h user/imp/tbemd/lib/libmemstat/memstat_uma.c user/imp/tbemd/lib/libpmc/pmc.3 user/imp/tbemd/lib/libpmc/pmc.corei7.3 user/imp/tbemd/lib/libpmc/pmc.corei7uc.3 user/imp/tbemd/lib/libpmc/pmc.mips.3 user/imp/tbemd/lib/libpmc/pmc.westmere.3 user/imp/tbemd/lib/libpmc/pmc.westmereuc.3 user/imp/tbemd/lib/libpmc/pmc.xscale.3 user/imp/tbemd/lib/libpmc/pmc_event_names_of_class.3 user/imp/tbemd/lib/libpmc/pmc_read.3 user/imp/tbemd/lib/libproc/Makefile user/imp/tbemd/lib/libproc/_libproc.h user/imp/tbemd/lib/libproc/libproc.h user/imp/tbemd/lib/libproc/proc_create.c user/imp/tbemd/lib/libproc/proc_sym.c user/imp/tbemd/lib/libproc/proc_util.c user/imp/tbemd/lib/libradius/libradius.3 user/imp/tbemd/lib/librpcsec_gss/rpcsec_gss.3 user/imp/tbemd/lib/libsdp/sdp.3 user/imp/tbemd/lib/libstand/Makefile user/imp/tbemd/lib/libstand/printf.c user/imp/tbemd/lib/libthr/thread/thr_cancel.c user/imp/tbemd/lib/libthr/thread/thr_cond.c user/imp/tbemd/lib/libthr/thread/thr_exit.c user/imp/tbemd/lib/libthr/thread/thr_join.c user/imp/tbemd/lib/libthr/thread/thr_private.h user/imp/tbemd/lib/libthr/thread/thr_sig.c user/imp/tbemd/lib/libthr/thread/thr_syscalls.c user/imp/tbemd/lib/libthread_db/Symbol.map user/imp/tbemd/lib/libthread_db/libpthread_db.c user/imp/tbemd/lib/libthread_db/libthr_db.c user/imp/tbemd/lib/libthread_db/thread_db.c user/imp/tbemd/lib/libthread_db/thread_db.h user/imp/tbemd/lib/libthread_db/thread_db_int.h user/imp/tbemd/lib/libusb/libusb.3 user/imp/tbemd/lib/libusb/libusb20.3 user/imp/tbemd/lib/libutil/expand_number.3 user/imp/tbemd/lib/libutil/expand_number.c user/imp/tbemd/lib/libutil/kinfo_getfile.3 user/imp/tbemd/lib/libutil/kinfo_getvmmap.3 user/imp/tbemd/lib/libutil/kld.c user/imp/tbemd/lib/libutil/libutil.h user/imp/tbemd/lib/libutil/login_class.c user/imp/tbemd/lib/libutil/property.3 user/imp/tbemd/lib/libutil/pw_util.c user/imp/tbemd/lib/libutil/quotafile.3 user/imp/tbemd/lib/msun/Makefile user/imp/tbemd/lib/msun/Symbol.map user/imp/tbemd/lib/msun/man/fdim.3 user/imp/tbemd/lib/msun/src/math.h user/imp/tbemd/lib/msun/src/s_isnan.c user/imp/tbemd/libexec/rtld-elf/Makefile user/imp/tbemd/libexec/rtld-elf/Symbol.map user/imp/tbemd/libexec/rtld-elf/malloc.c user/imp/tbemd/libexec/rtld-elf/mips/reloc.c user/imp/tbemd/libexec/rtld-elf/mips/rtld_start.S user/imp/tbemd/libexec/rtld-elf/rtld.c user/imp/tbemd/libexec/talkd/announce.c user/imp/tbemd/libexec/talkd/table.c user/imp/tbemd/libexec/ypxfr/ypxfr.8 user/imp/tbemd/release/Makefile user/imp/tbemd/release/picobsd/qemu/PICOBSD user/imp/tbemd/release/picobsd/qemu/crunch.conf user/imp/tbemd/release/picobsd/tinyware/login/pico-login.c user/imp/tbemd/release/scripts/ports-install.sh user/imp/tbemd/sbin/bsdlabel/bsdlabel.c user/imp/tbemd/sbin/camcontrol/camcontrol.8 user/imp/tbemd/sbin/camcontrol/camcontrol.c user/imp/tbemd/sbin/camcontrol/modeedit.c user/imp/tbemd/sbin/ccdconfig/ccdconfig.c user/imp/tbemd/sbin/devd/devd.cc user/imp/tbemd/sbin/devd/devd.conf.5 user/imp/tbemd/sbin/devd/devd.hh user/imp/tbemd/sbin/dhclient/dhclient.c user/imp/tbemd/sbin/fsck/fsck.8 user/imp/tbemd/sbin/fsck_ffs/fsck_ffs.8 user/imp/tbemd/sbin/fsck_ffs/main.c user/imp/tbemd/sbin/fsck_ffs/suj.c user/imp/tbemd/sbin/fsck_msdosfs/Makefile user/imp/tbemd/sbin/fsck_msdosfs/boot.c user/imp/tbemd/sbin/fsck_msdosfs/check.c user/imp/tbemd/sbin/fsck_msdosfs/dir.c user/imp/tbemd/sbin/fsck_msdosfs/fat.c user/imp/tbemd/sbin/gbde/Makefile user/imp/tbemd/sbin/gbde/gbde.c user/imp/tbemd/sbin/geom/class/multipath/geom_multipath.c user/imp/tbemd/sbin/geom/class/part/geom_part.c user/imp/tbemd/sbin/geom/class/part/gpart.8 user/imp/tbemd/sbin/geom/class/sched/gsched.8 user/imp/tbemd/sbin/geom/class/virstor/geom_virstor.c user/imp/tbemd/sbin/geom/core/geom.8 user/imp/tbemd/sbin/geom/core/geom.c user/imp/tbemd/sbin/geom/core/geom.h user/imp/tbemd/sbin/geom/misc/subr.c user/imp/tbemd/sbin/geom/misc/subr.h user/imp/tbemd/sbin/gvinum/gvinum.c user/imp/tbemd/sbin/hastctl/hastctl.8 user/imp/tbemd/sbin/hastctl/hastctl.c user/imp/tbemd/sbin/hastd/control.c user/imp/tbemd/sbin/hastd/control.h user/imp/tbemd/sbin/hastd/ebuf.c user/imp/tbemd/sbin/hastd/hast.conf.5 user/imp/tbemd/sbin/hastd/hast.h user/imp/tbemd/sbin/hastd/hast_proto.c user/imp/tbemd/sbin/hastd/hastd.c user/imp/tbemd/sbin/hastd/hastd.h user/imp/tbemd/sbin/hastd/metadata.c user/imp/tbemd/sbin/hastd/nv.c user/imp/tbemd/sbin/hastd/parse.y user/imp/tbemd/sbin/hastd/pjdlog.c user/imp/tbemd/sbin/hastd/pjdlog.h user/imp/tbemd/sbin/hastd/primary.c user/imp/tbemd/sbin/hastd/proto.c user/imp/tbemd/sbin/hastd/proto_common.c user/imp/tbemd/sbin/hastd/proto_impl.h user/imp/tbemd/sbin/hastd/proto_socketpair.c user/imp/tbemd/sbin/hastd/proto_tcp4.c user/imp/tbemd/sbin/hastd/proto_uds.c user/imp/tbemd/sbin/hastd/secondary.c user/imp/tbemd/sbin/ifconfig/af_link.c user/imp/tbemd/sbin/ifconfig/ifconfig.8 user/imp/tbemd/sbin/ifconfig/ifconfig.c user/imp/tbemd/sbin/ipfw/dummynet.c user/imp/tbemd/sbin/ipfw/ipfw.8 user/imp/tbemd/sbin/iscontrol/Makefile user/imp/tbemd/sbin/iscontrol/auth_subr.c user/imp/tbemd/sbin/iscontrol/config.c user/imp/tbemd/sbin/iscontrol/fsm.c user/imp/tbemd/sbin/iscontrol/iscontrol.8 user/imp/tbemd/sbin/iscontrol/iscontrol.c user/imp/tbemd/sbin/iscontrol/iscontrol.h user/imp/tbemd/sbin/iscontrol/iscsi.conf.5 user/imp/tbemd/sbin/iscontrol/login.c user/imp/tbemd/sbin/iscontrol/misc.c user/imp/tbemd/sbin/iscontrol/pdu.c user/imp/tbemd/sbin/kldload/kldload.8 user/imp/tbemd/sbin/kldload/kldload.c user/imp/tbemd/sbin/mca/mca.c user/imp/tbemd/sbin/newfs_msdos/newfs_msdos.8 user/imp/tbemd/sbin/ping/ping.c user/imp/tbemd/sbin/ping6/ping6.8 user/imp/tbemd/sbin/ping6/ping6.c user/imp/tbemd/sbin/reboot/boot_i386.8 user/imp/tbemd/sbin/sunlabel/sunlabel.8 user/imp/tbemd/secure/lib/libcrypto/Makefile user/imp/tbemd/secure/lib/libcrypto/opensslconf-mips.h user/imp/tbemd/share/doc/psd/15.yacc/Makefile user/imp/tbemd/share/examples/etc/make.conf user/imp/tbemd/share/examples/kld/syscall/test/call.c user/imp/tbemd/share/examples/perfmon/perfmon.c user/imp/tbemd/share/man/man1/builtin.1 user/imp/tbemd/share/man/man3/pthread_join.3 user/imp/tbemd/share/man/man3/queue.3 user/imp/tbemd/share/man/man3/siginfo.3 user/imp/tbemd/share/man/man3/tree.3 user/imp/tbemd/share/man/man4/Makefile user/imp/tbemd/share/man/man4/ae.4 user/imp/tbemd/share/man/man4/alc.4 user/imp/tbemd/share/man/man4/asmc.4 user/imp/tbemd/share/man/man4/ata.4 user/imp/tbemd/share/man/man4/ath.4 user/imp/tbemd/share/man/man4/bge.4 user/imp/tbemd/share/man/man4/bktr.4 user/imp/tbemd/share/man/man4/blackhole.4 user/imp/tbemd/share/man/man4/bpf.4 user/imp/tbemd/share/man/man4/bridge.4 user/imp/tbemd/share/man/man4/bt.4 user/imp/tbemd/share/man/man4/bwi.4 user/imp/tbemd/share/man/man4/cmx.4 user/imp/tbemd/share/man/man4/dc.4 user/imp/tbemd/share/man/man4/enc.4 user/imp/tbemd/share/man/man4/gbde.4 user/imp/tbemd/share/man/man4/gre.4 user/imp/tbemd/share/man/man4/hwpmc.4 user/imp/tbemd/share/man/man4/icmp6.4 user/imp/tbemd/share/man/man4/iic.4 user/imp/tbemd/share/man/man4/io.4 user/imp/tbemd/share/man/man4/ip.4 user/imp/tbemd/share/man/man4/ipsec.4 user/imp/tbemd/share/man/man4/isp.4 user/imp/tbemd/share/man/man4/iwn.4 user/imp/tbemd/share/man/man4/iwnfw.4 user/imp/tbemd/share/man/man4/ksyms.4 user/imp/tbemd/share/man/man4/linux.4 user/imp/tbemd/share/man/man4/lmc.4 user/imp/tbemd/share/man/man4/mac_lomac.4 user/imp/tbemd/share/man/man4/man4.i386/glxsb.4 user/imp/tbemd/share/man/man4/meteor.4 user/imp/tbemd/share/man/man4/mk48txx.4 user/imp/tbemd/share/man/man4/net80211.4 user/imp/tbemd/share/man/man4/netgraph.4 user/imp/tbemd/share/man/man4/ng_atm.4 user/imp/tbemd/share/man/man4/ng_btsocket.4 user/imp/tbemd/share/man/man4/ng_car.4 user/imp/tbemd/share/man/man4/ngatmbase.4 user/imp/tbemd/share/man/man4/pcii.4 user/imp/tbemd/share/man/man4/pcm.4 user/imp/tbemd/share/man/man4/sctp.4 user/imp/tbemd/share/man/man4/snd_hda.4 user/imp/tbemd/share/man/man4/termios.4 user/imp/tbemd/share/man/man4/textdump.4 user/imp/tbemd/share/man/man4/u3g.4 user/imp/tbemd/share/man/man4/uep.4 user/imp/tbemd/share/man/man4/uhso.4 user/imp/tbemd/share/man/man4/vpo.4 user/imp/tbemd/share/man/man5/device.hints.5 user/imp/tbemd/share/man/man5/mqueuefs.5 user/imp/tbemd/share/man/man5/periodic.conf.5 user/imp/tbemd/share/man/man5/rc.conf.5 user/imp/tbemd/share/man/man5/src.conf.5 user/imp/tbemd/share/man/man7/Makefile user/imp/tbemd/share/man/man7/bsd.snmpmod.mk.7 user/imp/tbemd/share/man/man7/tuning.7 user/imp/tbemd/share/man/man9/BUS_NEW_PASS.9 user/imp/tbemd/share/man/man9/DEVICE_PROBE.9 user/imp/tbemd/share/man/man9/Makefile user/imp/tbemd/share/man/man9/VFS_VGET.9 user/imp/tbemd/share/man/man9/VOP_LISTEXTATTR.9 user/imp/tbemd/share/man/man9/VOP_VPTOCNP.9 user/imp/tbemd/share/man/man9/alloc_unr.9 user/imp/tbemd/share/man/man9/bios.9 user/imp/tbemd/share/man/man9/bus_generic_new_pass.9 user/imp/tbemd/share/man/man9/bus_set_pass.9 user/imp/tbemd/share/man/man9/crypto.9 user/imp/tbemd/share/man/man9/g_geom.9 user/imp/tbemd/share/man/man9/g_wither_geom.9 user/imp/tbemd/share/man/man9/ieee80211.9 user/imp/tbemd/share/man/man9/ieee80211_vap.9 user/imp/tbemd/share/man/man9/ifnet.9 user/imp/tbemd/share/man/man9/insmntque.9 user/imp/tbemd/share/man/man9/kproc.9 user/imp/tbemd/share/man/man9/locking.9 user/imp/tbemd/share/man/man9/make_dev.9 user/imp/tbemd/share/man/man9/mbuf.9 user/imp/tbemd/share/man/man9/memguard.9 user/imp/tbemd/share/man/man9/netisr.9 user/imp/tbemd/share/man/man9/rman.9 user/imp/tbemd/share/man/man9/runqueue.9 user/imp/tbemd/share/man/man9/sglist.9 user/imp/tbemd/share/man/man9/style.9 user/imp/tbemd/share/man/man9/taskqueue.9 user/imp/tbemd/share/man/man9/timeout.9 user/imp/tbemd/share/man/man9/usbdi.9 user/imp/tbemd/share/man/man9/vfs_busy.9 user/imp/tbemd/share/man/man9/vfs_mountedfrom.9 user/imp/tbemd/share/man/man9/vfs_unbusy.9 user/imp/tbemd/share/man/man9/vm_page_alloc.9 user/imp/tbemd/share/man/man9/vm_page_bits.9 user/imp/tbemd/share/misc/bsd-family-tree user/imp/tbemd/share/misc/committers-doc.dot user/imp/tbemd/share/misc/committers-ports.dot user/imp/tbemd/share/misc/committers-src.dot user/imp/tbemd/share/mk/Makefile user/imp/tbemd/share/mk/bsd.cpu.mk user/imp/tbemd/share/mk/bsd.dep.mk user/imp/tbemd/share/mk/bsd.endian.mk user/imp/tbemd/share/mk/bsd.lib.mk user/imp/tbemd/share/mk/bsd.libnames.mk user/imp/tbemd/share/mk/bsd.own.mk user/imp/tbemd/share/mk/bsd.prog.mk user/imp/tbemd/share/mk/bsd.sys.mk user/imp/tbemd/share/mk/sys.mk user/imp/tbemd/share/syscons/keymaps/INDEX.keymaps user/imp/tbemd/share/syscons/keymaps/Makefile user/imp/tbemd/share/termcap/termcap.5 user/imp/tbemd/share/termcap/termcap.src user/imp/tbemd/share/timedef/fr_FR.ISO8859-1.src user/imp/tbemd/share/timedef/fr_FR.UTF-8.src user/imp/tbemd/tools/build/mk/OptionalObsoleteFiles.inc user/imp/tbemd/tools/debugscripts/README user/imp/tbemd/tools/regression/bin/sh/builtins/command3.0 user/imp/tbemd/tools/regression/bin/sh/builtins/command5.0 user/imp/tbemd/tools/regression/bin/sh/builtins/command6.0 user/imp/tbemd/tools/regression/bin/sh/builtins/fc1.0 user/imp/tbemd/tools/regression/bin/sh/builtins/fc2.0 user/imp/tbemd/tools/regression/bin/sh/execution/func2.0 user/imp/tbemd/tools/regression/bin/sh/execution/redir1.0 user/imp/tbemd/tools/regression/bin/sh/execution/redir2.0 user/imp/tbemd/tools/regression/bin/sh/expansion/arith2.0 user/imp/tbemd/tools/regression/bin/sh/parser/heredoc2.0 user/imp/tbemd/tools/regression/bin/sh/set-e/elif1.0 user/imp/tbemd/tools/regression/bin/sh/set-e/elif2.0 user/imp/tbemd/tools/regression/bin/sh/set-e/if1.0 user/imp/tbemd/tools/regression/bin/sh/set-e/if3.0 user/imp/tbemd/tools/regression/bin/sh/set-e/while1.0 user/imp/tbemd/tools/regression/bin/sh/set-e/while2.0 user/imp/tbemd/tools/regression/usr.sbin/Makefile user/imp/tbemd/tools/test/dtrace/Makefile user/imp/tbemd/tools/tools/nanobsd/nanobsd.sh user/imp/tbemd/tools/tools/ncpus/biosmptable.c user/imp/tbemd/tools/tools/netrate/tcpp/README user/imp/tbemd/tools/tools/tinybsd/conf/default/TINYBSD user/imp/tbemd/tools/tools/tinybsd/conf/vpn/TINYBSD user/imp/tbemd/tools/tools/vhba/Makefile user/imp/tbemd/tools/tools/vhba/vhba.c Directory Properties: user/imp/tbemd/lib/libc/ (props changed) user/imp/tbemd/lib/libc/stdtime/ (props changed) user/imp/tbemd/lib/libutil/ (props changed) user/imp/tbemd/lib/libz/ (props changed) user/imp/tbemd/sbin/ (props changed) user/imp/tbemd/sbin/ipfw/ (props changed) user/imp/tbemd/share/zoneinfo/ (props changed) Modified: user/imp/tbemd/etc/Makefile ============================================================================== --- user/imp/tbemd/etc/Makefile Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/etc/Makefile Sun Aug 22 21:44:05 2010 (r211652) @@ -22,8 +22,12 @@ BIN1= auth.conf \ .if exists(${.CURDIR}/etc.${MACHINE}/ttys) BIN1+= etc.${MACHINE}/ttys -.else +.elif exists(${.CURDIR}/etc.${MACHINE_ARCH}/ttys) +BIN1+= etc.${MACHINE_ARCH}/ttys +.elif exists(${.CURDIR}/etc.${MACHINE_CPUARCH}/ttys) BIN1+= etc.${MACHINE_CPUARCH}/ttys +.else +.error etc.MACHINE/ttys missing .endif OPENBSMDIR= ${.CURDIR}/../contrib/openbsm @@ -249,11 +253,13 @@ distribution: ${DESTDIR}/var/crash cd ${.CURDIR}/..; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ ${FREEBSD} ${DESTDIR}/ +.if ${MK_BOOT} != "no" .if exists(${.CURDIR}/../sys/${MACHINE}/conf/GENERIC.hints) ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ ${.CURDIR}/../sys/${MACHINE}/conf/GENERIC.hints \ ${DESTDIR}/boot/device.hints .endif +.endif distrib-dirs: mtree -eU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.root.dist -p ${DESTDIR}/ Modified: user/imp/tbemd/etc/defaults/periodic.conf ============================================================================== --- user/imp/tbemd/etc/defaults/periodic.conf Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/etc/defaults/periodic.conf Sun Aug 22 21:44:05 2010 (r211652) @@ -136,6 +136,9 @@ daily_status_named_usedns="YES" # DNS # 480.status-ntpd daily_status_ntpd_enable="NO" # Check NTP status +# 490.status-pkg-changes +daily_status_pkg_changes_enable="NO" # Show package changes + # 500.queuerun daily_queuerun_enable="YES" # Run mail queue daily_submit_queuerun="YES" # Also submit queue @@ -171,6 +174,9 @@ daily_status_security_passwdless_enable= # 410.logincheck daily_status_security_logincheck_enable="YES" +# 460.chkportsum +daily_status_security_chkportsum_enable="NO" # Check ports w/ wrong checksum + # 500.ipfwdenied daily_status_security_ipfwdenied_enable="YES" Modified: user/imp/tbemd/etc/gettytab ============================================================================== --- user/imp/tbemd/etc/gettytab Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/etc/gettytab Sun Aug 22 21:44:05 2010 (r211652) @@ -165,7 +165,7 @@ P|Pc|Pc console:\ :ht:np:sp#9600: # -# Wierdo special case for fast crt's with hardcopy devices +# Weirdo special case for fast crt's with hardcopy devices # 8|T9600|CRT with hardcopy:\ :nx=T300:tc=9600-baud: Modified: user/imp/tbemd/etc/login.conf ============================================================================== --- user/imp/tbemd/etc/login.conf Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/etc/login.conf Sun Aug 22 21:44:05 2010 (r211652) @@ -228,7 +228,7 @@ russian|Russian Users Accounts:\ # # ## -## The dialer class should be used for a dialup PPP/SLIP accounts +## The dialer class should be used for a dialup PPP account ## Welcome messages/news suppressed ## #dialer:\ @@ -247,7 +247,7 @@ russian|Russian Users Accounts:\ # # ## -## Site full-time 24/7 PPP/SLIP connections +## Site full-time 24/7 PPP connection ## - no time accounting, restricted to access via dialin lines ## #site:\ @@ -306,11 +306,6 @@ russian|Russian Users Accounts:\ # :tc=subscriber: # # -#subslip|SLIP Subscriber Accounts:\ -# :tc=dialer:\ -# :tc=subscriber: -# -# #subshell|Shell Subscriber Accounts:\ # :tc=subscriber: # Modified: user/imp/tbemd/etc/mtree/BSD.include.dist ============================================================================== --- user/imp/tbemd/etc/mtree/BSD.include.dist Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/etc/mtree/BSD.include.dist Sun Aug 22 21:44:05 2010 (r211652) @@ -84,7 +84,7 @@ .. .. clang - 2.0 + 2.8 .. .. crypto Modified: user/imp/tbemd/etc/mtree/BSD.usr.dist ============================================================================== --- user/imp/tbemd/etc/mtree/BSD.usr.dist Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/etc/mtree/BSD.usr.dist Sun Aug 22 21:44:05 2010 (r211652) @@ -261,6 +261,8 @@ .. nwclient .. + pc-sysinstall + .. perfmon .. pf @@ -1226,6 +1228,20 @@ .. .. .. + pc-sysinstall + backend + .. + backend-partmanager + .. + backend-query + .. + conf + license + .. + .. + doc + .. + .. security .. sendmail Modified: user/imp/tbemd/etc/namedb/named.root ============================================================================== --- user/imp/tbemd/etc/namedb/named.root Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/etc/namedb/named.root Sun Aug 22 21:44:05 2010 (r211652) @@ -13,8 +13,8 @@ ; on server FTP.INTERNIC.NET ; -OR- RS.INTERNIC.NET ; -; last update: Dec 12, 2008 -; related version of root zone: 2008121200 +; last update: Jun 17, 2010 +; related version of root zone: 2010061700 ; ; formerly NS.INTERNIC.NET ; @@ -63,6 +63,7 @@ H.ROOT-SERVERS.NET. 3600000 AA ; . 3600000 NS I.ROOT-SERVERS.NET. I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 +I.ROOT-SERVERS.NET. 3600000 AAAA 2001:7FE::53 ; ; OPERATED BY VERISIGN, INC. ; Modified: user/imp/tbemd/etc/netstart ============================================================================== --- user/imp/tbemd/etc/netstart Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/etc/netstart Sun Aug 22 21:44:05 2010 (r211652) @@ -55,8 +55,6 @@ _start=quietstart /etc/rc.d/dhclient ${_start} /etc/rc.d/ppp ${_start} /etc/rc.d/ipfw ${_start} -/etc/rc.d/ip6fw ${_start} -/etc/rc.d/network_ipv6 ${_start} /etc/rc.d/routing ${_start} /etc/rc.d/mroute6d ${_start} /etc/rc.d/route6d ${_start} Copied: user/imp/tbemd/etc/periodic/daily/490.status-pkg-changes (from r211636, head/etc/periodic/daily/490.status-pkg-changes) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/etc/periodic/daily/490.status-pkg-changes Sun Aug 22 21:44:05 2010 (r211652, copy of r211636, head/etc/periodic/daily/490.status-pkg-changes) @@ -0,0 +1,43 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ]; then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_status_pkg_changes_enable" in + [Yy][Ee][Ss]) + if [ ! -f /usr/sbin/pkg_info ]; then + echo '$daily_status_pkg_changes_enable is enabled but' \ + "/usr/sbin/pkg_info doesn't exist" + rc=2 + else + bak=/var/backups + rc=0 + + if [ -f $bak/pkg_info.bak ]; then + mv -f $bak/pkg_info.bak $bak/pkg_info.bak2 + fi + /usr/sbin/pkg_info > $bak/pkg_info.bak + + cmp -sz $bak/pkg_info.bak $bak/pkg_info.bak2 + if [ $? -eq 1 ]; then + echo "" + echo "Changes in installed packages:" + diff -U 0 $bak/pkg_info.bak2 $bak/pkg_info.bak \ + | grep '^[-+][^-+]' | sort -k 1.2 + fi + fi + ;; + + *) + rc=0 + ;; +esac + +exit $rc Copied: user/imp/tbemd/etc/periodic/daily/800.scrub-zfs (from r211636, head/etc/periodic/daily/800.scrub-zfs) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/etc/periodic/daily/800.scrub-zfs Sun Aug 22 21:44:05 2010 (r211652, copy of r211636, head/etc/periodic/daily/800.scrub-zfs) @@ -0,0 +1,86 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +: ${daily_scrub_zfs_default_threshold=30} + +case "$daily_scrub_zfs_enable" in + [Yy][Ee][Ss]) + echo + echo 'Scrubbing of zfs pools:' + + if [ -z "${daily_scrub_zfs_pools}" ]; then + daily_scrub_zfs_pools="$(zpool list -H -o name)" + fi + + for pool in ${daily_scrub_zfs_pools}; do + # sanity check + zpool list ${pool} >/dev/null 2>&1 + if [ $? -ne 0 ]; then + echo " WARNING: pool '${pool}' specified in" + echo " '/etc/periodic.conf:daily_scrub_zfs_pools'" + echo " does not exist" + continue + fi + + # successful only if there is at least one pool to scrub + rc=0 + + # determine how many days shall be between scrubs + eval _pool_threshold=\${daily_scrub_zfs_${pool}_threshold} + if [ -z "${_pool_threshold}" ];then + _pool_threshold=${daily_scrub_zfs_default_threshold} + fi + + _last_scrub=$(zpool history ${pool} | \ + egrep "^[0-9\.\:\-]{19} zpool scrub ${pool}\$" | tail -1 |\ + cut -d ' ' -f 1) + if [ -z "${_last_scrub}" ]; then + # creation time of the pool if no scrub was done + _last_scrub=$(zpool history ${pool} | \ + sed -ne '2s/ .*$//p') + fi + + # Now minus last scrub (both in seconds) converted to days. + _scrub_diff=$(expr -e \( $(date +%s) - \ + $(date -j -f %F.%T ${_last_scrub} +%s) \) / 60 / 60 / 24) + if [ ${_scrub_diff} -le ${_pool_threshold} ]; then + echo " skipping scrubbing of pool '${pool}':" + echo " last scrubbing is ${_scrub_diff} days ago, threshold is set to ${_pool_threshold} days" + continue + fi + + _status="$(zpool status ${pool} | grep scrub:)" + case "${_status}" in + *"scrub in progress"*) + echo " scrubbing of pool '${pool}' already in progress, skipping:" + ;; + *"none requested"*) + echo " starting first scrubbing (after reboot) of pool '${pool}':" + zpool scrub ${pool} + ;; + *) + echo " starting scrubbing of pool '${pool}':" + zpool scrub ${pool} + ;; + esac + + echo " consult 'zpool status ${pool}' for the result" + done + ;; + + *) + rc=0 + ;; +esac + +exit $rc Modified: user/imp/tbemd/etc/periodic/daily/Makefile ============================================================================== --- user/imp/tbemd/etc/periodic/daily/Makefile Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/etc/periodic/daily/Makefile Sun Aug 22 21:44:05 2010 (r211652) @@ -8,7 +8,6 @@ FILES= 100.clean-disks \ 200.backup-passwd \ 330.news \ 400.status-disks \ - 404.status-zfs \ 405.status-ata-raid \ 406.status-gmirror \ 407.status-graid3 \ @@ -40,6 +39,10 @@ FILES+= 130.clean-msgs FILES+= 480.status-ntpd .endif +.if ${MK_PKGTOOLS} != "no" +FILES+= 490.status-pkg-changes +.endif + .if ${MK_RCMDS} != "no" FILES+= 140.clean-rwho \ 430.status-rwho @@ -53,4 +56,9 @@ FILES+= 150.clean-hoststat \ 500.queuerun .endif +.if ${MK_ZFS} != "no" +FILES+= 404.status-zfs \ + 800.scrub-zfs +.endif + .include Copied: user/imp/tbemd/etc/periodic/security/460.chkportsum (from r211636, head/etc/periodic/security/460.chkportsum) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/etc/periodic/security/460.chkportsum Sun Aug 22 21:44:05 2010 (r211652, copy of r211636, head/etc/periodic/security/460.chkportsum) @@ -0,0 +1,68 @@ +#!/bin/sh - +# +# Copyright (c) 2010 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +. /etc/periodic/security/security.functions + +rc=0 + +echo "" +echo 'Checking for ports with mismatched checksums:' + +case "${daily_status_security_chkportsum_enable}" in + [Yy][Ee][Ss]) + set -f + pkg_info -ga 2>/dev/null | \ + while IFS= read -r line; do + set -- $line + case $1 in + Information) + case $2 in + for) name="${3%%:}" ;; + *) name='??' ;; + esac + ;; + Mismatched|'') ;; + *) [ -n "${name}" ] && + echo "${name}: ${line%% fails the original MD5 checksum}" + ;; + esac + done + ;; + *) + rc=0 + ;; +esac + +exit $rc Modified: user/imp/tbemd/etc/periodic/security/Makefile ============================================================================== --- user/imp/tbemd/etc/periodic/security/Makefile Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/etc/periodic/security/Makefile Sun Aug 22 21:44:05 2010 (r211652) @@ -7,6 +7,7 @@ FILES= 100.chksetuid \ 300.chkuid0 \ 400.passwdless \ 410.logincheck \ + 460.chkportsum \ 700.kernelmsg \ 800.loginfail \ 900.tcpwrap \ Modified: user/imp/tbemd/etc/rc.d/ipmon ============================================================================== --- user/imp/tbemd/etc/rc.d/ipmon Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/etc/rc.d/ipmon Sun Aug 22 21:44:05 2010 (r211652) @@ -20,7 +20,7 @@ ipmon_precmd() # Continue only if ipfilter or ipnat is enabled and the # ipfilter module is loaded. # - if ! checkyesno ipfilter_enable -o ! checkyesno ipnat_enable ; then + if ! checkyesno ipfilter_enable && ! checkyesno ipnat_enable ; then err 1 "${name} requires either ipfilter or ipnat enabled" fi if ! sysctl net.inet.ipf.fr_pass >/dev/null 2>&1; then Modified: user/imp/tbemd/etc/rc.resume ============================================================================== --- user/imp/tbemd/etc/rc.resume Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/etc/rc.resume Sun Aug 22 21:44:05 2010 (r211652) @@ -39,10 +39,16 @@ state=$2 if [ -r /var/run/rc.suspend.pid ]; then kill -9 `cat /var/run/rc.suspend.pid` - rm -f /var/run/rc.suspend.pid + /bin/rm -f /var/run/rc.suspend.pid echo 'rc.resume: killed rc.suspend that was still around' fi +if [ -r /var/run/rc.suspend.tch ]; then + _t=`cat /var/run/rc.suspend.tch` + /sbin/sysctl -n kern.timecounter.hardware=$_t > /dev/null 2>&1 + /bin/rm -f /var/run/rc.suspend.tch +fi + # Turns on a power supply of a card in the slot inactivated. # See also contrib/pccardq.c (only for PAO users). # pccardq | awk -F '~' '$5 == "inactive" \ @@ -56,7 +62,7 @@ fi # the following to signal it to reassociate. # /usr/sbin/wpa_cli reassociate -logger -t $subsystem resumed at `date +'%Y%m%d %H:%M:%S'` -sync && sync && sync +/usr/bin/logger -t $subsystem resumed at `/bin/date +'%Y%m%d %H:%M:%S'` +/bin/sync && /bin/sync && /bin/sync exit 0 Modified: user/imp/tbemd/etc/rc.subr ============================================================================== --- user/imp/tbemd/etc/rc.subr Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/etc/rc.subr Sun Aug 22 21:44:05 2010 (r211652) @@ -1016,9 +1016,9 @@ load_rc_config() . /etc/rc.conf.d/"$_name" fi - # Old variable names support + # Old variable name support -- Remove before 9.0-RELEASE # - [ -n "$enable_quotas" ] && quota_enable="$enable_quotas" + [ -n "$enable_quotas" ] && err 1 "enable_quotas is deprecated, use quota_enable" # Set defaults if defined. for _var in $rcvar $rcvars; do Modified: user/imp/tbemd/etc/rc.suspend ============================================================================== --- user/imp/tbemd/etc/rc.suspend Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/etc/rc.suspend Sun Aug 22 21:44:05 2010 (r211652) @@ -43,6 +43,18 @@ fi echo $$ 2> /dev/null > /var/run/rc.suspend.pid +_t=`/sbin/sysctl -n kern.timecounter.hardware 2> /dev/null` +case ${_t#ACPI-} in +fast|safe) + /bin/rm -f /var/run/rc.suspend.tch + ;; +*) + { /sbin/sysctl -n kern.timecounter.hardware=ACPI-fast || \ + /sbin/sysctl -n kern.timecounter.hardware=ACPI-safe; } \ + > /dev/null 2>&1 && echo $_t > /var/run/rc.suspend.tch + ;; +esac + # If you have troubles on suspending with PC-CARD modem, try this. # See also contrib/pccardq.c (Only for PAO users). # pccardq | awk -F '~' '$5 == "filled" && $4 ~ /uart/ \ @@ -52,11 +64,11 @@ echo $$ 2> /dev/null > /var/run/rc.suspe # suspend and reloading it on resume. Example: # kldunload usb -logger -t $subsystem suspend at `date +'%Y%m%d %H:%M:%S'` -sync && sync && sync -sleep 3 +/usr/bin/logger -t $subsystem suspend at `/bin/date +'%Y%m%d %H:%M:%S'` +/bin/sync && /bin/sync && /bin/sync +/bin/sleep 3 -rm -f /var/run/rc.suspend.pid +/bin/rm -f /var/run/rc.suspend.pid if [ $subsystem = "apm" ]; then /usr/sbin/zzz else Modified: user/imp/tbemd/etc/snmpd.config ============================================================================== --- user/imp/tbemd/etc/snmpd.config Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/etc/snmpd.config Sun Aug 22 21:44:05 2010 (r211652) @@ -95,3 +95,9 @@ begemotSnmpdModulePath."mibII" = "/usr/l # This requires the mibII module. # #begemotSnmpdModulePath."bridge" = "/usr/lib/snmp_bridge.so" + +# +# Wireless module +# This requires the mibII module. +# +#begemotSnmpdModulePath."wlan" = "/usr/lib/snmp_wlan.so" Modified: user/imp/tbemd/games/fortune/datfiles/fortunes ============================================================================== --- user/imp/tbemd/games/fortune/datfiles/fortunes Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/games/fortune/datfiles/fortunes Sun Aug 22 21:44:05 2010 (r211652) @@ -2110,7 +2110,7 @@ self-propagating. He who receives ideas from me, receives instruction himself without lessening mine; as he who lights his taper at mine receives light without darkening me. - -- Thomas Jefferson on patents on ideas + -- Thomas Jefferson on patents on ideas % "Heard you were moving your piano, so I came over to help." "Thanks. Got it upstairs already." @@ -37880,7 +37880,7 @@ behave very differently from those who n order to get power we would have to become very much like them. (Lenin's fatal mistake, both in theory and in practice.) % -Perhaps the world's second words crime is boredom. The first is +Perhaps the world's second-worst crime is boredom. The first is being a bore. -- Cecil Beaton % @@ -57546,11 +57546,11 @@ LII: -- Norman Augustine % XML is a giant step in no direction at all. - -- Erik Naggum + -- Erik Naggum % XML is like violence: if it doesn't solve your problem, you aren't using enough of it. - -- XML guru Chris Maden + -- XML guru Chris Maden % X-rated movies are all alike -- the only thing they leave to the imagination is the plot. Modified: user/imp/tbemd/games/fortune/datfiles/fortunes-o.real ============================================================================== --- user/imp/tbemd/games/fortune/datfiles/fortunes-o.real Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/games/fortune/datfiles/fortunes-o.real Sun Aug 22 21:44:05 2010 (r211652) @@ -12433,6 +12433,39 @@ And sure enough she'll take you home and (chorus) -- Crosby, Stills, Nash, "Fair Game" % +Taken from actual police car videos: + +(15) Relax! The handcuffs are tight because they're new. They'll + stretch out after you wear them awhile. +(14) Take your hands off the car and I'll make your birth certificate + a worthless document. +(13) If you run you'll only go to jail tired. +(12) Can you run faster than 1200 feet per second? In case you didn't + know that's the average speed of a 9 mm bullet fired from my gun. +(11) So you don't know how fast you were going. I guess that means I + can write anything I want on the ticket, huh? +(10) Yes, sir, you can talk to the shift supervisor, but I don't think + it will help. Oh, did I mention that I AM the shift supervisor? +(9) Warning? You want a warning? OK, I'm warning you not to do that + again or I'll give you another ticket. +(8) The answer to this last question will determine whether you are + drunk or not. Is Mickey Mouse a cat or a dog? +% +Taken from actual police car videos: + +(7) Fair? You want me to be fair? Listen, fair is a place where you + go to ride on rides, eat cotton candy, and step in monkey poop. +(6) Yeah, we have a quota. Two more tickets and my wife gets a toaster + oven. +(5) No, sir, we don't have quotas anymore. We used to have quotas but + now we're allowed to write as many tickets as we want. +(4) Just how big were those two beers? +(3) In God we trust, all others we run through CPIC/NCIC. +(2) I'm glad to hear the Chief of Police is a good personal friend of + yours. At least you know someone who can post your bail. +(1) You didn't think we gave pretty women tickets? + You're right, we don't -- sign here. +% Taoism: Shit Happens. Confucianism: Confucius say, "Shit Happens". Buddhism: If shit happens, it isn't really shit. Modified: user/imp/tbemd/games/fortune/datfiles/freebsd-tips ============================================================================== --- user/imp/tbemd/games/fortune/datfiles/freebsd-tips Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/games/fortune/datfiles/freebsd-tips Sun Aug 22 21:44:05 2010 (r211652) @@ -476,6 +476,6 @@ You can use "whereis" to search standard directories for the specified programs. This can be particularly handy when you are trying to find where in the ports tree an application is. -Try "whereis netscape" and "whereis whereis". +Try "whereis firefox" and "whereis whereis". -- Konstantinos Konstantinidis % Modified: user/imp/tbemd/games/grdc/grdc.c ============================================================================== --- user/imp/tbemd/games/grdc/grdc.c Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/games/grdc/grdc.c Sun Aug 22 21:44:05 2010 (r211652) @@ -15,21 +15,18 @@ */ #include -#include -#include #include +#include #include -#ifndef NONPOSIX +#include #include -#endif #define YBASE 10 #define XBASE 10 #define XLENGTH 58 #define YDEPTH 7 -/* it won't be */ -time_t now; /* yeah! */ +struct timespec now; struct tm *tm; short disp[11] = { @@ -57,7 +54,8 @@ sighndl(int signo) int main(int argc, char *argv[]) { - struct timespec ts; + struct timespec delay; + time_t prev_sec; long t, a; int i, j, s, k; int n; @@ -88,9 +86,14 @@ main(int argc, char *argv[]) /* NOTREACHED */ } - if (argc > 0) - n = atoi(*argv); - else + if (argc > 0) { + n = atoi(*argv) + 1; + if (n < 1) { + warnx("number of seconds is out of range"); + usage(); + /* NOTREACHED */ + } + } else n = 0; initscr(); @@ -135,10 +138,11 @@ main(int argc, char *argv[]) attrset(COLOR_PAIR(2)); } - time(&now); + clock_gettime(CLOCK_REALTIME_FAST, &now); + prev_sec = now.tv_sec; do { mask = 0; - tm = localtime(&now); + tm = localtime(&now.tv_sec); set(tm->tm_sec%10, 0); set(tm->tm_sec/10, 4); set(tm->tm_min%10, 10); @@ -192,19 +196,20 @@ main(int argc, char *argv[]) } movto(6, 0); refresh(); - clock_gettime(CLOCK_REALTIME_FAST, &ts); - if (ts.tv_sec == now) { - if (ts.tv_nsec > 0) { - ts.tv_sec = 0; - ts.tv_nsec = 1000000000 - ts.tv_nsec; + clock_gettime(CLOCK_REALTIME_FAST, &now); + if (now.tv_sec == prev_sec) { + if (delay.tv_nsec > 0) { + delay.tv_sec = 0; + delay.tv_nsec = 1000000000 - now.tv_nsec; } else { - ts.tv_sec = 1; - ts.tv_nsec = 0; + delay.tv_sec = 1; + delay.tv_nsec = 0; } - nanosleep(&ts, NULL); - now = ts.tv_sec + 1; - } else - now = ts.tv_sec; + nanosleep(&delay, NULL); + clock_gettime(CLOCK_REALTIME_FAST, &now); + } + n -= now.tv_sec - prev_sec; + prev_sec = now.tv_sec; if (sigtermed) { standend(); clear(); @@ -212,7 +217,7 @@ main(int argc, char *argv[]) endwin(); errx(1, "terminated by signal %d", (int)sigtermed); } - } while(--n); + } while (n); standend(); clear(); refresh(); Modified: user/imp/tbemd/games/pom/pom.6 ============================================================================== --- user/imp/tbemd/games/pom/pom.6 Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/games/pom/pom.6 Sun Aug 22 21:44:05 2010 (r211652) @@ -32,7 +32,7 @@ .\" @(#)pom.6 8.1 (Berkeley) 5/31/93 .\" $FreeBSD$ .\" -.Dd May 31, 1993 +.Dd July 14, 2010 .Dt POM 6 .Os .Sh NAME @@ -40,6 +40,7 @@ .Nd display the phase of the moon .Sh SYNOPSIS .Nm +.Op Fl p .Op Fl d Ar yyyy.mm.dd .Op Fl t Ar hh:mm:ss .Sh DESCRIPTION @@ -49,10 +50,14 @@ utility displays the current phase of th Useful for selecting software completion target dates and predicting managerial behavior. .Pp +Use the +.Fl p +option to print just the phase as a percentage. +.Pp Use the arguments .Fl d and -.Fl o +.Fl t to specify a specific date and time for which the phase of the moon has to be calculated. If Modified: user/imp/tbemd/games/pom/pom.c ============================================================================== --- user/imp/tbemd/games/pom/pom.c Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/games/pom/pom.c Sun Aug 22 21:44:05 2010 (r211652) @@ -84,14 +84,17 @@ main(int argc, char **argv) time_t tt; struct tm GMT, tmd; double days, today, tomorrow; - int ch, cnt; + int ch, cnt, pflag = 0; char *odate = NULL, *otime = NULL; - while ((ch = getopt(argc, argv, "d:t:")) != -1) + while ((ch = getopt(argc, argv, "d:pt:")) != -1) switch (ch) { case 'd': odate = optarg; break; + case 'p': + pflag = 1; + break; case 't': otime = optarg; break; @@ -134,6 +137,10 @@ main(int argc, char **argv) for (cnt = EPOCH; cnt < GMT.tm_year; ++cnt) days += isleap(1900 + cnt) ? 366 : 365; today = potm(days) + .5; + if (pflag) { + (void)printf("%1.0f\n", today); + return (0); + } (void)printf("The Moon is "); if ((int)today == 100) (void)printf("Full\n"); @@ -227,6 +234,7 @@ static void usage(char *progname) { - fprintf(stderr, "Usage: %s [-d yyyy.mm.dd] [-t hh:mm:ss]\n", progname); + fprintf(stderr, "Usage: %s [-p] [-d yyyy.mm.dd] [-t hh:mm:ss]\n", + progname); exit(EX_USAGE); } Modified: user/imp/tbemd/games/random/random.c ============================================================================== --- user/imp/tbemd/games/random/random.c Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/games/random/random.c Sun Aug 22 21:44:05 2010 (r211652) @@ -73,7 +73,7 @@ main(int argc, char *argv[]) denom = 0; filename = "/dev/fd/0"; random_type = RANDOM_TYPE_UNSET; - random_exit = randomize_lines = random_type = unbuffer_output = 0; + random_exit = randomize_lines = unbuffer_output = 0; unique_output = 1; (void)setlocale(LC_CTYPE, ""); Modified: user/imp/tbemd/games/random/randomize_fd.c ============================================================================== --- user/imp/tbemd/games/random/randomize_fd.c Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/games/random/randomize_fd.c Sun Aug 22 21:44:05 2010 (r211652) @@ -104,7 +104,7 @@ randomize_fd(int fd, int type, int uniqu rand_root = rand_tail = NULL; bufc = i = 0; - bufleft = eof = fndstr = numnode = ret = 0; + bufleft = eof = fndstr = numnode = 0; if (type == RANDOM_TYPE_UNSET) type = RANDOM_TYPE_LINES; Modified: user/imp/tbemd/gnu/lib/csu/Makefile ============================================================================== --- user/imp/tbemd/gnu/lib/csu/Makefile Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/gnu/lib/csu/Makefile Sun Aug 22 21:44:05 2010 (r211652) @@ -17,7 +17,8 @@ CSTD?= gnu89 CFLAGS+= -DIN_GCC -DHAVE_LD_EH_FRAME_HDR -DDT_CONFIG -D__GLIBC__=3 CFLAGS+= -finhibit-size-directive -fno-inline-functions \ -fno-exceptions -fno-zero-initialized-in-bss \ - -fno-zero-initialized-in-bss -fno-toplevel-reorder + -fno-zero-initialized-in-bss -fno-toplevel-reorder \ + -fno-asynchronous-unwind-tables -fno-omit-frame-pointer CFLAGS+= -I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I. \ -I${CCDIR}/cc_tools CRTS_CFLAGS= -DCRTSTUFFS_O -DSHARED ${PICFLAG} Modified: user/imp/tbemd/gnu/lib/libdialog/TESTS/check3.c ============================================================================== --- user/imp/tbemd/gnu/lib/libdialog/TESTS/check3.c Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/gnu/lib/libdialog/TESTS/check3.c Sun Aug 22 21:44:05 2010 (r211652) @@ -47,13 +47,13 @@ static int spending; static int check(dialogMenuItem *self) { - return ((int)self->data == spending); + return ((int)(intptr_t)self->data == spending); } static int spend(dialogMenuItem *self) { - spending = (int)self->data; + spending = (int)(intptr_t)self->data; return DITEM_SUCCESS | DITEM_REDRAW; } Modified: user/imp/tbemd/gnu/lib/libdialog/TESTS/menu3.c ============================================================================== --- user/imp/tbemd/gnu/lib/libdialog/TESTS/menu3.c Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/gnu/lib/libdialog/TESTS/menu3.c Sun Aug 22 21:44:05 2010 (r211652) @@ -44,7 +44,7 @@ maybe(dialogMenuItem *self) static char *insurance[] = { "1,000,000", "Mondo insurance policy", "Off", "5,000,000", "Mega insurance policy", "Off", - "10,000,000", "Friend! Most Favored customer!" + "10,000,000", "Friend! Most Favored customer!", "On" }; static void Modified: user/imp/tbemd/gnu/lib/libdialog/TESTS/radio1.c ============================================================================== --- user/imp/tbemd/gnu/lib/libdialog/TESTS/radio1.c Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/gnu/lib/libdialog/TESTS/radio1.c Sun Aug 22 21:44:05 2010 (r211652) @@ -31,13 +31,13 @@ static int spending; static int check(dialogMenuItem *self) { - return ((int)self->data == spending); + return ((int)(intptr_t)self->data == spending); } static int spend(dialogMenuItem *self) { - spending = (int)self->data; + spending = (int)(intptr_t)self->data; return DITEM_SUCCESS | DITEM_REDRAW; } Modified: user/imp/tbemd/gnu/lib/libdialog/TESTS/radio3.c ============================================================================== --- user/imp/tbemd/gnu/lib/libdialog/TESTS/radio3.c Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/gnu/lib/libdialog/TESTS/radio3.c Sun Aug 22 21:44:05 2010 (r211652) @@ -31,13 +31,13 @@ static int spending; static int check(dialogMenuItem *self) { - return ((int)self->data == spending); + return ((int)(intptr_t)self->data == spending); } static int spend(dialogMenuItem *self) { - spending = (int)self->data; + spending = (int)(intptr_t)self->data; return DITEM_SUCCESS | DITEM_REDRAW; } Modified: user/imp/tbemd/gnu/lib/libgcc/Makefile ============================================================================== --- user/imp/tbemd/gnu/lib/libgcc/Makefile Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/gnu/lib/libgcc/Makefile Sun Aug 22 21:44:05 2010 (r211652) @@ -143,6 +143,11 @@ LIB2FUNCS_EXTRA = tramp.asm LIB2FUNCS_STATIC_EXTRA = eabi.asm .endif +.if ${TARGET_CPUARCH} == "powerpc64" +# from config/rs6000/t-ppccomm +LIB2FUNCS_EXTRA = tramp.asm +.endif + .if ${TARGET_CPUARCH} == "sparc64" # from config/sparc/t-elf LIB1ASMSRC = lb1spc.asm Modified: user/imp/tbemd/gnu/lib/libobjc/Makefile ============================================================================== --- user/imp/tbemd/gnu/lib/libobjc/Makefile Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/gnu/lib/libobjc/Makefile Sun Aug 22 21:44:05 2010 (r211652) @@ -1,5 +1,7 @@ # $FreeBSD$ +.include + OBJCDIR=${.CURDIR}/../../../contrib/libobjc GCCDIR= ${.CURDIR}/../../../contrib/gcc GCCLIB= ${.CURDIR}/../../../contrib/gcclibs @@ -13,6 +15,9 @@ SRCS= archive.c class.c encoding.c gc.c nil_method.c NXConstStr.m Object.m objects.c Protocol.m sarray.c \ selector.c sendmsg.c thr.c thr-objc.c exception.c +# XXX: clang cannot compile libobjc yet +CC:=${CC:C/^cc|^clang/gcc/} + INCS= encoding.h hash.h objc-api.h objc-decls.h objc-list.h objc.h runtime.h \ sarray.h thr.h typedstream.h NXConstStr.h Object.h Protocol.h INCSDIR=${INCLUDEDIR}/objc Modified: user/imp/tbemd/gnu/lib/libreadline/history/Makefile ============================================================================== --- user/imp/tbemd/gnu/lib/libreadline/history/Makefile Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/gnu/lib/libreadline/history/Makefile Sun Aug 22 21:44:05 2010 (r211652) @@ -8,7 +8,7 @@ MAN= rlhistory.3 SRCS= $(HISTSRC) xmalloc.c rlhistory.3: doc/history.3 - cp ${.ALLSRC} ${.TARGET} + cp -f ${.ALLSRC} ${.TARGET} CLEANFILES+= rlhistory.3 Modified: user/imp/tbemd/gnu/lib/libreadline/readline/doc/Makefile ============================================================================== --- user/imp/tbemd/gnu/lib/libreadline/readline/doc/Makefile Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/gnu/lib/libreadline/readline/doc/Makefile Sun Aug 22 21:44:05 2010 (r211652) @@ -13,7 +13,7 @@ CLEANFILES += readline.texi readline.info: rlman.texi rluser.texi rltech.texi version.texi fdl.texi readline.texi: rlman.texi - cp ${SRCDIR}/rlman.texi ${.TARGET} + cp -f ${SRCDIR}/rlman.texi ${.TARGET} rluserman.info: rluserman.texi version.texi rluser.texi fdl.texi Modified: user/imp/tbemd/gnu/usr.bin/Makefile ============================================================================== --- user/imp/tbemd/gnu/usr.bin/Makefile Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/gnu/usr.bin/Makefile Sun Aug 22 21:44:05 2010 (r211652) @@ -8,6 +8,7 @@ SUBDIR= ${_binutils} \ dialog \ diff \ diff3 \ + ${_dtc} \ ${_gdb} \ ${_gperf} \ ${_grep} \ @@ -31,6 +32,10 @@ _groff= groff _cvs= cvs .endif +.if ${MK_FDT} != "no" +_dtc= dtc +.endif + .if ${MK_GNU_GREP} != "no" _grep= grep .endif Modified: user/imp/tbemd/gnu/usr.bin/binutils/as/Makefile ============================================================================== --- user/imp/tbemd/gnu/usr.bin/binutils/as/Makefile Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/gnu/usr.bin/binutils/as/Makefile Sun Aug 22 21:44:05 2010 (r211652) @@ -26,7 +26,7 @@ SRCS+= itbl-ops.c itbl-parse.y itbl-lex. .if ${TARGET_ARCH} == "amd64" SRCS+= tc-i386.c -.elif ${TARGET_ARCH} == "powerpc" +.elif ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "powerpc64" SRCS+= tc-ppc.c .elif ${TARGET_ARCH} == "sparc64" # change back to tc-sparc.c when new binutils is imported Modified: user/imp/tbemd/gnu/usr.bin/binutils/gdb/Makefile ============================================================================== --- user/imp/tbemd/gnu/usr.bin/binutils/gdb/Makefile Sun Aug 22 21:42:30 2010 (r211651) +++ user/imp/tbemd/gnu/usr.bin/binutils/gdb/Makefile Sun Aug 22 21:44:05 2010 (r211652) @@ -8,8 +8,7 @@ GDBDIR= ${.CURDIR}/../../../../contrib/g .PATH: ${SRCDIR}/opcodes ${SRCDIR}/binutils # For FSF GDB files, use their CPU (arch) name; for our files use ours. -GDB_CPU=${TARGET_CPUARCH:C/amd64/i386/:C/powerpc/rs6000/:C/sparc64/sparc/} - +GDB_CPU=${TARGET_CPUARCH:C/amd64/i386/:C/powerpc.*/rs6000/:C/sparc64/sparc/} NO_SHARED?=yes PROG= gdb XSRCS= annotate.c arch-utils.c ax-general.c ax-gdb.c bcache.c \ Copied: user/imp/tbemd/gnu/usr.bin/binutils/gdb/Makefile.powerpc64 (from r211636, head/gnu/usr.bin/binutils/gdb/Makefile.powerpc64) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/gnu/usr.bin/binutils/gdb/Makefile.powerpc64 Sun Aug 22 21:44:05 2010 (r211652, copy of r211636, head/gnu/usr.bin/binutils/gdb/Makefile.powerpc64) @@ -0,0 +1,5 @@ +# $FreeBSD$ + +XSRCS+= ppcnbsd-nat.c ppc-tdep.c \ + core-regset.c *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 21:44:52 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7FDC6106566B; Sun, 22 Aug 2010 21:44:52 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6C3618FC13; Sun, 22 Aug 2010 21:44:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MLiqkG017299; Sun, 22 Aug 2010 21:44:52 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MLiqIu017273; Sun, 22 Aug 2010 21:44:52 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008222144.o7MLiqIu017273@svn.freebsd.org> From: Warner Losh Date: Sun, 22 Aug 2010 21:44:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211653 - in user/imp/tbemd/usr.sbin: . acpi/acpidb acpi/acpidump acpi/iasl ancontrol arp boot0cfg bsnmpd/modules bsnmpd/modules/snmp_bridge bsnmpd/modules/snmp_hostres bsnmpd/modules/s... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 21:44:52 -0000 Author: imp Date: Sun Aug 22 21:44:51 2010 New Revision: 211653 URL: http://svn.freebsd.org/changeset/base/211653 Log: Merge to head @211636 -- with hand tweaks hoping for the best Added: user/imp/tbemd/usr.sbin/bsnmpd/modules/snmp_wlan/ - copied from r211636, head/usr.sbin/bsnmpd/modules/snmp_wlan/ user/imp/tbemd/usr.sbin/pc-sysinstall/ - copied from r211636, head/usr.sbin/pc-sysinstall/ Deleted: user/imp/tbemd/usr.sbin/wpa/l2_packet.c user/imp/tbemd/usr.sbin/wpa/wpa_supplicant/driver_wired.c Modified: user/imp/tbemd/usr.sbin/Makefile user/imp/tbemd/usr.sbin/Makefile.amd64 user/imp/tbemd/usr.sbin/Makefile.arm user/imp/tbemd/usr.sbin/acpi/acpidb/Makefile user/imp/tbemd/usr.sbin/acpi/acpidump/acpi.c user/imp/tbemd/usr.sbin/acpi/acpidump/acpi_user.c user/imp/tbemd/usr.sbin/acpi/acpidump/acpidump.h user/imp/tbemd/usr.sbin/acpi/iasl/Makefile user/imp/tbemd/usr.sbin/ancontrol/ancontrol.8 user/imp/tbemd/usr.sbin/arp/arp.c user/imp/tbemd/usr.sbin/boot0cfg/boot0cfg.c user/imp/tbemd/usr.sbin/bsnmpd/modules/Makefile user/imp/tbemd/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3 user/imp/tbemd/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c user/imp/tbemd/usr.sbin/config/config.8 user/imp/tbemd/usr.sbin/config/config.y user/imp/tbemd/usr.sbin/config/configvers.h user/imp/tbemd/usr.sbin/config/main.c user/imp/tbemd/usr.sbin/config/mkmakefile.c user/imp/tbemd/usr.sbin/config/mkoptions.c user/imp/tbemd/usr.sbin/cpucontrol/amd.c user/imp/tbemd/usr.sbin/cpucontrol/intel.c user/imp/tbemd/usr.sbin/crunch/crunchide/Makefile user/imp/tbemd/usr.sbin/crunch/crunchide/exec_elf32.c user/imp/tbemd/usr.sbin/fifolog/lib/fifolog.h user/imp/tbemd/usr.sbin/fifolog/lib/fifolog_reader.c user/imp/tbemd/usr.sbin/freebsd-update/freebsd-update.8 user/imp/tbemd/usr.sbin/fwcontrol/fwcontrol.8 user/imp/tbemd/usr.sbin/i2c/i2c.8 user/imp/tbemd/usr.sbin/iostat/iostat.8 user/imp/tbemd/usr.sbin/jail/jail.8 user/imp/tbemd/usr.sbin/jls/jls.c user/imp/tbemd/usr.sbin/kbdcontrol/kbdcontrol.1 user/imp/tbemd/usr.sbin/lmcconfig/lmcconfig.8 user/imp/tbemd/usr.sbin/lpr/lpd/printjob.c user/imp/tbemd/usr.sbin/lpr/lpr/printcap.5 user/imp/tbemd/usr.sbin/makefs/makefs.8 user/imp/tbemd/usr.sbin/mfiutil/mfiutil.8 user/imp/tbemd/usr.sbin/mountd/exports.5 user/imp/tbemd/usr.sbin/moused/moused.c user/imp/tbemd/usr.sbin/mptutil/mptutil.8 user/imp/tbemd/usr.sbin/ndp/ndp.c user/imp/tbemd/usr.sbin/newsyslog/newsyslog.8 user/imp/tbemd/usr.sbin/newsyslog/newsyslog.c user/imp/tbemd/usr.sbin/newsyslog/newsyslog.conf.5 user/imp/tbemd/usr.sbin/nfscbd/nfscbd.8 user/imp/tbemd/usr.sbin/nfsd/nfsv4.4 user/imp/tbemd/usr.sbin/nfsd/stablerestart.5 user/imp/tbemd/usr.sbin/nfsdumpstate/nfsdumpstate.c user/imp/tbemd/usr.sbin/nfsuserd/nfsuserd.8 user/imp/tbemd/usr.sbin/ntp/doc/ntp.conf.5 user/imp/tbemd/usr.sbin/ntp/doc/ntpq.8 user/imp/tbemd/usr.sbin/pciconf/pciconf.8 user/imp/tbemd/usr.sbin/pmcstat/pmcpl_calltree.c user/imp/tbemd/usr.sbin/pmcstat/pmcstat.c user/imp/tbemd/usr.sbin/pmcstat/pmcstat.h user/imp/tbemd/usr.sbin/pmcstat/pmcstat_log.c user/imp/tbemd/usr.sbin/portsnap/portsnap/portsnap.8 user/imp/tbemd/usr.sbin/powerd/powerd.8 user/imp/tbemd/usr.sbin/powerd/powerd.c user/imp/tbemd/usr.sbin/ppp/ipv6cp.c user/imp/tbemd/usr.sbin/rpc.lockd/kern.c user/imp/tbemd/usr.sbin/rpc.ypxfrd/rpc.ypxfrd.8 user/imp/tbemd/usr.sbin/service/service.8 user/imp/tbemd/usr.sbin/sysinstall/Makefile user/imp/tbemd/usr.sbin/sysinstall/config.c user/imp/tbemd/usr.sbin/sysinstall/devices.c user/imp/tbemd/usr.sbin/sysinstall/disks.c user/imp/tbemd/usr.sbin/sysinstall/dist.c user/imp/tbemd/usr.sbin/sysinstall/globals.c user/imp/tbemd/usr.sbin/sysinstall/help/options.hlp user/imp/tbemd/usr.sbin/sysinstall/index.c user/imp/tbemd/usr.sbin/sysinstall/install.c user/imp/tbemd/usr.sbin/sysinstall/install.cfg user/imp/tbemd/usr.sbin/sysinstall/installUpgrade.c user/imp/tbemd/usr.sbin/sysinstall/label.c user/imp/tbemd/usr.sbin/sysinstall/main.c user/imp/tbemd/usr.sbin/sysinstall/media.c user/imp/tbemd/usr.sbin/sysinstall/menus.c user/imp/tbemd/usr.sbin/sysinstall/misc.c user/imp/tbemd/usr.sbin/sysinstall/msg.c user/imp/tbemd/usr.sbin/sysinstall/network.c user/imp/tbemd/usr.sbin/sysinstall/sysinstall.8 user/imp/tbemd/usr.sbin/sysinstall/sysinstall.h user/imp/tbemd/usr.sbin/sysinstall/system.c user/imp/tbemd/usr.sbin/sysinstall/tcpip.c user/imp/tbemd/usr.sbin/sysinstall/termcap.c user/imp/tbemd/usr.sbin/syslogd/Makefile user/imp/tbemd/usr.sbin/syslogd/syslogd.8 user/imp/tbemd/usr.sbin/syslogd/syslogd.c user/imp/tbemd/usr.sbin/timed/timed/measure.c user/imp/tbemd/usr.sbin/tzsetup/tzsetup.c user/imp/tbemd/usr.sbin/ugidfw/ugidfw.8 user/imp/tbemd/usr.sbin/uhsoctl/uhsoctl.c user/imp/tbemd/usr.sbin/watchdogd/watchdogd.c user/imp/tbemd/usr.sbin/wpa/hostapd/Makefile user/imp/tbemd/usr.sbin/wpa/wpa_cli/wpa_cli.8 user/imp/tbemd/usr.sbin/wpa/wpa_supplicant/Makefile user/imp/tbemd/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c user/imp/tbemd/usr.sbin/ypserv/ypinit.8 Directory Properties: user/imp/tbemd/usr.sbin/zic/ (props changed) Modified: user/imp/tbemd/usr.sbin/Makefile ============================================================================== --- user/imp/tbemd/usr.sbin/Makefile Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/Makefile Sun Aug 22 21:44:51 2010 (r211653) @@ -36,7 +36,7 @@ SUBDIR= adduser \ lastlogin \ mailwrapper \ makefs \ - ${_manctl} \ + manctl \ memcontrol \ mergemaster \ mfiutil \ @@ -54,6 +54,7 @@ SUBDIR= adduser \ nfsrevoke \ nfsuserd \ nologin \ + pc-sysinstall \ pciconf \ periodic \ powerd \ @@ -207,7 +208,7 @@ SUBDIR+= lpr .endif .if ${MK_MAN_UTILS} != "no" -_manctl= manctl +SUBDIR+= manctl .endif .if ${MK_NETGRAPH} != "no" Modified: user/imp/tbemd/usr.sbin/Makefile.amd64 ============================================================================== --- user/imp/tbemd/usr.sbin/Makefile.amd64 Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/Makefile.amd64 Sun Aug 22 21:44:51 2010 (r211653) @@ -25,9 +25,6 @@ SUBDIR+= mptable .if ${MK_NDIS} != "no" SUBDIR+= ndiscvt .endif -.if ${MK_SYSINSTALL} != "no" -SUBDIR+= sade -.endif SUBDIR+= sicontrol SUBDIR+= spkrtest SUBDIR+= zzz Modified: user/imp/tbemd/usr.sbin/Makefile.arm ============================================================================== --- user/imp/tbemd/usr.sbin/Makefile.arm Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/Makefile.arm Sun Aug 22 21:44:51 2010 (r211653) @@ -1,4 +1,5 @@ # $FreeBSD$ +SUBDIR+= ofwdump SUBDIR+= kgmon SUBDIR:= ${SUBDIR:Nsysinstall} Modified: user/imp/tbemd/usr.sbin/acpi/acpidb/Makefile ============================================================================== --- user/imp/tbemd/usr.sbin/acpi/acpidb/Makefile Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/acpi/acpidb/Makefile Sun Aug 22 21:44:51 2010 (r211653) @@ -54,8 +54,8 @@ SRCS+= tbfadt.c tbfind.c tbinstal.c tbut # utilities SRCS+= utalloc.c utcache.c utcopy.c utdebug.c utdelete.c \ uteval.c utglobal.c utids.c utinit.c utlock.c utmath.c \ - utmisc.c utmutex.c utobject.c utresrc.c utstate.c \ - uttrack.c utxface.c + utmisc.c utmutex.c utobject.c utosi.c utresrc.c \ + utstate.c uttrack.c utxface.c MAN= acpidb.8 WARNS?= 2 Modified: user/imp/tbemd/usr.sbin/acpi/acpidump/acpi.c ============================================================================== --- user/imp/tbemd/usr.sbin/acpi/acpidump/acpi.c Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/acpi/acpidump/acpi.c Sun Aug 22 21:44:51 2010 (r211653) @@ -68,6 +68,7 @@ static void acpi_print_srat_cpu(uint32_t static void acpi_print_srat_memory(ACPI_SRAT_MEM_AFFINITY *mp); static void acpi_print_srat(ACPI_SUBTABLE_HEADER *srat); static void acpi_handle_srat(ACPI_TABLE_HEADER *sdp); +static void acpi_handle_tcpa(ACPI_TABLE_HEADER *sdp); static void acpi_print_sdt(ACPI_TABLE_HEADER *sdp); static void acpi_print_fadt(ACPI_TABLE_HEADER *sdp); static void acpi_print_facs(ACPI_TABLE_FACS *facs); @@ -81,6 +82,46 @@ static void acpi_walk_subtables(ACPI_TAB /* Size of an address. 32-bit for ACPI 1.0, 64-bit for ACPI 2.0 and up. */ static int addr_size; +/* Strings used in the TCPA table */ +static const char *tcpa_event_type_strings[] = { + "PREBOOT Certificate", + "POST Code", + "Unused", + "No Action", + "Separator", + "Action", + "Event Tag", + "S-CRTM Contents", + "S-CRTM Version", + "CPU Microcode", + "Platform Config Flags", + "Table of Devices", + "Compact Hash", + "IPL", + "IPL Partition Data", + "Non-Host Code", + "Non-Host Config", + "Non-Host Info" +}; + +static const char *TCPA_pcclient_strings[] = { + "", + "SMBIOS", + "BIS Certificate", + "POST BIOS ROM Strings", + "ESCD", + "CMOS", + "NVRAM", + "Option ROM Execute", + "Option ROM Configurateion", + "", + "Option ROM Microcode Update ", + "S-CRTM Version String", + "S-CRTM Contents", + "POST Contents", + "Table of Devices", +}; + static void acpi_print_string(char *s, size_t length) { @@ -492,6 +533,165 @@ acpi_print_srat_cpu(uint32_t apic_id, ui printf("\tProximity Domain=%d\n", proximity_domain); } +static char * +acpi_tcpa_evname(struct TCPAevent *event) +{ + struct TCPApc_event *pc_event; + char *eventname = NULL; + + pc_event = (struct TCPApc_event *)(event + 1); + + switch(event->event_type) { + case PREBOOT: + case POST_CODE: + case UNUSED: + case NO_ACTION: + case SEPARATOR: + case SCRTM_CONTENTS: + case SCRTM_VERSION: + case CPU_MICROCODE: + case PLATFORM_CONFIG_FLAGS: + case TABLE_OF_DEVICES: + case COMPACT_HASH: + case IPL: + case IPL_PARTITION_DATA: + case NONHOST_CODE: + case NONHOST_CONFIG: + case NONHOST_INFO: + asprintf(&eventname, "%s", + tcpa_event_type_strings[event->event_type]); + break; + + case ACTION: + eventname = calloc(event->event_size + 1, sizeof(char)); + memcpy(eventname, pc_event, event->event_size); + break; + + case EVENT_TAG: + switch (pc_event->event_id) { + case SMBIOS: + case BIS_CERT: + case CMOS: + case NVRAM: + case OPTION_ROM_EXEC: + case OPTION_ROM_CONFIG: + case S_CRTM_VERSION: + case POST_BIOS_ROM: + case ESCD: + case OPTION_ROM_MICROCODE: + case S_CRTM_CONTENTS: + case POST_CONTENTS: + asprintf(&eventname, "%s", + TCPA_pcclient_strings[pc_event->event_id]); + break; + + default: + asprintf(&eventname, "", + pc_event->event_id); + break; + } + break; + + default: + asprintf(&eventname, "", event->event_type); + break; + } + + return eventname; +} + +static void +acpi_print_tcpa(struct TCPAevent *event) +{ + int i; + char *eventname; + + eventname = acpi_tcpa_evname(event); + + printf("\t%d", event->pcr_index); + printf(" 0x"); + for (i = 0; i < 20; i++) + printf("%02x", event->pcr_value[i]); + printf(" [%s]\n", eventname ? eventname : ""); + + free(eventname); +} + +static void +acpi_handle_tcpa(ACPI_TABLE_HEADER *sdp) +{ + struct TCPAbody *tcpa; + struct TCPAevent *event; + uintmax_t len, paddr; + unsigned char *vaddr = NULL; + unsigned char *vend = NULL; + + printf(BEGIN_COMMENT); + acpi_print_sdt(sdp); + tcpa = (struct TCPAbody *) sdp; + + switch (tcpa->platform_class) { + case ACPI_TCPA_BIOS_CLIENT: + len = tcpa->client.log_max_len; + paddr = tcpa->client.log_start_addr; + break; + + case ACPI_TCPA_BIOS_SERVER: + len = tcpa->server.log_max_len; + paddr = tcpa->server.log_start_addr; + break; + + default: + printf("XXX"); + printf(END_COMMENT); + return; + } + printf("\tClass %u Base Address 0x%jx Length %ju\n\n", + tcpa->platform_class, paddr, len); + + if (len == 0) { + printf("\tEmpty TCPA table\n"); + printf(END_COMMENT); + return; + } + + vaddr = (unsigned char *)acpi_map_physical(paddr, len); + vend = vaddr + len; + + while (vaddr != NULL) { + if (vaddr + sizeof(struct TCPAevent) >= vend) + break; + event = (struct TCPAevent *)(void *)vaddr; + if (vaddr + event->event_size >= vend) + break; + if (event->event_type == 0 && event->event_size == 0) + break; +#if 0 + { + unsigned int i, j, k; + + printf("\n\tsize %d\n\t\t%p ", event->event_size, vaddr); + for (j = 0, i = 0; i < + sizeof(struct TCPAevent) + event->event_size; i++) { + printf("%02x ", vaddr[i]); + if ((i+1) % 8 == 0) { + for (k = 0; k < 8; k++) + printf("%c", isprint(vaddr[j+k]) ? + vaddr[j+k] : '.'); + printf("\n\t\t%p ", &vaddr[i + 1]); + j = i + 1; + } + } + printf("\n"); } +#endif + acpi_print_tcpa(event); + + vaddr += sizeof(struct TCPAevent) + event->event_size; + } + + printf(END_COMMENT); +} + static void acpi_print_srat_memory(ACPI_SRAT_MEM_AFFINITY *mp) { @@ -886,6 +1086,8 @@ acpi_handle_rsdt(ACPI_TABLE_HEADER *rsdp acpi_handle_mcfg(sdp); else if (!memcmp(sdp->Signature, ACPI_SIG_SRAT, 4)) acpi_handle_srat(sdp); + else if (!memcmp(sdp->Signature, ACPI_SIG_TCPA, 4)) + acpi_handle_tcpa(sdp); else { printf(BEGIN_COMMENT); acpi_print_sdt(sdp); Modified: user/imp/tbemd/usr.sbin/acpi/acpidump/acpi_user.c ============================================================================== --- user/imp/tbemd/usr.sbin/acpi/acpidump/acpi_user.c Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/acpi/acpidump/acpi_user.c Sun Aug 22 21:44:51 2010 (r211653) @@ -119,7 +119,7 @@ acpi_get_rsdp(u_long addr) /* If the revision is 0, assume a version 1 length. */ if (rsdp.Revision == 0) - len = ACPI_RSDP_REV0_SIZE; + len = sizeof(ACPI_RSDP_COMMON); else len = rsdp.Length; Modified: user/imp/tbemd/usr.sbin/acpi/acpidump/acpidump.h ============================================================================== --- user/imp/tbemd/usr.sbin/acpi/acpidump/acpidump.h Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/acpi/acpidump/acpidump.h Sun Aug 22 21:44:51 2010 (r211653) @@ -55,6 +55,78 @@ /* Find and map the RSD PTR structure and return it for parsing */ ACPI_TABLE_HEADER *sdt_load_devmem(void); +/* TCPA */ +struct TCPAbody { + ACPI_TABLE_HEADER header; + uint16_t platform_class; +#define ACPI_TCPA_BIOS_CLIENT 0x00 +#define ACPI_TCPA_BIOS_SERVER 0x01 + union { + struct client_hdr { + uint32_t log_max_len __packed; + uint64_t log_start_addr __packed; + } client; + struct server_hdr { + uint16_t reserved; + uint64_t log_max_len __packed; + uint64_t log_start_addr __packed; + } server; + }; +} __packed; + +struct TCPAevent { + u_int32_t pcr_index; + u_int32_t event_type; + u_int8_t pcr_value[20]; + u_int32_t event_size; + u_int8_t event_data[0]; +}; + +struct TCPApc_event { + u_int32_t event_id; + u_int32_t event_size; + u_int8_t event_data[0]; +}; + +enum TCPAevent_types { + PREBOOT = 0, + POST_CODE, + UNUSED, + NO_ACTION, + SEPARATOR, + ACTION, + EVENT_TAG, + SCRTM_CONTENTS, + SCRTM_VERSION, + CPU_MICROCODE, + PLATFORM_CONFIG_FLAGS, + TABLE_OF_DEVICES, + COMPACT_HASH, + IPL, + IPL_PARTITION_DATA, + NONHOST_CODE, + NONHOST_CONFIG, + NONHOST_INFO, + EVENT_TYPE_MAX, +}; + +enum TCPApcclient_ids { + SMBIOS = 1, + BIS_CERT, + POST_BIOS_ROM, + ESCD, + CMOS, + NVRAM, + OPTION_ROM_EXEC, + OPTION_ROM_CONFIG, + OPTION_ROM_MICROCODE = 10, + S_CRTM_VERSION, + S_CRTM_CONTENTS, + POST_CONTENTS, + HOST_TABLE_OF_DEVICES, + PCCLIENT_ID_MAX, +}; + /* * Load the DSDT from a previous save file. Note that other tables are * not saved (i.e. FADT) Modified: user/imp/tbemd/usr.sbin/acpi/iasl/Makefile ============================================================================== --- user/imp/tbemd/usr.sbin/acpi/iasl/Makefile Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/acpi/iasl/Makefile Sun Aug 22 21:44:51 2010 (r211653) @@ -17,7 +17,8 @@ SRCS+= aslanalyze.c aslcodegen.c aslcomp aslrestype1.c aslrestype1i.c aslrestype2.c \ aslrestype2d.c aslrestype2e.c aslrestype2q.c \ aslrestype2w.c aslstartup.c aslstubs.c asltransform.c \ - asltree.c aslutils.c + asltree.c aslutils.c dtcompile.c dtfield.c dtio.c \ + dtsubtable.c dttable.c dttemplate.c dtutils.c # debugger SRCS+= dbfileio.c @@ -50,7 +51,8 @@ SRCS+= tbfadt.c tbinstal.c tbutils.c tbx # utilities SRCS+= utalloc.c utcache.c utcopy.c utdebug.c utdelete.c \ utglobal.c utinit.c utlock.c utmath.c utmisc.c \ - utmutex.c utobject.c utresrc.c utstate.c utxface.c + utmutex.c utobject.c utosi.c utresrc.c utstate.c \ + utxface.c WARNS?= 2 Modified: user/imp/tbemd/usr.sbin/ancontrol/ancontrol.8 ============================================================================== --- user/imp/tbemd/usr.sbin/ancontrol/ancontrol.8 Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/ancontrol/ancontrol.8 Sun Aug 22 21:44:51 2010 (r211653) @@ -308,7 +308,7 @@ Set a WEP key. For 40 bit prefix 10 hex character with 0x. For 128 bit prefix 26 hex character with 0x. Use -.Qq +.Qq \& as the key to erase the key. Supports 4 keys; even numbers are for permanent keys and odd number are for temporary keys. Modified: user/imp/tbemd/usr.sbin/arp/arp.c ============================================================================== --- user/imp/tbemd/usr.sbin/arp/arp.c Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/arp/arp.c Sun Aug 22 21:44:51 2010 (r211653) @@ -555,6 +555,9 @@ search(u_long addr, action_fn *action) /* * Display an arp entry */ +static char lifname[IF_NAMESIZE]; +static int64_t lifindex = -1; + static void print_entry(struct sockaddr_dl *sdl, struct sockaddr_inarp *addr, struct rt_msghdr *rtm) @@ -562,7 +565,6 @@ print_entry(struct sockaddr_dl *sdl, const char *host; struct hostent *hp; struct iso88025_sockaddr_dl_data *trld; - char ifname[IF_NAMESIZE]; int seg; if (nflag == 0) @@ -591,8 +593,12 @@ print_entry(struct sockaddr_dl *sdl, } } else printf("(incomplete)"); - if (if_indextoname(sdl->sdl_index, ifname) != NULL) - printf(" on %s", ifname); + if (sdl->sdl_index != lifindex && + if_indextoname(sdl->sdl_index, lifname) != NULL) { + lifindex = sdl->sdl_index; + printf(" on %s", lifname); + } else if (sdl->sdl_index == lifindex) + printf(" on %s", lifname); if (rtm->rtm_rmx.rmx_expire == 0) printf(" permanent"); else { Modified: user/imp/tbemd/usr.sbin/boot0cfg/boot0cfg.c ============================================================================== --- user/imp/tbemd/usr.sbin/boot0cfg/boot0cfg.c Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/boot0cfg/boot0cfg.c Sun Aug 22 21:44:51 2010 (r211653) @@ -356,6 +356,8 @@ write_mbr(const char *fname, int flags, if (n != mbr_size) errx(1, "%s: short write", fname); return; + } else { + err(1, "write_mbr: %s", fname); } /* Modified: user/imp/tbemd/usr.sbin/bsnmpd/modules/Makefile ============================================================================== --- user/imp/tbemd/usr.sbin/bsnmpd/modules/Makefile Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/bsnmpd/modules/Makefile Sun Aug 22 21:44:51 2010 (r211653) @@ -12,7 +12,8 @@ SUBDIR= ${_snmp_atm} \ snmp_bridge \ snmp_hostres \ snmp_mibII \ - snmp_pf + snmp_pf \ + snmp_wlan .if ${MK_NETGRAPH_SUPPORT} != "no" SUBDIR+=snmp_netgraph Modified: user/imp/tbemd/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3 ============================================================================== --- user/imp/tbemd/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3 Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3 Sun Aug 22 21:44:51 2010 (r211653) @@ -30,7 +30,7 @@ .Os .Sh NAME .Nm snmp_bridge -.Nd "bridge module for snmpd. +.Nd "bridge module for snmpd" .Sh LIBRARY .Pq begemotSnmpdModulePath."bridge" = "/usr/lib/snmp_bridge.so" .Sh DESCRIPTION @@ -46,7 +46,7 @@ MIB also defines additional objects whic similar to .Xr ifconfig 8 for configuring bridge interfaces. -Therefore one should consider adding write comminities or loading the +Therefore one should consider adding write communities or loading the .Nm module on systems where security is crucial. .Sh IMPLEMENTATION NOTES @@ -66,7 +66,7 @@ index and set the status of the interfac will attempt to destroy the bridge interface. .El .It Va begemotBridgeBaseSpanEnabled -A SNMP SET operation on this object is only successfull if the corresponding +A SNMP SET operation on this object is only successful if the corresponding port has not been added as member of the bridge interface on the system. .It Va begemotBridgeBasePortStatus SNMP SET operations with the following values are allowed: Modified: user/imp/tbemd/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c ============================================================================== --- user/imp/tbemd/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c Sun Aug 22 21:44:51 2010 (r211653) @@ -340,6 +340,9 @@ disk_OS_get_MD_disks(void) struct md_ioctl mdio; int unit; + if (md_fd <= 0) + return; + /* Look for md devices */ STAILQ_FOREACH(map, &device_map, link) { if (sscanf(map->name_key, "md%d", &unit) != 1) @@ -546,8 +549,8 @@ init_disk_storage_tbl(void) md_fd = -1; snprintf(mddev, sizeof(mddev) - 1, "%s%s", _PATH_DEV, MDCTL_NAME); if ((md_fd = open(mddev, O_RDWR)) == -1) { - syslog(LOG_ERR, "open %s failed: %m", mddev); - return (-1); + syslog(LOG_ERR, "open %s failed - will not include md(4) " + "info: %m", mddev); } refresh_disk_storage_tbl(1); Modified: user/imp/tbemd/usr.sbin/config/config.8 ============================================================================== --- user/imp/tbemd/usr.sbin/config/config.8 Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/config/config.8 Sun Aug 22 21:44:51 2010 (r211653) @@ -78,6 +78,9 @@ Note that does not append .Ar SYSTEM_NAME to the directory given. +.It Fl m +Print the MACHINE and MACHINE_ARCH values for this +kernel and exit. .It Fl g Configure a system for debugging. .It Fl x Ar kernel Modified: user/imp/tbemd/usr.sbin/config/config.y ============================================================================== --- user/imp/tbemd/usr.sbin/config/config.y Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/config/config.y Sun Aug 22 21:44:51 2010 (r211653) @@ -365,7 +365,8 @@ newdev(char *name) struct device *np; if (finddev(&dtab, name)) { - printf("WARNING: duplicate device `%s' encountered.\n", name); + fprintf(stderr, + "WARNING: duplicate device `%s' encountered.\n", name); return; } @@ -425,7 +426,8 @@ newopt(struct opt_head *list, char *name op2 = findopt(list, name); if (op2 != NULL && !append) { - printf("WARNING: duplicate option `%s' encountered.\n", name); + fprintf(stderr, + "WARNING: duplicate option `%s' encountered.\n", name); return; } Modified: user/imp/tbemd/usr.sbin/config/configvers.h ============================================================================== --- user/imp/tbemd/usr.sbin/config/configvers.h Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/config/configvers.h Sun Aug 22 21:44:51 2010 (r211653) @@ -49,5 +49,5 @@ * * $FreeBSD$ */ -#define CONFIGVERS 600009 +#define CONFIGVERS 600011 #define MAJOR_VERS(x) ((x) / 100000) Modified: user/imp/tbemd/usr.sbin/config/main.c ============================================================================== --- user/imp/tbemd/usr.sbin/config/main.c Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/config/main.c Sun Aug 22 21:44:51 2010 (r211653) @@ -110,13 +110,18 @@ main(int argc, char **argv) char *p; char xxx[MAXPATHLEN]; char *kernfile; + int printmachine; + printmachine = 0; kernfile = NULL; - while ((ch = getopt(argc, argv, "Cd:gpVx:")) != -1) + while ((ch = getopt(argc, argv, "Cd:gmpVx:")) != -1) switch (ch) { case 'C': filebased = 1; break; + case 'm': + printmachine = 1; + break; case 'd': if (*destdir == '\0') strlcpy(destdir, optarg, sizeof(destdir)); @@ -171,13 +176,6 @@ main(int argc, char **argv) strlcat(destdir, PREFIX, sizeof(destdir)); } - p = path((char *)NULL); - if (stat(p, &buf)) { - if (mkdir(p, 0777)) - err(2, "%s", p); - } else if (!S_ISDIR(buf.st_mode)) - errx(EXIT_FAILURE, "%s isn't a directory", p); - SLIST_INIT(&cputype); SLIST_INIT(&mkopt); SLIST_INIT(&opt); @@ -207,6 +205,19 @@ main(int argc, char **argv) } checkversion(); + if (printmachine) { + printf("%s\t%s\n",machinename,machinearch); + exit(0); + } + + /* Make compile directory */ + p = path((char *)NULL); + if (stat(p, &buf)) { + if (mkdir(p, 0777)) + err(2, "%s", p); + } else if (!S_ISDIR(buf.st_mode)) + errx(EXIT_FAILURE, "%s isn't a directory", p); + /* * make symbolic links in compilation directory * for "sys" (to make genassym.c work along with #include ) @@ -280,7 +291,7 @@ static void usage(void) { - fprintf(stderr, "usage: config [-CgpV] [-d destdir] sysname\n"); + fprintf(stderr, "usage: config [-CgmpV] [-d destdir] sysname\n"); fprintf(stderr, " config -x kernel\n"); exit(EX_USAGE); } Modified: user/imp/tbemd/usr.sbin/config/mkmakefile.c ============================================================================== --- user/imp/tbemd/usr.sbin/config/mkmakefile.c Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/config/mkmakefile.c Sun Aug 22 21:44:51 2010 (r211653) @@ -341,7 +341,8 @@ next: if (eq(wd, "include")) { next_quoted_word(fp, wd); if (wd == 0) { - printf("%s: missing include filename.\n", fname); + fprintf(stderr, "%s: missing include filename.\n", + fname); exit(1); } (void) snprintf(ifname, sizeof(ifname), "../../%s", wd); @@ -353,8 +354,7 @@ next: this = ns(wd); next_word(fp, wd); if (wd == 0) { - printf("%s: No type for %s.\n", - fname, this); + fprintf(stderr, "%s: No type for %s.\n", fname, this); exit(1); } tp = fl_lookup(this); @@ -381,8 +381,9 @@ next: } else if (eq(wd, "mandatory")) { mandatory = 1; } else if (!eq(wd, "optional")) { - printf("%s: %s must be optional, mandatory or standard\n", - fname, this); + fprintf(stderr, + "%s: %s must be optional, mandatory or standard\n", + fname, this); exit(1); } nextparam: @@ -395,7 +396,7 @@ nextparam: } if (eq(wd, "|")) { if (nreqs == 0) { - printf("%s: syntax error describing %s\n", + fprintf(stderr, "%s: syntax error describing %s\n", fname, this); exit(1); } @@ -410,9 +411,9 @@ nextparam: } if (eq(wd, "no-implicit-rule")) { if (compilewith == 0) { - printf("%s: alternate rule required when " - "\"no-implicit-rule\" is specified.\n", - fname); + fprintf(stderr, "%s: alternate rule required when " + "\"no-implicit-rule\" is specified.\n", + fname); } imp_rule++; goto nextparam; @@ -424,8 +425,9 @@ nextparam: if (eq(wd, "dependency")) { next_quoted_word(fp, wd); if (wd == 0) { - printf("%s: %s missing compile command string.\n", - fname, this); + fprintf(stderr, + "%s: %s missing compile command string.\n", + fname, this); exit(1); } depends = ns(wd); @@ -434,8 +436,8 @@ nextparam: if (eq(wd, "clean")) { next_quoted_word(fp, wd); if (wd == 0) { - printf("%s: %s missing clean file list.\n", - fname, this); + fprintf(stderr, "%s: %s missing clean file list.\n", + fname, this); exit(1); } clean = ns(wd); @@ -444,8 +446,9 @@ nextparam: if (eq(wd, "compile-with")) { next_quoted_word(fp, wd); if (wd == 0) { - printf("%s: %s missing compile command string.\n", - fname, this); + fprintf(stderr, + "%s: %s missing compile command string.\n", + fname, this); exit(1); } compilewith = ns(wd); @@ -454,8 +457,9 @@ nextparam: if (eq(wd, "warning")) { next_quoted_word(fp, wd); if (wd == 0) { - printf("%s: %s missing warning text string.\n", - fname, this); + fprintf(stderr, + "%s: %s missing warning text string.\n", + fname, this); exit(1); } warning = ns(wd); @@ -484,13 +488,14 @@ nextparam: goto nextparam; } if (mandatory) { - printf("%s: mandatory device \"%s\" not found\n", + fprintf(stderr, "%s: mandatory device \"%s\" not found\n", fname, wd); exit(1); } if (std) { - printf("standard entry %s has a device keyword - %s!\n", - this, wd); + fprintf(stderr, + "standard entry %s has a device keyword - %s!\n", + this, wd); exit(1); } SLIST_FOREACH(op, &opt, op_next) @@ -501,13 +506,13 @@ nextparam: doneparam: if (std == 0 && nreqs == 0) { - printf("%s: what is %s optional on?\n", + fprintf(stderr, "%s: what is %s optional on?\n", fname, this); exit(1); } if (wd) { - printf("%s: syntax error describing %s\n", + fprintf(stderr, "%s: syntax error describing %s\n", fname, this); exit(1); } @@ -683,10 +688,11 @@ do_rules(FILE *f) char *cp, *np, och; struct file_list *ftp; char *compilewith; + char cmd[128]; STAILQ_FOREACH(ftp, &ftab, f_next) { if (ftp->f_warn) - printf("WARNING: %s\n", ftp->f_warn); + fprintf(stderr, "WARNING: %s\n", ftp->f_warn); cp = (np = ftp->f_fn) + strlen(ftp->f_fn) - 1; och = *cp; if (ftp->f_flags & NO_IMPLCT_RULE) { @@ -720,25 +726,23 @@ do_rules(FILE *f) compilewith = ftp->f_compilewith; if (compilewith == 0) { const char *ftype = NULL; - static char cmd[128]; switch (ftp->f_type) { - case NORMAL: ftype = "NORMAL"; break; - case PROFILING: if (!profiling) continue; ftype = "PROFILE"; break; - default: - printf("config: don't know rules for %s\n", np); + fprintf(stderr, + "config: don't know rules for %s\n", np); break; } - snprintf(cmd, sizeof(cmd), "${%s_%c%s}\n\t@${NORMAL_CTFCONVERT}", ftype, + snprintf(cmd, sizeof(cmd), + "${%s_%c%s}\n\t@${NORMAL_CTFCONVERT}", ftype, toupper(och), ftp->f_flags & NOWERROR ? "_NOWERROR" : ""); compilewith = cmd; Modified: user/imp/tbemd/usr.sbin/config/mkoptions.c ============================================================================== --- user/imp/tbemd/usr.sbin/config/mkoptions.c Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/config/mkoptions.c Sun Aug 22 21:44:51 2010 (r211653) @@ -77,12 +77,14 @@ options(void) } if (maxusers == 0) { - /* printf("maxusers not specified; will auto-size\n"); */ + /* fprintf(stderr, "maxusers not specified; will auto-size\n"); */ } else if (maxusers < users.u_min) { - printf("minimum of %d maxusers assumed\n", users.u_min); + fprintf(stderr, "minimum of %d maxusers assumed\n", + users.u_min); maxusers = users.u_min; } else if (maxusers > users.u_max) - printf("warning: maxusers > %d (%d)\n", users.u_max, maxusers); + fprintf(stderr, "warning: maxusers > %d (%d)\n", + users.u_max, maxusers); /* Fake MAXUSERS as an option. */ op = (struct opt *)calloc(1, sizeof(*op)); @@ -94,11 +96,25 @@ options(void) SLIST_INSERT_HEAD(&opt, op, op_next); read_options(); + + /* Fake the value of MACHINE_ARCH as an option if necessary */ + SLIST_FOREACH(ol, &otab, o_next) { + if (strcasecmp(ol->o_name, machinearch) != 0) + continue; + + op = (struct opt *)calloc(1, sizeof(*op)); + if (op == NULL) + err(EXIT_FAILURE, "calloc"); + op->op_name = ns(ol->o_name); + SLIST_INSERT_HEAD(&opt, op, op_next); + break; + } + SLIST_FOREACH(op, &opt, op_next) { SLIST_FOREACH(ol, &otab, o_next) { if (eq(op->op_name, ol->o_name) && (ol->o_flags & OL_ALIAS)) { - printf("Mapping option %s to %s.\n", + fprintf(stderr, "Mapping option %s to %s.\n", op->op_name, ol->o_file); op->op_name = ol->o_file; break; @@ -109,7 +125,7 @@ options(void) do_option(ol->o_name); SLIST_FOREACH(op, &opt, op_next) { if (!op->op_ownfile && strncmp(op->op_name, "DEV_", 4)) { - printf("%s: unknown option \"%s\"\n", + fprintf(stderr, "%s: unknown option \"%s\"\n", PREFIX, op->op_name); exit(1); } @@ -146,7 +162,7 @@ do_option(char *name) if (value == NULL) value = ns("1"); if (oldvalue != NULL && !eq(value, oldvalue)) - printf( + fprintf(stderr, "%s: option \"%s\" redefined from %s to %s\n", PREFIX, op->op_name, oldvalue, value); @@ -204,12 +220,14 @@ do_option(char *name) if (eq(inw, ol->o_name)) break; if (!eq(inw, name) && !ol) { - printf("WARNING: unknown option `%s' removed from %s\n", - inw, file); + fprintf(stderr, + "WARNING: unknown option `%s' removed from %s\n", + inw, file); tidy++; } else if (ol != NULL && !eq(basefile, ol->o_file)) { - printf("WARNING: option `%s' moved from %s to %s\n", - inw, basefile, ol->o_file); + fprintf(stderr, + "WARNING: option `%s' moved from %s to %s\n", + inw, basefile, ol->o_file); tidy++; } else { op = (struct opt *) calloc(1, sizeof *op); @@ -298,8 +316,8 @@ check_duplicate(const char *fname, const SLIST_FOREACH(po, &otab, o_next) { if (eq(po->o_name, this)) { - printf("%s: Duplicate option %s.\n", - fname, this); + fprintf(stderr, "%s: Duplicate option %s.\n", + fname, this); exit(1); } } @@ -333,8 +351,11 @@ update_option(const char *this, char *va return; } } - printf("Compat option %s not listed in options file.\n", this); - exit(1); + /* + * Option not found, but that's OK, we just ignore it since it + * may be for another arch. + */ + return; } static int @@ -361,8 +382,8 @@ read_option_file(const char *fname, int return (1); if (val == 0) { if (flags) { - printf("%s: compat file requires two words " - "per line at %s\n", fname, this); + fprintf(stderr, "%s: compat file requires two" + " words per line at %s\n", fname, this); exit(1); } char *s = ns(this); Modified: user/imp/tbemd/usr.sbin/cpucontrol/amd.c ============================================================================== --- user/imp/tbemd/usr.sbin/cpucontrol/amd.c Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/cpucontrol/amd.c Sun Aug 22 21:44:51 2010 (r211653) @@ -92,9 +92,7 @@ amd_update(const char *dev, const char * assert(dev); fd = -1; - devfd = -1; fw_image = MAP_FAILED; - error = 0; devfd = open(dev, O_RDWR); if (devfd < 0) { WARN(0, "could not open %s for writing", dev); Modified: user/imp/tbemd/usr.sbin/cpucontrol/intel.c ============================================================================== --- user/imp/tbemd/usr.sbin/cpucontrol/intel.c Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/cpucontrol/intel.c Sun Aug 22 21:44:51 2010 (r211653) @@ -104,7 +104,6 @@ intel_update(const char *dev, const char assert(dev); fd = -1; - devfd = -1; fw_image = MAP_FAILED; ext_table = NULL; ext_header = NULL; Modified: user/imp/tbemd/usr.sbin/crunch/crunchide/Makefile ============================================================================== --- user/imp/tbemd/usr.sbin/crunch/crunchide/Makefile Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/crunch/crunchide/Makefile Sun Aug 22 21:44:51 2010 (r211653) @@ -18,7 +18,8 @@ CFLAGS+=-DNLIST_AOUT SRCS+= exec_aout.c .endif -.if ${TARGET_CPUARCH} == ia64 || \ +# nb: TARGET_ARCH for powerpc64 is correct here +.if ${TARGET_CPUARCH} == ia64 || ${TARGET_ARCH} == powerpc64 || \ ${TARGET_CPUARCH} == sparc64 || ${TARGET_CPUARCH} == amd64 CFLAGS+=-DNLIST_ELF64 SRCS+= exec_elf64.c Modified: user/imp/tbemd/usr.sbin/crunch/crunchide/exec_elf32.c ============================================================================== --- user/imp/tbemd/usr.sbin/crunch/crunchide/exec_elf32.c Sun Aug 22 21:44:05 2010 (r211652) +++ user/imp/tbemd/usr.sbin/crunch/crunchide/exec_elf32.c Sun Aug 22 21:44:51 2010 (r211653) @@ -60,10 +60,15 @@ __FBSDID("$FreeBSD$"); #include #define xewtoh(x) ((data == ELFDATA2MSB) ? be32toh(x) : le32toh(x)) #define htoxew(x) ((data == ELFDATA2MSB) ? htobe32(x) : htole32(x)) +#define wewtoh(x) ((data == ELFDATA2MSB) ? be32toh(x) : le32toh(x)) +#define htowew(x) ((data == ELFDATA2MSB) ? htobe32(x) : htole32(x)) #elif (ELFSIZE == 64) #include #define xewtoh(x) ((data == ELFDATA2MSB) ? be64toh(x) : le64toh(x)) #define htoxew(x) ((data == ELFDATA2MSB) ? htobe64(x) : htole64(x)) +/* elf64 Elf64_Word are 32 bits */ +#define wewtoh(x) ((data == ELFDATA2MSB) ? be32toh(x) : le32toh(x)) +#define htowew(x) ((data == ELFDATA2MSB) ? htobe32(x) : htole32(x)) #endif #include @@ -130,6 +135,20 @@ xmalloc(size_t size, const char *fn, con return (rv); } +static void * +xrealloc(void *ptr, size_t size, const char *fn, const char *use) +{ + void *rv; + + rv = realloc(ptr, size); + if (rv == NULL) { + free(ptr); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 21:47:19 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E2EC41065670; Sun, 22 Aug 2010 21:47:19 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CF2398FC1B; Sun, 22 Aug 2010 21:47:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MLlJX9017421; Sun, 22 Aug 2010 21:47:19 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MLlJKp017384; Sun, 22 Aug 2010 21:47:19 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008222147.o7MLlJKp017384@svn.freebsd.org> From: Warner Losh Date: Sun, 22 Aug 2010 21:47:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211654 - in user/imp/tbemd/usr.bin: . ar c89 c99 calendar calendar/calendars clang clang/clang clang/tblgen col cpio csup du elfdump fstat gcore getopt grep gzip hexdump indent ktrace ... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 21:47:20 -0000 Author: imp Date: Sun Aug 22 21:47:19 2010 New Revision: 211654 URL: http://svn.freebsd.org/changeset/base/211654 Log: Merge to head @211636 -- with hand tweaks [given up] hoping for the best Added: user/imp/tbemd/usr.bin/grep/ - copied from r211636, head/usr.bin/grep/ Modified: user/imp/tbemd/usr.bin/Makefile user/imp/tbemd/usr.bin/ar/ar.1 user/imp/tbemd/usr.bin/c89/c89.1 user/imp/tbemd/usr.bin/c99/c99.1 user/imp/tbemd/usr.bin/calendar/calendars/calendar.freebsd user/imp/tbemd/usr.bin/calendar/locale.c user/imp/tbemd/usr.bin/clang/Makefile user/imp/tbemd/usr.bin/clang/clang/Makefile user/imp/tbemd/usr.bin/clang/tblgen/Makefile user/imp/tbemd/usr.bin/col/col.c user/imp/tbemd/usr.bin/cpio/bsdcpio.1 user/imp/tbemd/usr.bin/cpio/cmdline.c user/imp/tbemd/usr.bin/cpio/cpio.c user/imp/tbemd/usr.bin/cpio/cpio.h user/imp/tbemd/usr.bin/csup/csup.1 user/imp/tbemd/usr.bin/csup/main.c user/imp/tbemd/usr.bin/du/du.1 user/imp/tbemd/usr.bin/du/du.c user/imp/tbemd/usr.bin/elfdump/elfdump.c user/imp/tbemd/usr.bin/fstat/fstat.1 user/imp/tbemd/usr.bin/gcore/elfcore.c user/imp/tbemd/usr.bin/gcore/extern.h user/imp/tbemd/usr.bin/gcore/gcore.1 user/imp/tbemd/usr.bin/gcore/gcore.c user/imp/tbemd/usr.bin/getopt/getopt.1 user/imp/tbemd/usr.bin/gzip/unpack.c user/imp/tbemd/usr.bin/hexdump/od.1 user/imp/tbemd/usr.bin/indent/indent.c user/imp/tbemd/usr.bin/ktrace/ktrace.1 user/imp/tbemd/usr.bin/locate/bigram/locate.bigram.c user/imp/tbemd/usr.bin/locate/code/locate.code.c user/imp/tbemd/usr.bin/lock/Makefile user/imp/tbemd/usr.bin/lock/lock.c user/imp/tbemd/usr.bin/make/str.c user/imp/tbemd/usr.bin/ministat/ministat.1 user/imp/tbemd/usr.bin/netstat/if.c Directory Properties: user/imp/tbemd/usr.bin/csup/ (props changed) Modified: user/imp/tbemd/usr.bin/Makefile ============================================================================== --- user/imp/tbemd/usr.bin/Makefile Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/Makefile Sun Aug 22 21:47:19 2010 (r211654) @@ -5,7 +5,7 @@ # XXX MISSING: deroff diction graph learn plot # spell spline struct xsend -# XXX Use GNU versions: apropos diff grep ld man patch whatis +# XXX Use GNU versions: apropos diff ld man patch whatis # Moved to secure: bdes # @@ -57,6 +57,7 @@ SUBDIR= alias \ getconf \ getent \ getopt \ + ${_grep} \ gzip \ head \ hexdump \ @@ -229,6 +230,10 @@ SUBDIR+= calendar _clang= clang .endif +.if ${MK_GNU_GREP} != "yes" +_grep= grep +.endif + .if ${MK_HESIOD} != "no" SUBDIR+= hesinfo .endif Modified: user/imp/tbemd/usr.bin/ar/ar.1 ============================================================================== --- user/imp/tbemd/usr.bin/ar/ar.1 Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/ar/ar.1 Sun Aug 22 21:47:19 2010 (r211654) @@ -292,7 +292,7 @@ or options, .Nm gives a file-by-file description of the archive modification being -performed, which consists of three white-space seperated fields: +performed, which consists of three white-space separated fields: the option letter, a dash .Dq "-" , and the file name. Modified: user/imp/tbemd/usr.bin/c89/c89.1 ============================================================================== --- user/imp/tbemd/usr.bin/c89/c89.1 Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/c89/c89.1 Sun Aug 22 21:47:19 2010 (r211654) @@ -94,7 +94,7 @@ absolute pathnames to look in the direct pathname before looking in the usual places. Thus, headers whose names are enclosed in double-quotes -.Pq Qq +.Pq Qq \& will be searched for first in the directory of the file with the .Ic #include @@ -103,7 +103,7 @@ directories named in .Fl I options, and last in the usual places. For headers whose names are enclosed in angle brackets -.Pq Aq , +.Pq Aq \& , the header will be searched for only in directories named in .Fl I Modified: user/imp/tbemd/usr.bin/c99/c99.1 ============================================================================== --- user/imp/tbemd/usr.bin/c99/c99.1 Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/c99/c99.1 Sun Aug 22 21:47:19 2010 (r211654) @@ -26,7 +26,7 @@ .\" From FreeBSD: src/usr.bin/c89/c89.1,v 1.11 2007/03/10 07:10:01 ru Exp .\" $FreeBSD$ .\" -.Dd October 7, 2002 +.Dd June 17, 2010 .Dt C99 1 .Os .Sh NAME @@ -96,7 +96,7 @@ absolute pathnames to look in the direct pathname before looking in the usual places. Thus, headers whose names are enclosed in double-quotes -.Pq Qq +.Pq Qq \& will be searched for first in the directory of the file with the .Ic #include @@ -105,7 +105,7 @@ directories named in .Fl I options, and last in the usual places. For headers whose names are enclosed in angle brackets -.Pq Aq , +.Pq Aq \& , the header will be searched for only in directories named in .Fl I @@ -181,7 +181,8 @@ operand is significant. .Sh SEE ALSO .Xr ar 1 , .Xr c89 1 , -.Xr cc 1 +.Xr cc 1 , +.Xr c99 7 .Sh STANDARDS The .Nm @@ -195,4 +196,4 @@ features that .Tn GCC actually implements. See -.Pa http://gcc.gnu.org/gcc-3.3/c99status.html . +.Pa http://gcc.gnu.org/gcc-4.2/c99status.html . Modified: user/imp/tbemd/usr.bin/calendar/calendars/calendar.freebsd ============================================================================== --- user/imp/tbemd/usr.bin/calendar/calendars/calendar.freebsd Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/calendar/calendars/calendar.freebsd Sun Aug 22 21:47:19 2010 (r211654) @@ -72,6 +72,7 @@ 03/03 Doug White born in Eugene, Oregon, United States, 1977 03/03 Gordon Tetlow born in Reno, Nevada, United States, 1978 03/04 Oleksandr Tymoshenko born in Chernihiv, Ukraine, 1980 +03/05 Baptiste Daroussin born in Beauvais, France, 1980 03/05 Philip Paeps born in Leuven, Belgium, 1983 03/05 Ulf Lilleengen born in Hamar, Norway, 1985 03/06 Christopher Piazza born in Kamloops, British Columbia, Canada, 1981 @@ -92,6 +93,7 @@ 03/20 MANTANI Nobutaka born in Hiroshima, Japan, 1978 03/20 Cameron Grant died in Hemel Hempstead, United Kingdom, 2005 03/20 Henrik Brix Andersen born in Aarhus, Denmark, 1978 +03/20 Joseph S. Atkinson born in Batesville, Arkansas, United States, 1977 03/22 Brad Davis born in Farmington, New Mexico, United States, 1983 03/23 Daniel C. Sobral born in Brasilia, Distrito Federal, Brazil, 1971 03/23 Benno Rice born in Adelaide, South Australia, Australia, 1977 @@ -288,6 +290,7 @@ 11/10 Gregory Neil Shapiro born in Providence, Rhode Island, United States, 1970 11/13 John Baldwin born in Stuart, Virginia, United States, 1977 11/15 Lars Engels born in Hilden, Nordrhein-Westfalen, Germany, 1980 +11/15 Tijl Coosemans born in Duffel, Belgium, 1983 11/16 Jose Maria Alcaide Salinas born in Madrid, Spain, 1962 11/17 Ralf S. Engelschall born in Dachau, Bavaria, Germany, 1972 11/18 Thomas Quinot born in Paris, France, 1977 Modified: user/imp/tbemd/usr.bin/calendar/locale.c ============================================================================== --- user/imp/tbemd/usr.bin/calendar/locale.c Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/calendar/locale.c Sun Aug 22 21:47:19 2010 (r211654) @@ -76,7 +76,7 @@ setnnames(void) int i, l; struct tm tm; - memset(&tm, '\0', sizeof(struct tm)); + memset(&tm, 0, sizeof(struct tm)); for (i = 0; i < 7; i++) { tm.tm_wday = i; strftime(buf, sizeof(buf), "%a", &tm); @@ -104,7 +104,7 @@ setnnames(void) fndays[i].len = strlen(buf); } - memset(&tm, '\0', sizeof(struct tm)); + memset(&tm, 0, sizeof(struct tm)); for (i = 0; i < 12; i++) { tm.tm_mon = i; strftime(buf, sizeof(buf), "%b", &tm); Modified: user/imp/tbemd/usr.bin/clang/Makefile ============================================================================== --- user/imp/tbemd/usr.bin/clang/Makefile Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/clang/Makefile Sun Aug 22 21:47:19 2010 (r211654) @@ -1,5 +1,5 @@ # $FreeBSD$ -SUBDIR= clang +SUBDIR= clang tblgen .include Modified: user/imp/tbemd/usr.bin/clang/clang/Makefile ============================================================================== --- user/imp/tbemd/usr.bin/clang/clang/Makefile Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/clang/clang/Makefile Sun Aug 22 21:47:19 2010 (r211654) @@ -5,24 +5,64 @@ PROG_CXX=clang SRCDIR= tools/clang/tools/driver -SRCS= cc1_main.cpp cc1as_main.cpp driver.cpp +SRCS= cc1_main.cpp \ + cc1as_main.cpp \ + driver.cpp MAN= LINKS= ${BINDIR}/clang ${BINDIR}/clang++ -TGHDRS= CC1AsOptions CC1Options DiagnosticCommonKinds \ - DiagnosticDriverKinds DiagnosticFrontendKinds \ - DiagnosticLexKinds DiagnosticSemaKinds Options -LIBDEPS=clangfrontend clangdriver clangcodegen clangsema clangchecker \ - clanganalysis clangrewrite clangast clangparse clanglex clangbasic \ - \ - llvminstcombine llvmipo llvmbitwriter llvmbitreader \ - llvmpowerpccodegen llvmpowerpcasmprinter llvmpowerpcinfo \ - llvmx86asmparser llvmx86asmprinter llvmx86codegen llvmx86info \ - llvmmipsasmprinter llvmmipscodegen llvmmipsinfo \ - llvmarmasmparser llvmarmasmprinter llvmarmcodegen \ - llvmselectiondag llvmasmprinter llvmcodegen llvmscalaropts \ - llvmtransformutils llvmmc llvmmcparser llvmipa llvmanalysis \ - llvmtarget llvmmc llvmcore llvmarminfo llvmsupport llvmsystem +TGHDRS= CC1AsOptions \ + CC1Options \ + DiagnosticCommonKinds \ + DiagnosticDriverKinds \ + DiagnosticFrontendKinds \ + DiagnosticLexKinds \ + DiagnosticSemaKinds \ + Options +LIBDEPS=clangfrontend \ + clangdriver \ + clangcodegen \ + clangsema \ + clangchecker \ + clanganalysis \ + clangrewrite \ + clangast \ + clangparse \ + clanglex \ + clangbasic \ + llvminstcombine \ + llvmipo \ + llvmbitwriter \ + llvmbitreader \ + llvmpowerpccodegen \ + llvmpowerpcasmprinter \ + llvmpowerpcinfo \ + llvmx86asmparser \ + llvmx86asmprinter \ + llvmx86codegen \ + llvmx86info \ + llvmmipsasmprinter \ + llvmmipscodegen \ + llvmmipsinfo \ + llvmarmasmparser \ + llvmarmasmprinter \ + llvmarmcodegen \ + llvmasmparser \ + llvmselectiondag \ + llvmasmprinter \ + llvmcodegen \ + llvmscalaropts \ + llvmtransformutils \ + llvmmc \ + llvmmcparser \ + llvmipa \ + llvmanalysis \ + llvmtarget \ + llvmmc \ + llvmcore \ + llvmarminfo \ + llvmsupport \ + llvmsystem .include "../clang.prog.mk" Modified: user/imp/tbemd/usr.bin/clang/tblgen/Makefile ============================================================================== --- user/imp/tbemd/usr.bin/clang/tblgen/Makefile Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/clang/tblgen/Makefile Sun Aug 22 21:47:19 2010 (r211654) @@ -3,20 +3,44 @@ PROG_CXX=tblgen SRCDIR= utils/TableGen -SRCS= ARMDecoderEmitter.cpp AsmMatcherEmitter.cpp \ - AsmWriterEmitter.cpp AsmWriterInst.cpp CallingConvEmitter.cpp \ - ClangASTNodesEmitter.cpp ClangDiagnosticsEmitter.cpp \ - CodeEmitterGen.cpp CodeGenDAGPatterns.cpp \ - CodeGenInstruction.cpp CodeGenTarget.cpp DAGISelEmitter.cpp \ - DAGISelMatcher.cpp DAGISelMatcherEmitter.cpp \ - DAGISelMatcherGen.cpp DAGISelMatcherOpt.cpp \ - DisassemblerEmitter.cpp EDEmitter.cpp FastISelEmitter.cpp \ - InstrEnumEmitter.cpp InstrInfoEmitter.cpp IntrinsicEmitter.cpp \ - LLVMCConfigurationEmitter.cpp OptParserEmitter.cpp Record.cpp \ - RegisterInfoEmitter.cpp SubtargetEmitter.cpp TGLexer.cpp \ - TGParser.cpp TGValueTypes.cpp TableGen.cpp TableGenBackend.cpp \ - X86DisassemblerTables.cpp X86RecognizableInstr.cpp +SRCS= ARMDecoderEmitter.cpp \ + AsmMatcherEmitter.cpp \ + AsmWriterEmitter.cpp \ + AsmWriterInst.cpp \ + CallingConvEmitter.cpp \ + ClangASTNodesEmitter.cpp \ + ClangAttrEmitter.cpp \ + ClangDiagnosticsEmitter.cpp \ + CodeEmitterGen.cpp \ + CodeGenDAGPatterns.cpp \ + CodeGenInstruction.cpp \ + CodeGenTarget.cpp \ + DAGISelEmitter.cpp \ + DAGISelMatcher.cpp \ + DAGISelMatcherEmitter.cpp \ + DAGISelMatcherGen.cpp \ + DAGISelMatcherOpt.cpp \ + DisassemblerEmitter.cpp \ + EDEmitter.cpp \ + FastISelEmitter.cpp \ + InstrEnumEmitter.cpp \ + InstrInfoEmitter.cpp \ + IntrinsicEmitter.cpp \ + LLVMCConfigurationEmitter.cpp \ + NeonEmitter.cpp \ + OptParserEmitter.cpp \ + Record.cpp \ + RegisterInfoEmitter.cpp \ + SubtargetEmitter.cpp \ + TGLexer.cpp \ + TGParser.cpp \ + TGValueTypes.cpp \ + TableGen.cpp \ + TableGenBackend.cpp \ + X86DisassemblerTables.cpp \ + X86RecognizableInstr.cpp MAN= +LLVM_REQUIRES_EH= LIBDEPS=llvmsupport llvmsystem Modified: user/imp/tbemd/usr.bin/col/col.c ============================================================================== --- user/imp/tbemd/usr.bin/col/col.c Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/col/col.c Sun Aug 22 21:47:19 2010 (r211654) @@ -461,7 +461,7 @@ flush_line(LINE *l) if (compress_spaces && nspace > 1) { while (1) { - int tab_col, tab_size;; + int tab_col, tab_size; tab_col = (last_col + 8) & ~7; if (tab_col > this_col) Modified: user/imp/tbemd/usr.bin/cpio/bsdcpio.1 ============================================================================== --- user/imp/tbemd/usr.bin/cpio/bsdcpio.1 Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/cpio/bsdcpio.1 Sun Aug 22 21:47:19 2010 (r211654) @@ -295,7 +295,7 @@ for more information. .Sh EXAMPLES The .Nm -command is traditionally used to copy file heirarchies in conjunction +command is traditionally used to copy file hierarchies in conjunction with the .Xr find 1 command. Modified: user/imp/tbemd/usr.bin/cpio/cmdline.c ============================================================================== --- user/imp/tbemd/usr.bin/cpio/cmdline.c Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/cpio/cmdline.c Sun Aug 22 21:47:19 2010 (r211654) @@ -285,6 +285,8 @@ cpio_getopt(struct cpio *cpio) * A period can be used instead of the colon. * * Sets uid/gid return as appropriate, -1 indicates uid/gid not specified. + * TODO: If the spec uses uname/gname, then return those to the caller + * as well. If the spec provides uid/gid, just return names as NULL. * * Returns NULL if no error, otherwise returns error string for display. * Modified: user/imp/tbemd/usr.bin/cpio/cpio.c ============================================================================== --- user/imp/tbemd/usr.bin/cpio/cpio.c Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/cpio/cpio.c Sun Aug 22 21:47:19 2010 (r211654) @@ -273,15 +273,21 @@ main(int argc, char *argv[]) cpio->quiet = 1; break; case 'R': /* GNU cpio, also --owner */ + /* TODO: owner_parse should return uname/gname + * also; use that to set [ug]name_override. */ errmsg = owner_parse(cpio->optarg, &uid, &gid); if (errmsg) { warnc(-1, "%s", errmsg); usage(); } - if (uid != -1) + if (uid != -1) { cpio->uid_override = uid; - if (gid != -1) + cpio->uname_override = NULL; + } + if (gid != -1) { cpio->gid_override = gid; + cpio->gname_override = NULL; + } break; case 'r': /* POSIX 1997 */ cpio->option_rename = 1; @@ -575,10 +581,14 @@ file_to_archive(struct cpio *cpio, const return (r); } - if (cpio->uid_override >= 0) + if (cpio->uid_override >= 0) { archive_entry_set_uid(entry, cpio->uid_override); - if (cpio->gid_override >= 0) + archive_entry_set_uname(entry, cpio->uname_override); + } + if (cpio->gid_override >= 0) { archive_entry_set_gid(entry, cpio->gid_override); + archive_entry_set_gname(entry, cpio->gname_override); + } /* * Generate a destination path for this entry. Modified: user/imp/tbemd/usr.bin/cpio/cpio.h ============================================================================== --- user/imp/tbemd/usr.bin/cpio/cpio.h Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/cpio/cpio.h Sun Aug 22 21:47:19 2010 (r211654) @@ -68,7 +68,9 @@ struct cpio { size_t pass_destpath_alloc; char *pass_destpath; int uid_override; + char *uname_override; int gid_override; + char *gname_override; int day_first; /* true if locale prefers day/mon */ /* If >= 0, then close this when done. */ Modified: user/imp/tbemd/usr.bin/csup/csup.1 ============================================================================== --- user/imp/tbemd/usr.bin/csup/csup.1 Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/csup/csup.1 Sun Aug 22 21:47:19 2010 (r211654) @@ -971,10 +971,6 @@ List files. .Xr cvs 1 , .Xr rcsintro 1 , .Xr ssh 1 . -.Pp -.Bd -literal -http://mu.org/~mux/csup.html -.Ed .Sh AUTHORS .An -nosplit .An Maxime Henrion Aq mux@FreeBSD.org Modified: user/imp/tbemd/usr.bin/csup/main.c ============================================================================== --- user/imp/tbemd/usr.bin/csup/main.c Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/csup/main.c Sun Aug 22 21:47:19 2010 (r211654) @@ -265,7 +265,6 @@ main(int argc, char *argv[]) lprintf(0, "Software version: %s\n", PROTO_SWVER); lprintf(0, "Protocol version: %d.%d\n", PROTO_MAJ, PROTO_MIN); - lprintf(0, "http://mu.org/~mux/csup.html\n"); return (0); break; case 'z': Modified: user/imp/tbemd/usr.bin/du/du.1 ============================================================================== --- user/imp/tbemd/usr.bin/du/du.1 Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/du/du.1 Sun Aug 22 21:47:19 2010 (r211654) @@ -42,7 +42,7 @@ .Nm .Op Fl A .Op Fl H | L | P -.Op Fl a | s | d Ar depth +.Op Fl a | s | d Ar depth | Fl t Ar threshold .Op Fl c .Op Fl l .Op Fl h | k | m | B Ar blocksize @@ -72,7 +72,7 @@ This is different from the .Fl k, m options or setting .Ev BLOCKSIZE -and gives an estimate of how much space the examined file hierachy would +and gives an estimate of how much space the examined file hierarchy would require on a filesystem with the given .Ar blocksize . Unless in @@ -107,6 +107,14 @@ This option exists solely for conformanc Display an entry for each specified file. (Equivalent to .Fl d Li 0 ) +.It Fl t Ar threshold +Display only entries for which size exceeds +.Ar threshold . +If +.Ar threshold +is negative, display only entries for which size is less than the absolute +value of +.Ar threshold . .It Fl d Ar depth Display an entry for all files and directories .Ar depth Modified: user/imp/tbemd/usr.bin/du/du.c ============================================================================== --- user/imp/tbemd/usr.bin/du/du.c Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/du/du.c Sun Aug 22 21:47:19 2010 (r211654) @@ -90,6 +90,7 @@ main(int argc, char *argv[]) FTS *fts; FTSENT *p; off_t savednumber, curblocks; + off_t threshold, threshold_sign; int ftsoptions; int listall; int depth; @@ -106,12 +107,14 @@ main(int argc, char *argv[]) save = argv; ftsoptions = 0; savednumber = 0; + threshold = 0; + threshold_sign = 1; cblocksize = DEV_BSIZE; blocksize = 0; depth = INT_MAX; SLIST_INIT(&ignores); - while ((ch = getopt(argc, argv, "AB:HI:LPasd:chklmnrx")) != -1) + while ((ch = getopt(argc, argv, "AB:HI:LPasd:chklmnrt:x")) != -1) switch (ch) { case 'A': Aflag = 1; @@ -179,6 +182,14 @@ main(int argc, char *argv[]) break; case 'r': /* Compatibility. */ break; + case 't' : + if (expand_number(optarg, &threshold) != 0 || + threshold == 0) { + warnx("invalid threshold: %s", optarg); + usage(); + } else if (threshold < 0) + threshold_sign = -1; + break; case 'x': ftsoptions |= FTS_XDEV; break; @@ -248,6 +259,10 @@ main(int argc, char *argv[]) blocksize /= DEV_BSIZE; } + if (threshold != 0) + threshold = howmany(threshold / DEV_BSIZE * cblocksize, + blocksize); + rval = 0; (void)signal(SIGINFO, siginfo); @@ -271,7 +286,9 @@ main(int argc, char *argv[]) p->fts_parent->fts_bignum += p->fts_bignum += curblocks; - if (p->fts_level <= depth) { + if (p->fts_level <= depth && threshold <= + threshold_sign * howmany(p->fts_bignum * + cblocksize, blocksize)) { if (hflag) { prthumanval(p->fts_bignum); (void)printf("\t%s\n", p->fts_path); Modified: user/imp/tbemd/usr.bin/elfdump/elfdump.c ============================================================================== --- user/imp/tbemd/usr.bin/elfdump/elfdump.c Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/elfdump/elfdump.c Sun Aug 22 21:47:19 2010 (r211654) @@ -322,6 +322,7 @@ sh_types(u_int64_t sht) { case 18: return "SHT_SYMTAB_SHNDX"; /* 0x60000000 - 0x6fffffff operating system-specific semantics */ case 0x6ffffff0: return "XXX:VERSYM"; + case 0x6ffffff4: return "SHT_SUNW_dof"; case 0x6ffffff7: return "SHT_GNU_LIBLIST"; case 0x6ffffffc: return "XXX:VERDEF"; case 0x6ffffffd: return "SHT_SUNW(GNU)_verdef"; Modified: user/imp/tbemd/usr.bin/fstat/fstat.1 ============================================================================== --- user/imp/tbemd/usr.bin/fstat/fstat.1 Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/fstat/fstat.1 Sun Aug 22 21:47:19 2010 (r211654) @@ -192,7 +192,7 @@ the name printed may not be the actual name that the process originally used to open that file. .El .Sh SOCKETS -The formating of open sockets depends on the protocol domain. +The formatting of open sockets depends on the protocol domain. In all cases the first field is the domain name, the second field is the socket type (stream, dgram, etc), and the third is the socket flags field (in hex). Modified: user/imp/tbemd/usr.bin/gcore/elfcore.c ============================================================================== --- user/imp/tbemd/usr.bin/gcore/elfcore.c Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/gcore/elfcore.c Sun Aug 22 21:47:19 2010 (r211654) @@ -488,12 +488,17 @@ readmap(pid_t pid) kve = &vmentl[i]; /* - * Ignore segments of the wrong kind and ones which are not - * readable and writable. + * Ignore 'malformed' segments or ones representing memory + * mapping with MAP_NOCORE on. + * If the 'full' support is disabled, just dump the most + * meaningful data segments. */ - if ((kve->kve_protection & KVME_PROT_WRITE) == 0 || - (kve->kve_protection & KVME_PROT_READ) == 0 || - (kve->kve_type != KVME_TYPE_DEFAULT && + if ((kve->kve_protection & KVME_PROT_READ) == 0 || + (kve->kve_flags & KVME_FLAG_NOCOREDUMP) != 0 || + kve->kve_type == KVME_TYPE_DEAD || + kve->kve_type == KVME_TYPE_UNKNOWN || + ((pflags & PFLAGS_FULL) == 0 && + kve->kve_type != KVME_TYPE_DEFAULT && kve->kve_type != KVME_TYPE_VNODE && kve->kve_type != KVME_TYPE_SWAP)) continue; Modified: user/imp/tbemd/usr.bin/gcore/extern.h ============================================================================== --- user/imp/tbemd/usr.bin/gcore/extern.h Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/gcore/extern.h Sun Aug 22 21:47:19 2010 (r211654) @@ -34,8 +34,11 @@ * $FreeBSD$ */ +#define PFLAGS_FULL 0x01 +#define PFLAGS_RESUME 0x02 + struct dumpers { int (*ident)(int efd, pid_t pid, char *binfile); void (*dump)(int efd, int fd, pid_t pid); }; -extern int sflag; +extern int pflags; Modified: user/imp/tbemd/usr.bin/gcore/gcore.1 ============================================================================== --- user/imp/tbemd/usr.bin/gcore/gcore.1 Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/gcore/gcore.1 Sun Aug 22 21:47:19 2010 (r211654) @@ -32,7 +32,7 @@ .\" @(#)gcore.1 8.2 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd November 18, 2009 +.Dd July 14, 2010 .Dt GCORE 1 .Os .Sh NAME @@ -40,6 +40,7 @@ .Nd get core images of running process .Sh SYNOPSIS .Nm +.Op Fl f .Op Fl s .Op Fl c Ar core .Op Ar executable @@ -61,6 +62,13 @@ The following options are available: .It Fl c Write the core file to the specified file instead of .Dq Pa core. . +.It Fl f +Dumps all the available segments, excluding only the malformed ones and +un-dumpable ones. Unlike the default invocation, it also dumps +device- and sglist-mapped areas that may invalidate the state of +some transactions. This flag must be used very carefully, when the +behavior of the application is fully understood and the fallouts can +be easily controlled. .It Fl s Stop the process while gathering the core image, and resume it when done. Modified: user/imp/tbemd/usr.bin/gcore/gcore.c ============================================================================== --- user/imp/tbemd/usr.bin/gcore/gcore.c Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/gcore/gcore.c Sun Aug 22 21:47:19 2010 (r211654) @@ -71,7 +71,7 @@ __FBSDID("$FreeBSD$"); #include #include "extern.h" -int sflag; +int pflags; static void killed(int); static void usage(void) __dead2; @@ -89,15 +89,18 @@ main(int argc, char *argv[]) struct dumpers **d, *dumper; size_t len; - sflag = 0; + pflags = 0; corefile = NULL; - while ((ch = getopt(argc, argv, "c:s")) != -1) { + while ((ch = getopt(argc, argv, "c:fs")) != -1) { switch (ch) { case 'c': corefile = optarg; break; + case 'f': + pflags |= PFLAGS_FULL; + break; case 's': - sflag = 1; + pflags |= PFLAGS_RESUME; break; default: usage(); Modified: user/imp/tbemd/usr.bin/getopt/getopt.1 ============================================================================== --- user/imp/tbemd/usr.bin/getopt/getopt.1 Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/getopt/getopt.1 Sun Aug 22 21:47:19 2010 (r211654) @@ -1,6 +1,6 @@ .\" $FreeBSD$ .\" -.Dd April 3, 1999 +.Dd July 7, 2010 .Dt GETOPT 1 .Os .Sh NAME @@ -64,9 +64,9 @@ set \-\- $args # You cannot use the set command with a backquoted getopt directly, # since the exit code from getopt would be shadowed by those of set, # which is zero by definition. -for i +while true; do - case "$i" + case "$1" in \-a|\-b) echo flag $i set; sflags="${i#-}$sflags"; Modified: user/imp/tbemd/usr.bin/gzip/unpack.c ============================================================================== --- user/imp/tbemd/usr.bin/gzip/unpack.c Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/gzip/unpack.c Sun Aug 22 21:47:19 2010 (r211654) @@ -312,7 +312,14 @@ unpack(int in, int out, char *pre, size_ { unpack_descriptor_t unpackd; - unpack_parse_header(dup(in), dup(out), pre, prelen, bytes_in, &unpackd); + in = dup(in); + if (in == -1) + maybe_err("dup"); + out = dup(out); + if (out == -1) + maybe_err("dup"); + + unpack_parse_header(in, out, pre, prelen, bytes_in, &unpackd); unpack_decode(&unpackd, bytes_in); unpack_descriptor_fini(&unpackd); Modified: user/imp/tbemd/usr.bin/hexdump/od.1 ============================================================================== --- user/imp/tbemd/usr.bin/hexdump/od.1 Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/hexdump/od.1 Sun Aug 22 21:47:19 2010 (r211654) @@ -150,12 +150,12 @@ Named characters .Pq Tn ASCII . Control characters are displayed using the following names: .Bl -column "000 NUL" "001 SOH" "002 STX" "003 ETX" "004 EOT" "005 ENQ" -.It "000 NUL 001 SOH 002 STX 003 ETX 004 EOT 005 ENQ" -.It "006 ACK 007 BEL 008 BS 009 HT 00a NL 00b VT" -.It "00c FF 00d CR 00e SO 00f SI 010 DLE 011 DC1" -.It "012 DC2 013 DC3 014 DC4 015 NAK 016 SYN 017 ETB" -.It "018 CAN 019 EM 01a SUB 01b ESC 01c FS 01d GS" -.It "01e RS 01f US 020 SP 07f DEL" +.It 000 NUL 001 SOH 002 STX 003 ETX 004 EOT 005 ENQ +.It 006 ACK 007 BEL 008 BS 009 HT 00A NL 00B VT +.It 00C FF 00D CR 00E SO 00F SI 010 DLE 011 DC1 +.It 012 DC2 013 DC3 014 DC4 015 NAK 016 SYN 017 ETB +.It 018 CAN 019 EM 01A SUB 01B ESC 01C FS 01D GS +.It 01E RS 01F US 020 SP 07F DEL .El .It Cm c Characters in the default character set. Modified: user/imp/tbemd/usr.bin/indent/indent.c ============================================================================== --- user/imp/tbemd/usr.bin/indent/indent.c Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/indent/indent.c Sun Aug 22 21:47:19 2010 (r211654) @@ -199,21 +199,21 @@ main(int argc, char **argv) * look thru args (if any) for changes to defaults */ if (argv[i][0] != '-') {/* no flag on parameter */ - if (input == 0) { /* we must have the input file */ + if (input == NULL) { /* we must have the input file */ in_name = argv[i]; /* remember name of input file */ input = fopen(in_name, "r"); - if (input == 0) /* check for open error */ + if (input == NULL) /* check for open error */ err(1, "%s", in_name); continue; } - else if (output == 0) { /* we have the output file */ + else if (output == NULL) { /* we have the output file */ out_name = argv[i]; /* remember name of output file */ if (strcmp(in_name, out_name) == 0) { /* attempt to overwrite * the file */ errx(1, "input and output files must be different"); } output = fopen(out_name, "w"); - if (output == 0) /* check for create error */ + if (output == NULL) /* check for create error */ err(1, "%s", out_name); continue; } @@ -222,9 +222,9 @@ main(int argc, char **argv) else set_option(argv[i]); } /* end of for */ - if (input == 0) + if (input == NULL) input = stdin; - if (output == 0) { + if (output == NULL) { if (troff || input == stdin) output = stdout; else { @@ -1223,11 +1223,11 @@ bakcopy(void) /* re-open backup file as the input file */ input = fopen(bakfile, "r"); - if (input == 0) + if (input == NULL) err(1, "%s", bakfile); /* now the original input file will be the output */ output = fopen(in_name, "w"); - if (output == 0) { + if (output == NULL) { unlink(bakfile); err(1, "%s", in_name); } Modified: user/imp/tbemd/usr.bin/ktrace/ktrace.1 ============================================================================== --- user/imp/tbemd/usr.bin/ktrace/ktrace.1 Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/ktrace/ktrace.1 Sun Aug 22 21:47:19 2010 (r211654) @@ -112,11 +112,11 @@ The following table equates the letters .Bl -tag -width flag -compact .It Cm c trace system calls -.It Cm n -trace namei translations .It Cm i trace .Tn I/O +.It Cm n +trace namei translations .It Cm s trace signal processing .It Cm t @@ -131,7 +131,7 @@ trace requests .It Cm + trace the default set of trace points - -.Cm c , n , i , s , t , u +.Cm c , i , n , s , t , u , y .El .It Ar command Execute Modified: user/imp/tbemd/usr.bin/locate/bigram/locate.bigram.c ============================================================================== --- user/imp/tbemd/usr.bin/locate/bigram/locate.bigram.c Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/locate/bigram/locate.bigram.c Sun Aug 22 21:47:19 2010 (r211654) @@ -37,6 +37,7 @@ * $FreeBSD$ */ +#if 0 #ifndef lint static char copyright[] = "@(#) Copyright (c) 1989, 1993\n\ @@ -46,6 +47,7 @@ static char copyright[] = #ifndef lint static char sccsid[] = "@(#)locate.bigram.c 8.1 (Berkeley) 6/6/93"; #endif /* not lint */ +#endif /* * bigram < sorted_file_names | sort -nr | @@ -67,9 +69,9 @@ u_int bigram[UCHAR_MAX + 1][UCHAR_MAX + int main(void) { - register u_char *cp; - register u_char *oldpath = buf1, *path = buf2; - register u_int i, j; + u_char *cp; + u_char *oldpath = buf1, *path = buf2; + u_int i, j; while (fgets(path, sizeof(buf2), stdin) != NULL) { Modified: user/imp/tbemd/usr.bin/locate/code/locate.code.c ============================================================================== --- user/imp/tbemd/usr.bin/locate/code/locate.code.c Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/locate/code/locate.code.c Sun Aug 22 21:47:19 2010 (r211654) @@ -37,6 +37,7 @@ * $FreeBSD$ */ +#if 0 #ifndef lint static char copyright[] = "@(#) Copyright (c) 1989, 1993\n\ @@ -46,6 +47,7 @@ static char copyright[] = #ifndef lint static char sccsid[] = "@(#)locate.code.c 8.1 (Berkeley) 6/6/93"; #endif /* not lint */ +#endif /* * PURPOSE: sorted list compressor (works with a modified 'find' @@ -122,14 +124,12 @@ int bgindex(char *); void usage(void); int -main(argc, argv) - int argc; - char *argv[]; +main(int argc, char *argv[]) { - register u_char *cp, *oldpath, *path; + u_char *cp, *oldpath, *path; int ch, code, count, diffcount, oldcount; + u_int i, j; FILE *fp; - register int i, j; while ((ch = getopt(argc, argv, "")) != -1) switch(ch) { @@ -256,10 +256,9 @@ main(argc, argv) #ifndef LOOKUP int -bgindex(bg) /* Return location of bg in bigrams or -1. */ - char *bg; +bgindex(char *bg) /* Return location of bg in bigrams or -1. */ { - register char bg0, bg1, *p; + char bg0, bg1, *p; bg0 = bg[0]; bg1 = bg[1]; @@ -271,7 +270,7 @@ bgindex(bg) /* Return location of bg i #endif /* !LOOKUP */ void -usage() +usage(void) { (void)fprintf(stderr, "usage: locate.code common_bigrams < list > squozen_list\n"); Modified: user/imp/tbemd/usr.bin/lock/Makefile ============================================================================== --- user/imp/tbemd/usr.bin/lock/Makefile Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/lock/Makefile Sun Aug 22 21:47:19 2010 (r211654) @@ -7,6 +7,4 @@ BINMODE=4555 DPADD= ${LIBCRYPT} LDADD= -lcrypt -WARNS?= 1 - .include Modified: user/imp/tbemd/usr.bin/lock/lock.c ============================================================================== --- user/imp/tbemd/usr.bin/lock/lock.c Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/lock/lock.c Sun Aug 22 21:47:19 2010 (r211654) @@ -65,6 +65,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -257,9 +258,9 @@ hi(int signo __unused) if (no_timeout) { (void)putchar('\n'); } else { - (void)printf("timeout in %ld:%ld minutes\n", - (nexttime - timval.tv_sec) / 60, - (nexttime - timval.tv_sec) % 60); + (void)printf("timeout in %jd:%jd minutes\n", + (intmax_t)(nexttime - timval.tv_sec) / 60, + (intmax_t)(nexttime - timval.tv_sec) % 60); } } } Modified: user/imp/tbemd/usr.bin/make/str.c ============================================================================== --- user/imp/tbemd/usr.bin/make/str.c Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/make/str.c Sun Aug 22 21:47:19 2010 (r211654) @@ -150,7 +150,7 @@ brk_string(ArgArray *aa, const char str[ ArgArray_Init(aa); - aa->buffer = estrdup(str);; + aa->buffer = estrdup(str); arg = aa->buffer; start = arg; Modified: user/imp/tbemd/usr.bin/ministat/ministat.1 ============================================================================== --- user/imp/tbemd/usr.bin/ministat/ministat.1 Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/ministat/ministat.1 Sun Aug 22 21:47:19 2010 (r211654) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 20, 2007 +.Dd June 28, 2010 .Dt MINISTAT 1 .Os .Sh NAME @@ -93,7 +93,7 @@ all statistical purposes identical. You have the option of lowering your standards by specifying a lower confidence level: .Bd -literal -offset indent - $ ministat -c 80 iguana chameleon + $ ministat -s -w 60 -c 80 iguana chameleon x iguana + chameleon +------------------------------------------------------------+ Modified: user/imp/tbemd/usr.bin/netstat/if.c ============================================================================== --- user/imp/tbemd/usr.bin/netstat/if.c Sun Aug 22 21:44:51 2010 (r211653) +++ user/imp/tbemd/usr.bin/netstat/if.c Sun Aug 22 21:47:19 2010 (r211654) @@ -562,7 +562,7 @@ sidewaysintpr(int interval1, u_long off) interesting = ip; interesting_off = off; } - snprintf(ip->ift_name, sizeof(ip->ift_name), "(%s)", name);; + snprintf(ip->ift_name, sizeof(ip->ift_name), "(%s)", name); if ((ipn = malloc(sizeof(struct iftot))) == NULL) { printf("malloc failed\n"); exit(1); From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 21:47:35 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2D6CF106566B; Sun, 22 Aug 2010 21:47:35 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1A97F8FC15; Sun, 22 Aug 2010 21:47:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MLlZqW017475; Sun, 22 Aug 2010 21:47:35 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MLlYkE017458; Sun, 22 Aug 2010 21:47:34 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008222147.o7MLlYkE017458@svn.freebsd.org> From: Warner Losh Date: Sun, 22 Aug 2010 21:47:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211655 - in user/imp/tbemd/usr.bin: rwall script systat tar tcopy tftp truss unifdef vmstat wtmpcvt xlint/arch/powerpc64 xlint/lint1 ypwhich X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 21:47:35 -0000 Author: imp Date: Sun Aug 22 21:47:34 2010 New Revision: 211655 URL: http://svn.freebsd.org/changeset/base/211655 Log: Merge to head @211636 -- with hand tweaks [given up] hoping for the best Added: user/imp/tbemd/usr.bin/truss/powerpc64-fbsd.c - copied unchanged from r211636, head/usr.bin/truss/powerpc64-fbsd.c user/imp/tbemd/usr.bin/xlint/arch/powerpc64/ - copied from r211636, head/usr.bin/xlint/arch/powerpc64/ Deleted: user/imp/tbemd/usr.bin/tftp/extern.h user/imp/tbemd/usr.bin/tftp/tftpsubs.c user/imp/tbemd/usr.bin/tftp/tftpsubs.h Modified: user/imp/tbemd/usr.bin/rwall/rwall.1 user/imp/tbemd/usr.bin/script/script.c user/imp/tbemd/usr.bin/systat/systat.1 user/imp/tbemd/usr.bin/systat/vmstat.c user/imp/tbemd/usr.bin/tar/bsdtar.1 user/imp/tbemd/usr.bin/tar/read.c user/imp/tbemd/usr.bin/tar/write.c user/imp/tbemd/usr.bin/tcopy/Makefile user/imp/tbemd/usr.bin/tcopy/tcopy.c user/imp/tbemd/usr.bin/tftp/tftp.c user/imp/tbemd/usr.bin/unifdef/unifdef.1 user/imp/tbemd/usr.bin/vmstat/vmstat.c user/imp/tbemd/usr.bin/wtmpcvt/wtmpcvt.c user/imp/tbemd/usr.bin/xlint/lint1/mem1.c user/imp/tbemd/usr.bin/ypwhich/ypwhich.c Modified: user/imp/tbemd/usr.bin/rwall/rwall.1 ============================================================================== --- user/imp/tbemd/usr.bin/rwall/rwall.1 Sun Aug 22 21:47:19 2010 (r211654) +++ user/imp/tbemd/usr.bin/rwall/rwall.1 Sun Aug 22 21:47:34 2010 (r211655) @@ -66,7 +66,7 @@ daemon has terminated on the remote host .It rwall: RPC: Port mapper failure - RPC: Timed out The remote host is not running the portmapper (see .Xr rpcbind 8 ) , -and cannot accomodate any RPC-based services. +and cannot accommodate any RPC-based services. The host may be down. .El .Sh SEE ALSO Modified: user/imp/tbemd/usr.bin/script/script.c ============================================================================== --- user/imp/tbemd/usr.bin/script/script.c Sun Aug 22 21:47:19 2010 (r211654) +++ user/imp/tbemd/usr.bin/script/script.c Sun Aug 22 21:47:34 2010 (r211655) @@ -63,19 +63,18 @@ static const char sccsid[] = "@(#)script #include #include -FILE *fscript; -int master, slave; -int child; -const char *fname; -int qflg, ttyflg; - -struct termios tt; - -void done(int) __dead2; -void dooutput(void); -void doshell(char **); -void fail(void); -void finish(void); +static FILE *fscript; +static int master, slave; +static int child; +static const char *fname; +static int qflg, ttyflg; + +static struct termios tt; + +static void done(int) __dead2; +static void doshell(char **); +static void fail(void); +static void finish(void); static void usage(void); int @@ -216,7 +215,7 @@ usage(void) exit(1); } -void +static void finish(void) { int e, status; @@ -232,7 +231,7 @@ finish(void) } } -void +static void doshell(char **av) { const char *shell; @@ -254,14 +253,14 @@ doshell(char **av) fail(); } -void +static void fail(void) { (void)kill(0, SIGTERM); done(1); } -void +static void done(int eno) { time_t tvec; Modified: user/imp/tbemd/usr.bin/systat/systat.1 ============================================================================== --- user/imp/tbemd/usr.bin/systat/systat.1 Sun Aug 22 21:47:19 2010 (r211654) +++ user/imp/tbemd/usr.bin/systat/systat.1 Sun Aug 22 21:47:34 2010 (r211655) @@ -225,7 +225,7 @@ Like the display, except that it displays .Tn IPv6 -statics. +statistics. It does not display .Tn UDP statistics. .It Ic tcp Modified: user/imp/tbemd/usr.bin/systat/vmstat.c ============================================================================== --- user/imp/tbemd/usr.bin/systat/vmstat.c Sun Aug 22 21:47:19 2010 (r211654) +++ user/imp/tbemd/usr.bin/systat/vmstat.c Sun Aug 22 21:47:34 2010 (r211655) @@ -254,12 +254,15 @@ initkre(void) cp1++; if (cp1 != cp && *cp1 == ':' && *(cp1 + 1) == ' ') { + sz = strlen(cp); *cp1 = '\0'; cp1 = cp1 + 2; cp2 = strdup(cp); - bcopy(cp1, cp, strlen(cp1) + 1); - strcat(cp, " "); - strcat(cp, cp2); + bcopy(cp1, cp, sz - (cp1 - cp) + 1); + if (sz <= 10 + 4) { + strcat(cp, " "); + strcat(cp, cp2 + 3); + } free(cp2); } } Modified: user/imp/tbemd/usr.bin/tar/bsdtar.1 ============================================================================== --- user/imp/tbemd/usr.bin/tar/bsdtar.1 Sun Aug 22 21:47:19 2010 (r211654) +++ user/imp/tbemd/usr.bin/tar/bsdtar.1 Sun Aug 22 21:47:34 2010 (r211655) @@ -354,9 +354,9 @@ is run as non-root. .It Fl Fl numeric-owner This is equivalent to .Fl Fl uname -.Qq +.Qq \& .Fl Fl gname -.Qq . +.Qq \& . On extract, it causes user and group names in the archive to be ignored in favor of the numeric user and group ids. On create, it causes user and group names to not be stored @@ -495,7 +495,7 @@ This option is provided as a performance Extract files as sparse files. For every block on disk, check first if it contains only NULL bytes and seek over it otherwise. -This works similiar to the conv=sparse option of dd. +This works similar to the conv=sparse option of dd. .It Fl Fl same-owner (x mode only) Extract owner and group IDs. Modified: user/imp/tbemd/usr.bin/tar/read.c ============================================================================== --- user/imp/tbemd/usr.bin/tar/read.c Sun Aug 22 21:47:19 2010 (r211654) +++ user/imp/tbemd/usr.bin/tar/read.c Sun Aug 22 21:47:34 2010 (r211655) @@ -103,6 +103,7 @@ progress_func(void *cookie) struct archive *a = progress_data->archive; struct archive_entry *entry = progress_data->entry; uint64_t comp, uncomp; + int compression; if (!need_report()) return; @@ -112,9 +113,13 @@ progress_func(void *cookie) if (a != NULL) { comp = archive_position_compressed(a); uncomp = archive_position_uncompressed(a); + if (comp > uncomp) + compression = 0; + else + compression = (int)((uncomp - comp) * 100 / uncomp); fprintf(stderr, "In: %s bytes, compression %d%%;", - tar_i64toa(comp), (int)((uncomp - comp) * 100 / uncomp)); + tar_i64toa(comp), compression); fprintf(stderr, " Out: %d files, %s bytes\n", archive_file_count(a), tar_i64toa(uncomp)); } Modified: user/imp/tbemd/usr.bin/tar/write.c ============================================================================== --- user/imp/tbemd/usr.bin/tar/write.c Sun Aug 22 21:47:19 2010 (r211654) +++ user/imp/tbemd/usr.bin/tar/write.c Sun Aug 22 21:47:34 2010 (r211655) @@ -965,15 +965,21 @@ report_write(struct bsdtar *bsdtar, stru struct archive_entry *entry, int64_t progress) { uint64_t comp, uncomp; + int compression; + if (bsdtar->verbose) fprintf(stderr, "\n"); comp = archive_position_compressed(a); uncomp = archive_position_uncompressed(a); fprintf(stderr, "In: %d files, %s bytes;", archive_file_count(a), tar_i64toa(uncomp)); + if (comp > uncomp) + compression = 0; + else + compression = (int)((uncomp - comp) * 100 / uncomp); fprintf(stderr, " Out: %s bytes, compression %d%%\n", - tar_i64toa(comp), (int)((uncomp - comp) * 100 / uncomp)); + tar_i64toa(comp), compression); /* Can't have two calls to tar_i64toa() pending, so split the output. */ safe_fprintf(stderr, "Current: %s (%s", archive_entry_pathname(entry), Modified: user/imp/tbemd/usr.bin/tcopy/Makefile ============================================================================== --- user/imp/tbemd/usr.bin/tcopy/Makefile Sun Aug 22 21:47:19 2010 (r211654) +++ user/imp/tbemd/usr.bin/tcopy/Makefile Sun Aug 22 21:47:34 2010 (r211655) @@ -3,6 +3,4 @@ PROG= tcopy -WARNS?= 1 - .include Modified: user/imp/tbemd/usr.bin/tcopy/tcopy.c ============================================================================== --- user/imp/tbemd/usr.bin/tcopy/tcopy.c Sun Aug 22 21:47:19 2010 (r211654) +++ user/imp/tbemd/usr.bin/tcopy/tcopy.c Sun Aug 22 21:47:34 2010 (r211655) @@ -87,6 +87,7 @@ main(int argc, char *argv[]) msg = stdout; guesslen = 1; + outp = -1; while ((ch = getopt(argc, argv, "cs:vx")) != -1) switch((char)ch) { case 'c': @@ -157,16 +158,16 @@ main(int argc, char *argv[]) if (nread >= 0) goto r1; } - err(1, "read error, file %d, record %qu", filen, record); + err(1, "read error, file %d, record %ju", filen, (intmax_t)record); } else if (nread != lastnread) { if (lastnread != 0 && lastnread != NOCOUNT) { if (lastrec == 0 && nread == 0) - fprintf(msg, "%qu records\n", record); + fprintf(msg, "%ju records\n", (intmax_t)record); else if (record - lastrec > 1) - fprintf(msg, "records %qu to %qu\n", - lastrec, record); + fprintf(msg, "records %ju to %ju\n", + (intmax_t)lastrec, (intmax_t)record); else - fprintf(msg, "record %qu\n", lastrec); + fprintf(msg, "record %ju\n", (intmax_t)lastrec); } if (nread != 0) fprintf(msg, "file %d: block size %d: ", @@ -184,10 +185,12 @@ r1: guesslen = 0; nw = write(outp, buff, nread); if (nw != nread) { if (nw == -1) { - warn("write error, file %d, record %qu", filen, record); + warn("write error, file %d, record %ju", filen, + (intmax_t)record); } else { - warnx("write error, file %d, record %qu", filen, record); - warnx("write (%d) != read (%d)", nw, nread); + warnx("write error, file %d, record %ju", filen, + (intmax_t)record); + warnx("write (%d) != read (%d)", nw, nread); } errx(5, "copy aborted"); } @@ -200,8 +203,8 @@ r1: guesslen = 0; break; } fprintf(msg, - "file %d: eof after %qu records: %qu bytes\n", - filen, record, size); + "file %d: eof after %ju records: %ju bytes\n", + filen, (intmax_t)record, (intmax_t)size); needeof = 1; filen++; tsize += size; @@ -210,7 +213,7 @@ r1: guesslen = 0; } lastnread = nread; } - fprintf(msg, "total length: %qu bytes\n", tsize); + fprintf(msg, "total length: %ju bytes\n", (intmax_t)tsize); (void)signal(SIGINT, oldsig); if (op == COPY || op == COPYVERIFY) { writeop(outp, MTWEOF); @@ -281,11 +284,11 @@ intr(int signo __unused) { if (record) { if (record - lastrec > 1) - fprintf(msg, "records %qu to %qu\n", lastrec, record); + fprintf(msg, "records %ju to %ju\n", (intmax_t)lastrec, (intmax_t)record); else - fprintf(msg, "record %qu\n", lastrec); + fprintf(msg, "record %ju\n", (intmax_t)lastrec); } - fprintf(msg, "interrupt at file %d: record %qu\n", filen, record); + fprintf(msg, "interrupt at file %d: record %ju\n", filen, (intmax_t)record); fprintf(msg, "total length: %ju bytes\n", (uintmax_t)(tsize + size)); exit(1); } Modified: user/imp/tbemd/usr.bin/tftp/tftp.c ============================================================================== --- user/imp/tbemd/usr.bin/tftp/tftp.c Sun Aug 22 21:47:19 2010 (r211654) +++ user/imp/tbemd/usr.bin/tftp/tftp.c Sun Aug 22 21:47:34 2010 (r211655) @@ -75,7 +75,6 @@ xmitfile(int peer, char *port, int fd, c struct tftphdr *rp; int n, i; uint16_t block; - uint32_t amount; struct sockaddr_storage serv; /* valid server port number */ char recvbuffer[MAXPKTSIZE]; struct tftp_stats tftp_stats; @@ -162,7 +161,7 @@ xmitfile(int peer, char *port, int fd, c tftp_send(peer, &block, &tftp_stats); read_close(); - if (amount > 0) + if (tftp_stats.amount > 0) printstats("Sent", verbose, &tftp_stats); txrx_error = 1; @@ -229,7 +228,10 @@ recvfile(int peer, char *port, int fd, c /* Otherwise it is a fatal error */ break; } - + if (i == 12) { + printf("Transfer timed out.\n"); + return; + } if (rp->th_opcode == ERROR) { tftp_log(LOG_ERR, "Error code %d: %s", rp->th_code, rp->th_msg); return; @@ -240,8 +242,6 @@ recvfile(int peer, char *port, int fd, c return; } - stats_init(&tftp_stats); - /* * If the first packet is an OACK packet instead of an DATA packet, * handle it different. Copied: user/imp/tbemd/usr.bin/truss/powerpc64-fbsd.c (from r211636, head/usr.bin/truss/powerpc64-fbsd.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/usr.bin/truss/powerpc64-fbsd.c Sun Aug 22 21:47:34 2010 (r211655, copy of r211636, head/usr.bin/truss/powerpc64-fbsd.c) @@ -0,0 +1,323 @@ +/* + * Copyright 2006 Peter Grehan + * Copyright 2005 Orlando Bassotto + * Copyright 1998 Sean Eric Fagan + * + * 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. + */ + +#ifndef lint +static const char rcsid[] = + "$FreeBSD$"; +#endif /* not lint */ + +/* + * FreeBSD/powerpc-specific system call handling. This is probably the most + * complex part of the entire truss program, although I've got lots of + * it handled relatively cleanly now. The system call names are generated + * automatically, thanks to /usr/src/sys/kern/syscalls.master. The + * names used for the various structures are confusing, I sadly admit. + * + * This file is almost nothing more than a slightly-edited i386-fbsd.c. + */ + +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "truss.h" +#include "syscall.h" +#include "extern.h" + +static int cpid = -1; + +#include "syscalls.h" + +static int nsyscalls = sizeof(syscallnames) / sizeof(syscallnames[0]); + +/* + * This is what this particular file uses to keep track of a system call. + * It is probably not quite sufficient -- I can probably use the same + * structure for the various syscall personalities, and I also probably + * need to nest system calls (for signal handlers). + * + * 'struct syscall' describes the system call; it may be NULL, however, + * if we don't know about this particular system call yet. + */ +static struct freebsd_syscall { + struct syscall *sc; + const char *name; + int number; + unsigned long *args; + int nargs; /* number of arguments -- *not* number of words! */ + char **s_args; /* the printable arguments */ +} fsc; + +/* Clear up and free parts of the fsc structure. */ +static __inline void +clear_fsc(void) { + if (fsc.args) { + free(fsc.args); + } + if (fsc.s_args) { + int i; + for (i = 0; i < fsc.nargs; i++) + if (fsc.s_args[i]) + free(fsc.s_args[i]); + free(fsc.s_args); + } + memset(&fsc, 0, sizeof(fsc)); +} + +/* + * Called when a process has entered a system call. nargs is the + * number of words, not number of arguments (a necessary distinction + * in some cases). Note that if the STOPEVENT() code in powerpc/powerpc/trap.c + * is ever changed these functions need to keep up. + */ + +void +powerpc_syscall_entry(struct trussinfo *trussinfo, int nargs) { + char buf[32]; + struct reg regs; + void *args; + int syscall_num; + int i; + unsigned int regargs; + struct syscall *sc; + + cpid = trussinfo->curthread->tid; + + clear_fsc(); + if (ptrace(PT_GETREGS, cpid, (caddr_t)®s, 0) < 0) { + fprintf(trussinfo->outfile, "-- CANNOT READ REGISTERS --\n"); + return; + } + + /* + * FreeBSD has two special kinds of system call redirctions -- + * SYS_syscall, and SYS___syscall. The former is the old syscall() + * routine, basicly; the latter is for quad-aligned arguments. + */ + regargs = NARGREG; + syscall_num = regs.fixreg[0]; + args = ®s.fixreg[3]; + if (syscall_num == SYS_syscall || syscall_num == SYS___syscall) { + args = ®s.fixreg[4]; + regargs -= 1; + syscall_num = regs.fixreg[3]; + } + + fsc.number = syscall_num; + fsc.name = + (syscall_num < 0 || syscall_num >= nsyscalls) ? NULL : syscallnames[syscall_num]; + if (!fsc.name) { + fprintf(trussinfo->outfile, "-- UNKNOWN SYSCALL %d --\n", syscall_num); + } + + if (fsc.name && (trussinfo->flags & FOLLOWFORKS) + && ((!strcmp(fsc.name, "fork") + || !strcmp(fsc.name, "rfork") + || !strcmp(fsc.name, "vfork")))) + { + trussinfo->curthread->in_fork = 1; + } + + if (nargs == 0) + return; + + fsc.args = malloc((1+nargs) * sizeof(unsigned long)); + + if (nargs > regargs) { + struct ptrace_io_desc iorequest; + memmove(&fsc.args[0], args, regargs * sizeof(fsc.args[0])); + + iorequest.piod_op = PIOD_READ_D; + iorequest.piod_offs = (void *)(regs.fixreg[1] + 48); + iorequest.piod_addr = &fsc.args[regargs]; + iorequest.piod_len = (nargs - regargs) * sizeof(fsc.args[0]); + ptrace(PT_IO, cpid, (caddr_t)&iorequest, 0); + if (iorequest.piod_len == 0) + return; + } else { + memmove(&fsc.args[0], args, nargs * sizeof(fsc.args[0])); + } + + sc = get_syscall(fsc.name); + if (sc) { + fsc.nargs = sc->nargs; + } else { +#if DEBUG + fprintf(trussinfo->outfile, "unknown syscall %s -- setting args to %d\n", + fsc.name, nargs); +#endif + fsc.nargs = nargs; + } + + fsc.s_args = calloc(1, (1+fsc.nargs) * sizeof(char*)); + fsc.sc = sc; + + /* + * At this point, we set up the system call arguments. + * We ignore any OUT ones, however -- those are arguments that + * are set by the system call, and so are probably meaningless + * now. This doesn't currently support arguments that are + * passed in *and* out, however. + */ + + if (fsc.name) { + +#if DEBUG + fprintf(stderr, "syscall %s(", fsc.name); +#endif + for (i = 0; i < fsc.nargs; i++) { +#if DEBUG + fprintf(stderr, "0x%x%s", + sc + ? fsc.args[sc->args[i].offset] + : fsc.args[i], + i < (fsc.nargs - 1) ? "," : ""); +#endif + if (sc && !(sc->args[i].type & OUT)) { + fsc.s_args[i] = print_arg(&sc->args[i], fsc.args, 0, trussinfo); + } + } +#if DEBUG + fprintf(stderr, ")\n"); +#endif + } + +#if DEBUG + fprintf(trussinfo->outfile, "\n"); +#endif + + if (fsc.name && (!strcmp(fsc.name, "execve") || !strcmp(fsc.name, "exit"))) { + + /* XXX + * This could be done in a more general + * manner but it still wouldn't be very pretty. + */ + if (!strcmp(fsc.name, "execve")) { + if ((trussinfo->flags & EXECVEARGS) == 0) + if (fsc.s_args[1]) { + free(fsc.s_args[1]); + fsc.s_args[1] = NULL; + } + if ((trussinfo->flags & EXECVEENVS) == 0) + if (fsc.s_args[2]) { + free(fsc.s_args[2]); + fsc.s_args[2] = NULL; + } + } + } + + return; +} + +/* + * And when the system call is done, we handle it here. + * Currently, no attempt is made to ensure that the system calls + * match -- this needs to be fixed (and is, in fact, why S_SCX includes + * the sytem call number instead of, say, an error status). + */ + +long +powerpc_syscall_exit(struct trussinfo *trussinfo, int syscall_num __unused) +{ + struct reg regs; + long retval; + int i; + int errorp; + struct syscall *sc; + + if (fsc.name == NULL) + return (-1); + + cpid = trussinfo->curthread->tid; + + if (ptrace(PT_GETREGS, cpid, (caddr_t)®s, 0) < 0) { + fprintf(trussinfo->outfile, "\n"); + return (-1); + } + retval = regs.fixreg[3]; + errorp = !!(regs.cr & 0x10000000); + + /* + * This code, while simpler than the initial versions I used, could + * stand some significant cleaning. + */ + + sc = fsc.sc; + if (!sc) { + for (i = 0; i < fsc.nargs; i++) + asprintf(&fsc.s_args[i], "0x%lx", fsc.args[i]); + } else { + /* + * Here, we only look for arguments that have OUT masked in -- + * otherwise, they were handled in the syscall_entry function. + */ + for (i = 0; i < sc->nargs; i++) { + char *temp; + if (sc->args[i].type & OUT) { + /* + * If an error occurred, than don't bothe getting the data; + * it may not be valid. + */ + if (errorp) + asprintf(&temp, "0x%lx", fsc.args[sc->args[i].offset]); + else + temp = print_arg(&sc->args[i], fsc.args, retval, trussinfo); + fsc.s_args[i] = temp; + } + } + } + + if (fsc.name != NULL && + (!strcmp(fsc.name, "execve") || !strcmp(fsc.name, "exit"))) { + trussinfo->curthread->in_syscall = 1; + } + + + /* + * It would probably be a good idea to merge the error handling, + * but that complicates things considerably. + */ + + print_syscall_ret(trussinfo, fsc.name, fsc.nargs, fsc.s_args, errorp, + retval, fsc.sc); + clear_fsc(); + + return (retval); +} Modified: user/imp/tbemd/usr.bin/unifdef/unifdef.1 ============================================================================== --- user/imp/tbemd/usr.bin/unifdef/unifdef.1 Sun Aug 22 21:47:19 2010 (r211654) +++ user/imp/tbemd/usr.bin/unifdef/unifdef.1 Sun Aug 22 21:47:34 2010 (r211655) @@ -206,7 +206,7 @@ i.e., the lines that would have been rem are retained and vice versa. .Pp .It Fl d -Turn on printing of degugging messages. +Turn on printing of debugging messages. .Pp .It Fl e Because Modified: user/imp/tbemd/usr.bin/vmstat/vmstat.c ============================================================================== --- user/imp/tbemd/usr.bin/vmstat/vmstat.c Sun Aug 22 21:47:19 2010 (r211654) +++ user/imp/tbemd/usr.bin/vmstat/vmstat.c Sun Aug 22 21:47:34 2010 (r211655) @@ -1294,16 +1294,17 @@ domemstat_zone(void) memstat_strerror(error)); } } - printf("%-20s %8s %8s %8s %8s %8s %8s\n\n", "ITEM", "SIZE", - "LIMIT", "USED", "FREE", "REQUESTS", "FAILURES"); + printf("%-20s %6s %6s %8s %8s %8s %4s %4s\n\n", "ITEM", "SIZE", + "LIMIT", "USED", "FREE", "REQ", "FAIL", "SLEEP"); for (mtp = memstat_mtl_first(mtlp); mtp != NULL; mtp = memstat_mtl_next(mtp)) { strlcpy(name, memstat_get_name(mtp), MEMTYPE_MAXNAME); strcat(name, ":"); - printf("%-20s %8llu, %8llu, %8llu, %8llu, %8llu, %8llu\n", name, + printf("%-20s %6llu, %6llu,%8llu,%8llu,%8llu,%4llu,%4llu\n",name, memstat_get_size(mtp), memstat_get_countlimit(mtp), memstat_get_count(mtp), memstat_get_free(mtp), - memstat_get_numallocs(mtp), memstat_get_failures(mtp)); + memstat_get_numallocs(mtp), memstat_get_failures(mtp), + memstat_get_sleeps(mtp)); } memstat_mtl_free(mtlp); printf("\n"); Modified: user/imp/tbemd/usr.bin/wtmpcvt/wtmpcvt.c ============================================================================== --- user/imp/tbemd/usr.bin/wtmpcvt/wtmpcvt.c Sun Aug 22 21:47:19 2010 (r211654) +++ user/imp/tbemd/usr.bin/wtmpcvt/wtmpcvt.c Sun Aug 22 21:47:34 2010 (r211655) @@ -113,10 +113,10 @@ main(int argc, char *argv[]) /* Open files. */ in = fopen(argv[1], "r"); if (in == NULL) - err(1, argv[1]); + err(1, "%s", argv[1]); out = fopen(argv[2], "w"); if (out == NULL) - err(1, argv[2]); + err(1, "%s", argv[2]); /* Process entries. */ while (fread(&ui, sizeof ui, 1, in) == 1) { Modified: user/imp/tbemd/usr.bin/xlint/lint1/mem1.c ============================================================================== --- user/imp/tbemd/usr.bin/xlint/lint1/mem1.c Sun Aug 22 21:47:19 2010 (r211654) +++ user/imp/tbemd/usr.bin/xlint/lint1/mem1.c Sun Aug 22 21:47:34 2010 (r211655) @@ -218,7 +218,7 @@ xgetblk(mbl_t **mbp, size_t s) frmblks = mb->nxt; } mb->ffree = mb->blk; - mb->nfree = mb->size;; + mb->nfree = mb->size; mb->nxt = *mbp; *mbp = mb; } Modified: user/imp/tbemd/usr.bin/ypwhich/ypwhich.c ============================================================================== --- user/imp/tbemd/usr.bin/ypwhich/ypwhich.c Sun Aug 22 21:47:19 2010 (r211654) +++ user/imp/tbemd/usr.bin/ypwhich/ypwhich.c Sun Aug 22 21:47:34 2010 (r211655) @@ -143,11 +143,11 @@ main(int argc, char *argv[]) struct ypmaplist *ypml, *y; struct hostent *hent; struct sockaddr_in lsin; - int notrans, mode, getmap; + int notrans, mode; int c, r; u_int i; - getmap = notrans = mode = 0; + notrans = mode = 0; while ((c = getopt(argc, argv, "xd:mt")) != -1) switch (c) { case 'x': From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 21:52:39 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BEC57106567A; Sun, 22 Aug 2010 21:52:39 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AA2DD8FC08; Sun, 22 Aug 2010 21:52:39 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MLqdpa017650; Sun, 22 Aug 2010 21:52:39 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MLqdVg017639; Sun, 22 Aug 2010 21:52:39 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008222152.o7MLqdVg017639@svn.freebsd.org> From: Warner Losh Date: Sun, 22 Aug 2010 21:52:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211656 - in user/imp/tbemd/sys: amd64/acpica amd64/amd64 amd64/conf amd64/ia32 amd64/include amd64/linux32 arm/arm arm/at91 arm/conf arm/include arm/mv arm/mv/discovery arm/mv/kirkwood... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 21:52:39 -0000 Author: imp Date: Sun Aug 22 21:52:38 2010 New Revision: 211656 URL: http://svn.freebsd.org/changeset/base/211656 Log: Merge to head @211636 -- with hand tweaks [given up] hoping for the best Added: user/imp/tbemd/sys/arm/at91/at91_aicreg.h - copied unchanged from r211636, head/sys/arm/at91/at91_aicreg.h user/imp/tbemd/sys/arm/at91/at91_pio_sam9.h - copied unchanged from r211636, head/sys/arm/at91/at91_pio_sam9.h user/imp/tbemd/sys/arm/at91/at91_pit.c - copied unchanged from r211636, head/sys/arm/at91/at91_pit.c user/imp/tbemd/sys/arm/at91/at91_pitreg.h - copied unchanged from r211636, head/sys/arm/at91/at91_pitreg.h user/imp/tbemd/sys/arm/at91/at91sam9.c - copied unchanged from r211636, head/sys/arm/at91/at91sam9.c user/imp/tbemd/sys/arm/at91/at91sam9_machdep.c - copied unchanged from r211636, head/sys/arm/at91/at91sam9_machdep.c user/imp/tbemd/sys/arm/at91/at91sam9g20reg.h - copied unchanged from r211636, head/sys/arm/at91/at91sam9g20reg.h user/imp/tbemd/sys/arm/at91/board_hl201.c - copied unchanged from r211636, head/sys/arm/at91/board_hl201.c user/imp/tbemd/sys/arm/at91/files.at91sam9 - copied unchanged from r211636, head/sys/arm/at91/files.at91sam9 user/imp/tbemd/sys/arm/at91/if_macb.c - copied unchanged from r211636, head/sys/arm/at91/if_macb.c user/imp/tbemd/sys/arm/at91/if_macbreg.h - copied unchanged from r211636, head/sys/arm/at91/if_macbreg.h user/imp/tbemd/sys/arm/at91/if_macbvar.h - copied unchanged from r211636, head/sys/arm/at91/if_macbvar.h user/imp/tbemd/sys/arm/at91/std.at91sam9 - copied unchanged from r211636, head/sys/arm/at91/std.at91sam9 user/imp/tbemd/sys/arm/at91/std.hl201 - copied unchanged from r211636, head/sys/arm/at91/std.hl201 user/imp/tbemd/sys/arm/conf/HL201 - copied unchanged from r211636, head/sys/arm/conf/HL201 user/imp/tbemd/sys/arm/conf/HL201.hints - copied unchanged from r211636, head/sys/arm/conf/HL201.hints user/imp/tbemd/sys/arm/include/fdt.h - copied unchanged from r211636, head/sys/arm/include/fdt.h user/imp/tbemd/sys/arm/include/ofw_machdep.h - copied unchanged from r211636, head/sys/arm/include/ofw_machdep.h user/imp/tbemd/sys/arm/s3c2xx0/s3c24x0_rtc.c - copied unchanged from r211636, head/sys/arm/s3c2xx0/s3c24x0_rtc.c user/imp/tbemd/sys/boot/ofw/libofw/ppc64_elf_freebsd.c - copied unchanged from r211636, head/sys/boot/ofw/libofw/ppc64_elf_freebsd.c user/imp/tbemd/sys/boot/zfs/zfstest.c - copied unchanged from r211636, head/sys/boot/zfs/zfstest.c user/imp/tbemd/sys/cddl/compat/opensolaris/kern/opensolaris_uio.c - copied unchanged from r211636, head/sys/cddl/compat/opensolaris/kern/opensolaris_uio.c user/imp/tbemd/sys/cddl/contrib/opensolaris/common/atomic/powerpc64/ - copied from r211636, head/sys/cddl/contrib/opensolaris/common/atomic/powerpc64/ user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap_impl.h - copied unchanged from r211636, head/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap_impl.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/intel/dtrace/ - copied from r211636, head/sys/cddl/contrib/opensolaris/uts/intel/dtrace/ user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/sparc/dtrace/ - copied from r211636, head/sys/cddl/contrib/opensolaris/uts/sparc/dtrace/ user/imp/tbemd/sys/cddl/dev/dtrace/amd64/regset.h - copied unchanged from r211636, head/sys/cddl/dev/dtrace/amd64/regset.h user/imp/tbemd/sys/cddl/dev/dtrace/i386/regset.h - copied unchanged from r211636, head/sys/cddl/dev/dtrace/i386/regset.h user/imp/tbemd/sys/conf/ldscript.mips.64 - copied unchanged from r211636, head/sys/conf/ldscript.mips.64 user/imp/tbemd/sys/conf/ldscript.mips.n32 - copied unchanged from r211636, head/sys/conf/ldscript.mips.n32 user/imp/tbemd/sys/conf/ldscript.powerpc64 - copied unchanged from r211636, head/sys/conf/ldscript.powerpc64 user/imp/tbemd/sys/crypto/aesni/ - copied from r211636, head/sys/crypto/aesni/ Deleted: user/imp/tbemd/sys/amd64/acpica/Makefile user/imp/tbemd/sys/amd64/acpica/genwakecode.sh user/imp/tbemd/sys/amd64/acpica/genwakedata.sh user/imp/tbemd/sys/arm/include/bootinfo.h user/imp/tbemd/sys/arm/mv/discovery/db78xxx.c user/imp/tbemd/sys/arm/mv/kirkwood/db88f6xxx.c user/imp/tbemd/sys/arm/mv/kirkwood/files.db88f6xxx user/imp/tbemd/sys/arm/mv/obio.c Modified: user/imp/tbemd/sys/amd64/acpica/acpi_switch.S user/imp/tbemd/sys/amd64/acpica/acpi_wakecode.S user/imp/tbemd/sys/amd64/acpica/acpi_wakeup.c user/imp/tbemd/sys/amd64/acpica/madt.c user/imp/tbemd/sys/amd64/amd64/apic_vector.S user/imp/tbemd/sys/amd64/amd64/cpu_switch.S user/imp/tbemd/sys/amd64/amd64/exception.S user/imp/tbemd/sys/amd64/amd64/fpu.c user/imp/tbemd/sys/amd64/amd64/genassym.c user/imp/tbemd/sys/amd64/amd64/identcpu.c user/imp/tbemd/sys/amd64/amd64/initcpu.c user/imp/tbemd/sys/amd64/amd64/intr_machdep.c user/imp/tbemd/sys/amd64/amd64/legacy.c user/imp/tbemd/sys/amd64/amd64/machdep.c user/imp/tbemd/sys/amd64/amd64/mp_machdep.c user/imp/tbemd/sys/amd64/amd64/mptable_pci.c user/imp/tbemd/sys/amd64/amd64/pmap.c user/imp/tbemd/sys/amd64/amd64/support.S user/imp/tbemd/sys/amd64/amd64/trap.c user/imp/tbemd/sys/amd64/amd64/tsc.c user/imp/tbemd/sys/amd64/amd64/vm_machdep.c user/imp/tbemd/sys/amd64/conf/GENERIC user/imp/tbemd/sys/amd64/conf/GENERIC.hints user/imp/tbemd/sys/amd64/conf/NOTES user/imp/tbemd/sys/amd64/ia32/ia32_exception.S user/imp/tbemd/sys/amd64/ia32/ia32_signal.c user/imp/tbemd/sys/amd64/ia32/ia32_syscall.c user/imp/tbemd/sys/amd64/include/apicvar.h user/imp/tbemd/sys/amd64/include/asmacros.h user/imp/tbemd/sys/amd64/include/clock.h user/imp/tbemd/sys/amd64/include/cpu.h user/imp/tbemd/sys/amd64/include/elf.h user/imp/tbemd/sys/amd64/include/mca.h user/imp/tbemd/sys/amd64/include/param.h user/imp/tbemd/sys/amd64/include/pcb.h user/imp/tbemd/sys/amd64/include/pcpu.h user/imp/tbemd/sys/amd64/include/pmap.h user/imp/tbemd/sys/amd64/include/segments.h user/imp/tbemd/sys/amd64/include/smp.h user/imp/tbemd/sys/amd64/include/specialreg.h user/imp/tbemd/sys/amd64/include/vmparam.h user/imp/tbemd/sys/amd64/linux32/linux32_machdep.c user/imp/tbemd/sys/amd64/linux32/linux32_proto.h user/imp/tbemd/sys/amd64/linux32/linux32_syscall.h user/imp/tbemd/sys/amd64/linux32/linux32_sysent.c user/imp/tbemd/sys/amd64/linux32/linux32_sysvec.c user/imp/tbemd/sys/amd64/linux32/syscalls.master user/imp/tbemd/sys/arm/arm/machdep.c user/imp/tbemd/sys/arm/arm/nexus.c user/imp/tbemd/sys/arm/arm/pmap.c user/imp/tbemd/sys/arm/at91/at91_pmc.c user/imp/tbemd/sys/arm/at91/at91_pmcreg.h user/imp/tbemd/sys/arm/conf/DB-78XXX user/imp/tbemd/sys/arm/conf/DB-88F5XXX user/imp/tbemd/sys/arm/conf/DB-88F6XXX user/imp/tbemd/sys/arm/conf/SHEEVAPLUG user/imp/tbemd/sys/arm/include/elf.h user/imp/tbemd/sys/arm/include/metadata.h user/imp/tbemd/sys/arm/include/pmap.h user/imp/tbemd/sys/arm/include/vmparam.h user/imp/tbemd/sys/arm/mv/bus_space.c user/imp/tbemd/sys/arm/mv/common.c user/imp/tbemd/sys/arm/mv/discovery/discovery.c user/imp/tbemd/sys/arm/mv/discovery/files.db78xxx user/imp/tbemd/sys/arm/mv/discovery/std.db78xxx user/imp/tbemd/sys/arm/mv/files.mv user/imp/tbemd/sys/arm/mv/gpio.c user/imp/tbemd/sys/arm/mv/ic.c user/imp/tbemd/sys/arm/mv/kirkwood/kirkwood.c user/imp/tbemd/sys/arm/mv/kirkwood/sheevaplug.c user/imp/tbemd/sys/arm/mv/kirkwood/std.db88f6xxx user/imp/tbemd/sys/arm/mv/kirkwood/std.sheevaplug user/imp/tbemd/sys/arm/mv/mv_machdep.c user/imp/tbemd/sys/arm/mv/mv_pci.c user/imp/tbemd/sys/arm/mv/mv_sata.c user/imp/tbemd/sys/arm/mv/mvreg.h user/imp/tbemd/sys/arm/mv/mvvar.h user/imp/tbemd/sys/arm/mv/mvwin.h user/imp/tbemd/sys/arm/mv/orion/db88f5xxx.c user/imp/tbemd/sys/arm/mv/orion/orion.c user/imp/tbemd/sys/arm/mv/orion/std.db88f5xxx user/imp/tbemd/sys/arm/mv/rtc.c user/imp/tbemd/sys/arm/mv/timer.c user/imp/tbemd/sys/arm/mv/twsi.c user/imp/tbemd/sys/arm/s3c2xx0/files.s3c2xx0 user/imp/tbemd/sys/arm/s3c2xx0/s3c24x0.c user/imp/tbemd/sys/arm/s3c2xx0/s3c24x0_machdep.c user/imp/tbemd/sys/arm/s3c2xx0/s3c24x0reg.h user/imp/tbemd/sys/arm/s3c2xx0/s3c2xx0_space.c user/imp/tbemd/sys/arm/s3c2xx0/s3c2xx0var.h user/imp/tbemd/sys/boot/Makefile user/imp/tbemd/sys/boot/arm/uboot/Makefile user/imp/tbemd/sys/boot/common/Makefile.inc user/imp/tbemd/sys/boot/common/load_elf_obj.c user/imp/tbemd/sys/boot/common/loader.8 user/imp/tbemd/sys/boot/fdt/Makefile user/imp/tbemd/sys/boot/fdt/dts/mpc8555cds.dts user/imp/tbemd/sys/boot/ficl/Makefile user/imp/tbemd/sys/boot/ficl/ficl.h user/imp/tbemd/sys/boot/forth/loader.conf user/imp/tbemd/sys/boot/i386/boot2/Makefile user/imp/tbemd/sys/boot/i386/loader/Makefile user/imp/tbemd/sys/boot/i386/pxeldr/Makefile user/imp/tbemd/sys/boot/ia64/common/exec.c user/imp/tbemd/sys/boot/ia64/efi/version user/imp/tbemd/sys/boot/ofw/Makefile.inc user/imp/tbemd/sys/boot/ofw/libofw/Makefile user/imp/tbemd/sys/boot/ofw/libofw/libofw.h user/imp/tbemd/sys/boot/pc98/loader/Makefile user/imp/tbemd/sys/boot/powerpc/Makefile.inc user/imp/tbemd/sys/boot/powerpc/boot1.chrp/Makefile user/imp/tbemd/sys/boot/powerpc/ofw/Makefile user/imp/tbemd/sys/boot/powerpc/ofw/conf.c user/imp/tbemd/sys/boot/powerpc/ofw/ldscript.powerpc user/imp/tbemd/sys/boot/powerpc/ofw/metadata.c user/imp/tbemd/sys/boot/powerpc/uboot/Makefile user/imp/tbemd/sys/boot/powerpc/uboot/ldscript.powerpc user/imp/tbemd/sys/boot/uboot/Makefile.inc user/imp/tbemd/sys/boot/uboot/common/metadata.c user/imp/tbemd/sys/boot/zfs/zfsimpl.c user/imp/tbemd/sys/cam/ata/ata_da.c user/imp/tbemd/sys/cam/ata/ata_xpt.c user/imp/tbemd/sys/cam/cam.c user/imp/tbemd/sys/cam/cam_ccb.h user/imp/tbemd/sys/cam/cam_xpt.c user/imp/tbemd/sys/cam/scsi/scsi_all.h user/imp/tbemd/sys/cam/scsi/scsi_cd.c user/imp/tbemd/sys/cam/scsi/scsi_da.c user/imp/tbemd/sys/cam/scsi/scsi_target.c user/imp/tbemd/sys/cddl/boot/zfs/zfsimpl.h user/imp/tbemd/sys/cddl/compat/opensolaris/kern/opensolaris_misc.c user/imp/tbemd/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c user/imp/tbemd/sys/cddl/compat/opensolaris/sys/misc.h user/imp/tbemd/sys/cddl/compat/opensolaris/sys/policy.h user/imp/tbemd/sys/cddl/compat/opensolaris/sys/sid.h user/imp/tbemd/sys/cddl/compat/opensolaris/sys/uio.h user/imp/tbemd/sys/cddl/compat/opensolaris/sys/vnode.h user/imp/tbemd/sys/cddl/contrib/opensolaris/common/zfs/zfs_deleg.c user/imp/tbemd/sys/cddl/contrib/opensolaris/common/zfs/zfs_deleg.h user/imp/tbemd/sys/cddl/contrib/opensolaris/common/zfs/zfs_namecheck.c user/imp/tbemd/sys/cddl/contrib/opensolaris/common/zfs/zfs_namecheck.h user/imp/tbemd/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c user/imp/tbemd/sys/cddl/contrib/opensolaris/common/zfs/zprop_common.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deleg.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scrub.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_errlog.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_deleg.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_prop.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_map.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/uberblock_impl.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ctldir.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_dir.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_fuid.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_vfsops.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/debug.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/fasttrap.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/fm/fs/zfs.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/sysevent/eventdefs.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h user/imp/tbemd/sys/cddl/dev/cyclic/cyclic.c user/imp/tbemd/sys/cddl/dev/dtrace/amd64/dtrace_isa.c user/imp/tbemd/sys/cddl/dev/dtrace/amd64/dtrace_subr.c user/imp/tbemd/sys/cddl/dev/dtrace/amd64/instr_size.c user/imp/tbemd/sys/cddl/dev/dtrace/dtrace_cddl.h user/imp/tbemd/sys/cddl/dev/dtrace/dtrace_debug.c user/imp/tbemd/sys/cddl/dev/dtrace/dtrace_ioctl.c user/imp/tbemd/sys/cddl/dev/dtrace/dtrace_load.c user/imp/tbemd/sys/cddl/dev/dtrace/dtrace_unload.c user/imp/tbemd/sys/cddl/dev/dtrace/i386/dtrace_isa.c user/imp/tbemd/sys/cddl/dev/dtrace/i386/dtrace_subr.c user/imp/tbemd/sys/cddl/dev/dtrace/i386/instr_size.c user/imp/tbemd/sys/cddl/dev/systrace/systrace.c user/imp/tbemd/sys/compat/freebsd32/freebsd32.h user/imp/tbemd/sys/compat/freebsd32/freebsd32_misc.c user/imp/tbemd/sys/compat/freebsd32/freebsd32_proto.h user/imp/tbemd/sys/compat/freebsd32/freebsd32_signal.h user/imp/tbemd/sys/compat/freebsd32/freebsd32_syscall.h user/imp/tbemd/sys/compat/freebsd32/freebsd32_syscalls.c user/imp/tbemd/sys/compat/freebsd32/freebsd32_sysent.c user/imp/tbemd/sys/compat/freebsd32/freebsd32_util.h user/imp/tbemd/sys/compat/freebsd32/syscalls.master user/imp/tbemd/sys/compat/linprocfs/linprocfs.c user/imp/tbemd/sys/compat/linux/linux_signal.c user/imp/tbemd/sys/compat/ndis/subr_usbd.c user/imp/tbemd/sys/compat/svr4/svr4_filio.c user/imp/tbemd/sys/compat/svr4/svr4_proto.h user/imp/tbemd/sys/compat/svr4/svr4_syscall.h user/imp/tbemd/sys/compat/svr4/svr4_syscallnames.c user/imp/tbemd/sys/compat/svr4/svr4_sysent.c user/imp/tbemd/sys/compat/x86bios/x86bios.c user/imp/tbemd/sys/compat/x86bios/x86bios.h user/imp/tbemd/sys/conf/Makefile.arm user/imp/tbemd/sys/conf/Makefile.powerpc user/imp/tbemd/sys/conf/NOTES user/imp/tbemd/sys/conf/files user/imp/tbemd/sys/conf/files.amd64 user/imp/tbemd/sys/conf/files.arm user/imp/tbemd/sys/conf/files.i386 user/imp/tbemd/sys/conf/files.mips user/imp/tbemd/sys/conf/files.pc98 user/imp/tbemd/sys/conf/files.powerpc user/imp/tbemd/sys/conf/files.sparc64 user/imp/tbemd/sys/conf/files.sun4v user/imp/tbemd/sys/conf/kern.mk user/imp/tbemd/sys/conf/kern.pre.mk user/imp/tbemd/sys/conf/kmod.mk user/imp/tbemd/sys/conf/ldscript.mips.octeon1.32 user/imp/tbemd/sys/conf/makeLINT.mk user/imp/tbemd/sys/conf/options user/imp/tbemd/sys/conf/options.amd64 user/imp/tbemd/sys/conf/options.arm user/imp/tbemd/sys/conf/options.mips user/imp/tbemd/sys/conf/options.powerpc Directory Properties: user/imp/tbemd/sys/amd64/include/xen/ (props changed) user/imp/tbemd/sys/cddl/contrib/opensolaris/ (props changed) Modified: user/imp/tbemd/sys/amd64/acpica/acpi_switch.S ============================================================================== --- user/imp/tbemd/sys/amd64/acpica/acpi_switch.S Sun Aug 22 21:47:34 2010 (r211655) +++ user/imp/tbemd/sys/amd64/acpica/acpi_switch.S Sun Aug 22 21:52:38 2010 (r211656) @@ -1,7 +1,7 @@ /*- * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI - * Copyright (c) 2008-2009 Jung-uk Kim + * Copyright (c) 2008-2010 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -34,14 +34,11 @@ #include "acpi_wakedata.h" #include "assym.s" -#define WAKEUP_CTX(member) wakeup_ ## member - wakeup_ctx(%rdi) -#define WAKEUP_PCB(member) PCB_ ## member(%r11) -#define WAKEUP_XPCB(member) XPCB_ ## member(%r11) +#define WAKEUP_CTX(member) wakeup_ ## member - wakeup_ctx(%rsi) ENTRY(acpi_restorecpu) /* Switch to KPML4phys. */ - movq %rsi, %rax - movq %rax, %cr3 + movq %rdi, %cr3 /* Restore GDT. */ lgdt WAKEUP_CTX(gdt) @@ -49,7 +46,7 @@ ENTRY(acpi_restorecpu) 1: /* Fetch PCB. */ - movq WAKEUP_CTX(xpcb), %r11 + movq WAKEUP_CTX(pcb), %rdi /* Force kernel segment registers. */ movl $KDSEL, %eax @@ -62,16 +59,16 @@ ENTRY(acpi_restorecpu) movw %ax, %gs movl $MSR_FSBASE, %ecx - movl WAKEUP_PCB(FSBASE), %eax - movl 4 + WAKEUP_PCB(FSBASE), %edx + movl PCB_FSBASE(%rdi), %eax + movl 4 + PCB_FSBASE(%rdi), %edx wrmsr movl $MSR_GSBASE, %ecx - movl WAKEUP_PCB(GSBASE), %eax - movl 4 + WAKEUP_PCB(GSBASE), %edx + movl PCB_GSBASE(%rdi), %eax + movl 4 + PCB_GSBASE(%rdi), %edx wrmsr movl $MSR_KGSBASE, %ecx - movl WAKEUP_XPCB(KGSBASE), %eax - movl 4 + WAKEUP_XPCB(KGSBASE), %edx + movl PCB_KGSBASE(%rdi), %eax + movl 4 + PCB_KGSBASE(%rdi), %edx wrmsr /* Restore EFER. */ @@ -102,17 +99,21 @@ ENTRY(acpi_restorecpu) movl WAKEUP_CTX(sfmask), %eax wrmsr - /* Restore CR0, CR2 and CR4. */ - movq WAKEUP_XPCB(CR0), %rax + /* Restore CR0 except for FPU mode. */ + movq PCB_CR0(%rdi), %rax + movq %rax, %rcx + andq $~(CR0_EM | CR0_TS), %rax movq %rax, %cr0 - movq WAKEUP_XPCB(CR2), %rax + + /* Restore CR2 and CR4. */ + movq PCB_CR2(%rdi), %rax movq %rax, %cr2 - movq WAKEUP_XPCB(CR4), %rax + movq PCB_CR4(%rdi), %rax movq %rax, %cr4 /* Restore descriptor tables. */ - lidt WAKEUP_XPCB(IDT) - lldt WAKEUP_XPCB(LDT) + lidt PCB_IDT(%rdi) + lldt PCB_LDT(%rdi) #define SDT_SYSTSS 9 #define SDT_SYSBSY 11 @@ -120,37 +121,44 @@ ENTRY(acpi_restorecpu) /* Clear "task busy" bit and reload TR. */ movq PCPU(TSS), %rax andb $(~SDT_SYSBSY | SDT_SYSTSS), 5(%rax) - movw WAKEUP_XPCB(TR), %ax + movw PCB_TR(%rdi), %ax ltr %ax #undef SDT_SYSTSS #undef SDT_SYSBSY /* Restore other callee saved registers. */ - movq WAKEUP_PCB(R15), %r15 - movq WAKEUP_PCB(R14), %r14 - movq WAKEUP_PCB(R13), %r13 - movq WAKEUP_PCB(R12), %r12 - movq WAKEUP_PCB(RBP), %rbp - movq WAKEUP_PCB(RSP), %rsp - movq WAKEUP_PCB(RBX), %rbx + movq PCB_R15(%rdi), %r15 + movq PCB_R14(%rdi), %r14 + movq PCB_R13(%rdi), %r13 + movq PCB_R12(%rdi), %r12 + movq PCB_RBP(%rdi), %rbp + movq PCB_RSP(%rdi), %rsp + movq PCB_RBX(%rdi), %rbx /* Restore debug registers. */ - movq WAKEUP_PCB(DR0), %rax + movq PCB_DR0(%rdi), %rax movq %rax, %dr0 - movq WAKEUP_PCB(DR1), %rax + movq PCB_DR1(%rdi), %rax movq %rax, %dr1 - movq WAKEUP_PCB(DR2), %rax + movq PCB_DR2(%rdi), %rax movq %rax, %dr2 - movq WAKEUP_PCB(DR3), %rax + movq PCB_DR3(%rdi), %rax movq %rax, %dr3 - movq WAKEUP_PCB(DR6), %rax + movq PCB_DR6(%rdi), %rax movq %rax, %dr6 - movq WAKEUP_PCB(DR7), %rax + movq PCB_DR7(%rdi), %rax movq %rax, %dr7 + /* Restore FPU state. */ + fninit + fxrstor PCB_USERFPU(%rdi) + + /* Reload CR0. */ + movq %rcx, %cr0 + /* Restore return address. */ - movq WAKEUP_PCB(RIP), %rax + movq PCB_RIP(%rdi), %rax movq %rax, (%rsp) /* Indicate the CPU is resumed. */ @@ -159,19 +167,3 @@ ENTRY(acpi_restorecpu) ret END(acpi_restorecpu) - -ENTRY(acpi_savecpu) - /* Fetch XPCB and save CPU context. */ - movq %rdi, %r10 - call savectx2 - movq %r10, %r11 - - /* Patch caller's return address and stack pointer. */ - movq (%rsp), %rax - movq %rax, WAKEUP_PCB(RIP) - movq %rsp, %rax - movq %rax, WAKEUP_PCB(RSP) - - movl $1, %eax - ret -END(acpi_savecpu) Modified: user/imp/tbemd/sys/amd64/acpica/acpi_wakecode.S ============================================================================== --- user/imp/tbemd/sys/amd64/acpica/acpi_wakecode.S Sun Aug 22 21:47:34 2010 (r211655) +++ user/imp/tbemd/sys/amd64/acpica/acpi_wakecode.S Sun Aug 22 21:52:38 2010 (r211656) @@ -2,7 +2,7 @@ * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI * Copyright (c) 2003 Peter Wemm - * Copyright (c) 2008-2009 Jung-uk Kim + * Copyright (c) 2008-2010 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -29,8 +29,6 @@ * $FreeBSD$ */ -#define LOCORE - #include #include @@ -212,8 +210,8 @@ wakeup_64: mov %ax, %ds /* Restore arguments and return. */ - movq wakeup_ctx - wakeup_start(%rbx), %rdi - movq wakeup_kpml4 - wakeup_start(%rbx), %rsi + movq wakeup_kpml4 - wakeup_start(%rbx), %rdi + movq wakeup_ctx - wakeup_start(%rbx), %rsi movq wakeup_retaddr - wakeup_start(%rbx), %rax jmp *%rax @@ -267,7 +265,7 @@ wakeup_kpml4: wakeup_ctx: .quad 0 -wakeup_xpcb: +wakeup_pcb: .quad 0 wakeup_gdt: .word 0 Modified: user/imp/tbemd/sys/amd64/acpica/acpi_wakeup.c ============================================================================== --- user/imp/tbemd/sys/amd64/acpica/acpi_wakeup.c Sun Aug 22 21:47:34 2010 (r211655) +++ user/imp/tbemd/sys/amd64/acpica/acpi_wakeup.c Sun Aug 22 21:52:38 2010 (r211656) @@ -2,7 +2,7 @@ * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI * Copyright (c) 2003 Peter Wemm - * Copyright (c) 2008-2009 Jung-uk Kim + * Copyright (c) 2008-2010 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -65,13 +66,12 @@ extern int acpi_resume_beep; extern int acpi_reset_video; #ifdef SMP -extern struct xpcb **stopxpcbs; +extern struct pcb **susppcbs; #else -static struct xpcb **stopxpcbs; +static struct pcb **susppcbs; #endif -int acpi_restorecpu(struct xpcb *, vm_offset_t); -int acpi_savecpu(struct xpcb *); +int acpi_restorecpu(vm_offset_t, struct pcb *); static void *acpi_alloc_wakeup_handler(void); static void acpi_stop_beep(void *); @@ -104,10 +104,10 @@ acpi_wakeup_ap(struct acpi_softc *sc, in int apic_id = cpu_apic_ids[cpu]; int ms; - WAKECODE_FIXUP(wakeup_xpcb, struct xpcb *, stopxpcbs[cpu]); - WAKECODE_FIXUP(wakeup_gdt, uint16_t, stopxpcbs[cpu]->xpcb_gdt.rd_limit); + WAKECODE_FIXUP(wakeup_pcb, struct pcb *, susppcbs[cpu]); + WAKECODE_FIXUP(wakeup_gdt, uint16_t, susppcbs[cpu]->pcb_gdt.rd_limit); WAKECODE_FIXUP(wakeup_gdt + 2, uint64_t, - stopxpcbs[cpu]->xpcb_gdt.rd_base); + susppcbs[cpu]->pcb_gdt.rd_base); WAKECODE_FIXUP(wakeup_cpu, int, cpu); /* do an INIT IPI: assert RESET */ @@ -176,7 +176,6 @@ static void acpi_wakeup_cpus(struct acpi_softc *sc, cpumask_t wakeup_cpus) { uint32_t mpbioswarmvec; - cpumask_t map; int cpu; u_char mpbiosreason; @@ -193,8 +192,7 @@ acpi_wakeup_cpus(struct acpi_softc *sc, /* Wake up each AP. */ for (cpu = 1; cpu < mp_ncpus; cpu++) { - map = 1ul << cpu; - if ((wakeup_cpus & map) != map) + if ((wakeup_cpus & (1 << cpu)) == 0) continue; if (acpi_wakeup_ap(sc, cpu) == 0) { /* restore the warmstart vector */ @@ -215,7 +213,6 @@ acpi_wakeup_cpus(struct acpi_softc *sc, int acpi_sleep_machdep(struct acpi_softc *sc, int state) { - struct savefpu *stopfpu; #ifdef SMP cpumask_t wakeup_cpus; #endif @@ -245,10 +242,7 @@ acpi_sleep_machdep(struct acpi_softc *sc cr3 = rcr3(); load_cr3(KPML4phys); - stopfpu = stopxpcbs[0]->xpcb_pcb.pcb_save; - if (acpi_savecpu(stopxpcbs[0])) { - fpugetregs(curthread, stopfpu); - + if (savectx(susppcbs[0])) { #ifdef SMP if (wakeup_cpus != 0 && suspend_cpus(wakeup_cpus) == 0) { device_printf(sc->acpi_dev, @@ -261,11 +255,11 @@ acpi_sleep_machdep(struct acpi_softc *sc WAKECODE_FIXUP(resume_beep, uint8_t, (acpi_resume_beep != 0)); WAKECODE_FIXUP(reset_video, uint8_t, (acpi_reset_video != 0)); - WAKECODE_FIXUP(wakeup_xpcb, struct xpcb *, stopxpcbs[0]); + WAKECODE_FIXUP(wakeup_pcb, struct pcb *, susppcbs[0]); WAKECODE_FIXUP(wakeup_gdt, uint16_t, - stopxpcbs[0]->xpcb_gdt.rd_limit); + susppcbs[0]->pcb_gdt.rd_limit); WAKECODE_FIXUP(wakeup_gdt + 2, uint64_t, - stopxpcbs[0]->xpcb_gdt.rd_base); + susppcbs[0]->pcb_gdt.rd_base); WAKECODE_FIXUP(wakeup_cpu, int, 0); /* Call ACPICA to enter the desired sleep state */ @@ -284,7 +278,8 @@ acpi_sleep_machdep(struct acpi_softc *sc for (;;) ia32_pause(); } else { - fpusetregs(curthread, stopfpu); + PCPU_SET(switchtime, 0); + PCPU_SET(switchticks, ticks); #ifdef SMP if (wakeup_cpus != 0) acpi_wakeup_cpus(sc, wakeup_cpus); @@ -300,6 +295,7 @@ out: #endif load_cr3(cr3); + mca_resume(); intr_resume(); intr_restore(rf); @@ -335,9 +331,9 @@ acpi_alloc_wakeup_handler(void) printf("%s: can't alloc wake memory\n", __func__); return (NULL); } - stopxpcbs = malloc(mp_ncpus * sizeof(*stopxpcbs), M_DEVBUF, M_WAITOK); + susppcbs = malloc(mp_ncpus * sizeof(*susppcbs), M_DEVBUF, M_WAITOK); for (i = 0; i < mp_ncpus; i++) - stopxpcbs[i] = malloc(sizeof(**stopxpcbs), M_DEVBUF, M_WAITOK); + susppcbs[i] = malloc(sizeof(**susppcbs), M_DEVBUF, M_WAITOK); return (wakeaddr); } Modified: user/imp/tbemd/sys/amd64/acpica/madt.c ============================================================================== --- user/imp/tbemd/sys/amd64/acpica/madt.c Sun Aug 22 21:47:34 2010 (r211655) +++ user/imp/tbemd/sys/amd64/acpica/madt.c Sun Aug 22 21:52:38 2010 (r211656) @@ -557,9 +557,7 @@ madt_set_ids(void *dummy) if (madt == NULL) return; - for (i = 0; i < MAXCPU; i++) { - if (CPU_ABSENT(i)) - continue; + CPU_FOREACH(i) { pc = pcpu_find(i); KASSERT(pc != NULL, ("no pcpu data for CPU %u", i)); la = &lapics[pc->pc_apic_id]; Modified: user/imp/tbemd/sys/amd64/amd64/apic_vector.S ============================================================================== --- user/imp/tbemd/sys/amd64/amd64/apic_vector.S Sun Aug 22 21:47:34 2010 (r211655) +++ user/imp/tbemd/sys/amd64/amd64/apic_vector.S Sun Aug 22 21:52:38 2010 (r211656) @@ -36,6 +36,8 @@ * as well as IPI handlers. */ +#include "opt_smp.h" + #include #include @@ -135,6 +137,19 @@ IDTVEC(errorint) .text SUPERALIGN_TEXT IDTVEC(invltlb) +#if defined(COUNT_XINVLTLB_HITS) || defined(COUNT_IPIS) + PUSH_FRAME + movl PCPU(CPUID), %eax +#ifdef COUNT_XINVLTLB_HITS + incl xhits_gbl(,%rax,4) +#endif +#ifdef COUNT_IPIS + movq ipi_invltlb_counts(,%rax,8),%rax + incq (%rax) +#endif + POP_FRAME +#endif + pushq %rax movq %cr3, %rax /* invalidate the TLB */ @@ -155,6 +170,19 @@ IDTVEC(invltlb) .text SUPERALIGN_TEXT IDTVEC(invlpg) +#if defined(COUNT_XINVLTLB_HITS) || defined(COUNT_IPIS) + PUSH_FRAME + movl PCPU(CPUID), %eax +#ifdef COUNT_XINVLTLB_HITS + incl xhits_pg(,%rax,4) +#endif +#ifdef COUNT_IPIS + movq ipi_invlpg_counts(,%rax,8),%rax + incq (%rax) +#endif + POP_FRAME +#endif + pushq %rax movq smp_tlb_addr1, %rax @@ -175,6 +203,19 @@ IDTVEC(invlpg) .text SUPERALIGN_TEXT IDTVEC(invlrng) +#if defined(COUNT_XINVLTLB_HITS) || defined(COUNT_IPIS) + PUSH_FRAME + movl PCPU(CPUID), %eax +#ifdef COUNT_XINVLTLB_HITS + incl xhits_rng(,%rax,4) +#endif +#ifdef COUNT_IPIS + movq ipi_invlrng_counts(,%rax,8),%rax + incq (%rax) +#endif + POP_FRAME +#endif + pushq %rax pushq %rdx @@ -201,6 +242,14 @@ IDTVEC(invlrng) .text SUPERALIGN_TEXT IDTVEC(invlcache) +#ifdef COUNT_IPIS + PUSH_FRAME + movl PCPU(CPUID), %eax + movq ipi_invlcache_counts(,%rax,8),%rax + incq (%rax) + POP_FRAME +#endif + pushq %rax wbinvd @@ -270,6 +319,11 @@ IDTVEC(cpususpend) SUPERALIGN_TEXT IDTVEC(rendezvous) PUSH_FRAME +#ifdef COUNT_IPIS + movl PCPU(CPUID), %eax + movq ipi_rendezvous_counts(,%rax,8), %rax + incq (%rax) +#endif call smp_rendezvous_action movq lapic, %rax movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ Modified: user/imp/tbemd/sys/amd64/amd64/cpu_switch.S ============================================================================== --- user/imp/tbemd/sys/amd64/amd64/cpu_switch.S Sun Aug 22 21:47:34 2010 (r211655) +++ user/imp/tbemd/sys/amd64/amd64/cpu_switch.S Sun Aug 22 21:52:38 2010 (r211656) @@ -69,16 +69,13 @@ * %rsi = newtd */ ENTRY(cpu_throw) + movl PCPU(CPUID),%eax testq %rdi,%rdi - jnz 1f - movq PCPU(IDLETHREAD),%rdi -1: - movq TD_PCB(%rdi),%r8 /* Old pcb */ - movl PCPU(CPUID), %eax + jz 1f /* release bit from old pm_active */ - movq TD_PROC(%rdi), %rdx /* oldtd->td_proc */ - movq P_VMSPACE(%rdx), %rdx /* proc->p_vmspace */ - LK btrl %eax, VM_PMAP+PM_ACTIVE(%rdx) /* clear old */ + movq PCPU(CURPMAP),%rdx + LK btrl %eax,PM_ACTIVE(%rdx) /* clear old */ +1: movq TD_PCB(%rsi),%r8 /* newtd->td_proc */ movq PCB_CR3(%r8),%rdx movq %rdx,%cr3 /* new address space */ @@ -140,15 +137,16 @@ swinact: movq %rcx,%cr3 /* new address space */ movl PCPU(CPUID), %eax /* Release bit from old pmap->pm_active */ - movq TD_PROC(%rdi), %rcx /* oldproc */ - movq P_VMSPACE(%rcx), %rcx - LK btrl %eax, VM_PMAP+PM_ACTIVE(%rcx) /* clear old */ + movq PCPU(CURPMAP),%rcx + LK btrl %eax,PM_ACTIVE(%rcx) /* clear old */ SETLK %rdx, TD_LOCK(%rdi) /* Release the old thread */ swact: /* Set bit in new pmap->pm_active */ movq TD_PROC(%rsi),%rdx /* newproc */ movq P_VMSPACE(%rdx), %rdx - LK btsl %eax, VM_PMAP+PM_ACTIVE(%rdx) /* set new */ + addq $VM_PMAP,%rdx + LK btsl %eax,PM_ACTIVE(%rdx) /* set new */ + movq %rdx,PCPU(CURPMAP) sw1: #if defined(SCHED_ULE) && defined(SMP) @@ -245,13 +243,13 @@ store_dr: movq %dr2,%r13 movq %dr3,%r12 movq %dr6,%r11 - andq $0x0000fc00, %rax /* disable all watchpoints */ movq %r15,PCB_DR0(%r8) movq %r14,PCB_DR1(%r8) movq %r13,PCB_DR2(%r8) movq %r12,PCB_DR3(%r8) movq %r11,PCB_DR6(%r8) movq %rax,PCB_DR7(%r8) + andq $0x0000fc00, %rax /* disable all watchpoints */ movq %rax,%dr7 jmp done_store_dr @@ -304,121 +302,65 @@ END(cpu_switch) * Update pcb, saving current processor state. */ ENTRY(savectx) - /* Fetch PCB. */ - movq %rdi,%rcx - /* Save caller's return address. */ movq (%rsp),%rax - movq %rax,PCB_RIP(%rcx) - - movq %cr3,%rax - movq %rax,PCB_CR3(%rcx) - - movq %rbx,PCB_RBX(%rcx) - movq %rsp,PCB_RSP(%rcx) - movq %rbp,PCB_RBP(%rcx) - movq %r12,PCB_R12(%rcx) - movq %r13,PCB_R13(%rcx) - movq %r14,PCB_R14(%rcx) - movq %r15,PCB_R15(%rcx) - - /* - * If fpcurthread == NULL, then the fpu h/w state is irrelevant and the - * state had better already be in the pcb. This is true for forks - * but not for dumps (the old book-keeping with FP flags in the pcb - * always lost for dumps because the dump pcb has 0 flags). - * - * If fpcurthread != NULL, then we have to save the fpu h/w state to - * fpcurthread's pcb and copy it to the requested pcb, or save to the - * requested pcb and reload. Copying is easier because we would - * have to handle h/w bugs for reloading. We used to lose the - * parent's fpu state for forks by forgetting to reload. - */ - pushfq - cli - movq PCPU(FPCURTHREAD),%rax - testq %rax,%rax - je 1f + movq %rax,PCB_RIP(%rdi) - movq TD_PCB(%rax),%rdi - movq PCB_SAVEFPU(%rdi),%rdi - clts - fxsave (%rdi) - smsw %ax - orb $CR0_TS,%al - lmsw %ax + movq %rbx,PCB_RBX(%rdi) + movq %rsp,PCB_RSP(%rdi) + movq %rbp,PCB_RBP(%rdi) + movq %r12,PCB_R12(%rdi) + movq %r13,PCB_R13(%rdi) + movq %r14,PCB_R14(%rdi) + movq %r15,PCB_R15(%rdi) - movq $PCB_SAVEFPU_SIZE,%rdx /* arg 3 */ - movq PCB_SAVEFPU(%rcx),%rsi /* arg 2 */ - /* arg 1 (%rdi) already loaded */ - call bcopy -1: - popfq - - ret -END(savectx) - -/* - * savectx2(xpcb) - * Update xpcb, saving current processor state. - */ -ENTRY(savectx2) - /* Fetch XPCB. */ - movq %rdi,%r8 - - /* Save caller's return address. */ - movq (%rsp),%rax - movq %rax,PCB_RIP(%r8) - - movq %rbx,PCB_RBX(%r8) - movq %rsp,PCB_RSP(%r8) - movq %rbp,PCB_RBP(%r8) - movq %r12,PCB_R12(%r8) - movq %r13,PCB_R13(%r8) - movq %r14,PCB_R14(%r8) - movq %r15,PCB_R15(%r8) - - movq %cr0,%rax - movq %rax,XPCB_CR0(%r8) + movq %cr0,%rsi + movq %rsi,PCB_CR0(%rdi) movq %cr2,%rax - movq %rax,XPCB_CR2(%r8) + movq %rax,PCB_CR2(%rdi) + movq %cr3,%rax + movq %rax,PCB_CR3(%rdi) movq %cr4,%rax - movq %rax,XPCB_CR4(%r8) + movq %rax,PCB_CR4(%rdi) movq %dr0,%rax - movq %rax,PCB_DR0(%r8) + movq %rax,PCB_DR0(%rdi) movq %dr1,%rax - movq %rax,PCB_DR1(%r8) + movq %rax,PCB_DR1(%rdi) movq %dr2,%rax - movq %rax,PCB_DR2(%r8) + movq %rax,PCB_DR2(%rdi) movq %dr3,%rax - movq %rax,PCB_DR3(%r8) + movq %rax,PCB_DR3(%rdi) movq %dr6,%rax - movq %rax,PCB_DR6(%r8) + movq %rax,PCB_DR6(%rdi) movq %dr7,%rax - movq %rax,PCB_DR7(%r8) - - sgdt XPCB_GDT(%r8) - sidt XPCB_IDT(%r8) - sldt XPCB_LDT(%r8) - str XPCB_TR(%r8) + movq %rax,PCB_DR7(%rdi) movl $MSR_FSBASE,%ecx rdmsr shlq $32,%rdx leaq (%rax,%rdx),%rax - movq %rax,PCB_FSBASE(%r8) + movq %rax,PCB_FSBASE(%rdi) movl $MSR_GSBASE,%ecx rdmsr shlq $32,%rdx leaq (%rax,%rdx),%rax - movq %rax,PCB_GSBASE(%r8) + movq %rax,PCB_GSBASE(%rdi) movl $MSR_KGSBASE,%ecx rdmsr shlq $32,%rdx leaq (%rax,%rdx),%rax - movq %rax,XPCB_KGSBASE(%r8) + movq %rax,PCB_KGSBASE(%rdi) + + sgdt PCB_GDT(%rdi) + sidt PCB_IDT(%rdi) + sldt PCB_LDT(%rdi) + str PCB_TR(%rdi) - movl $1, %eax + clts + fxsave PCB_USERFPU(%rdi) + movq %rsi,%cr0 /* The previous %cr0 is saved in %rsi. */ + + movl $1,%eax ret -END(savectx2) +END(savectx) Modified: user/imp/tbemd/sys/amd64/amd64/exception.S ============================================================================== --- user/imp/tbemd/sys/amd64/amd64/exception.S Sun Aug 22 21:47:34 2010 (r211655) +++ user/imp/tbemd/sys/amd64/amd64/exception.S Sun Aug 22 21:52:38 2010 (r211656) @@ -191,6 +191,7 @@ alltraps_pushregs_no_rdi: movq %r14,TF_R14(%rsp) movq %r15,TF_R15(%rsp) movl $TF_HASSEGS,TF_FLAGS(%rsp) + cld FAKE_MCOUNT(TF_RIP(%rsp)) #ifdef KDTRACE_HOOKS /* @@ -270,6 +271,7 @@ IDTVEC(dblfault) movw %es,TF_ES(%rsp) movw %ds,TF_DS(%rsp) movl $TF_HASSEGS,TF_FLAGS(%rsp) + cld testb $SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */ jz 1f /* already running with kernel GS.base */ swapgs @@ -369,6 +371,7 @@ IDTVEC(fast_syscall) movq %r14,TF_R14(%rsp) /* C preserved */ movq %r15,TF_R15(%rsp) /* C preserved */ movl $TF_HASSEGS,TF_FLAGS(%rsp) + cld FAKE_MCOUNT(TF_RIP(%rsp)) movq %rsp,%rdi call syscall @@ -434,6 +437,7 @@ IDTVEC(nmi) movw %es,TF_ES(%rsp) movw %ds,TF_DS(%rsp) movl $TF_HASSEGS,TF_FLAGS(%rsp) + cld xorl %ebx,%ebx testb $SEL_RPL_MASK,TF_CS(%rsp) jnz nmi_fromuserspace Modified: user/imp/tbemd/sys/amd64/amd64/fpu.c ============================================================================== --- user/imp/tbemd/sys/amd64/amd64/fpu.c Sun Aug 22 21:47:34 2010 (r211655) +++ user/imp/tbemd/sys/amd64/amd64/fpu.c Sun Aug 22 21:52:38 2010 (r211656) @@ -65,27 +65,29 @@ __FBSDID("$FreeBSD$"); #if defined(__GNUCLIKE_ASM) && !defined(lint) -#define fldcw(addr) __asm("fldcw %0" : : "m" (*(addr))) -#define fnclex() __asm("fnclex") -#define fninit() __asm("fninit") +#define fldcw(cw) __asm __volatile("fldcw %0" : : "m" (cw)) +#define fnclex() __asm __volatile("fnclex") +#define fninit() __asm __volatile("fninit") #define fnstcw(addr) __asm __volatile("fnstcw %0" : "=m" (*(addr))) -#define fnstsw(addr) __asm __volatile("fnstsw %0" : "=m" (*(addr))) -#define fxrstor(addr) __asm("fxrstor %0" : : "m" (*(addr))) +#define fnstsw(addr) __asm __volatile("fnstsw %0" : "=am" (*(addr))) +#define fxrstor(addr) __asm __volatile("fxrstor %0" : : "m" (*(addr))) #define fxsave(addr) __asm __volatile("fxsave %0" : "=m" (*(addr))) -#define ldmxcsr(r) __asm __volatile("ldmxcsr %0" : : "m" (r)) -#define start_emulating() __asm("smsw %%ax; orb %0,%%al; lmsw %%ax" \ - : : "n" (CR0_TS) : "ax") -#define stop_emulating() __asm("clts") +#define ldmxcsr(csr) __asm __volatile("ldmxcsr %0" : : "m" (csr)) +#define start_emulating() __asm __volatile( \ + "smsw %%ax; orb %0,%%al; lmsw %%ax" \ + : : "n" (CR0_TS) : "ax") +#define stop_emulating() __asm __volatile("clts") #else /* !(__GNUCLIKE_ASM && !lint) */ -void fldcw(caddr_t addr); +void fldcw(u_short cw); void fnclex(void); void fninit(void); void fnstcw(caddr_t addr); void fnstsw(caddr_t addr); void fxsave(caddr_t addr); void fxrstor(caddr_t addr); +void ldmxcsr(u_int csr); void start_emulating(void); void stop_emulating(void); @@ -115,11 +117,14 @@ fpuinit(void) u_int mxcsr; u_short control; + /* + * It is too early for critical_enter() to work on AP. + */ savecrit = intr_disable(); stop_emulating(); fninit(); control = __INITIAL_FPUCW__; - fldcw(&control); + fldcw(control); mxcsr = __INITIAL_MXCSR__; ldmxcsr(mxcsr); if (PCPU_GET(cpuid) == 0) { @@ -141,16 +146,15 @@ fpuinit(void) void fpuexit(struct thread *td) { - register_t savecrit; - savecrit = intr_disable(); + critical_enter(); if (curthread == PCPU_GET(fpcurthread)) { stop_emulating(); fxsave(PCPU_GET(curpcb)->pcb_save); start_emulating(); PCPU_SET(fpcurthread, 0); } - intr_restore(savecrit); + critical_exit(); } int @@ -351,10 +355,9 @@ static char fpetable[128] = { int fputrap() { - register_t savecrit; u_short control, status; - savecrit = intr_disable(); + critical_enter(); /* * Interrupt handling (for another interrupt) may have pushed the @@ -371,7 +374,7 @@ fputrap() if (PCPU_GET(fpcurthread) == curthread) fnclex(); - intr_restore(savecrit); + critical_exit(); return (fpetable[status & ((~control & 0x3f) | 0x40)]); } @@ -389,12 +392,13 @@ void fpudna(void) { struct pcb *pcb; - register_t s; + critical_enter(); if (PCPU_GET(fpcurthread) == curthread) { printf("fpudna: fpcurthread == curthread %d times\n", ++err_count); stop_emulating(); + critical_exit(); return; } if (PCPU_GET(fpcurthread) != NULL) { @@ -404,7 +408,6 @@ fpudna(void) curthread, curthread->td_proc->p_pid); panic("fpudna"); } - s = intr_disable(); stop_emulating(); /* * Record new context early in case frstor causes a trap. @@ -422,25 +425,23 @@ fpudna(void) */ fxrstor(&fpu_initialstate); if (pcb->pcb_initial_fpucw != __INITIAL_FPUCW__) - fldcw(&pcb->pcb_initial_fpucw); + fldcw(pcb->pcb_initial_fpucw); pcb->pcb_flags |= PCB_FPUINITDONE; if (PCB_USER_FPU(pcb)) pcb->pcb_flags |= PCB_USERFPUINITDONE; } else fxrstor(pcb->pcb_save); - intr_restore(s); + critical_exit(); } -/* - * This should be called with interrupts disabled and only when the owning - * FPU thread is non-null. - */ void fpudrop() { struct thread *td; td = PCPU_GET(fpcurthread); + KASSERT(td == curthread, ("fpudrop: fpcurthread != curthread")); + CRITICAL_ASSERT(td); PCPU_SET(fpcurthread, NULL); td->td_pcb->pcb_flags &= ~PCB_FPUINITDONE; start_emulating(); @@ -454,7 +455,6 @@ int fpugetuserregs(struct thread *td, struct savefpu *addr) { struct pcb *pcb; - register_t s; pcb = td->td_pcb; if ((pcb->pcb_flags & PCB_USERFPUINITDONE) == 0) { @@ -462,13 +462,13 @@ fpugetuserregs(struct thread *td, struct addr->sv_env.en_cw = pcb->pcb_initial_fpucw; return (_MC_FPOWNED_NONE); } - s = intr_disable(); + critical_enter(); if (td == PCPU_GET(fpcurthread) && PCB_USER_FPU(pcb)) { fxsave(addr); - intr_restore(s); + critical_exit(); return (_MC_FPOWNED_FPU); } else { - intr_restore(s); + critical_exit(); bcopy(&pcb->pcb_user_save, addr, sizeof(*addr)); return (_MC_FPOWNED_PCB); } @@ -478,7 +478,6 @@ int fpugetregs(struct thread *td, struct savefpu *addr) { struct pcb *pcb; - register_t s; pcb = td->td_pcb; if ((pcb->pcb_flags & PCB_FPUINITDONE) == 0) { @@ -486,13 +485,13 @@ fpugetregs(struct thread *td, struct sav addr->sv_env.en_cw = pcb->pcb_initial_fpucw; return (_MC_FPOWNED_NONE); } - s = intr_disable(); + critical_enter(); if (td == PCPU_GET(fpcurthread)) { fxsave(addr); - intr_restore(s); + critical_exit(); return (_MC_FPOWNED_FPU); } else { - intr_restore(s); + critical_exit(); bcopy(pcb->pcb_save, addr, sizeof(*addr)); return (_MC_FPOWNED_PCB); } @@ -505,16 +504,15 @@ void fpusetuserregs(struct thread *td, struct savefpu *addr) { struct pcb *pcb; - register_t s; pcb = td->td_pcb; - s = intr_disable(); + critical_enter(); if (td == PCPU_GET(fpcurthread) && PCB_USER_FPU(pcb)) { fxrstor(addr); - intr_restore(s); + critical_exit(); pcb->pcb_flags |= PCB_FPUINITDONE | PCB_USERFPUINITDONE; } else { - intr_restore(s); + critical_exit(); bcopy(addr, &td->td_pcb->pcb_user_save, sizeof(*addr)); if (PCB_USER_FPU(pcb)) pcb->pcb_flags |= PCB_FPUINITDONE; @@ -526,15 +524,14 @@ void fpusetregs(struct thread *td, struct savefpu *addr) { struct pcb *pcb; - register_t s; pcb = td->td_pcb; - s = intr_disable(); + critical_enter(); if (td == PCPU_GET(fpcurthread)) { fxrstor(addr); - intr_restore(s); + critical_exit(); } else { - intr_restore(s); + critical_exit(); bcopy(addr, td->td_pcb->pcb_save, sizeof(*addr)); } if (PCB_USER_FPU(pcb)) @@ -652,13 +649,12 @@ int fpu_kern_leave(struct thread *td, struct fpu_kern_ctx *ctx) { struct pcb *pcb; - register_t savecrit; pcb = td->td_pcb; - savecrit = intr_disable(); + critical_enter(); if (curthread == PCPU_GET(fpcurthread)) fpudrop(); - intr_restore(savecrit); + critical_exit(); pcb->pcb_save = ctx->prev; if (pcb->pcb_save == &pcb->pcb_user_save) { if ((pcb->pcb_flags & PCB_USERFPUINITDONE) != 0) Modified: user/imp/tbemd/sys/amd64/amd64/genassym.c ============================================================================== --- user/imp/tbemd/sys/amd64/amd64/genassym.c Sun Aug 22 21:47:34 2010 (r211655) +++ user/imp/tbemd/sys/amd64/amd64/genassym.c Sun Aug 22 21:52:38 2010 (r211656) @@ -123,7 +123,7 @@ ASSYM(KERNBASE, KERNBASE); ASSYM(DMAP_MIN_ADDRESS, DMAP_MIN_ADDRESS); ASSYM(DMAP_MAX_ADDRESS, DMAP_MAX_ADDRESS); ASSYM(MCLBYTES, MCLBYTES); -ASSYM(PCB_CR3, offsetof(struct pcb, pcb_cr3)); + ASSYM(PCB_R15, offsetof(struct pcb, pcb_r15)); ASSYM(PCB_R14, offsetof(struct pcb, pcb_r14)); ASSYM(PCB_R13, offsetof(struct pcb, pcb_r13)); @@ -134,39 +134,35 @@ ASSYM(PCB_RBX, offsetof(struct pcb, pcb_ ASSYM(PCB_RIP, offsetof(struct pcb, pcb_rip)); ASSYM(PCB_FSBASE, offsetof(struct pcb, pcb_fsbase)); ASSYM(PCB_GSBASE, offsetof(struct pcb, pcb_gsbase)); +ASSYM(PCB_KGSBASE, offsetof(struct pcb, pcb_kgsbase)); +ASSYM(PCB_CR0, offsetof(struct pcb, pcb_cr0)); +ASSYM(PCB_CR2, offsetof(struct pcb, pcb_cr2)); +ASSYM(PCB_CR3, offsetof(struct pcb, pcb_cr3)); +ASSYM(PCB_CR4, offsetof(struct pcb, pcb_cr4)); ASSYM(PCB_DR0, offsetof(struct pcb, pcb_dr0)); ASSYM(PCB_DR1, offsetof(struct pcb, pcb_dr1)); ASSYM(PCB_DR2, offsetof(struct pcb, pcb_dr2)); ASSYM(PCB_DR3, offsetof(struct pcb, pcb_dr3)); ASSYM(PCB_DR6, offsetof(struct pcb, pcb_dr6)); ASSYM(PCB_DR7, offsetof(struct pcb, pcb_dr7)); +ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags)); +ASSYM(PCB_ONFAULT, offsetof(struct pcb, pcb_onfault)); +ASSYM(PCB_GS32SD, offsetof(struct pcb, pcb_gs32sd)); ASSYM(PCB_TSSP, offsetof(struct pcb, pcb_tssp)); +ASSYM(PCB_SAVEFPU, offsetof(struct pcb, pcb_save)); +ASSYM(PCB_SAVEFPU_SIZE, sizeof(struct savefpu)); ASSYM(PCB_FULL_IRET, offsetof(struct pcb, pcb_full_iret)); +ASSYM(PCB_GDT, offsetof(struct pcb, pcb_gdt)); +ASSYM(PCB_IDT, offsetof(struct pcb, pcb_idt)); +ASSYM(PCB_LDT, offsetof(struct pcb, pcb_ldt)); +ASSYM(PCB_TR, offsetof(struct pcb, pcb_tr)); +ASSYM(PCB_USERFPU, offsetof(struct pcb, pcb_user_save)); +ASSYM(PCB_SIZE, sizeof(struct pcb)); ASSYM(PCB_DBREGS, PCB_DBREGS); ASSYM(PCB_32BIT, PCB_32BIT); ASSYM(PCB_GS32BIT, PCB_GS32BIT); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 21:53:25 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E3D2F106564A; Sun, 22 Aug 2010 21:53:25 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CED798FC1C; Sun, 22 Aug 2010 21:53:25 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MLrPc2017712; Sun, 22 Aug 2010 21:53:25 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MLrPer017697; Sun, 22 Aug 2010 21:53:25 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008222153.o7MLrPer017697@svn.freebsd.org> From: Warner Losh Date: Sun, 22 Aug 2010 21:53:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211657 - in user/imp/tbemd/sys: ddb dev/acpi_support dev/acpica dev/acpica/Osd dev/agp dev/ahci dev/aic7xxx dev/aic7xxx/aicasm dev/alc dev/amr dev/arcmsr dev/ata dev/ata/chipsets dev/a... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 21:53:26 -0000 Author: imp Date: Sun Aug 22 21:53:24 2010 New Revision: 211657 URL: http://svn.freebsd.org/changeset/base/211657 Log: Merge to head @211636 -- with hand tweaks [given up] hoping for the best Added: user/imp/tbemd/sys/dev/acpi_support/atk0110.c - copied unchanged from r211636, head/sys/dev/acpi_support/atk0110.c user/imp/tbemd/sys/dev/cfi/cfi_bus_fdt.c - copied unchanged from r211636, head/sys/dev/cfi/cfi_bus_fdt.c user/imp/tbemd/sys/dev/e1000/e1000_mbx.c - copied unchanged from r211636, head/sys/dev/e1000/e1000_mbx.c user/imp/tbemd/sys/dev/e1000/e1000_mbx.h - copied unchanged from r211636, head/sys/dev/e1000/e1000_mbx.h user/imp/tbemd/sys/dev/e1000/e1000_vf.c - copied unchanged from r211636, head/sys/dev/e1000/e1000_vf.c user/imp/tbemd/sys/dev/e1000/e1000_vf.h - copied unchanged from r211636, head/sys/dev/e1000/e1000_vf.h user/imp/tbemd/sys/dev/fdt/fdt_powerpc.c - copied unchanged from r211636, head/sys/dev/fdt/fdt_powerpc.c user/imp/tbemd/sys/dev/quicc/quicc_bfe_fdt.c - copied unchanged from r211636, head/sys/dev/quicc/quicc_bfe_fdt.c user/imp/tbemd/sys/dev/tpm/ - copied from r211636, head/sys/dev/tpm/ user/imp/tbemd/sys/dev/tsec/if_tsec_fdt.c - copied unchanged from r211636, head/sys/dev/tsec/if_tsec_fdt.c user/imp/tbemd/sys/dev/usb/controller/ehci_mv.c - copied unchanged from r211636, head/sys/dev/usb/controller/ehci_mv.c user/imp/tbemd/sys/kern/kern_clocksource.c - copied unchanged from r211636, head/sys/kern/kern_clocksource.c user/imp/tbemd/sys/kern/kern_et.c - copied unchanged from r211636, head/sys/kern/kern_et.c user/imp/tbemd/sys/mips/atheros/ar71xx_chip.c - copied unchanged from r211636, head/sys/mips/atheros/ar71xx_chip.c user/imp/tbemd/sys/mips/atheros/ar71xx_chip.h - copied unchanged from r211636, head/sys/mips/atheros/ar71xx_chip.h user/imp/tbemd/sys/mips/atheros/ar71xx_cpudef.h - copied unchanged from r211636, head/sys/mips/atheros/ar71xx_cpudef.h user/imp/tbemd/sys/mips/atheros/ar71xx_setup.c - copied unchanged from r211636, head/sys/mips/atheros/ar71xx_setup.c user/imp/tbemd/sys/mips/atheros/ar71xx_setup.h - copied unchanged from r211636, head/sys/mips/atheros/ar71xx_setup.h user/imp/tbemd/sys/mips/atheros/ar724x_chip.c - copied unchanged from r211636, head/sys/mips/atheros/ar724x_chip.c user/imp/tbemd/sys/mips/atheros/ar724x_chip.h - copied unchanged from r211636, head/sys/mips/atheros/ar724x_chip.h user/imp/tbemd/sys/mips/atheros/ar724xreg.h - copied unchanged from r211636, head/sys/mips/atheros/ar724xreg.h user/imp/tbemd/sys/mips/atheros/ar91xx_chip.c - copied unchanged from r211636, head/sys/mips/atheros/ar91xx_chip.c user/imp/tbemd/sys/mips/atheros/ar91xx_chip.h - copied unchanged from r211636, head/sys/mips/atheros/ar91xx_chip.h user/imp/tbemd/sys/mips/atheros/ar91xxreg.h - copied unchanged from r211636, head/sys/mips/atheros/ar91xxreg.h user/imp/tbemd/sys/mips/cavium/ciu.c - copied unchanged from r211636, head/sys/mips/cavium/ciu.c user/imp/tbemd/sys/mips/cavium/cryptocteon/ - copied from r211636, head/sys/mips/cavium/cryptocteon/ user/imp/tbemd/sys/mips/cavium/cvmx_config.h - copied unchanged from r211636, head/sys/mips/cavium/cvmx_config.h user/imp/tbemd/sys/mips/cavium/octe/ - copied from r211636, head/sys/mips/cavium/octe/ user/imp/tbemd/sys/mips/cavium/octeon_ds1337.c - copied unchanged from r211636, head/sys/mips/cavium/octeon_ds1337.c user/imp/tbemd/sys/mips/cavium/octeon_rnd.c - copied unchanged from r211636, head/sys/mips/cavium/octeon_rnd.c user/imp/tbemd/sys/mips/cavium/octeon_rtc.c - copied unchanged from r211636, head/sys/mips/cavium/octeon_rtc.c user/imp/tbemd/sys/mips/cavium/octopci.c - copied unchanged from r211636, head/sys/mips/cavium/octopci.c user/imp/tbemd/sys/mips/cavium/octopci_bus_space.c - copied unchanged from r211636, head/sys/mips/cavium/octopci_bus_space.c user/imp/tbemd/sys/mips/cavium/octopcireg.h - copied unchanged from r211636, head/sys/mips/cavium/octopcireg.h user/imp/tbemd/sys/mips/cavium/octopcivar.h - copied unchanged from r211636, head/sys/mips/cavium/octopcivar.h user/imp/tbemd/sys/mips/cavium/usb/ - copied from r211636, head/sys/mips/cavium/usb/ user/imp/tbemd/sys/mips/conf/XLR64 - copied unchanged from r211636, head/sys/mips/conf/XLR64 user/imp/tbemd/sys/mips/conf/XLRN32 - copied unchanged from r211636, head/sys/mips/conf/XLRN32 user/imp/tbemd/sys/mips/include/tlb.h - copied unchanged from r211636, head/sys/mips/include/tlb.h user/imp/tbemd/sys/mips/mips/tlb.c - copied unchanged from r211636, head/sys/mips/mips/tlb.c user/imp/tbemd/sys/modules/acpi/aibs/ - copied from r211636, head/sys/modules/acpi/aibs/ user/imp/tbemd/sys/modules/aesni/ - copied from r211636, head/sys/modules/aesni/ user/imp/tbemd/sys/modules/if_carp/ - copied from r211636, head/sys/modules/if_carp/ user/imp/tbemd/sys/modules/iwnfw/iwn6050/ - copied from r211636, head/sys/modules/iwnfw/iwn6050/ user/imp/tbemd/sys/modules/nfslock/ - copied from r211636, head/sys/modules/nfslock/ user/imp/tbemd/sys/modules/send/ - copied from r211636, head/sys/modules/send/ user/imp/tbemd/sys/modules/siftr/ - copied from r211636, head/sys/modules/siftr/ user/imp/tbemd/sys/modules/tpm/ - copied from r211636, head/sys/modules/tpm/ user/imp/tbemd/sys/netinet/siftr.c - copied unchanged from r211636, head/sys/netinet/siftr.c user/imp/tbemd/sys/netinet6/send.c - copied unchanged from r211636, head/sys/netinet6/send.c user/imp/tbemd/sys/netinet6/send.h - copied unchanged from r211636, head/sys/netinet6/send.h user/imp/tbemd/sys/nfs/nfs_lock.c - copied unchanged from r211636, head/sys/nfs/nfs_lock.c user/imp/tbemd/sys/nfs/nfs_lock.h - copied unchanged from r211636, head/sys/nfs/nfs_lock.h user/imp/tbemd/sys/powerpc/aim/locore32.S - copied unchanged from r211636, head/sys/powerpc/aim/locore32.S user/imp/tbemd/sys/powerpc/aim/locore64.S - copied unchanged from r211636, head/sys/powerpc/aim/locore64.S user/imp/tbemd/sys/powerpc/aim/slb.c - copied unchanged from r211636, head/sys/powerpc/aim/slb.c user/imp/tbemd/sys/powerpc/aim/swtch32.S - copied unchanged from r211636, head/sys/powerpc/aim/swtch32.S user/imp/tbemd/sys/powerpc/aim/swtch64.S - copied unchanged from r211636, head/sys/powerpc/aim/swtch64.S user/imp/tbemd/sys/powerpc/aim/trap_subr32.S - copied unchanged from r211636, head/sys/powerpc/aim/trap_subr32.S user/imp/tbemd/sys/powerpc/aim/trap_subr64.S - copied unchanged from r211636, head/sys/powerpc/aim/trap_subr64.S user/imp/tbemd/sys/powerpc/conf/GENERIC64 - copied unchanged from r211636, head/sys/powerpc/conf/GENERIC64 user/imp/tbemd/sys/powerpc/include/fdt.h - copied unchanged from r211636, head/sys/powerpc/include/fdt.h user/imp/tbemd/sys/powerpc/include/slb.h - copied unchanged from r211636, head/sys/powerpc/include/slb.h user/imp/tbemd/sys/powerpc/mambo/ - copied from r211636, head/sys/powerpc/mambo/ user/imp/tbemd/sys/powerpc/mpc85xx/ds1553_bus_fdt.c - copied unchanged from r211636, head/sys/powerpc/mpc85xx/ds1553_bus_fdt.c user/imp/tbemd/sys/powerpc/mpc85xx/openpic_fdt.c - copied unchanged from r211636, head/sys/powerpc/mpc85xx/openpic_fdt.c user/imp/tbemd/sys/powerpc/mpc85xx/pci_fdt.c - copied unchanged from r211636, head/sys/powerpc/mpc85xx/pci_fdt.c user/imp/tbemd/sys/powerpc/powerpc/elf32_machdep.c - copied unchanged from r211636, head/sys/powerpc/powerpc/elf32_machdep.c user/imp/tbemd/sys/powerpc/powerpc/elf64_machdep.c - copied unchanged from r211636, head/sys/powerpc/powerpc/elf64_machdep.c user/imp/tbemd/sys/powerpc/powerpc/exec_machdep.c - copied unchanged from r211636, head/sys/powerpc/powerpc/exec_machdep.c user/imp/tbemd/sys/powerpc/powerpc/sigcode32.S - copied unchanged from r211636, head/sys/powerpc/powerpc/sigcode32.S user/imp/tbemd/sys/powerpc/powerpc/sigcode64.S - copied unchanged from r211636, head/sys/powerpc/powerpc/sigcode64.S user/imp/tbemd/sys/sys/timeet.h - copied unchanged from r211636, head/sys/sys/timeet.h user/imp/tbemd/sys/x86/acpica/ - copied from r211636, head/sys/x86/acpica/ Deleted: user/imp/tbemd/sys/dev/acpi_support/acpi_aiboost.c user/imp/tbemd/sys/dev/cfi/cfi_bus_lbc.c user/imp/tbemd/sys/dev/quicc/quicc_bfe_ocp.c user/imp/tbemd/sys/dev/tsec/if_tsec_ocp.c user/imp/tbemd/sys/dev/uart/uart_bus_mbus.c user/imp/tbemd/sys/dev/uart/uart_bus_ocp.c user/imp/tbemd/sys/dev/uart/uart_cpu_mv.c user/imp/tbemd/sys/dev/usb/controller/ehci_mbus.c user/imp/tbemd/sys/fs/nfsclient/nfs_cllock.c user/imp/tbemd/sys/fs/nfsclient/nfs_lock.h user/imp/tbemd/sys/mips/cavium/driveid.h user/imp/tbemd/sys/mips/cavium/octeon_ebt3000_cf.h user/imp/tbemd/sys/mips/include/_bus_octeon.h user/imp/tbemd/sys/mips/include/asmacros.h user/imp/tbemd/sys/mips/mips/tlb.S user/imp/tbemd/sys/modules/acpi/acpi_aiboost/ user/imp/tbemd/sys/nfsclient/nfs_lock.c user/imp/tbemd/sys/nfsclient/nfs_lock.h user/imp/tbemd/sys/pc98/cbus/clock.c user/imp/tbemd/sys/powerpc/aim/swtch.S user/imp/tbemd/sys/powerpc/include/bootinfo.h user/imp/tbemd/sys/powerpc/include/intr.h user/imp/tbemd/sys/powerpc/include/ocpbus.h user/imp/tbemd/sys/powerpc/mpc85xx/ds1553_bus_lbc.c user/imp/tbemd/sys/powerpc/mpc85xx/ocpbus.c user/imp/tbemd/sys/powerpc/mpc85xx/ocpbus.h user/imp/tbemd/sys/powerpc/mpc85xx/opic.c user/imp/tbemd/sys/powerpc/mpc85xx/pci_ocp.c user/imp/tbemd/sys/powerpc/powerpc/elf_machdep.c user/imp/tbemd/sys/powerpc/powerpc/sigcode.S Modified: user/imp/tbemd/sys/ddb/db_command.c user/imp/tbemd/sys/dev/acpi_support/acpi_asus.c user/imp/tbemd/sys/dev/acpi_support/acpi_fujitsu.c user/imp/tbemd/sys/dev/acpi_support/acpi_hp.c user/imp/tbemd/sys/dev/acpi_support/acpi_ibm.c user/imp/tbemd/sys/dev/acpica/Osd/OsdHardware.c user/imp/tbemd/sys/dev/acpica/Osd/OsdMemory.c user/imp/tbemd/sys/dev/acpica/acpi.c user/imp/tbemd/sys/dev/acpica/acpi_button.c user/imp/tbemd/sys/dev/acpica/acpi_cpu.c user/imp/tbemd/sys/dev/acpica/acpi_dock.c user/imp/tbemd/sys/dev/acpica/acpi_ec.c user/imp/tbemd/sys/dev/acpica/acpi_hpet.c user/imp/tbemd/sys/dev/acpica/acpi_hpet.h user/imp/tbemd/sys/dev/acpica/acpi_lid.c user/imp/tbemd/sys/dev/acpica/acpi_pcib.c user/imp/tbemd/sys/dev/acpica/acpi_pcib_acpi.c user/imp/tbemd/sys/dev/acpica/acpi_pcib_pci.c user/imp/tbemd/sys/dev/acpica/acpi_pcibvar.h user/imp/tbemd/sys/dev/acpica/acpi_thermal.c user/imp/tbemd/sys/dev/acpica/acpi_video.c user/imp/tbemd/sys/dev/acpica/acpivar.h user/imp/tbemd/sys/dev/agp/agp.c user/imp/tbemd/sys/dev/agp/agp_nvidia.c user/imp/tbemd/sys/dev/ahci/ahci.c user/imp/tbemd/sys/dev/aic7xxx/aic79xx.reg user/imp/tbemd/sys/dev/aic7xxx/aic7xxx.reg user/imp/tbemd/sys/dev/aic7xxx/aicasm/Makefile user/imp/tbemd/sys/dev/aic7xxx/aicasm/aicasm_gram.y user/imp/tbemd/sys/dev/alc/if_alc.c user/imp/tbemd/sys/dev/alc/if_alcreg.h user/imp/tbemd/sys/dev/alc/if_alcvar.h user/imp/tbemd/sys/dev/amr/amrvar.h user/imp/tbemd/sys/dev/arcmsr/arcmsr.c user/imp/tbemd/sys/dev/arcmsr/arcmsr.h user/imp/tbemd/sys/dev/ata/ata-all.c user/imp/tbemd/sys/dev/ata/ata-all.h user/imp/tbemd/sys/dev/ata/ata-card.c user/imp/tbemd/sys/dev/ata/ata-disk.c user/imp/tbemd/sys/dev/ata/ata-pci.c user/imp/tbemd/sys/dev/ata/chipsets/ata-acerlabs.c user/imp/tbemd/sys/dev/ata/chipsets/ata-amd.c user/imp/tbemd/sys/dev/ata/chipsets/ata-highpoint.c user/imp/tbemd/sys/dev/ata/chipsets/ata-intel.c user/imp/tbemd/sys/dev/ata/chipsets/ata-ite.c user/imp/tbemd/sys/dev/ata/chipsets/ata-jmicron.c user/imp/tbemd/sys/dev/ata/chipsets/ata-marvell.c user/imp/tbemd/sys/dev/ata/chipsets/ata-nvidia.c user/imp/tbemd/sys/dev/ata/chipsets/ata-promise.c user/imp/tbemd/sys/dev/ata/chipsets/ata-serverworks.c user/imp/tbemd/sys/dev/ata/chipsets/ata-siliconimage.c user/imp/tbemd/sys/dev/ata/chipsets/ata-sis.c user/imp/tbemd/sys/dev/ata/chipsets/ata-via.c user/imp/tbemd/sys/dev/ath/ath_hal/ar5212/ar5212.h user/imp/tbemd/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c user/imp/tbemd/sys/dev/ath/ath_hal/ar5416/ar5416.ini user/imp/tbemd/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c user/imp/tbemd/sys/dev/ath/ath_hal/ar5416/ar5416_cal_iq.c user/imp/tbemd/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c user/imp/tbemd/sys/dev/ath/ath_hal/ar5416/ar5416reg.h user/imp/tbemd/sys/dev/ath/ath_hal/ar5416/ar9160.ini user/imp/tbemd/sys/dev/ath/ath_hal/ar5416/ar9285_reset.c user/imp/tbemd/sys/dev/ath/if_ath.c user/imp/tbemd/sys/dev/ath/if_athioctl.h user/imp/tbemd/sys/dev/bce/if_bce.c user/imp/tbemd/sys/dev/bce/if_bcereg.h user/imp/tbemd/sys/dev/bge/if_bge.c user/imp/tbemd/sys/dev/bge/if_bgereg.h user/imp/tbemd/sys/dev/bktr/bktr_core.c user/imp/tbemd/sys/dev/bwi/if_bwi.c user/imp/tbemd/sys/dev/bwi/if_bwi_pci.c user/imp/tbemd/sys/dev/bwn/if_bwn.c user/imp/tbemd/sys/dev/cas/if_cas.c user/imp/tbemd/sys/dev/cfe/cfe_env.c user/imp/tbemd/sys/dev/coretemp/coretemp.c user/imp/tbemd/sys/dev/cxgb/common/cxgb_ael1002.c user/imp/tbemd/sys/dev/cxgb/common/cxgb_common.h user/imp/tbemd/sys/dev/cxgb/common/cxgb_t3_hw.c user/imp/tbemd/sys/dev/cxgb/common/cxgb_xgmac.c user/imp/tbemd/sys/dev/cxgb/cxgb_adapter.h user/imp/tbemd/sys/dev/cxgb/cxgb_main.c user/imp/tbemd/sys/dev/cxgb/cxgb_sge.c user/imp/tbemd/sys/dev/cxgb/ulp/tom/cxgb_vm.c user/imp/tbemd/sys/dev/drm/drm_pciids.h user/imp/tbemd/sys/dev/e1000/e1000_82575.h user/imp/tbemd/sys/dev/e1000/e1000_api.c user/imp/tbemd/sys/dev/e1000/e1000_api.h user/imp/tbemd/sys/dev/e1000/e1000_hw.h user/imp/tbemd/sys/dev/e1000/e1000_osdep.h user/imp/tbemd/sys/dev/e1000/e1000_regs.h user/imp/tbemd/sys/dev/e1000/if_em.c user/imp/tbemd/sys/dev/e1000/if_igb.c user/imp/tbemd/sys/dev/e1000/if_igb.h user/imp/tbemd/sys/dev/e1000/if_lem.c user/imp/tbemd/sys/dev/et/if_et.c user/imp/tbemd/sys/dev/et/if_etreg.h user/imp/tbemd/sys/dev/et/if_etvar.h user/imp/tbemd/sys/dev/fb/fbreg.h user/imp/tbemd/sys/dev/fb/vesa.c user/imp/tbemd/sys/dev/fdt/fdt_common.c user/imp/tbemd/sys/dev/fdt/fdt_common.h user/imp/tbemd/sys/dev/fdt/fdt_pci.c user/imp/tbemd/sys/dev/fdt/fdtbus.c user/imp/tbemd/sys/dev/fdt/simplebus.c user/imp/tbemd/sys/dev/flash/mx25l.c (contents, props changed) user/imp/tbemd/sys/dev/flash/mx25lreg.h (contents, props changed) user/imp/tbemd/sys/dev/gem/if_gem.c user/imp/tbemd/sys/dev/hme/if_hme.c user/imp/tbemd/sys/dev/hptiop/hptiop.c user/imp/tbemd/sys/dev/hptmv/entry.c user/imp/tbemd/sys/dev/hwpmc/hwpmc_core.c user/imp/tbemd/sys/dev/hwpmc/hwpmc_core.h user/imp/tbemd/sys/dev/ichwd/ichwd.c user/imp/tbemd/sys/dev/iicbus/iic.h user/imp/tbemd/sys/dev/iicbus/iicbus.c user/imp/tbemd/sys/dev/ipmi/ipmi_smbios.c user/imp/tbemd/sys/dev/iscsi/initiator/isc_cam.c user/imp/tbemd/sys/dev/iscsi/initiator/isc_sm.c user/imp/tbemd/sys/dev/iscsi/initiator/isc_soc.c user/imp/tbemd/sys/dev/iscsi/initiator/isc_subr.c user/imp/tbemd/sys/dev/iscsi/initiator/iscsi.c user/imp/tbemd/sys/dev/iscsi/initiator/iscsi.h user/imp/tbemd/sys/dev/iscsi/initiator/iscsi_subr.c user/imp/tbemd/sys/dev/iscsi/initiator/iscsivar.h user/imp/tbemd/sys/dev/iwn/if_iwn.c user/imp/tbemd/sys/dev/iwn/if_iwnreg.h user/imp/tbemd/sys/dev/iwn/if_iwnvar.h user/imp/tbemd/sys/dev/ixgbe/ixgbe.c user/imp/tbemd/sys/dev/ixgbe/ixgbe.h user/imp/tbemd/sys/dev/md/md.c user/imp/tbemd/sys/dev/mge/if_mge.c user/imp/tbemd/sys/dev/mge/if_mgevar.h user/imp/tbemd/sys/dev/mii/atphy.c user/imp/tbemd/sys/dev/mii/e1000phy.c user/imp/tbemd/sys/dev/mii/miidevs user/imp/tbemd/sys/dev/mpt/mpt.c user/imp/tbemd/sys/dev/mpt/mpt.h user/imp/tbemd/sys/dev/mpt/mpt_cam.c user/imp/tbemd/sys/dev/mpt/mpt_pci.c user/imp/tbemd/sys/dev/mpt/mpt_raid.c user/imp/tbemd/sys/dev/mvs/mvs.c user/imp/tbemd/sys/dev/null/null.c user/imp/tbemd/sys/dev/ofw/ofw_bus_subr.c user/imp/tbemd/sys/dev/ofw/ofw_bus_subr.h user/imp/tbemd/sys/dev/ofw/ofw_if.m user/imp/tbemd/sys/dev/ofw/ofw_standard.c user/imp/tbemd/sys/dev/ofw/openfirm.c user/imp/tbemd/sys/dev/ofw/openfirm.h user/imp/tbemd/sys/dev/pci/pci.c user/imp/tbemd/sys/dev/pci/pci_pci.c user/imp/tbemd/sys/dev/pci/pci_private.h user/imp/tbemd/sys/dev/pci/pci_user.c user/imp/tbemd/sys/dev/pci/pcib_if.m user/imp/tbemd/sys/dev/pci/pcib_private.h user/imp/tbemd/sys/dev/pci/pcireg.h user/imp/tbemd/sys/dev/pci/pcivar.h user/imp/tbemd/sys/dev/ral/rt2560.c user/imp/tbemd/sys/dev/ral/rt2661.c user/imp/tbemd/sys/dev/sec/sec.c user/imp/tbemd/sys/dev/sge/if_sge.c user/imp/tbemd/sys/dev/sge/if_sgereg.h user/imp/tbemd/sys/dev/siis/siis.c user/imp/tbemd/sys/dev/sk/if_sk.c user/imp/tbemd/sys/dev/sound/pci/hda/hdac.c user/imp/tbemd/sys/dev/sound/pcm/feeder_eq.c user/imp/tbemd/sys/dev/sound/pcm/feeder_rate.c user/imp/tbemd/sys/dev/sound/pcm/sound.c user/imp/tbemd/sys/dev/sound/usb/uaudio.c user/imp/tbemd/sys/dev/sound/usb/uaudioreg.h user/imp/tbemd/sys/dev/ste/if_ste.c user/imp/tbemd/sys/dev/syscons/scvgarndr.c user/imp/tbemd/sys/dev/tsec/if_tsec.c user/imp/tbemd/sys/dev/tsec/if_tsec.h user/imp/tbemd/sys/dev/twa/tw_cl.h user/imp/tbemd/sys/dev/twa/tw_cl_misc.c user/imp/tbemd/sys/dev/twa/tw_cl_share.h user/imp/tbemd/sys/dev/uart/uart_bus_fdt.c user/imp/tbemd/sys/dev/uart/uart_cpu_powerpc.c user/imp/tbemd/sys/dev/usb/controller/ehci.c user/imp/tbemd/sys/dev/usb/controller/ohci.c user/imp/tbemd/sys/dev/usb/controller/uhci.c user/imp/tbemd/sys/dev/usb/net/if_rue.c user/imp/tbemd/sys/dev/usb/net/uhso.c user/imp/tbemd/sys/dev/usb/quirk/usb_quirk.c user/imp/tbemd/sys/dev/usb/serial/u3g.c user/imp/tbemd/sys/dev/usb/serial/uftdi.c user/imp/tbemd/sys/dev/usb/serial/uipaq.c user/imp/tbemd/sys/dev/usb/serial/uplcom.c user/imp/tbemd/sys/dev/usb/serial/uslcom.c user/imp/tbemd/sys/dev/usb/usb_dev.c user/imp/tbemd/sys/dev/usb/usb_device.c user/imp/tbemd/sys/dev/usb/usb_process.c user/imp/tbemd/sys/dev/usb/usb_transfer.c user/imp/tbemd/sys/dev/usb/usbdevs user/imp/tbemd/sys/dev/usb/wlan/if_rum.c user/imp/tbemd/sys/dev/usb/wlan/if_run.c user/imp/tbemd/sys/dev/usb/wlan/if_runvar.h user/imp/tbemd/sys/dev/usb/wlan/if_upgt.c user/imp/tbemd/sys/dev/usb/wlan/if_ural.c user/imp/tbemd/sys/dev/usb/wlan/if_zyd.c user/imp/tbemd/sys/dev/wpi/if_wpi.c user/imp/tbemd/sys/fs/coda/coda.h user/imp/tbemd/sys/fs/coda/coda_venus.c user/imp/tbemd/sys/fs/coda/coda_vnops.c user/imp/tbemd/sys/fs/devfs/devfs.h user/imp/tbemd/sys/fs/devfs/devfs_devs.c user/imp/tbemd/sys/fs/devfs/devfs_rule.c user/imp/tbemd/sys/fs/devfs/devfs_vfsops.c user/imp/tbemd/sys/fs/devfs/devfs_vnops.c user/imp/tbemd/sys/fs/nfs/nfs_commonport.c user/imp/tbemd/sys/fs/nfsclient/nfs_clbio.c user/imp/tbemd/sys/fs/nfsclient/nfs_clcomsubs.c user/imp/tbemd/sys/fs/nfsclient/nfs_clnfsiod.c user/imp/tbemd/sys/fs/nfsclient/nfs_clnode.c user/imp/tbemd/sys/fs/nfsclient/nfs_clport.c user/imp/tbemd/sys/fs/nfsclient/nfs_clrpcops.c user/imp/tbemd/sys/fs/nfsclient/nfs_clsubs.c user/imp/tbemd/sys/fs/nfsclient/nfs_clvnops.c user/imp/tbemd/sys/fs/nfsclient/nfsnode.h user/imp/tbemd/sys/fs/nfsserver/nfs_nfsdport.c user/imp/tbemd/sys/fs/nfsserver/nfs_nfsdsocket.c user/imp/tbemd/sys/fs/nfsserver/nfs_nfsdstate.c user/imp/tbemd/sys/fs/nwfs/nwfs_io.c user/imp/tbemd/sys/fs/nwfs/nwfs_node.c user/imp/tbemd/sys/fs/procfs/procfs_type.c user/imp/tbemd/sys/fs/pseudofs/pseudofs_vncache.c user/imp/tbemd/sys/fs/smbfs/smbfs_io.c user/imp/tbemd/sys/fs/smbfs/smbfs_node.c user/imp/tbemd/sys/fs/tmpfs/tmpfs.h user/imp/tbemd/sys/fs/tmpfs/tmpfs_subr.c user/imp/tbemd/sys/fs/tmpfs/tmpfs_vnops.c user/imp/tbemd/sys/fs/udf/udf_vnops.c user/imp/tbemd/sys/fs/unionfs/union_subr.c user/imp/tbemd/sys/geom/cache/g_cache.h user/imp/tbemd/sys/geom/gate/g_gate.c user/imp/tbemd/sys/geom/geom_dev.c user/imp/tbemd/sys/geom/geom_disk.c user/imp/tbemd/sys/geom/geom_disk.h user/imp/tbemd/sys/geom/mirror/g_mirror.c user/imp/tbemd/sys/geom/part/g_part.c user/imp/tbemd/sys/geom/part/g_part.h user/imp/tbemd/sys/geom/part/g_part_mbr.c user/imp/tbemd/sys/geom/sched/g_sched.c user/imp/tbemd/sys/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c user/imp/tbemd/sys/i386/acpica/Makefile user/imp/tbemd/sys/i386/acpica/acpi_wakeup.c user/imp/tbemd/sys/i386/acpica/madt.c user/imp/tbemd/sys/i386/conf/GENERIC user/imp/tbemd/sys/i386/conf/GENERIC.hints user/imp/tbemd/sys/i386/conf/NOTES user/imp/tbemd/sys/i386/i386/apic_vector.s user/imp/tbemd/sys/i386/i386/atpic_vector.s user/imp/tbemd/sys/i386/i386/exception.s user/imp/tbemd/sys/i386/i386/genassym.c user/imp/tbemd/sys/i386/i386/identcpu.c user/imp/tbemd/sys/i386/i386/initcpu.c user/imp/tbemd/sys/i386/i386/intr_machdep.c user/imp/tbemd/sys/i386/i386/legacy.c user/imp/tbemd/sys/i386/i386/machdep.c user/imp/tbemd/sys/i386/i386/mp_machdep.c user/imp/tbemd/sys/i386/i386/mptable_pci.c user/imp/tbemd/sys/i386/i386/pmap.c user/imp/tbemd/sys/i386/i386/support.s user/imp/tbemd/sys/i386/i386/swtch.s user/imp/tbemd/sys/i386/i386/trap.c user/imp/tbemd/sys/i386/i386/tsc.c user/imp/tbemd/sys/i386/i386/vm_machdep.c user/imp/tbemd/sys/i386/ibcs2/ibcs2_proto.h user/imp/tbemd/sys/i386/ibcs2/ibcs2_syscall.h user/imp/tbemd/sys/i386/ibcs2/ibcs2_sysent.c user/imp/tbemd/sys/i386/include/apicvar.h user/imp/tbemd/sys/i386/include/clock.h user/imp/tbemd/sys/i386/include/cpu.h user/imp/tbemd/sys/i386/include/elf.h user/imp/tbemd/sys/i386/include/mca.h user/imp/tbemd/sys/i386/include/md_var.h user/imp/tbemd/sys/i386/include/npx.h user/imp/tbemd/sys/i386/include/pcb.h user/imp/tbemd/sys/i386/include/pcpu.h user/imp/tbemd/sys/i386/include/pmap.h user/imp/tbemd/sys/i386/include/segments.h user/imp/tbemd/sys/i386/include/smp.h user/imp/tbemd/sys/i386/include/specialreg.h user/imp/tbemd/sys/i386/include/vm86.h user/imp/tbemd/sys/i386/include/vmparam.h user/imp/tbemd/sys/i386/isa/npx.c user/imp/tbemd/sys/i386/linux/linux_sysent.c user/imp/tbemd/sys/i386/linux/linux_sysvec.c user/imp/tbemd/sys/i386/pci/pci_bus.c user/imp/tbemd/sys/i386/xen/mp_machdep.c user/imp/tbemd/sys/i386/xen/pmap.c user/imp/tbemd/sys/ia64/acpica/acpi_machdep.c user/imp/tbemd/sys/ia64/conf/GENERIC user/imp/tbemd/sys/ia64/ia32/ia32_signal.c user/imp/tbemd/sys/ia64/ia64/autoconf.c user/imp/tbemd/sys/ia64/ia64/busdma_machdep.c user/imp/tbemd/sys/ia64/ia64/exception.S user/imp/tbemd/sys/ia64/ia64/machdep.c user/imp/tbemd/sys/ia64/ia64/mca.c user/imp/tbemd/sys/ia64/ia64/mp_machdep.c user/imp/tbemd/sys/ia64/ia64/pmap.c user/imp/tbemd/sys/ia64/ia64/trap.c user/imp/tbemd/sys/ia64/ia64/vm_machdep.c user/imp/tbemd/sys/ia64/include/asm.h user/imp/tbemd/sys/ia64/include/elf.h user/imp/tbemd/sys/ia64/include/mca.h user/imp/tbemd/sys/ia64/include/md_var.h user/imp/tbemd/sys/ia64/include/param.h user/imp/tbemd/sys/ia64/include/pcpu.h user/imp/tbemd/sys/ia64/include/profile.h user/imp/tbemd/sys/ia64/include/smp.h user/imp/tbemd/sys/ia64/include/vmparam.h user/imp/tbemd/sys/isa/rtc.h user/imp/tbemd/sys/isa/syscons_isa.c user/imp/tbemd/sys/kern/bus_if.m user/imp/tbemd/sys/kern/imgact_elf.c user/imp/tbemd/sys/kern/imgact_shell.c user/imp/tbemd/sys/kern/init_main.c user/imp/tbemd/sys/kern/init_sysent.c user/imp/tbemd/sys/kern/kern_acct.c user/imp/tbemd/sys/kern/kern_clock.c user/imp/tbemd/sys/kern/kern_conf.c user/imp/tbemd/sys/kern/kern_cons.c user/imp/tbemd/sys/kern/kern_context.c user/imp/tbemd/sys/kern/kern_cpu.c user/imp/tbemd/sys/kern/kern_dtrace.c user/imp/tbemd/sys/kern/kern_exec.c user/imp/tbemd/sys/kern/kern_exit.c user/imp/tbemd/sys/kern/kern_fork.c user/imp/tbemd/sys/kern/kern_ktr.c user/imp/tbemd/sys/kern/kern_ktrace.c user/imp/tbemd/sys/kern/kern_lock.c user/imp/tbemd/sys/kern/kern_malloc.c user/imp/tbemd/sys/kern/kern_mbuf.c user/imp/tbemd/sys/kern/kern_mib.c user/imp/tbemd/sys/kern/kern_module.c user/imp/tbemd/sys/kern/kern_priv.c user/imp/tbemd/sys/kern/kern_proc.c user/imp/tbemd/sys/kern/kern_resource.c user/imp/tbemd/sys/kern/kern_sdt.c user/imp/tbemd/sys/kern/kern_sig.c user/imp/tbemd/sys/kern/kern_switch.c user/imp/tbemd/sys/kern/kern_syscalls.c user/imp/tbemd/sys/kern/kern_tc.c user/imp/tbemd/sys/kern/kern_thr.c user/imp/tbemd/sys/kern/kern_thread.c user/imp/tbemd/sys/kern/kern_timeout.c user/imp/tbemd/sys/kern/kern_umtx.c user/imp/tbemd/sys/kern/link_elf_obj.c user/imp/tbemd/sys/kern/makesyscalls.sh user/imp/tbemd/sys/kern/sched_4bsd.c user/imp/tbemd/sys/kern/sched_ule.c user/imp/tbemd/sys/kern/subr_autoconf.c user/imp/tbemd/sys/kern/subr_bus.c user/imp/tbemd/sys/kern/subr_devstat.c user/imp/tbemd/sys/kern/subr_fattime.c user/imp/tbemd/sys/kern/subr_kdb.c user/imp/tbemd/sys/kern/subr_lock.c user/imp/tbemd/sys/kern/subr_mchain.c user/imp/tbemd/sys/kern/subr_module.c user/imp/tbemd/sys/kern/subr_param.c user/imp/tbemd/sys/kern/subr_pcpu.c user/imp/tbemd/sys/kern/subr_prf.c user/imp/tbemd/sys/kern/subr_rtc.c user/imp/tbemd/sys/kern/subr_sleepqueue.c user/imp/tbemd/sys/kern/subr_smp.c user/imp/tbemd/sys/kern/subr_taskqueue.c user/imp/tbemd/sys/kern/subr_trap.c user/imp/tbemd/sys/kern/subr_unit.c user/imp/tbemd/sys/kern/subr_witness.c user/imp/tbemd/sys/kern/sys_generic.c user/imp/tbemd/sys/kern/sys_process.c user/imp/tbemd/sys/kern/sys_socket.c user/imp/tbemd/sys/kern/syscalls.c user/imp/tbemd/sys/kern/syscalls.master user/imp/tbemd/sys/kern/systrace_args.c user/imp/tbemd/sys/kern/sysv_sem.c user/imp/tbemd/sys/kern/sysv_shm.c user/imp/tbemd/sys/kern/tty.c user/imp/tbemd/sys/kern/uipc_mbuf.c user/imp/tbemd/sys/kern/uipc_mbuf2.c user/imp/tbemd/sys/kern/uipc_mqueue.c user/imp/tbemd/sys/kern/uipc_socket.c user/imp/tbemd/sys/kern/uipc_syscalls.c user/imp/tbemd/sys/kern/uipc_usrreq.c user/imp/tbemd/sys/kern/vfs_bio.c user/imp/tbemd/sys/kern/vfs_cache.c user/imp/tbemd/sys/kern/vfs_cluster.c user/imp/tbemd/sys/kern/vfs_lookup.c user/imp/tbemd/sys/kern/vfs_subr.c user/imp/tbemd/sys/kern/vfs_syscalls.c user/imp/tbemd/sys/kern/vfs_vnops.c user/imp/tbemd/sys/mips/atheros/ar71xx_machdep.c user/imp/tbemd/sys/mips/atheros/ar71xx_pci.c user/imp/tbemd/sys/mips/atheros/ar71xx_wdog.c user/imp/tbemd/sys/mips/atheros/ar71xxreg.h user/imp/tbemd/sys/mips/atheros/files.ar71xx user/imp/tbemd/sys/mips/atheros/if_arge.c user/imp/tbemd/sys/mips/atheros/if_argevar.h user/imp/tbemd/sys/mips/atheros/uart_bus_ar71xx.c user/imp/tbemd/sys/mips/atheros/uart_cpu_ar71xx.c user/imp/tbemd/sys/mips/cavium/files.octeon1 user/imp/tbemd/sys/mips/cavium/obio.c user/imp/tbemd/sys/mips/cavium/octeon_ebt3000_cf.c user/imp/tbemd/sys/mips/cavium/octeon_machdep.c user/imp/tbemd/sys/mips/cavium/octeon_mp.c user/imp/tbemd/sys/mips/cavium/octeon_pcmap_regs.h user/imp/tbemd/sys/mips/cavium/std.octeon1 user/imp/tbemd/sys/mips/cavium/uart_bus_octeonusart.c user/imp/tbemd/sys/mips/cavium/uart_cpu_octeonusart.c user/imp/tbemd/sys/mips/cavium/uart_dev_oct16550.c user/imp/tbemd/sys/mips/conf/OCTEON1 user/imp/tbemd/sys/mips/conf/OCTEON1-32 user/imp/tbemd/sys/mips/conf/OCTEON1.hints user/imp/tbemd/sys/mips/conf/XLR user/imp/tbemd/sys/mips/include/_bus.h user/imp/tbemd/sys/mips/include/_stdint.h user/imp/tbemd/sys/mips/include/asm.h user/imp/tbemd/sys/mips/include/bus.h user/imp/tbemd/sys/mips/include/cache_mipsNN.h user/imp/tbemd/sys/mips/include/clock.h user/imp/tbemd/sys/mips/include/cpu.h user/imp/tbemd/sys/mips/include/cpufunc.h user/imp/tbemd/sys/mips/include/cpuregs.h user/imp/tbemd/sys/mips/include/db_machdep.h user/imp/tbemd/sys/mips/include/elf.h user/imp/tbemd/sys/mips/include/endian.h user/imp/tbemd/sys/mips/include/intr_machdep.h user/imp/tbemd/sys/mips/include/md_var.h user/imp/tbemd/sys/mips/include/param.h user/imp/tbemd/sys/mips/include/pmap.h user/imp/tbemd/sys/mips/include/profile.h user/imp/tbemd/sys/mips/include/pte.h user/imp/tbemd/sys/mips/include/runq.h user/imp/tbemd/sys/mips/include/setjmp.h user/imp/tbemd/sys/mips/include/smp.h user/imp/tbemd/sys/mips/include/vm.h user/imp/tbemd/sys/mips/include/vmparam.h user/imp/tbemd/sys/mips/mips/bus_space_generic.c user/imp/tbemd/sys/mips/mips/cache.c user/imp/tbemd/sys/mips/mips/cache_mipsNN.c user/imp/tbemd/sys/mips/mips/cpu.c user/imp/tbemd/sys/mips/mips/db_interface.c user/imp/tbemd/sys/mips/mips/db_trace.c user/imp/tbemd/sys/mips/mips/exception.S user/imp/tbemd/sys/mips/mips/fp.S user/imp/tbemd/sys/mips/mips/genassym.c user/imp/tbemd/sys/mips/mips/locore.S user/imp/tbemd/sys/mips/mips/machdep.c user/imp/tbemd/sys/mips/mips/mainbus.c user/imp/tbemd/sys/mips/mips/mp_machdep.c user/imp/tbemd/sys/mips/mips/mpboot.S user/imp/tbemd/sys/mips/mips/pm_machdep.c user/imp/tbemd/sys/mips/mips/pmap.c user/imp/tbemd/sys/mips/mips/psraccess.S user/imp/tbemd/sys/mips/mips/stack_machdep.c user/imp/tbemd/sys/mips/mips/support.S user/imp/tbemd/sys/mips/mips/swtch.S user/imp/tbemd/sys/mips/mips/tick.c user/imp/tbemd/sys/mips/mips/trap.c user/imp/tbemd/sys/mips/mips/vm_machdep.c user/imp/tbemd/sys/mips/rmi/board.c user/imp/tbemd/sys/mips/rmi/board.h user/imp/tbemd/sys/mips/rmi/dev/xlr/rge.c user/imp/tbemd/sys/mips/rmi/files.xlr user/imp/tbemd/sys/mips/rmi/intr_machdep.c user/imp/tbemd/sys/mips/rmi/iodi.c user/imp/tbemd/sys/mips/rmi/on_chip.c user/imp/tbemd/sys/mips/rmi/std.xlr user/imp/tbemd/sys/mips/rmi/tick.c user/imp/tbemd/sys/mips/rmi/xlr_machdep.c user/imp/tbemd/sys/mips/rmi/xlr_pci.c user/imp/tbemd/sys/mips/sibyte/sb_machdep.c user/imp/tbemd/sys/mips/sibyte/sb_scd.c user/imp/tbemd/sys/mips/sibyte/sb_zbpci.c user/imp/tbemd/sys/modules/Makefile user/imp/tbemd/sys/modules/acpi/Makefile user/imp/tbemd/sys/modules/acpi/acpi/Makefile user/imp/tbemd/sys/modules/ata/atacore/Makefile user/imp/tbemd/sys/modules/cas/Makefile user/imp/tbemd/sys/modules/dtrace/Makefile user/imp/tbemd/sys/modules/em/Makefile user/imp/tbemd/sys/modules/igb/Makefile user/imp/tbemd/sys/modules/iwnfw/Makefile user/imp/tbemd/sys/modules/iwnfw/iwn6000/Makefile user/imp/tbemd/sys/modules/ixgbe/Makefile user/imp/tbemd/sys/modules/mqueue/Makefile user/imp/tbemd/sys/modules/nfscl/Makefile user/imp/tbemd/sys/modules/nfsclient/Makefile user/imp/tbemd/sys/modules/opensolaris/Makefile user/imp/tbemd/sys/modules/sem/Makefile user/imp/tbemd/sys/modules/syscons/Makefile user/imp/tbemd/sys/modules/x86bios/Makefile user/imp/tbemd/sys/modules/zfs/Makefile user/imp/tbemd/sys/net/bpf.c user/imp/tbemd/sys/net/bpf.h user/imp/tbemd/sys/net/bpfdesc.h user/imp/tbemd/sys/net/flowtable.c user/imp/tbemd/sys/net/if.c user/imp/tbemd/sys/net/if_bridge.c user/imp/tbemd/sys/net/if_epair.c user/imp/tbemd/sys/net/if_ethersubr.c user/imp/tbemd/sys/net/if_llatbl.c user/imp/tbemd/sys/net/if_vlan.c user/imp/tbemd/sys/net/netisr.c user/imp/tbemd/sys/net/pfil.h user/imp/tbemd/sys/net/radix.c user/imp/tbemd/sys/net/rtsock.c user/imp/tbemd/sys/net/vnet.c user/imp/tbemd/sys/net80211/ieee80211.c user/imp/tbemd/sys/net80211/ieee80211_crypto.h user/imp/tbemd/sys/net80211/ieee80211_crypto_ccmp.c user/imp/tbemd/sys/net80211/ieee80211_crypto_tkip.c user/imp/tbemd/sys/net80211/ieee80211_hwmp.c user/imp/tbemd/sys/net80211/ieee80211_node.c user/imp/tbemd/sys/net80211/ieee80211_rssadapt.c user/imp/tbemd/sys/net80211/ieee80211_sta.c user/imp/tbemd/sys/net80211/ieee80211_var.h user/imp/tbemd/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.h user/imp/tbemd/sys/netgraph/netflow/netflow.c user/imp/tbemd/sys/netgraph/ng_ipfw.c user/imp/tbemd/sys/netgraph/ng_patch.c user/imp/tbemd/sys/netgraph/ng_pipe.c user/imp/tbemd/sys/netgraph/ng_source.c user/imp/tbemd/sys/netgraph/ng_source.h user/imp/tbemd/sys/netinet/if_ether.c user/imp/tbemd/sys/netinet/in.c user/imp/tbemd/sys/netinet/in.h user/imp/tbemd/sys/netinet/in_proto.c user/imp/tbemd/sys/netinet/in_rmx.c user/imp/tbemd/sys/netinet/ip_carp.c user/imp/tbemd/sys/netinet/ip_carp.h user/imp/tbemd/sys/netinet/ip_divert.c user/imp/tbemd/sys/netinet/ip_icmp.c user/imp/tbemd/sys/netinet/ip_input.c user/imp/tbemd/sys/netinet/ipfw/dn_heap.c user/imp/tbemd/sys/netinet/ipfw/ip_fw2.c user/imp/tbemd/sys/netinet/ipfw/ip_fw_dynamic.c user/imp/tbemd/sys/netinet/ipfw/ip_fw_log.c user/imp/tbemd/sys/netinet/libalias/alias_db.c user/imp/tbemd/sys/netinet/libalias/alias_sctp.h user/imp/tbemd/sys/netinet/raw_ip.c user/imp/tbemd/sys/netinet/sctp.h user/imp/tbemd/sys/netinet/sctp_asconf.c user/imp/tbemd/sys/netinet/sctp_indata.c user/imp/tbemd/sys/netinet/sctp_output.c user/imp/tbemd/sys/netinet/sctp_pcb.c user/imp/tbemd/sys/netinet/sctp_structs.h user/imp/tbemd/sys/netinet/sctp_timer.c user/imp/tbemd/sys/netinet/sctp_usrreq.c user/imp/tbemd/sys/netinet/sctputil.c user/imp/tbemd/sys/netinet/tcp_input.c user/imp/tbemd/sys/netinet/tcp_output.c user/imp/tbemd/sys/netinet/tcp_subr.c user/imp/tbemd/sys/netinet/tcp_syncache.c user/imp/tbemd/sys/netinet/tcp_var.h user/imp/tbemd/sys/netinet/udp_usrreq.c user/imp/tbemd/sys/netinet6/icmp6.c user/imp/tbemd/sys/netinet6/in6_proto.c user/imp/tbemd/sys/netinet6/ip6_input.c user/imp/tbemd/sys/netinet6/nd6.c user/imp/tbemd/sys/netinet6/nd6_nbr.c user/imp/tbemd/sys/netinet6/raw_ip6.c user/imp/tbemd/sys/nfsclient/nfs_bio.c user/imp/tbemd/sys/nfsclient/nfs_nfsiod.c user/imp/tbemd/sys/nfsclient/nfs_node.c user/imp/tbemd/sys/nfsclient/nfs_subs.c user/imp/tbemd/sys/nfsclient/nfs_vfsops.c user/imp/tbemd/sys/nfsclient/nfs_vnops.c user/imp/tbemd/sys/nfsclient/nfsnode.h user/imp/tbemd/sys/opencrypto/cryptodev.c user/imp/tbemd/sys/opencrypto/deflate.c user/imp/tbemd/sys/pc98/conf/GENERIC user/imp/tbemd/sys/pc98/conf/GENERIC.hints user/imp/tbemd/sys/pc98/include/npx.h user/imp/tbemd/sys/pc98/pc98/machdep.c user/imp/tbemd/sys/pci/if_rl.c user/imp/tbemd/sys/powerpc/aim/clock.c user/imp/tbemd/sys/powerpc/aim/copyinout.c user/imp/tbemd/sys/powerpc/aim/interrupt.c user/imp/tbemd/sys/powerpc/aim/locore.S user/imp/tbemd/sys/powerpc/aim/machdep.c user/imp/tbemd/sys/powerpc/aim/mmu_oea.c user/imp/tbemd/sys/powerpc/aim/mmu_oea64.c user/imp/tbemd/sys/powerpc/aim/mp_cpudep.c user/imp/tbemd/sys/powerpc/aim/nexus.c user/imp/tbemd/sys/powerpc/aim/ofw_machdep.c user/imp/tbemd/sys/powerpc/aim/platform_chrp.c user/imp/tbemd/sys/powerpc/aim/trap.c user/imp/tbemd/sys/powerpc/aim/vm_machdep.c user/imp/tbemd/sys/powerpc/booke/clock.c user/imp/tbemd/sys/powerpc/booke/interrupt.c user/imp/tbemd/sys/powerpc/booke/locore.S user/imp/tbemd/sys/powerpc/booke/machdep.c user/imp/tbemd/sys/powerpc/booke/platform_bare.c user/imp/tbemd/sys/powerpc/booke/pmap.c user/imp/tbemd/sys/powerpc/booke/swtch.S user/imp/tbemd/sys/powerpc/booke/trap.c user/imp/tbemd/sys/powerpc/booke/vm_machdep.c user/imp/tbemd/sys/powerpc/conf/DEFAULTS user/imp/tbemd/sys/powerpc/conf/GENERIC user/imp/tbemd/sys/powerpc/conf/MPC85XX user/imp/tbemd/sys/powerpc/conf/Makefile user/imp/tbemd/sys/powerpc/conf/NOTES user/imp/tbemd/sys/powerpc/cpufreq/pcr.c user/imp/tbemd/sys/powerpc/include/_align.h user/imp/tbemd/sys/powerpc/include/_bus.h user/imp/tbemd/sys/powerpc/include/_inttypes.h user/imp/tbemd/sys/powerpc/include/_limits.h user/imp/tbemd/sys/powerpc/include/_stdint.h user/imp/tbemd/sys/powerpc/include/_types.h user/imp/tbemd/sys/powerpc/include/asm.h user/imp/tbemd/sys/powerpc/include/atomic.h user/imp/tbemd/sys/powerpc/include/bus.h user/imp/tbemd/sys/powerpc/include/cpufunc.h user/imp/tbemd/sys/powerpc/include/db_machdep.h user/imp/tbemd/sys/powerpc/include/elf.h user/imp/tbemd/sys/powerpc/include/frame.h user/imp/tbemd/sys/powerpc/include/hid.h user/imp/tbemd/sys/powerpc/include/intr_machdep.h user/imp/tbemd/sys/powerpc/include/md_var.h user/imp/tbemd/sys/powerpc/include/metadata.h user/imp/tbemd/sys/powerpc/include/openpicvar.h user/imp/tbemd/sys/powerpc/include/param.h user/imp/tbemd/sys/powerpc/include/pcb.h user/imp/tbemd/sys/powerpc/include/pcpu.h user/imp/tbemd/sys/powerpc/include/pmap.h user/imp/tbemd/sys/powerpc/include/proc.h user/imp/tbemd/sys/powerpc/include/profile.h user/imp/tbemd/sys/powerpc/include/psl.h user/imp/tbemd/sys/powerpc/include/pte.h user/imp/tbemd/sys/powerpc/include/reg.h user/imp/tbemd/sys/powerpc/include/runq.h user/imp/tbemd/sys/powerpc/include/smp.h user/imp/tbemd/sys/powerpc/include/spr.h user/imp/tbemd/sys/powerpc/include/sr.h user/imp/tbemd/sys/powerpc/include/trap_aim.h user/imp/tbemd/sys/powerpc/include/ucontext.h user/imp/tbemd/sys/powerpc/include/vmparam.h user/imp/tbemd/sys/powerpc/mpc85xx/atpic.c user/imp/tbemd/sys/powerpc/mpc85xx/i2c.c user/imp/tbemd/sys/powerpc/mpc85xx/isa.c user/imp/tbemd/sys/powerpc/mpc85xx/lbc.c user/imp/tbemd/sys/powerpc/mpc85xx/lbc.h user/imp/tbemd/sys/powerpc/mpc85xx/mpc85xx.c user/imp/tbemd/sys/powerpc/mpc85xx/mpc85xx.h user/imp/tbemd/sys/powerpc/mpc85xx/nexus.c user/imp/tbemd/sys/powerpc/ofw/ofw_pcib_pci.c user/imp/tbemd/sys/powerpc/ofw/ofw_pcibus.c user/imp/tbemd/sys/powerpc/ofw/ofw_real.c user/imp/tbemd/sys/powerpc/ofw/ofw_syscons.c user/imp/tbemd/sys/powerpc/powermac/cpcht.c user/imp/tbemd/sys/powerpc/powermac/cuda.c user/imp/tbemd/sys/powerpc/powermac/grackle.c user/imp/tbemd/sys/powerpc/powermac/hrowpic.c user/imp/tbemd/sys/powerpc/powermac/kiic.c user/imp/tbemd/sys/powerpc/powermac/macgpio.c user/imp/tbemd/sys/powerpc/powermac/macio.c user/imp/tbemd/sys/powerpc/powermac/openpic_macio.c user/imp/tbemd/sys/powerpc/powermac/pmu.c user/imp/tbemd/sys/powerpc/powermac/uninorth.c user/imp/tbemd/sys/powerpc/powermac/uninorthpci.c user/imp/tbemd/sys/powerpc/powerpc/bcopy.c user/imp/tbemd/sys/powerpc/powerpc/bus_machdep.c user/imp/tbemd/sys/powerpc/powerpc/busdma_machdep.c user/imp/tbemd/sys/powerpc/powerpc/cpu.c user/imp/tbemd/sys/powerpc/powerpc/db_interface.c user/imp/tbemd/sys/powerpc/powerpc/db_trace.c user/imp/tbemd/sys/powerpc/powerpc/genassym.c user/imp/tbemd/sys/powerpc/powerpc/in_cksum.c user/imp/tbemd/sys/powerpc/powerpc/intr_machdep.c user/imp/tbemd/sys/powerpc/powerpc/mp_machdep.c user/imp/tbemd/sys/powerpc/powerpc/openpic.c user/imp/tbemd/sys/powerpc/powerpc/pic_if.m user/imp/tbemd/sys/powerpc/powerpc/setjmp.S user/imp/tbemd/sys/powerpc/powerpc/stack_machdep.c user/imp/tbemd/sys/powerpc/powerpc/syncicache.c user/imp/tbemd/sys/powerpc/powerpc/sys_machdep.c user/imp/tbemd/sys/powerpc/psim/openpic_iobus.c user/imp/tbemd/sys/security/mac/mac_framework.c user/imp/tbemd/sys/security/mac/mac_internal.h user/imp/tbemd/sys/sparc64/conf/GENERIC user/imp/tbemd/sys/sparc64/ebus/ebus.c user/imp/tbemd/sys/sparc64/include/bus.h user/imp/tbemd/sys/sparc64/include/cache.h user/imp/tbemd/sys/sparc64/include/elf.h user/imp/tbemd/sys/sparc64/include/intr_machdep.h user/imp/tbemd/sys/sparc64/include/pcpu.h user/imp/tbemd/sys/sparc64/include/pmap.h user/imp/tbemd/sys/sparc64/include/smp.h user/imp/tbemd/sys/sparc64/include/tick.h user/imp/tbemd/sys/sparc64/include/vmparam.h user/imp/tbemd/sys/sparc64/isa/ofw_isa.c user/imp/tbemd/sys/sparc64/pci/fire.c user/imp/tbemd/sys/sparc64/pci/ofw_pcib_subr.c user/imp/tbemd/sys/sparc64/pci/psycho.c user/imp/tbemd/sys/sparc64/pci/schizo.c user/imp/tbemd/sys/sparc64/sparc64/cache.c user/imp/tbemd/sys/sparc64/sparc64/clock.c user/imp/tbemd/sys/sparc64/sparc64/exception.S user/imp/tbemd/sys/sparc64/sparc64/genassym.c user/imp/tbemd/sys/sparc64/sparc64/intr_machdep.c user/imp/tbemd/sys/sparc64/sparc64/machdep.c user/imp/tbemd/sys/sparc64/sparc64/mem.c user/imp/tbemd/sys/sparc64/sparc64/mp_exception.S user/imp/tbemd/sys/sparc64/sparc64/mp_locore.S user/imp/tbemd/sys/sparc64/sparc64/mp_machdep.c user/imp/tbemd/sys/sparc64/sparc64/pmap.c user/imp/tbemd/sys/sparc64/sparc64/tick.c user/imp/tbemd/sys/sparc64/sparc64/trap.c user/imp/tbemd/sys/sparc64/sparc64/tsb.c user/imp/tbemd/sys/sparc64/sparc64/uio_machdep.c user/imp/tbemd/sys/sparc64/sparc64/vm_machdep.c user/imp/tbemd/sys/sun4v/conf/DEFAULTS user/imp/tbemd/sys/sun4v/conf/GENERIC user/imp/tbemd/sys/sun4v/include/bus.h user/imp/tbemd/sys/sun4v/include/clock.h user/imp/tbemd/sys/sun4v/include/elf.h user/imp/tbemd/sys/sun4v/include/intr_machdep.h user/imp/tbemd/sys/sun4v/include/pcpu.h user/imp/tbemd/sys/sun4v/include/smp.h user/imp/tbemd/sys/sun4v/include/tick.h user/imp/tbemd/sys/sun4v/include/vmparam.h user/imp/tbemd/sys/sun4v/sun4v/clock.c user/imp/tbemd/sys/sun4v/sun4v/exception.S user/imp/tbemd/sys/sun4v/sun4v/hv_pci.c user/imp/tbemd/sys/sun4v/sun4v/intr_machdep.c user/imp/tbemd/sys/sun4v/sun4v/machdep.c user/imp/tbemd/sys/sun4v/sun4v/mp_machdep.c user/imp/tbemd/sys/sun4v/sun4v/pmap.c user/imp/tbemd/sys/sun4v/sun4v/tick.c user/imp/tbemd/sys/sun4v/sun4v/trap.c user/imp/tbemd/sys/sys/_task.h user/imp/tbemd/sys/sys/buf.h user/imp/tbemd/sys/sys/bus.h user/imp/tbemd/sys/sys/cdefs.h user/imp/tbemd/sys/sys/conf.h user/imp/tbemd/sys/sys/disk.h user/imp/tbemd/sys/sys/diskmbr.h user/imp/tbemd/sys/sys/elf_common.h user/imp/tbemd/sys/sys/file.h user/imp/tbemd/sys/sys/imgact.h user/imp/tbemd/sys/sys/imgact_elf.h user/imp/tbemd/sys/sys/kthread.h user/imp/tbemd/sys/sys/ktr.h user/imp/tbemd/sys/sys/ktrace.h user/imp/tbemd/sys/sys/lockmgr.h user/imp/tbemd/sys/sys/malloc.h user/imp/tbemd/sys/sys/mbuf.h user/imp/tbemd/sys/sys/param.h user/imp/tbemd/sys/sys/pcpu.h user/imp/tbemd/sys/sys/pmc.h user/imp/tbemd/sys/sys/priv.h user/imp/tbemd/sys/sys/proc.h user/imp/tbemd/sys/sys/ptrace.h user/imp/tbemd/sys/sys/resource.h user/imp/tbemd/sys/sys/resourcevar.h user/imp/tbemd/sys/sys/sdt.h user/imp/tbemd/sys/sys/signal.h user/imp/tbemd/sys/sys/signalvar.h user/imp/tbemd/sys/sys/smp.h user/imp/tbemd/sys/sys/syscall.h user/imp/tbemd/sys/sys/syscall.mk user/imp/tbemd/sys/sys/syscallsubr.h user/imp/tbemd/sys/sys/sysctl.h user/imp/tbemd/sys/sys/sysent.h user/imp/tbemd/sys/sys/sysproto.h user/imp/tbemd/sys/sys/systm.h user/imp/tbemd/sys/sys/taskqueue.h user/imp/tbemd/sys/sys/time.h user/imp/tbemd/sys/sys/types.h user/imp/tbemd/sys/sys/vnode.h user/imp/tbemd/sys/teken/teken_subr.h user/imp/tbemd/sys/tools/vnode_if.awk user/imp/tbemd/sys/ufs/ffs/ffs_alloc.c user/imp/tbemd/sys/ufs/ffs/ffs_inode.c user/imp/tbemd/sys/ufs/ffs/ffs_softdep.c user/imp/tbemd/sys/ufs/ffs/ffs_vfsops.c user/imp/tbemd/sys/ufs/ffs/ffs_vnops.c user/imp/tbemd/sys/ufs/ffs/softdep.h user/imp/tbemd/sys/ufs/ufs/inode.h user/imp/tbemd/sys/ufs/ufs/ufs_inode.c user/imp/tbemd/sys/ufs/ufs/ufs_lookup.c user/imp/tbemd/sys/ufs/ufs/ufs_vnops.c user/imp/tbemd/sys/vm/device_pager.c user/imp/tbemd/sys/vm/memguard.c user/imp/tbemd/sys/vm/memguard.h user/imp/tbemd/sys/vm/uma.h user/imp/tbemd/sys/vm/uma_core.c user/imp/tbemd/sys/vm/uma_int.h user/imp/tbemd/sys/vm/vm_contig.c user/imp/tbemd/sys/vm/vm_extern.h user/imp/tbemd/sys/vm/vm_fault.c user/imp/tbemd/sys/vm/vm_init.c user/imp/tbemd/sys/vm/vm_kern.c user/imp/tbemd/sys/vm/vm_map.c user/imp/tbemd/sys/vm/vm_mmap.c user/imp/tbemd/sys/vm/vm_object.c user/imp/tbemd/sys/vm/vm_page.c user/imp/tbemd/sys/vm/vm_page.h user/imp/tbemd/sys/vm/vm_pageout.c user/imp/tbemd/sys/vm/vm_pager.h user/imp/tbemd/sys/vm/vm_phys.c user/imp/tbemd/sys/vm/vm_phys.h user/imp/tbemd/sys/x86/cpufreq/est.c user/imp/tbemd/sys/x86/isa/atrtc.c user/imp/tbemd/sys/x86/isa/clock.c user/imp/tbemd/sys/x86/x86/local_apic.c user/imp/tbemd/sys/x86/x86/mca.c user/imp/tbemd/sys/x86/x86/msi.c Directory Properties: user/imp/tbemd/sys/dev/xen/xenpci/ (props changed) Modified: user/imp/tbemd/sys/ddb/db_command.c ============================================================================== --- user/imp/tbemd/sys/ddb/db_command.c Sun Aug 22 21:52:38 2010 (r211656) +++ user/imp/tbemd/sys/ddb/db_command.c Sun Aug 22 21:53:24 2010 (r211657) @@ -633,7 +633,7 @@ db_kill(dummy1, dummy2, dummy3, dummy4) if (!db_expression(&pid)) DB_ERROR(("Missing process ID\n")); db_skip_to_eol(); - if (sig < 1 || sig > _SIG_MAXSIG) + if (!_SIG_VALID(sig)) DB_ERROR(("Signal number out of range\n")); /* Modified: user/imp/tbemd/sys/dev/acpi_support/acpi_asus.c ============================================================================== --- user/imp/tbemd/sys/dev/acpi_support/acpi_asus.c Sun Aug 22 21:52:38 2010 (r211656) +++ user/imp/tbemd/sys/dev/acpi_support/acpi_asus.c Sun Aug 22 21:53:24 2010 (r211657) @@ -711,7 +711,7 @@ good: sbuf_printf(sb, "Unsupported Asus laptop: %s\n", Obj->String.Pointer); sbuf_finish(sb); - device_printf(dev, sbuf_data(sb)); + device_printf(dev, "%s", sbuf_data(sb)); sbuf_delete(sb); AcpiOsFree(Buf.Pointer); Modified: user/imp/tbemd/sys/dev/acpi_support/acpi_fujitsu.c ============================================================================== --- user/imp/tbemd/sys/dev/acpi_support/acpi_fujitsu.c Sun Aug 22 21:52:38 2010 (r211656) +++ user/imp/tbemd/sys/dev/acpi_support/acpi_fujitsu.c Sun Aug 22 21:53:24 2010 (r211657) @@ -380,7 +380,6 @@ acpi_fujitsu_init(struct acpi_fujitsu_so OID_AUTO, "fujitsu", CTLFLAG_RD, 0, ""); for (i = 0; sysctl_table[i].name != NULL; i++) { - exists = 0; switch(sysctl_table[i].method) { case METHOD_GMOU: exists = sc->gmou.exists; @@ -566,9 +565,6 @@ static uint8_t acpi_fujitsu_check_hardware(struct acpi_fujitsu_softc *sc) { int val; - struct acpi_softc *acpi_sc; - - acpi_sc = acpi_device_get_parent_softc(sc->dev); ACPI_SERIAL_ASSERT(fujitsu); /* save the hotkey bitmask */ Modified: user/imp/tbemd/sys/dev/acpi_support/acpi_hp.c ============================================================================== --- user/imp/tbemd/sys/dev/acpi_support/acpi_hp.c Sun Aug 22 21:52:38 2010 (r211656) +++ user/imp/tbemd/sys/dev/acpi_support/acpi_hp.c Sun Aug 22 21:53:24 2010 (r211657) @@ -453,7 +453,6 @@ static int acpi_hp_attach(device_t dev) { struct acpi_hp_softc *sc; - struct acpi_softc *acpi_sc; devclass_t wmi_devclass; int arg; @@ -477,7 +476,6 @@ acpi_hp_attach(device_t dev) sc->cmi_order_size = -1; sc->verbose = 0; memset(sc->cmi_order, 0, sizeof(sc->cmi_order)); - acpi_sc = acpi_device_get_parent_softc(dev); if (!(wmi_devclass = devclass_find ("acpi_wmi"))) { device_printf(dev, "Couldn't find acpi_wmi devclass\n"); @@ -905,7 +903,7 @@ acpi_hp_get_cmi_block(device_t wmi_dev, return (-EINVAL); } obj = out.Pointer; - if (!obj && obj->Type != ACPI_TYPE_PACKAGE) { + if (!obj || obj->Type != ACPI_TYPE_PACKAGE) { acpi_hp_free_buffer(&out); return (-EINVAL); } Modified: user/imp/tbemd/sys/dev/acpi_support/acpi_ibm.c ============================================================================== --- user/imp/tbemd/sys/dev/acpi_support/acpi_ibm.c Sun Aug 22 21:52:38 2010 (r211656) +++ user/imp/tbemd/sys/dev/acpi_support/acpi_ibm.c Sun Aug 22 21:53:24 2010 (r211657) @@ -743,8 +743,6 @@ acpi_ibm_sysctl_set(struct acpi_ibm_soft return (status); if (sc->cmos_handle) { - val = val_ec & IBM_EC_MASK_VOL; - Args.Count = 1; Args.Pointer = &Arg; Arg.Type = ACPI_TYPE_INTEGER; Copied: user/imp/tbemd/sys/dev/acpi_support/atk0110.c (from r211636, head/sys/dev/acpi_support/atk0110.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/sys/dev/acpi_support/atk0110.c Sun Aug 22 21:53:24 2010 (r211657, copy of r211636, head/sys/dev/acpi_support/atk0110.c) @@ -0,0 +1,358 @@ +/* $NetBSD: atk0110.c,v 1.4 2010/02/11 06:54:57 cnst Exp $ */ +/* $OpenBSD: atk0110.c,v 1.1 2009/07/23 01:38:16 cnst Exp $ */ + +/* + * Copyright (c) 2009, 2010 Constantine A. Murenin + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +/* + * ASUSTeK AI Booster (ACPI ASOC ATK0110). + * + * This code was originally written for OpenBSD after the techniques + * described in the Linux's asus_atk0110.c and FreeBSD's Takanori Watanabe's + * acpi_aiboost.c were verified to be accurate on the actual hardware kindly + * provided by Sam Fourman Jr. It was subsequently ported from OpenBSD to + * DragonFly BSD, to NetBSD's sysmon_envsys(9) and to FreeBSD's sysctl(9). + * + * -- Constantine A. Murenin + */ + +#define _COMPONENT ACPI_OEM +ACPI_MODULE_NAME("aibs"); +ACPI_SERIAL_DECL(aibs, "aibs"); + +#define AIBS_MORE_SENSORS +#define AIBS_VERBOSE + +enum aibs_type { + AIBS_VOLT, + AIBS_TEMP, + AIBS_FAN +}; + +struct aibs_sensor { + ACPI_INTEGER v; + ACPI_INTEGER i; + ACPI_INTEGER l; + ACPI_INTEGER h; + enum aibs_type t; +}; + +struct aibs_softc { + struct device *sc_dev; + ACPI_HANDLE sc_ah; + + struct aibs_sensor *sc_asens_volt; + struct aibs_sensor *sc_asens_temp; + struct aibs_sensor *sc_asens_fan; +}; + +static int aibs_probe(device_t); +static int aibs_attach(device_t); +static int aibs_detach(device_t); +static int aibs_sysctl(SYSCTL_HANDLER_ARGS); + +static void aibs_attach_sif(struct aibs_softc *, enum aibs_type); + +static device_method_t aibs_methods[] = { + DEVMETHOD(device_probe, aibs_probe), + DEVMETHOD(device_attach, aibs_attach), + DEVMETHOD(device_detach, aibs_detach), + { NULL, NULL } +}; + +static driver_t aibs_driver = { + "aibs", + aibs_methods, + sizeof(struct aibs_softc) +}; + +static devclass_t aibs_devclass; + +DRIVER_MODULE(aibs, acpi, aibs_driver, aibs_devclass, NULL, NULL); + + +static char* aibs_hids[] = { + "ATK0110", + NULL +}; + +static int +aibs_probe(device_t dev) +{ + if (acpi_disabled("aibs") || + ACPI_ID_PROBE(device_get_parent(dev), dev, aibs_hids) == NULL) + return ENXIO; + + device_set_desc(dev, "ASUSTeK AI Booster (ACPI ASOC ATK0110)"); + return 0; +} + +static int +aibs_attach(device_t dev) +{ + struct aibs_softc *sc = device_get_softc(dev); + + sc->sc_dev = dev; + sc->sc_ah = acpi_get_handle(dev); + + aibs_attach_sif(sc, AIBS_VOLT); + aibs_attach_sif(sc, AIBS_TEMP); + aibs_attach_sif(sc, AIBS_FAN); + + return 0; +} + +static void +aibs_attach_sif(struct aibs_softc *sc, enum aibs_type st) +{ + ACPI_STATUS s; + ACPI_BUFFER b; + ACPI_OBJECT *bp, *o; + int i, n; + const char *node; + char name[] = "?SIF"; + struct aibs_sensor *as; + struct sysctl_oid *so; + + switch (st) { + case AIBS_VOLT: + node = "volt"; + name[0] = 'V'; + break; + case AIBS_TEMP: + node = "temp"; + name[0] = 'T'; + break; + case AIBS_FAN: + node = "fan"; + name[0] = 'F'; + break; + default: + return; + } + + b.Length = ACPI_ALLOCATE_BUFFER; + s = AcpiEvaluateObjectTyped(sc->sc_ah, name, NULL, &b, + ACPI_TYPE_PACKAGE); + if (ACPI_FAILURE(s)) { + device_printf(sc->sc_dev, "%s not found\n", name); + return; + } + + bp = b.Pointer; + o = bp->Package.Elements; + if (o[0].Type != ACPI_TYPE_INTEGER) { + device_printf(sc->sc_dev, "%s[0]: invalid type\n", name); + AcpiOsFree(b.Pointer); + return; + } + + n = o[0].Integer.Value; + if (bp->Package.Count - 1 < n) { + device_printf(sc->sc_dev, "%s: invalid package\n", name); + AcpiOsFree(b.Pointer); + return; + } else if (bp->Package.Count - 1 > n) { + int on = n; + +#ifdef AIBS_MORE_SENSORS + n = bp->Package.Count - 1; +#endif + device_printf(sc->sc_dev, "%s: malformed package: %i/%i" + ", assume %i\n", name, on, bp->Package.Count - 1, n); + } + if (n < 1) { + device_printf(sc->sc_dev, "%s: no members in the package\n", + name); + AcpiOsFree(b.Pointer); + return; + } + + as = malloc(sizeof(*as) * n, M_DEVBUF, M_NOWAIT | M_ZERO); + if (as == NULL) { + device_printf(sc->sc_dev, "%s: malloc fail\n", name); + AcpiOsFree(b.Pointer); + return; + } + switch (st) { + case AIBS_VOLT: + sc->sc_asens_volt = as; + break; + case AIBS_TEMP: + sc->sc_asens_temp = as; + break; + case AIBS_FAN: + sc->sc_asens_fan = as; + break; + } + + /* sysctl subtree for sensors of this type */ + so = SYSCTL_ADD_NODE(device_get_sysctl_ctx(sc->sc_dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(sc->sc_dev)), st, + node, CTLFLAG_RD, NULL, NULL); + + for (i = 0, o++; i < n; i++, o++) { + ACPI_OBJECT *oi; + char si[3]; + const char *desc; + + /* acpica5 automatically evaluates the referenced package */ + if (o[0].Type != ACPI_TYPE_PACKAGE) { + device_printf(sc->sc_dev, + "%s: %i: not a package: %i type\n", + name, i, o[0].Type); + continue; + } + oi = o[0].Package.Elements; + if (o[0].Package.Count != 5 || + oi[0].Type != ACPI_TYPE_INTEGER || + oi[1].Type != ACPI_TYPE_STRING || + oi[2].Type != ACPI_TYPE_INTEGER || + oi[3].Type != ACPI_TYPE_INTEGER || + oi[4].Type != ACPI_TYPE_INTEGER) { + device_printf(sc->sc_dev, + "%s: %i: invalid package\n", + name, i); + continue; + } + as[i].i = oi[0].Integer.Value; + desc = oi[1].String.Pointer; + as[i].l = oi[2].Integer.Value; + as[i].h = oi[3].Integer.Value; + as[i].t = st; +#ifdef AIBS_VERBOSE + device_printf(sc->sc_dev, "%c%i: " + "0x%08"PRIx64" %20s %5"PRIi64" / %5"PRIi64" " + "0x%"PRIx64"\n", + name[0], i, + as[i].i, desc, (int64_t)as[i].l, (int64_t)as[i].h, + oi[4].Integer.Value); +#endif + snprintf(si, sizeof(si), "%i", i); + SYSCTL_ADD_PROC(device_get_sysctl_ctx(sc->sc_dev), + SYSCTL_CHILDREN(so), i, si, CTLTYPE_OPAQUE | CTLFLAG_RD, + sc, st, aibs_sysctl, st == AIBS_TEMP ? "IK" : "I", desc); + } + + AcpiOsFree(b.Pointer); +} + +static int +aibs_detach(device_t dev) +{ + struct aibs_softc *sc = device_get_softc(dev); + + if (sc->sc_asens_volt != NULL) + free(sc->sc_asens_volt, M_DEVBUF); + if (sc->sc_asens_temp != NULL) + free(sc->sc_asens_temp, M_DEVBUF); + if (sc->sc_asens_fan != NULL) + free(sc->sc_asens_fan, M_DEVBUF); + return 0; +} + +#ifdef AIBS_VERBOSE +#define ddevice_printf(x...) device_printf(x) +#else +#define ddevice_printf(x...) +#endif + +static int +aibs_sysctl(SYSCTL_HANDLER_ARGS) +{ + struct aibs_softc *sc = arg1; + enum aibs_type st = arg2; + int i = oidp->oid_number; + ACPI_STATUS rs; + ACPI_OBJECT p, *bp; + ACPI_OBJECT_LIST mp; + ACPI_BUFFER b; + char *name; + struct aibs_sensor *as; + ACPI_INTEGER v, l, h; + int so[3]; + + switch (st) { + case AIBS_VOLT: + name = "RVLT"; + as = sc->sc_asens_volt; + break; + case AIBS_TEMP: + name = "RTMP"; + as = sc->sc_asens_temp; + break; + case AIBS_FAN: + name = "RFAN"; + as = sc->sc_asens_fan; + break; + default: + return ENOENT; + } + if (as == NULL) + return ENOENT; + l = as[i].l; + h = as[i].h; + p.Type = ACPI_TYPE_INTEGER; + p.Integer.Value = as[i].i; + mp.Count = 1; + mp.Pointer = &p; + b.Length = ACPI_ALLOCATE_BUFFER; + ACPI_SERIAL_BEGIN(aibs); + rs = AcpiEvaluateObjectTyped(sc->sc_ah, name, &mp, &b, + ACPI_TYPE_INTEGER); + if (ACPI_FAILURE(rs)) { + ddevice_printf(sc->sc_dev, + "%s: %i: evaluation failed\n", + name, i); + ACPI_SERIAL_END(aibs); + return EIO; + } + bp = b.Pointer; + v = bp->Integer.Value; + AcpiOsFree(b.Pointer); + ACPI_SERIAL_END(aibs); + + switch (st) { + case AIBS_VOLT: + break; + case AIBS_TEMP: + v += 2732; + l += 2732; + h += 2732; + break; + case AIBS_FAN: + break; + } + so[0] = v; + so[1] = l; + so[2] = h; + return sysctl_handle_opaque(oidp, &so, sizeof(so), req); +} Modified: user/imp/tbemd/sys/dev/acpica/Osd/OsdHardware.c ============================================================================== --- user/imp/tbemd/sys/dev/acpica/Osd/OsdHardware.c Sun Aug 22 21:52:38 2010 (r211656) +++ user/imp/tbemd/sys/dev/acpica/Osd/OsdHardware.c Sun Aug 22 21:53:24 2010 (r211657) @@ -36,7 +36,7 @@ __FBSDID("$FreeBSD$"); #include #include -#include +#include #include #include #include @@ -48,42 +48,21 @@ __FBSDID("$FreeBSD$"); * * In order to deal with this, we ignore resource ownership entirely, and simply * use the native I/O space accessor functionality. This is Evil, but it works. - * - * XXX use an intermediate #define for the tag/handle */ -#ifdef __i386__ -#define ACPI_BUS_SPACE_IO I386_BUS_SPACE_IO -#define ACPI_BUS_HANDLE 0 -#endif -#ifdef __ia64__ -#define ACPI_BUS_SPACE_IO IA64_BUS_SPACE_IO -#define ACPI_BUS_HANDLE 0 -#endif -#ifdef __amd64__ -#define ACPI_BUS_SPACE_IO AMD64_BUS_SPACE_IO -#define ACPI_BUS_HANDLE 0 -#endif - ACPI_STATUS AcpiOsReadPort(ACPI_IO_ADDRESS InPort, UINT32 *Value, UINT32 Width) { switch (Width) { case 8: - *(u_int8_t *)Value = bus_space_read_1(ACPI_BUS_SPACE_IO, - ACPI_BUS_HANDLE, InPort); - break; + *Value = iodev_read_1(InPort); + break; case 16: - *(u_int16_t *)Value = bus_space_read_2(ACPI_BUS_SPACE_IO, - ACPI_BUS_HANDLE, InPort); - break; + *Value = iodev_read_2(InPort); + break; case 32: - *(u_int32_t *)Value = bus_space_read_4(ACPI_BUS_SPACE_IO, - ACPI_BUS_HANDLE, InPort); - break; - default: - /* debug trap goes here */ + *Value = iodev_read_4(InPort); break; } @@ -96,16 +75,13 @@ AcpiOsWritePort(ACPI_IO_ADDRESS OutPort, switch (Width) { case 8: - bus_space_write_1(ACPI_BUS_SPACE_IO, ACPI_BUS_HANDLE, OutPort, Value); - break; + iodev_write_1(OutPort, Value); + break; case 16: - bus_space_write_2(ACPI_BUS_SPACE_IO, ACPI_BUS_HANDLE, OutPort, Value); - break; + iodev_write_2(OutPort, Value); + break; case 32: - bus_space_write_4(ACPI_BUS_SPACE_IO, ACPI_BUS_HANDLE, OutPort, Value); - break; - default: - /* debug trap goes here */ + iodev_write_4(OutPort, Value); break; } @@ -113,31 +89,18 @@ AcpiOsWritePort(ACPI_IO_ADDRESS OutPort, } ACPI_STATUS -AcpiOsReadPciConfiguration(ACPI_PCI_ID *PciId, UINT32 Register, void *Value, +AcpiOsReadPciConfiguration(ACPI_PCI_ID *PciId, UINT32 Register, UINT64 *Value, UINT32 Width) { - u_int32_t byte_width = Width / 8; - u_int32_t val; + + if (Width == 64) + return (AE_SUPPORT); if (!pci_cfgregopen()) - return (AE_NOT_EXIST); + return (AE_NOT_EXIST); - val = pci_cfgregread(PciId->Bus, PciId->Device, PciId->Function, Register, - byte_width); - switch (Width) { - case 8: - *(u_int8_t *)Value = val & 0xff; - break; - case 16: - *(u_int16_t *)Value = val & 0xffff; - break; - case 32: - *(u_int32_t *)Value = val; - break; - default: - /* debug trap goes here */ - break; - } + *(UINT64 *)Value = pci_cfgregread(PciId->Bus, PciId->Device, + PciId->Function, Register, Width / 8); return (AE_OK); } @@ -147,13 +110,15 @@ ACPI_STATUS AcpiOsWritePciConfiguration (ACPI_PCI_ID *PciId, UINT32 Register, UINT64 Value, UINT32 Width) { - u_int32_t byte_width = Width / 8; + + if (Width == 64) + return (AE_SUPPORT); if (!pci_cfgregopen()) return (AE_NOT_EXIST); pci_cfgregwrite(PciId->Bus, PciId->Device, PciId->Function, Register, - Value, byte_width); + Value, Width / 8); return (AE_OK); } Modified: user/imp/tbemd/sys/dev/acpica/Osd/OsdMemory.c ============================================================================== --- user/imp/tbemd/sys/dev/acpica/Osd/OsdMemory.c Sun Aug 22 21:52:38 2010 (r211656) +++ user/imp/tbemd/sys/dev/acpica/Osd/OsdMemory.c Sun Aug 22 21:53:24 2010 (r211657) @@ -74,12 +74,6 @@ AcpiOsGetPhysicalAddress(void *LogicalAd return (AE_BAD_ADDRESS); } -ACPI_STATUS -AcpiOsValidateInterface (char *Interface) -{ - return (AE_SUPPORT); -} - BOOLEAN AcpiOsReadable (void *Pointer, ACPI_SIZE Length) { @@ -97,29 +91,23 @@ AcpiOsReadMemory(ACPI_PHYSICAL_ADDRESS A { void *LogicalAddress; - LogicalAddress = AcpiOsMapMemory(Address, Width / 8); + LogicalAddress = pmap_mapdev(Address, Width / 8); if (LogicalAddress == NULL) return (AE_NOT_EXIST); switch (Width) { case 8: - *(u_int8_t *)Value = (*(volatile u_int8_t *)LogicalAddress); + *Value = *(volatile uint8_t *)LogicalAddress; break; case 16: - *(u_int16_t *)Value = (*(volatile u_int16_t *)LogicalAddress); + *Value = *(volatile uint16_t *)LogicalAddress; break; case 32: - *(u_int32_t *)Value = (*(volatile u_int32_t *)LogicalAddress); - break; - case 64: - *(u_int64_t *)Value = (*(volatile u_int64_t *)LogicalAddress); - break; - default: - /* debug trap goes here */ + *Value = *(volatile uint32_t *)LogicalAddress; break; } - AcpiOsUnmapMemory(LogicalAddress, Width / 8); + pmap_unmapdev((vm_offset_t)LogicalAddress, Width / 8); return (AE_OK); } @@ -129,29 +117,23 @@ AcpiOsWriteMemory(ACPI_PHYSICAL_ADDRESS { void *LogicalAddress; - LogicalAddress = AcpiOsMapMemory(Address, Width / 8); + LogicalAddress = pmap_mapdev(Address, Width / 8); if (LogicalAddress == NULL) return (AE_NOT_EXIST); switch (Width) { case 8: - (*(volatile u_int8_t *)LogicalAddress) = Value & 0xff; + *(volatile uint8_t *)LogicalAddress = Value; break; case 16: - (*(volatile u_int16_t *)LogicalAddress) = Value & 0xffff; + *(volatile uint16_t *)LogicalAddress = Value; break; case 32: - (*(volatile u_int32_t *)LogicalAddress) = Value & 0xffffffff; - break; - case 64: - (*(volatile u_int64_t *)LogicalAddress) = Value; - break; - default: - /* debug trap goes here */ + *(volatile uint32_t *)LogicalAddress = Value; break; } - AcpiOsUnmapMemory(LogicalAddress, Width / 8); + pmap_unmapdev((vm_offset_t)LogicalAddress, Width / 8); return (AE_OK); } Modified: user/imp/tbemd/sys/dev/acpica/acpi.c ============================================================================== --- user/imp/tbemd/sys/dev/acpica/acpi.c Sun Aug 22 21:52:38 2010 (r211656) +++ user/imp/tbemd/sys/dev/acpica/acpi.c Sun Aug 22 21:53:24 2010 (r211657) @@ -46,9 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#ifdef SMP #include -#endif #include #include @@ -131,8 +129,6 @@ static char *acpi_device_id_probe(device static ACPI_STATUS acpi_device_eval_obj(device_t bus, device_t dev, ACPI_STRING pathname, ACPI_OBJECT_LIST *parameters, ACPI_BUFFER *ret); -static int acpi_device_pwr_for_sleep(device_t bus, device_t dev, - int *dstate); static ACPI_STATUS acpi_device_scan_cb(ACPI_HANDLE h, UINT32 level, void *context, void **retval); static ACPI_STATUS acpi_device_scan_children(device_t bus, device_t dev, @@ -1417,7 +1413,7 @@ acpi_device_eval_obj(device_t bus, devic return (AcpiEvaluateObject(h, pathname, parameters, ret)); } -static int +int acpi_device_pwr_for_sleep(device_t bus, device_t dev, int *dstate) { struct acpi_softc *sc; @@ -2319,27 +2315,28 @@ acpi_ReqSleepState(struct acpi_softc *sc { #if defined(__amd64__) || defined(__i386__) struct apm_clone_data *clone; + ACPI_STATUS status; if (state < ACPI_STATE_S1 || state > ACPI_S_STATES_MAX) return (EINVAL); if (!acpi_sleep_states[state]) return (EOPNOTSUPP); - /* S5 (soft-off) should be entered directly with no waiting. */ - if (state == ACPI_STATE_S5) { - if (ACPI_SUCCESS(acpi_EnterSleepState(sc, state))) - return (0); - else - return (ENXIO); - } + ACPI_LOCK(acpi); /* If a suspend request is already in progress, just return. */ - ACPI_LOCK(acpi); if (sc->acpi_next_sstate != 0) { ACPI_UNLOCK(acpi); return (0); } + /* S5 (soft-off) should be entered directly with no waiting. */ + if (state == ACPI_STATE_S5) { + ACPI_UNLOCK(acpi); + status = acpi_EnterSleepState(sc, state); + return (ACPI_SUCCESS(status) ? 0 : ENXIO); + } + /* Record the pending state and notify all apm devices. */ sc->acpi_next_sstate = state; STAILQ_FOREACH(clone, &sc->apm_cdevs, entries) { @@ -2353,11 +2350,8 @@ acpi_ReqSleepState(struct acpi_softc *sc /* If devd(8) is not running, immediately enter the sleep state. */ if (!devctl_process_running()) { ACPI_UNLOCK(acpi); - if (ACPI_SUCCESS(acpi_EnterSleepState(sc, sc->acpi_next_sstate))) { - return (0); - } else { - return (ENXIO); - } + status = acpi_EnterSleepState(sc, state); + return (ACPI_SUCCESS(status) ? 0 : ENXIO); } /* @@ -2523,11 +2517,11 @@ acpi_EnterSleepState(struct acpi_softc * return_ACPI_STATUS (AE_OK); } -#ifdef SMP - thread_lock(curthread); - sched_bind(curthread, 0); - thread_unlock(curthread); -#endif + if (smp_started) { + thread_lock(curthread); + sched_bind(curthread, 0); + thread_unlock(curthread); + } /* * Be sure to hold Giant across DEVICE_SUSPEND/RESUME since non-MPSAFE @@ -2594,7 +2588,6 @@ acpi_EnterSleepState(struct acpi_softc * * process. This handles both the error and success cases. */ backout: - sc->acpi_next_sstate = 0; if (slp_state >= ACPI_SS_GPE_SET) { acpi_wake_prep_walk(state); sc->acpi_sstate = ACPI_STATE_S0; @@ -2605,14 +2598,15 @@ backout: DEVICE_RESUME(root_bus); if (slp_state >= ACPI_SS_SLEPT) acpi_enable_fixed_events(sc); + sc->acpi_next_sstate = 0; mtx_unlock(&Giant); -#ifdef SMP - thread_lock(curthread); - sched_unbind(curthread); - thread_unlock(curthread); -#endif + if (smp_started) { + thread_lock(curthread); + sched_unbind(curthread); + thread_unlock(curthread); + } /* Allow another sleep request after a while. */ timeout(acpi_sleep_enable, sc, hz * ACPI_MINIMUM_AWAKETIME); @@ -2653,16 +2647,14 @@ acpi_wake_set_enable(device_t dev, int e flags = acpi_get_flags(dev); if (enable) { - status = AcpiEnableGpe(prw.gpe_handle, prw.gpe_bit, - ACPI_GPE_TYPE_WAKE_RUN); + status = AcpiGpeWakeup(prw.gpe_handle, prw.gpe_bit, ACPI_GPE_ENABLE); if (ACPI_FAILURE(status)) { device_printf(dev, "enable wake failed\n"); return (ENXIO); } acpi_set_flags(dev, flags | ACPI_FLAG_WAKE_ENABLED); } else { - status = AcpiDisableGpe(prw.gpe_handle, prw.gpe_bit, - ACPI_GPE_TYPE_WAKE); + status = AcpiGpeWakeup(prw.gpe_handle, prw.gpe_bit, ACPI_GPE_DISABLE); if (ACPI_FAILURE(status)) { device_printf(dev, "disable wake failed\n"); return (ENXIO); @@ -2692,7 +2684,7 @@ acpi_wake_sleep_prep(ACPI_HANDLE handle, * and set _PSW. */ if (sstate > prw.lowest_wake) { - AcpiDisableGpe(prw.gpe_handle, prw.gpe_bit, ACPI_GPE_TYPE_WAKE); + AcpiGpeWakeup(prw.gpe_handle, prw.gpe_bit, ACPI_GPE_DISABLE); if (bootverbose) device_printf(dev, "wake_prep disabled wake for %s (S%d)\n", acpi_name(handle), sstate); @@ -2729,7 +2721,7 @@ acpi_wake_run_prep(ACPI_HANDLE handle, i * clear _PSW and turn off any power resources it used. */ if (sstate > prw.lowest_wake) { - AcpiEnableGpe(prw.gpe_handle, prw.gpe_bit, ACPI_GPE_TYPE_WAKE_RUN); + AcpiGpeWakeup(prw.gpe_handle, prw.gpe_bit, ACPI_GPE_ENABLE); if (bootverbose) device_printf(dev, "run_prep re-enabled %s\n", acpi_name(handle)); } else { Modified: user/imp/tbemd/sys/dev/acpica/acpi_button.c ============================================================================== --- user/imp/tbemd/sys/dev/acpica/acpi_button.c Sun Aug 22 21:52:38 2010 (r211656) +++ user/imp/tbemd/sys/dev/acpica/acpi_button.c Sun Aug 22 21:53:24 2010 (r211657) @@ -127,6 +127,7 @@ acpi_button_probe(device_t dev) static int acpi_button_attach(device_t dev) { + struct acpi_prw_data prw; struct acpi_button_softc *sc; ACPI_STATUS status; int event; @@ -165,6 +166,8 @@ acpi_button_attach(device_t dev) /* Enable the GPE for wake/runtime. */ acpi_wake_set_enable(dev, 1); + if (acpi_parse_prw(sc->button_handle, &prw) == 0) + AcpiEnableGpe(prw.gpe_handle, prw.gpe_bit); return_VALUE (0); } Modified: user/imp/tbemd/sys/dev/acpica/acpi_cpu.c ============================================================================== --- user/imp/tbemd/sys/dev/acpica/acpi_cpu.c Sun Aug 22 21:52:38 2010 (r211656) +++ user/imp/tbemd/sys/dev/acpica/acpi_cpu.c Sun Aug 22 21:53:24 2010 (r211657) @@ -445,9 +445,7 @@ acpi_pcpu_get_id(uint32_t idx, uint32_t KASSERT(acpi_id != NULL, ("Null acpi_id")); KASSERT(cpu_id != NULL, ("Null cpu_id")); - for (i = 0; i <= mp_maxid; i++) { - if (CPU_ABSENT(i)) - continue; + CPU_FOREACH(i) { pcpu_data = pcpu_find(i); KASSERT(pcpu_data != NULL, ("no pcpu data for %d", i)); if (idx-- == 0) { @@ -930,12 +928,16 @@ acpi_cpu_idle() /* * Execute HLT (or equivalent) and wait for an interrupt. We can't - * calculate the time spent in C1 since the place we wake up is an - * ISR. Assume we slept half of quantum and return. + * precisely calculate the time spent in C1 since the place we wake up + * is an ISR. Assume we slept no more then half of quantum. */ if (cx_next->type == ACPI_STATE_C1) { - sc->cpu_prev_sleep = (sc->cpu_prev_sleep * 3 + 500000 / hz) / 4; + AcpiHwRead(&start_time, &AcpiGbl_FADT.XPmTimerBlock); acpi_cpu_c1(); + AcpiHwRead(&end_time, &AcpiGbl_FADT.XPmTimerBlock); + end_time = acpi_TimerDelta(end_time, start_time); + sc->cpu_prev_sleep = (sc->cpu_prev_sleep * 3 + + min(PM_USEC(end_time), 500000 / hz)) / 4; return; } @@ -1009,6 +1011,8 @@ acpi_cpu_notify(ACPI_HANDLE h, UINT32 no if (isc->cpu_cx_count > cpu_cx_count) cpu_cx_count = isc->cpu_cx_count; } + if (sc->cpu_cx_lowest < cpu_cx_lowest) + acpi_cpu_set_cx_lowest(sc, min(cpu_cx_lowest, sc->cpu_cx_count - 1)); ACPI_SERIAL_END(cpu); } @@ -1204,7 +1208,7 @@ acpi_cpu_global_cx_lowest_sysctl(SYSCTL_ ACPI_SERIAL_BEGIN(cpu); for (i = 0; i < cpu_ndevices; i++) { sc = device_get_softc(cpu_devices[i]); - acpi_cpu_set_cx_lowest(sc, val); + acpi_cpu_set_cx_lowest(sc, min(val, sc->cpu_cx_count - 1)); } ACPI_SERIAL_END(cpu); Modified: user/imp/tbemd/sys/dev/acpica/acpi_dock.c ============================================================================== --- user/imp/tbemd/sys/dev/acpica/acpi_dock.c Sun Aug 22 21:52:38 2010 (r211656) +++ user/imp/tbemd/sys/dev/acpica/acpi_dock.c Sun Aug 22 21:53:24 2010 (r211657) @@ -257,12 +257,10 @@ static void acpi_dock_insert(device_t dev) { struct acpi_dock_softc *sc; - ACPI_HANDLE h; ACPI_SERIAL_ASSERT(dock); sc = device_get_softc(dev); - h = acpi_get_handle(dev); if (sc->status == ACPI_DOCK_STATUS_UNDOCKED || sc->status == ACPI_DOCK_STATUS_UNKNOWN) { @@ -414,7 +412,6 @@ acpi_dock_status_sysctl(SYSCTL_HANDLER_A device_t dev; int status, err; - err = 0; dev = (device_t)arg1; sc = device_get_softc(dev); Modified: user/imp/tbemd/sys/dev/acpica/acpi_ec.c ============================================================================== --- user/imp/tbemd/sys/dev/acpica/acpi_ec.c Sun Aug 22 21:52:38 2010 (r211656) +++ user/imp/tbemd/sys/dev/acpica/acpi_ec.c Sun Aug 22 21:53:24 2010 (r211657) @@ -518,8 +518,7 @@ acpi_ec_attach(device_t dev) } /* Enable runtime GPEs for the handler. */ - Status = AcpiEnableGpe(sc->ec_gpehandle, sc->ec_gpebit, - ACPI_GPE_TYPE_RUNTIME); + Status = AcpiEnableGpe(sc->ec_gpehandle, sc->ec_gpebit); if (ACPI_FAILURE(Status)) { device_printf(dev, "AcpiEnableGpe failed: %s\n", AcpiFormatException(Status)); @@ -569,7 +568,7 @@ acpi_ec_shutdown(device_t dev) /* Disable the GPE so we don't get EC events during shutdown. */ sc = device_get_softc(dev); - AcpiDisableGpe(sc->ec_gpehandle, sc->ec_gpebit, ACPI_GPE_TYPE_RUNTIME); + AcpiDisableGpe(sc->ec_gpehandle, sc->ec_gpebit); return (0); } @@ -721,24 +720,19 @@ EcSpaceHandler(UINT32 Function, ACPI_PHY UINT64 *Value, void *Context, void *RegionContext) { struct acpi_ec_softc *sc = (struct acpi_ec_softc *)Context; - ACPI_STATUS Status; + ACPI_PHYSICAL_ADDRESS EcAddr; UINT8 *EcData; - UINT8 EcAddr; - int bytes, i; + ACPI_STATUS Status; ACPI_FUNCTION_TRACE_U32((char *)(uintptr_t)__func__, (UINT32)Address); + if (Function != ACPI_READ && Function != ACPI_WRITE) + return_ACPI_STATUS (AE_BAD_PARAMETER); if (Width % 8 != 0 || Value == NULL || Context == NULL) return_ACPI_STATUS (AE_BAD_PARAMETER); - bytes = Width / 8; - if (Address + bytes - 1 > 0xFF) + if (Address + Width / 8 > 256) return_ACPI_STATUS (AE_BAD_ADDRESS); - if (Function == ACPI_READ) - *Value = 0; - EcAddr = Address; - EcData = (UINT8 *)Value; - /* * If booting, check if we need to run the query handler. If so, we * we call it directly here since our thread taskq is not active yet. @@ -755,8 +749,21 @@ EcSpaceHandler(UINT32 Function, ACPI_PHY if (ACPI_FAILURE(Status)) return_ACPI_STATUS (Status); + /* If we can't start burst mode, continue anyway. */ + Status = EcCommand(sc, EC_COMMAND_BURST_ENABLE); + if (ACPI_SUCCESS(Status)) { + if (EC_GET_DATA(sc) == EC_BURST_ACK) { + CTR0(KTR_ACPI, "ec burst enabled"); + sc->ec_burstactive = TRUE; + } + } + /* Perform the transaction(s), based on Width. */ - for (i = 0; i < bytes; i++, EcAddr++, EcData++) { + EcAddr = Address; + EcData = (UINT8 *)Value; + if (Function == ACPI_READ) + *Value = 0; + do { switch (Function) { case ACPI_READ: Status = EcRead(sc, EcAddr, EcData); @@ -764,14 +771,17 @@ EcSpaceHandler(UINT32 Function, ACPI_PHY case ACPI_WRITE: Status = EcWrite(sc, EcAddr, *EcData); break; - default: *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 21:53:55 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5F7151065698; Sun, 22 Aug 2010 21:53:55 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 358768FC13; Sun, 22 Aug 2010 21:53:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MLrtxl017754; Sun, 22 Aug 2010 21:53:55 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MLrtQF017753; Sun, 22 Aug 2010 21:53:55 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008222153.o7MLrtQF017753@svn.freebsd.org> From: Warner Losh Date: Sun, 22 Aug 2010 21:53:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211658 - user/imp/tbemd/sys/contrib/octeon-sdk X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 21:53:55 -0000 Author: imp Date: Sun Aug 22 21:53:54 2010 New Revision: 211658 URL: http://svn.freebsd.org/changeset/base/211658 Log: Merge to head @211636 -- with hand tweaks [given up] hoping for the best Added: user/imp/tbemd/sys/contrib/octeon-sdk/ - copied from r211636, head/sys/contrib/octeon-sdk/ Modified: Directory Properties: user/imp/tbemd/sys/contrib/pf/ (props changed) user/imp/tbemd/sys/contrib/x86emu/ (props changed) From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 21:54:08 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A9B2C1065700; Sun, 22 Aug 2010 21:54:08 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 986548FC17; Sun, 22 Aug 2010 21:54:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MLs8T7017795; Sun, 22 Aug 2010 21:54:08 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MLs8g3017792; Sun, 22 Aug 2010 21:54:08 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008222154.o7MLs8g3017792@svn.freebsd.org> From: Warner Losh Date: Sun, 22 Aug 2010 21:54:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211659 - user/imp/tbemd/sys/contrib/dev/iwn X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 21:54:08 -0000 Author: imp Date: Sun Aug 22 21:54:08 2010 New Revision: 211659 URL: http://svn.freebsd.org/changeset/base/211659 Log: Merge to head @211636 -- with hand tweaks [given up] hoping for the best Added: user/imp/tbemd/sys/contrib/dev/iwn/iwlwifi-6000-9.221.4.1.fw.uu - copied unchanged from r211636, head/sys/contrib/dev/iwn/iwlwifi-6000-9.221.4.1.fw.uu user/imp/tbemd/sys/contrib/dev/iwn/iwlwifi-6050-9.201.4.1.fw.uu - copied unchanged from r211636, head/sys/contrib/dev/iwn/iwlwifi-6050-9.201.4.1.fw.uu Deleted: user/imp/tbemd/sys/contrib/dev/iwn/iwlwifi-6000-9.193.4.1.fw.uu Copied: user/imp/tbemd/sys/contrib/dev/iwn/iwlwifi-6000-9.221.4.1.fw.uu (from r211636, head/sys/contrib/dev/iwn/iwlwifi-6000-9.221.4.1.fw.uu) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/sys/contrib/dev/iwn/iwlwifi-6000-9.221.4.1.fw.uu Sun Aug 22 21:54:08 2010 (r211659, copy of r211636, head/sys/contrib/dev/iwn/iwlwifi-6000-9.221.4.1.fw.uu) @@ -0,0 +1,8017 @@ +Copyright (c) 2006-2010, Intel Corporation. +All rights reserved. + +Redistribution. Redistribution and use in binary form, without +modification, are permitted provided that the following conditions are +met: + +* Redistributions must reproduce the above copyright notice and the + following disclaimer in the documentation and/or other materials + provided with the distribution. +* Neither the name of Intel Corporation nor the names of its suppliers + may be used to endorse or promote products derived from this software + without specific prior written permission. +* No reverse engineering, decompilation, or disassembly of this software + is permitted. + +Limited patent license. Intel Corporation grants a world-wide, +royalty-free, non-exclusive license under patents it now or hereafter +owns or controls to make, have made, use, import, offer to sell and +sell ("Utilize") this software, but solely to the extent that any +such patent is necessary to Utilize the software alone, or in +combination with an operating system licensed under an approved Open +Source license as listed by the Open Source Initiative at +http://opensource.org/licenses. The patent license shall not apply to +any other combinations which include this software. No hardware per +se is licensed hereunder. + +DISCLAIMER. 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 OWNER 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. +begin-base64 644 iwlwifi-6000-9.221.4.1.fw.uu +AQTdCbxjAADQOAIAAEABAOQ2AgAAQAEAAAAAACAggA8AAEAAaSAAAGkgQABpIAAAaSBAACAggA8A +AOgAaSAAAGkgQABpIAAAaSBAACAggA8AAHAGaSAAAGkgQABpIAAASiAAAEohAABKIgAASiMAAEok +AABKJQAASiYAAEonAABKIAAQSiEAEEoiABBKIwAQSiQAEEolABBKJgAQSicAEEogACBKIQAgSiIA +IEojACBKJAAgSiUAIEomACBKJwAgSiAAMEohADAKJIA/gQAAQEEsnDBALJwwQiQcNAoigD+AAOSC +CiMANwYPAABKJgBwaSBAAEomAHBKJgBwSiYAcEomAHAAFgBwgABsBEB4ICBAhwAAAAAAAAAAAADP +caqqu7vPcJ8AuP82oDagNqA2oM9xoADIOw6BiLgOoWkgQAD+8eB48cClwUHAQsEMHAAxEBxAMc9x +gAD8gzQZwA8wGQAPLBnADigZgA4kGUAOz3CAAPyDIBhAC89wgAD8gxwYAAvPcIAA/IMYGMAKz3CA +APyDFBiACs9wgAD8gxAYwAjPcIAA/IMMGIAIz3CAAPyDCBhACM9xgACAg4AZAAh8GcAHeBmAB3QZ +QAdwGQAHbBkAB2gZgAZkGUAGYBkABlwZwAVYGYAFVBlABVAZAAVMGcAESBmABEQZQARAGQAE76HO +oa2hjKEsGcACKBmAAiQZQAIgGQACHBnAARgZgAEUGUABEBkAAWOhaiAAA9gZAABqIMAC1BkAAGog +gALQGQAAaiBAAcgZAABqIAABxBkAAGogwADAGQAAaiCAALwZAABqIEAAuBkAAGogAAC0GQAAaiCA +AcwZAABA2J+4z3GfALj/HaHPcKD+BQAWoVMjwAQFIIAPsP4AABahGIFTJ841UyXENVMmxTWUuBih +QMMBwALB17oMFAYwyXMA3boNIAAQFAcwz3CgALQPvKDPcaAAyDsugVINIAB92D4PAAAuCWAAqXAI +2ADZ2ghgAJm5z3CAADCNAJCO4MwgooLKIIEP4ADEMcohIQAEDmEAzyGhBQbx4HjhwOHB4cLPcaAA +yB8WEQCGz3KAAJiYAKISEQCGAaITEQCGAqIUEQCGA6IVEQCGBKIkEQCGBqLPcJ8AuP9WoIog/w8S +GRiAExkYgBQZGIAVGRiAJBkYgMHCwcHBwCAgQIcMyM9yoADIHw4aGIANyA8aGIAOyBAaGIAPEgE2 +AcgkeBEaGIAQyC0aGIDgfuHE/BzIvvwcSL7hwOHB4cLhw/wcCLH8HEix/ByIsfwcyLH8HAiy/BxI +svwciLL8HMiy/BwIv2okgBDhxGokwBDhxPHAz3CgANAbFIDPcYAAaAQEIICPz1EE4QChCvIvKQEA +z3CAAOhA8CBAAEB42v/RwMHEayTAEMHEaySAEMHEn3QEFAs0BBQKNAQUCTQEFAg0BBQHNAQUBjQE +FAU0BBQENMHDwcLBwcHAwcRFLH4QCiZAfsHEaySAFMHEICBAhwzIh7gMGhgwDcibuA0aGDAOyA4a +GDAPyIe4DxoYMBDIEBoYMOB+4HjxwAzIlbgMGhgwDcibuA0aGDAPyIq4jbiQuA8aGDDPcIAAOEIY +iIHgC/QPyM9xAABUGKy4DxoYMOoPYAAP2GfYXgsgAIohxwnRwOB+8cDPcIAAcMgAgIYg/oEO9A/I +BSCADwAAANQPGhgwAtgyCyAAiiHHC57/iiBVBSYLIACKIQcO5PHPcQMAQA3PcKAAqCAtoM9xgACo +BECBAWoAoc9woAA4LgWABCCAD8AAAADXcMAAAAAK8kjYz3GfALj/GqFboWnYGLgZoc9wgABoCCWA +I4EggcdxAACIE10EQAngeM9wgABoCO0DQAngePHAbgxAAYDgz3eAAGgEiHUF8oHgBfQB2ALwANgL +r4DhBfKB4QX0AdgC8ADYCq+A4gXygeIF9AHYAvAA2AyvANjPdqAAyB8YHhiQC4+A4IohEAAP8giP +gOAL8s9wAwBADUUeGBAwpgLYGB4YkALwMaYKj4DgGfIJj4DgF/LPcAIAzjggHhiQz3CAACgAIR4Y +kM9wgABkBCIeGJAYFgCWRSAAAxgeGJAMj4DgCPIYFgCWhSABBBgeGJCB4wf0GBYAloi4GB4YkM9w +gAAwjQCQjuDMIKKCBvQYFgCWgLgYHhiQgOUZ8gDYlLjPdYAAnAQApXHYBrhaDSAA/Nkghc9wAABM +HE4NIACfuRgWAJaFuBgeGJDFA0AB4HjxwHvYlgkgAPDZz3afALj/HYYKIcAnQN+fv/2mz3Gg/gQA +NqZTJsA0BSCAD7D+AAAWps91oADIHxkVEpbPcAAARBwqC2AACiDAL3pwGRUAllEgAIIh8j2G/abP +coAAAAAEggHg07gEogUggA/Q/gAAFqZYHoAXIRUAliIVAJbPcoAA0AQAghamAYIWpgjYGR0YkDam +PaYH2NIKYAAKuFMgQQcH2JIMIAAKuM9woADUCxiAQiAACEggAADPd4AAfD/PcYAAnAQggeAfABAL +IcCEyiUiE8ogYgAy9EwigKAP9FEjgKUJ8oDgB/RBK00lwL0c5QHYJPAE3SHwjCIEoBzyTCIAohTy +CvZMIkCgDvJMIgChFPQT3RPwTCIApAryjCIBoAz0Ft0L8A3dCfAU3QfwFd0F8BfdA/AP3QDYgeAG +9FgewBSuCgACcYepcApxKnIKJIAEZQHv/wolwAQlBc//8cB2CAAAddgyCCAAiiHLAloJgABKCIAC +F/82DUAACiHAD+tyBtiKIwsHSiQAAC0B7/8KJQAB4HjxwL4JQAHPc4AAFAlDgwDfz3WgACwgsIXS +atR+fmalpgSmAeKMIhCAJqZDo4X3AoPjowHgAqPxAUAB4HgA2M9xoADIHxihGaEB2A6h4H7gePHA +RglAAQh3unHacvpzCiIAIQojQCEKIYAhz3AAAMgbYglgAAogwCEbcM9wAADMG1IJQAA7cM9wAAAE +HEYJQADPdaAAyB+acAHYE6URFQCWBdjPdoAAgAjhpgCmDsAgHgAUCaYVhRweQBQKphiFGB7AFAum +GYUUHoAUDKagFQAQEB7AFQ2mpBUAEAwegBUOpqgVABAIHkAVD6bPcAEA3QkQpuIIYAAo2BGm2ghg +AADYEqZTJ8B1E6YCyFQeABcWphIVAJZQHgAXF6YTFQCWz3KAAIAIGKYUFQCWUyQBIxmmFRUAlhC5 +GqYkFQCWSiRAeRumFhUAlhymz3CAAHw/EYAdps9wgACACHgYgArPcIAAgAh8GMAKz3CAAPwIBBgA +C4QaQAvPcKAAyBwIgIgaAADPcIAA5AQAgIwaAAAvIAcGCLgFeS8gRwYleJAaAAAA2KggQAPwIgMA +z3GfALj/dqHgeOB44HjgeAHgHQBAAeB4iiRBfQDZqCAABM9wgAAkOfAgQAAAgOB44HjgeOB44Hjg +eAHh4H7geOB+4HjgfuB44H7geOB+4HjgfuB44H7geOB+4HjgfuB44H7geOB+4HjgfuB44H8B2PHA +z3GAAHw/EaHgeOB44HjgeOB44HjgeOB44HjgeOB44HjgeOB44HjgeOB44HjgeOB44HjgeOB44HjR +wOB+4HjhxeHGQCkNAiV9QC0DFIjipXsIdZD3UyV+kAbyAR1SEGG6+/FBKo4AwbpCJk6QBB3QEP31 +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 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 21:54:40 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ABB2E1065695; Sun, 22 Aug 2010 21:54:40 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 99AB08FC14; Sun, 22 Aug 2010 21:54:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MLseNN017853; Sun, 22 Aug 2010 21:54:40 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MLseJA017844; Sun, 22 Aug 2010 21:54:40 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008222154.o7MLseJA017844@svn.freebsd.org> From: Warner Losh Date: Sun, 22 Aug 2010 21:54:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211660 - in user/imp/tbemd/sys/contrib/dev/acpica: . common X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 21:54:40 -0000 Author: imp Date: Sun Aug 22 21:54:40 2010 New Revision: 211660 URL: http://svn.freebsd.org/changeset/base/211660 Log: Merge to head @211636 -- with hand tweaks [given up] hoping for the best Modified: user/imp/tbemd/sys/contrib/dev/acpica/acpica_prep.sh user/imp/tbemd/sys/contrib/dev/acpica/changes.txt user/imp/tbemd/sys/contrib/dev/acpica/common/adisasm.c user/imp/tbemd/sys/contrib/dev/acpica/common/adwalk.c user/imp/tbemd/sys/contrib/dev/acpica/common/dmextern.c user/imp/tbemd/sys/contrib/dev/acpica/common/dmrestag.c user/imp/tbemd/sys/contrib/dev/acpica/common/dmtable.c user/imp/tbemd/sys/contrib/dev/acpica/common/dmtbdump.c user/imp/tbemd/sys/contrib/dev/acpica/common/dmtbinfo.c Modified: user/imp/tbemd/sys/contrib/dev/acpica/acpica_prep.sh ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/acpica_prep.sh Sun Aug 22 21:54:08 2010 (r211659) +++ user/imp/tbemd/sys/contrib/dev/acpica/acpica_prep.sh Sun Aug 22 21:54:40 2010 (r211660) @@ -33,7 +33,8 @@ src_headers="acapps.h accommon.h acconfi acresrc.h acrestyp.h acstruct.h actables.h actbl.h actbl1.h \ actbl2.h actypes.h acutils.h amlcode.h amlresrc.h \ platform/acenv.h platform/acfreebsd.h platform/acgcc.h" -comp_headers="aslcompiler.h asldefine.h aslglobal.h asltypes.h" +comp_headers="aslcompiler.h asldefine.h aslglobal.h asltypes.h \ + dtcompiler.h dttemplate.h" platform_headers="acfreebsd.h acgcc.h" # pre-clean @@ -49,7 +50,7 @@ tar -x -z -f ${src} -C ${wrk} # strip files echo strip for i in ${stripdirs}; do - find ${wrk} -name ${i} -type d | xargs rm -r + find ${wrk} -name ${i} -type d -print | xargs rm -r done for i in ${stripfiles}; do find ${wrk} -name ${i} -type f -delete @@ -58,22 +59,22 @@ done # copy files echo copying full dirs for i in ${fulldirs}; do - find ${wrk} -name ${i} -type d | xargs -J % mv % ${dst} + find ${wrk} -name ${i} -type d -print | xargs -J % mv % ${dst} done echo copying remaining files -find ${wrk} -type f | xargs -J % mv % ${dst} +find ${wrk} -type f -print | xargs -J % mv % ${dst} # canonify include paths for H in ${src_headers}; do - find ${dst} -name "*.[chy]" -type f | \ + find ${dst} -name "*.[chy]" -type f -print | \ xargs sed -i "" -e "s|[\"<]$H[\">]|\|g" done for H in ${comp_headers}; do - find ${dst}/compiler -name "*.[chly]" -type f | \ + find ${dst}/common ${dst}/compiler -name "*.[chly]" -type f | \ xargs sed -i "" -e "s|[\"<]$H[\">]|\|g" done for H in ${platform_headers}; do - find ${dst}/include/platform -name "*.h" -type f | \ + find ${dst}/include/platform -name "*.h" -type f -print | \ xargs sed -i "" -e "s|[\"<]$H[\">]|\|g" done Modified: user/imp/tbemd/sys/contrib/dev/acpica/changes.txt ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/changes.txt Sun Aug 22 21:54:08 2010 (r211659) +++ user/imp/tbemd/sys/contrib/dev/acpica/changes.txt Sun Aug 22 21:54:40 2010 (r211660) @@ -1,4 +1,226 @@ ---------------------------------------- +06 August 2010. Summary of changes for version 20100806: + +1) ACPI CA Core Subsystem: + +Designed and implemented a new host interface to the _OSI support code. This +will allow the host to dynamically add or remove multiple _OSI strings, as +well as install an optional handler that is called for each _OSI invocation. +Also added a new AML debugger command, 'osi' to display and modify the global +_OSI string table, and test support in the AcpiExec utility. See the ACPICA +reference manual for full details. Lin Ming, Bob Moore. ACPICA BZ 836. +New Functions: + AcpiInstallInterface - Add an _OSI string. + AcpiRemoveInterface - Delete an _OSI string. + AcpiInstallInterfaceHandler - Install optional _OSI handler. +Obsolete Functions: + AcpiOsValidateInterface - no longer used. +New Files: + source/components/utilities/utosi.c + +Re-introduced the support to enable multi-byte transfers for Embedded +Controller (EC) operation regions. A reported problem was found to be a bug +in the host OS, not in the multi-byte support. Previously, the maximum data +size passed to the EC operation region handler was a single byte. There are +often EC Fields larger than one byte that need to be transferred, and it is +useful for the EC driver to lock these as a single transaction. This change +enables single transfers larger than 8 bits. This effectively changes the +access to the EC space from ByteAcc to AnyAcc, and will probably require +changes to the host OS Embedded Controller driver to enable 16/32/64/256-bit +transfers in addition to 8-bit transfers. Alexey Starikovskiy, Lin Ming. + +Fixed a problem with the prototype for AcpiOsReadPciConfiguration. The +prototype in acpiosxf.h had the output value pointer as a (void *). +It should be a (UINT64 *). This may affect some host OSL code. + +Fixed a couple problems with the recently modified Linux makefiles for iASL +and AcpiExec. These new makefiles place the generated object files in the +local directory so that there can be no collisions between the files that are +shared between them that are compiled with different options. + +Example Code and Data Size: These are the sizes for the OS-independent +acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The +debug version of the code includes the debug output trace mechanism and has a +much larger code and data size. + + Previous Release: + Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total + Debug Version: 164.0K Code, 51.5K Data, 215.5K Total + Current Release: + Non-Debug Version: 89.1K Code, 19.0K Data, 108.1K Total + Debug Version: 165.1K Code, 51.9K Data, 217.0K Total + +2) iASL Compiler/Disassembler and Tools: + +iASL/Disassembler: Added a new option (-da, "disassemble all") to load the +namespace from and disassemble an entire group of AML files. Useful for +loading all of the AML tables for a given machine (DSDT, SSDT1...SSDTn) and +disassembling with one simple command. ACPICA BZ 865. Lin Ming. + +iASL: Allow multiple invocations of -e option. This change allows multiple +uses of -e on the command line: "-e ssdt1.dat -e ssdt2.dat". ACPICA BZ 834. +Lin Ming. + +---------------------------------------- +02 July 2010. Summary of changes for version 20100702: + +1) ACPI CA Core Subsystem: + +Implemented several updates to the recently added GPE reference count +support. The model for "wake" GPEs is changing to give the host OS complete +control of these GPEs. Eventually, the ACPICA core will not execute any _PRW +methods, since the host already must execute them. Also, additional changes +were made to help ensure that the reference counts are kept in proper +synchronization with reality. Rafael J. Wysocki. + +1) Ensure that GPEs are not enabled twice during initialization. +2) Ensure that GPE enable masks stay in sync with the reference count. +3) Do not inadvertently enable GPEs when writing GPE registers. +4) Remove the internal wake reference counter and add new AcpiGpeWakeup +interface. This interface will set or clear individual GPEs for wakeup. +5) Remove GpeType argument from AcpiEnable and AcpiDisable. These interfaces +are now used for "runtime" GPEs only. + +Changed the behavior of the GPE install/remove handler interfaces. The GPE is +no longer disabled during this process, as it was found to cause problems on +some machines. Rafael J. Wysocki. + +Reverted a change introduced in version 20100528 to enable Embedded +Controller multi-byte transfers. This change was found to cause problems with +Index Fields and possibly Bank Fields. It will be reintroduced when these +problems have been resolved. + +Fixed a problem with references to Alias objects within Package Objects. A +reference to an Alias within the definition of a Package was not always +resolved properly. Aliases to objects like Processors, Thermal zones, etc. +were resolved to the actual object instead of a reference to the object as it +should be. Package objects are only allowed to contain integer, string, +buffer, package, and reference objects. Redhat bugzilla 608648. + +Example Code and Data Size: These are the sizes for the OS-independent +acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The +debug version of the code includes the debug output trace mechanism and has a +much larger code and data size. + + Previous Release: + Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total + Debug Version: 164.1K Code, 51.5K Data, 215.6K Total + Current Release: + Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total + Debug Version: 164.0K Code, 51.5K Data, 215.5K Total + +2) iASL Compiler/Disassembler and Tools: + +iASL: Implemented a new compiler subsystem to allow definition and +compilation of the non-AML ACPI tables such as FADT, MADT, SRAT, etc. These +are called "ACPI Data Tables", and the new compiler is the "Data Table +Compiler". This compiler is intended to simplify the existing error-prone +process of creating these tables for the BIOS, as well as allowing the +disassembly, modification, recompilation, and override of existing ACPI data +tables. See the iASL User Guide for detailed information. + +iASL: Implemented a new Template Generator option in support of the new Data +Table Compiler. This option will create examples of all known ACPI tables +that can be used as the basis for table development. See the iASL +documentation and the -T option. + +Disassembler and headers: Added support for the WDDT ACPI table (Watchdog +Descriptor Table). + +Updated the Linux makefiles for iASL and AcpiExec to place the generated +object files in the local directory so that there can be no collisions +between the shared files between them that are generated with different +options. + +Added support for Mac OS X in the Unix OSL used for iASL and AcpiExec. Use +the #define __APPLE__ to enable this support. + +---------------------------------------- +28 May 2010. Summary of changes for version 20100528: + +Note: The ACPI 4.0a specification was released on April 5, 2010 and is +available at www.acpi.info. This is primarily an errata release. + +1) ACPI CA Core Subsystem: + +Undefined ACPI tables: We are looking for the definitions for the following +ACPI tables that have been seen in the field: ATKG, IEIT, GSCI. + +Implemented support to enable multi-byte transfers for Embedded Controller +(EC) operation regions. Previously, the maximum data size passed to the EC +operation region handler was a single byte. There are often EC Fields larger +than one byte that need to be transferred, and it is useful for the EC driver +to lock these as a single transaction. This change enables single transfers +larger than 8 bits. This effectively changes the access to the EC space from +ByteAcc to AnyAcc, and will probably require changes to the host OS Embedded +Controller driver to enable 16/32/64/256-bit transfers in addition to 8-bit +transfers. Alexey Starikovskiy, Lin Ming + +Implemented a performance enhancement for namespace search and access. This +change enhances the performance of namespace searches and walks by adding a +backpointer to the parent in each namespace node. On large namespaces, this +change can improve overall ACPI performance by up to 9X. Adding a pointer to +each namespace node increases the overall size of the internal namespace by +about 5%, since each namespace entry usually consists of both a namespace +node and an ACPI operand object. However, this is the first growth of the +namespace in ten years. ACPICA bugzilla 817. Alexey Starikovskiy. + +Implemented a performance optimization that reduces the number of namespace +walks. On control method exit, only walk the namespace if the method is known +to have created namespace objects outside of its local scope. Previously, the +entire namespace was traversed on each control method exit. This change can +improve overall ACPI performance by up to 3X. Alexey Starikovskiy, Bob Moore. + +Added support to truncate I/O addresses to 16 bits for Windows compatibility. +Some ASL code has been seen in the field that inadvertently has bits set +above bit 15. This feature is optional and is enabled if the BIOS requests +any Windows OSI strings. It can also be enabled by the host OS. Matthew +Garrett, Bob Moore. + +Added support to limit the maximum time for the ASL Sleep() operator. To +prevent accidental deep sleeps, limit the maximum time that Sleep() will +actually sleep. Configurable, the default maximum is two seconds. ACPICA +bugzilla 854. + +Added run-time validation support for the _WDG and_WED Microsoft predefined +methods. These objects are defined by "Windows Instrumentation", and are not +part of the ACPI spec. ACPICA BZ 860. + +Expanded all statistic counters used during namespace and device +initialization from 16 to 32 bits in order to support very large namespaces. + +Replaced all instances of %d in printf format specifiers with %u since nearly +all integers in ACPICA are unsigned. + +Fixed the exception namestring for AE_WAKE_ONLY_GPE. Was incorrectly returned +as AE_NO_HANDLER. + +Example Code and Data Size: These are the sizes for the OS-independent +acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The +debug version of the code includes the debug output trace mechanism and has a +much larger code and data size. + + Previous Release: + Non-Debug Version: 88.4K Code, 18.8K Data, 107.2K Total + Debug Version: 164.2K Code, 51.5K Data, 215.7K Total + Current Release: + Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total + Debug Version: 164.1K Code, 51.5K Data, 215.6K Total + +2) iASL Compiler/Disassembler and Tools: + +iASL: Added compiler support for the _WDG and_WED Microsoft predefined +methods. These objects are defined by "Windows Instrumentation", and are not +part of the ACPI spec. ACPICA BZ 860. + +AcpiExec: added option to disable the memory tracking mechanism. The -dt +option will disable the tracking mechanism, which improves performance +considerably. + +AcpiExec: Restructured the command line options into -d (disable) and -e +(enable) options. + +---------------------------------------- 28 April 2010. Summary of changes for version 20100428: 1) ACPI CA Core Subsystem: Modified: user/imp/tbemd/sys/contrib/dev/acpica/common/adisasm.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/common/adisasm.c Sun Aug 22 21:54:08 2010 (r211659) +++ user/imp/tbemd/sys/contrib/dev/acpica/common/adisasm.c Sun Aug 22 21:54:40 2010 (r211660) @@ -134,7 +134,6 @@ extern int AslCompilerdebug; -extern char *Gbl_ExternalFilename; ACPI_STATUS @@ -153,10 +152,6 @@ AdCreateTableHeader ( char *Filename, ACPI_TABLE_HEADER *Table); -void -AdDisassemblerHeader ( - char *Filename); - ACPI_STATUS AdDeferredParse ( ACPI_PARSE_OBJECT *Op, @@ -317,6 +312,7 @@ AdAmlDisassemble ( ACPI_STATUS Status; char *DisasmFilename = NULL; char *ExternalFilename; + ACPI_EXTERNAL_FILE *ExternalFileList = AcpiGbl_ExternalFileList; FILE *File = NULL; ACPI_TABLE_HEADER *Table = NULL; ACPI_TABLE_HEADER *ExternalTable; @@ -339,46 +335,54 @@ AdAmlDisassemble ( * External filenames separated by commas * Example: iasl -e file1,file2,file3 -d xxx.aml */ - if (Gbl_ExternalFilename) + while (ExternalFileList) { - ExternalFilename = strtok (Gbl_ExternalFilename, ","); + ExternalFilename = ExternalFileList->Path; + if (!ACPI_STRCMP (ExternalFilename, Filename)) + { + /* Next external file */ + + ExternalFileList = ExternalFileList->Next; + + continue; + } + + Status = AcpiDbGetTableFromFile (ExternalFilename, &ExternalTable); + if (ACPI_FAILURE (Status)) + { + return Status; + } + + /* Load external table for symbol resolution */ - while (ExternalFilename) + if (ExternalTable) { - Status = AcpiDbGetTableFromFile (ExternalFilename, &ExternalTable); + Status = AdParseTable (ExternalTable, &OwnerId, TRUE, TRUE); if (ACPI_FAILURE (Status)) { + AcpiOsPrintf ("Could not parse external ACPI tables, %s\n", + AcpiFormatException (Status)); return Status; } - /* Load external table for symbol resolution */ - - if (ExternalTable) - { - Status = AdParseTable (ExternalTable, &OwnerId, TRUE, TRUE); - if (ACPI_FAILURE (Status)) - { - AcpiOsPrintf ("Could not parse external ACPI tables, %s\n", - AcpiFormatException (Status)); - return Status; - } - - /* - * Load namespace from names created within control methods - * Set owner id of nodes in external table - */ - AcpiDmFinishNamespaceLoad (AcpiGbl_ParseOpRoot, - AcpiGbl_RootNode, OwnerId); - AcpiPsDeleteParseTree (AcpiGbl_ParseOpRoot); - } + /* + * Load namespace from names created within control methods + * Set owner id of nodes in external table + */ + AcpiDmFinishNamespaceLoad (AcpiGbl_ParseOpRoot, + AcpiGbl_RootNode, OwnerId); + AcpiPsDeleteParseTree (AcpiGbl_ParseOpRoot); + } - /* Next external file name */ + /* Next external file */ - ExternalFilename = strtok (NULL, ","); - } + ExternalFileList = ExternalFileList->Next; + } - /* Clear external list generated by Scope in external tables */ + /* Clear external list generated by Scope in external tables */ + if (AcpiGbl_ExternalFileList) + { AcpiDmClearExternalList (); } } @@ -502,7 +506,7 @@ AdAmlDisassemble ( if (AcpiDmGetExternalMethodCount ()) { fprintf (stderr, - "\nFound %d external control methods, reparsing with new information\n", + "\nFound %u external control methods, reparsing with new information\n", AcpiDmGetExternalMethodCount ()); /* @@ -515,10 +519,11 @@ AdAmlDisassemble ( AcpiGbl_RootNodeStruct.Name.Integer = ACPI_ROOT_NAME; AcpiGbl_RootNodeStruct.DescriptorType = ACPI_DESC_TYPE_NAMED; AcpiGbl_RootNodeStruct.Type = ACPI_TYPE_DEVICE; + AcpiGbl_RootNodeStruct.Parent = NULL; AcpiGbl_RootNodeStruct.Child = NULL; AcpiGbl_RootNodeStruct.Peer = NULL; AcpiGbl_RootNodeStruct.Object = NULL; - AcpiGbl_RootNodeStruct.Flags = ANOBJ_END_OF_PEER_LIST; + AcpiGbl_RootNodeStruct.Flags = 0; Status = AcpiNsRootInitialize (); AcpiDmAddExternalsToNamespace (); @@ -643,7 +648,7 @@ AdCreateTableHeader ( */ AdDisassemblerHeader (Filename); - AcpiOsPrintf (" *\n * Original Table Header:\n"); + AcpiOsPrintf (" * Original Table Header:\n"); AcpiOsPrintf (" * Signature \"%4.4s\"\n", Table->Signature); AcpiOsPrintf (" * Length 0x%8.8X (%u)\n", Table->Length, Table->Length); @@ -688,7 +693,7 @@ AdCreateTableHeader ( AcpiOsPrintf (" * OEM Revision 0x%8.8X (%u)\n", Table->OemRevision, Table->OemRevision); AcpiOsPrintf (" * Compiler ID \"%.4s\"\n", Table->AslCompilerId); AcpiOsPrintf (" * Compiler Version 0x%8.8X (%u)\n", Table->AslCompilerRevision, Table->AslCompilerRevision); - AcpiOsPrintf (" */\n"); + AcpiOsPrintf (" */\n\n"); /* Create AML output filename based on input filename */ @@ -706,7 +711,7 @@ AdCreateTableHeader ( /* Open the ASL definition block */ AcpiOsPrintf ( - "DefinitionBlock (\"%s\", \"%4.4s\", %hd, \"%.6s\", \"%.8s\", 0x%8.8X)\n", + "DefinitionBlock (\"%s\", \"%4.4s\", %hu, \"%.6s\", \"%.8s\", 0x%8.8X)\n", NewFilename, Table->Signature, Table->Revision, Table->OemId, Table->OemTableId, Table->OemRevision); @@ -1018,7 +1023,7 @@ AdGetLocalTables ( * is architecture-dependent. */ NumTables = (NewTable->Length - sizeof (ACPI_TABLE_HEADER)) / PointerSize; - AcpiOsPrintf ("There are %d tables defined in the %4.4s\n\n", + AcpiOsPrintf ("There are %u tables defined in the %4.4s\n\n", NumTables, NewTable->Signature); /* Get the FADT */ Modified: user/imp/tbemd/sys/contrib/dev/acpica/common/adwalk.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/common/adwalk.c Sun Aug 22 21:54:08 2010 (r211659) +++ user/imp/tbemd/sys/contrib/dev/acpica/common/adwalk.c Sun Aug 22 21:54:40 2010 (r211660) @@ -537,7 +537,7 @@ AcpiDmFindOrphanDescending ( } ArgCount = AcpiDmInspectPossibleArgs (3, 1, NextOp); - AcpiOsPrintf ("/* A-CHILDREN: %d Actual %d */\n", ArgCount, AcpiDmCountChildren (Op)); + AcpiOsPrintf ("/* A-CHILDREN: %u Actual %u */\n", ArgCount, AcpiDmCountChildren (Op)); if (ArgCount < 1) { Modified: user/imp/tbemd/sys/contrib/dev/acpica/common/dmextern.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/common/dmextern.c Sun Aug 22 21:54:08 2010 (r211659) +++ user/imp/tbemd/sys/contrib/dev/acpica/common/dmextern.c Sun Aug 22 21:54:40 2010 (r211660) @@ -252,7 +252,7 @@ AcpiDmNormalizeParentPrefix ( Node = Op->Common.Node; while (Node && (*Path == (UINT8) AML_PARENT_PREFIX)) { - Node = AcpiNsGetParentNode (Node); + Node = Node->Parent; Path++; } @@ -312,6 +312,95 @@ Cleanup: /******************************************************************************* * + * FUNCTION: AcpiDmAddToExternalFileList + * + * PARAMETERS: PathList - Single path or list separated by comma + * + * RETURN: None + * + * DESCRIPTION: Add external files to global list + * + ******************************************************************************/ + +ACPI_STATUS +AcpiDmAddToExternalFileList ( + char *PathList) +{ + ACPI_EXTERNAL_FILE *ExternalFile; + char *Path; + char *TmpPath; + + + if (!PathList) + { + return (AE_OK); + } + + Path = strtok (PathList, ","); + + while (Path) + { + TmpPath = ACPI_ALLOCATE_ZEROED (ACPI_STRLEN (Path) + 1); + if (!TmpPath) + { + return (AE_NO_MEMORY); + } + + ACPI_STRCPY (TmpPath, Path); + + ExternalFile = ACPI_ALLOCATE_ZEROED (sizeof (ACPI_EXTERNAL_FILE)); + if (!ExternalFile) + { + ACPI_FREE (TmpPath); + return (AE_NO_MEMORY); + } + + ExternalFile->Path = TmpPath; + + if (AcpiGbl_ExternalFileList) + { + ExternalFile->Next = AcpiGbl_ExternalFileList; + } + + AcpiGbl_ExternalFileList = ExternalFile; + Path = strtok (NULL, ","); + } + + return (AE_OK); +} + + +/******************************************************************************* + * + * FUNCTION: AcpiDmClearExternalFileList + * + * PARAMETERS: None + * + * RETURN: None + * + * DESCRIPTION: Clear the external file list + * + ******************************************************************************/ + +void +AcpiDmClearExternalFileList ( + void) +{ + ACPI_EXTERNAL_FILE *NextExternal; + + + while (AcpiGbl_ExternalFileList) + { + NextExternal = AcpiGbl_ExternalFileList->Next; + ACPI_FREE (AcpiGbl_ExternalFileList->Path); + ACPI_FREE (AcpiGbl_ExternalFileList); + AcpiGbl_ExternalFileList = NextExternal; + } +} + + +/******************************************************************************* + * * FUNCTION: AcpiDmAddToExternalList * * PARAMETERS: Op - Current parser Op @@ -629,7 +718,7 @@ AcpiDmEmitExternals ( if (AcpiGbl_ExternalList->Type == ACPI_TYPE_METHOD) { - AcpiOsPrintf (") // %d Arguments\n", + AcpiOsPrintf (") // %u Arguments\n", AcpiGbl_ExternalList->Value); } else Modified: user/imp/tbemd/sys/contrib/dev/acpica/common/dmrestag.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/common/dmrestag.c Sun Aug 22 21:54:08 2010 (r211659) +++ user/imp/tbemd/sys/contrib/dev/acpica/common/dmrestag.c Sun Aug 22 21:54:40 2010 (r211660) @@ -549,13 +549,6 @@ AcpiDmGetResourceNode ( return (Node); } - /* List is circular, this flag marks the end */ - - if (Node->Flags & ANOBJ_END_OF_PEER_LIST) - { - return (NULL); - } - Node = Node->Peer; } Modified: user/imp/tbemd/sys/contrib/dev/acpica/common/dmtable.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/common/dmtable.c Sun Aug 22 21:54:08 2010 (r211659) +++ user/imp/tbemd/sys/contrib/dev/acpica/common/dmtable.c Sun Aug 22 21:54:40 2010 (r211660) @@ -117,6 +117,8 @@ #include #include #include +#include +#include /* This module used for application-level code only */ @@ -125,20 +127,12 @@ /* Local Prototypes */ -static ACPI_DMTABLE_DATA * -AcpiDmGetTableData ( - char *Signature); - static void AcpiDmCheckAscii ( UINT8 *Target, char *RepairedName, UINT32 Count); -UINT8 -AcpiTbGenerateChecksum ( - ACPI_TABLE_HEADER *Table); - /* These tables map a subtable type to a description string */ @@ -161,6 +155,74 @@ static const char *AcpiDmDmarS "Unknown SubTable Type" /* Reserved */ }; +static const char *AcpiDmEinjActions[] = +{ + "Begin Operation", + "Get Trigger Table", + "Set Error Type", + "Get Error Type", + "End Operation", + "Execute Operation", + "Check Busy Status", + "Get Command Status", + "Unknown Action" +}; + +static const char *AcpiDmEinjInstructions[] = +{ + "Read Register", + "Read Register Value", + "Write Register", + "Write Register Value", + "Noop", + "Unknown Instruction" +}; + +static const char *AcpiDmErstActions[] = +{ + "Begin Write Operation", + "Begin Read Operation", + "Begin Clear Operation", + "End Operation", + "Set Record Offset", + "Execute Operation", + "Check Busy Status", + "Get Command Status", + "Get Record Identifier", + "Set Record Identifier", + "Get Record Count", + "Begin Dummy Write", + "Unused/Unknown Action", + "Get Error Address Range", + "Get Error Address Length", + "Get Error Attributes", + "Unknown Action" +}; + +static const char *AcpiDmErstInstructions[] = +{ + "Read Register", + "Read Register Value", + "Write Register", + "Write Register Value", + "Noop", + "Load Var1", + "Load Var2", + "Store Var1", + "Add", + "Subtract", + "Add Value", + "Subtract Value", + "Stall", + "Stall While True", + "Skip Next If True", + "GoTo", + "Set Source Address", + "Set Destination Address", + "Move Data", + "Unknown Instruction" +}; + static const char *AcpiDmHestSubnames[] = { "IA-32 Machine Check Exception", @@ -237,56 +299,59 @@ static const char *AcpiDmFadtP * * ACPI Table Data, indexed by signature. * - * Each entry contains: Signature, Table Info, Handler, Description + * Each entry contains: Signature, Table Info, Handler, DtHandler, + * Template, Description * - * Simple tables have only a TableInfo structure, complex tables have a handler. - * This table must be NULL terminated. RSDP and FACS are special-cased - * elsewhere. + * Simple tables have only a TableInfo structure, complex tables have a + * handler. This table must be NULL terminated. RSDP and FACS are + * special-cased elsewhere. * ******************************************************************************/ -static ACPI_DMTABLE_DATA AcpiDmTableData[] = +ACPI_DMTABLE_DATA AcpiDmTableData[] = { - {ACPI_SIG_ASF, NULL, AcpiDmDumpAsf, "Alert Standard Format table"}, - {ACPI_SIG_BOOT, AcpiDmTableInfoBoot, NULL, "Simple Boot Flag Table"}, - {ACPI_SIG_BERT, AcpiDmTableInfoBert, NULL, "Boot Error Record Table"}, - {ACPI_SIG_CPEP, NULL, AcpiDmDumpCpep, "Corrected Platform Error Polling table"}, - {ACPI_SIG_DBGP, AcpiDmTableInfoDbgp, NULL, "Debug Port table"}, - {ACPI_SIG_DMAR, NULL, AcpiDmDumpDmar, "DMA Remapping table"}, - {ACPI_SIG_ECDT, AcpiDmTableInfoEcdt, NULL, "Embedded Controller Boot Resources Table"}, - {ACPI_SIG_EINJ, NULL, AcpiDmDumpEinj, "Error Injection table"}, - {ACPI_SIG_ERST, NULL, AcpiDmDumpErst, "Error Record Serialization Table"}, - {ACPI_SIG_FADT, NULL, AcpiDmDumpFadt, "Fixed ACPI Description Table"}, - {ACPI_SIG_HEST, NULL, AcpiDmDumpHest, "Hardware Error Source Table"}, - {ACPI_SIG_HPET, AcpiDmTableInfoHpet, NULL, "High Precision Event Timer table"}, - {ACPI_SIG_IVRS, NULL, AcpiDmDumpIvrs, "I/O Virtualization Reporting Structure"}, - {ACPI_SIG_MADT, NULL, AcpiDmDumpMadt, "Multiple APIC Description Table"}, - {ACPI_SIG_MCFG, NULL, AcpiDmDumpMcfg, "Memory Mapped Configuration table"}, - {ACPI_SIG_MCHI, AcpiDmTableInfoMchi, NULL, "Management Controller Host Interface table"}, - {ACPI_SIG_MSCT, NULL, AcpiDmDumpMsct, "Maximum System Characteristics Table"}, - {ACPI_SIG_RSDT, NULL, AcpiDmDumpRsdt, "Root System Description Table"}, - {ACPI_SIG_SBST, AcpiDmTableInfoSbst, NULL, "Smart Battery Specification Table"}, - {ACPI_SIG_SLIC, AcpiDmTableInfoSlic, NULL, "Software Licensing Description Table"}, - {ACPI_SIG_SLIT, NULL, AcpiDmDumpSlit, "System Locality Information Table"}, - {ACPI_SIG_SPCR, AcpiDmTableInfoSpcr, NULL, "Serial Port Console Redirection table"}, - {ACPI_SIG_SPMI, AcpiDmTableInfoSpmi, NULL, "Server Platform Management Interface table"}, - {ACPI_SIG_SRAT, NULL, AcpiDmDumpSrat, "System Resource Affinity Table"}, - {ACPI_SIG_TCPA, AcpiDmTableInfoTcpa, NULL, "Trusted Computing Platform Alliance table"}, - {ACPI_SIG_UEFI, AcpiDmTableInfoUefi, NULL, "UEFI Boot Optimization Table"}, - {ACPI_SIG_WAET, AcpiDmTableInfoWaet, NULL, "Windows ACPI Emulated Devices Table"}, - {ACPI_SIG_WDAT, NULL, AcpiDmDumpWdat, "Watchdog Action Table"}, - {ACPI_SIG_WDRT, AcpiDmTableInfoWdrt, NULL, "Watchdog Resource Table"}, - {ACPI_SIG_XSDT, NULL, AcpiDmDumpXsdt, "Extended System Description Table"}, - {NULL, NULL, NULL, NULL} + {ACPI_SIG_ASF, NULL, AcpiDmDumpAsf, DtCompileAsf, TemplateAsf, "Alert Standard Format table"}, + {ACPI_SIG_BOOT, AcpiDmTableInfoBoot, NULL, NULL, TemplateBoot, "Simple Boot Flag Table"}, + {ACPI_SIG_BERT, AcpiDmTableInfoBert, NULL, NULL, TemplateBert, "Boot Error Record Table"}, + {ACPI_SIG_CPEP, NULL, AcpiDmDumpCpep, DtCompileCpep, TemplateCpep, "Corrected Platform Error Polling table"}, + {ACPI_SIG_DBGP, AcpiDmTableInfoDbgp, NULL, NULL, TemplateDbgp, "Debug Port table"}, + {ACPI_SIG_DMAR, NULL, AcpiDmDumpDmar, DtCompileDmar, TemplateDmar, "DMA Remapping table"}, + {ACPI_SIG_ECDT, AcpiDmTableInfoEcdt, NULL, NULL, TemplateEcdt, "Embedded Controller Boot Resources Table"}, + {ACPI_SIG_EINJ, NULL, AcpiDmDumpEinj, DtCompileEinj, TemplateEinj, "Error Injection table"}, + {ACPI_SIG_ERST, NULL, AcpiDmDumpErst, DtCompileErst, TemplateErst, "Error Record Serialization Table"}, + {ACPI_SIG_FADT, NULL, AcpiDmDumpFadt, DtCompileFadt, TemplateFadt, "Fixed ACPI Description Table"}, + {ACPI_SIG_HEST, NULL, AcpiDmDumpHest, DtCompileHest, TemplateHest, "Hardware Error Source Table"}, + {ACPI_SIG_HPET, AcpiDmTableInfoHpet, NULL, NULL, TemplateHpet, "High Precision Event Timer table"}, + {ACPI_SIG_IVRS, NULL, AcpiDmDumpIvrs, DtCompileIvrs, TemplateIvrs, "I/O Virtualization Reporting Structure"}, + {ACPI_SIG_MADT, NULL, AcpiDmDumpMadt, DtCompileMadt, TemplateMadt, "Multiple APIC Description Table"}, + {ACPI_SIG_MCFG, NULL, AcpiDmDumpMcfg, DtCompileMcfg, TemplateMcfg, "Memory Mapped Configuration table"}, + {ACPI_SIG_MCHI, AcpiDmTableInfoMchi, NULL, NULL, TemplateMchi, "Management Controller Host Interface table"}, + {ACPI_SIG_MSCT, NULL, AcpiDmDumpMsct, DtCompileMsct, TemplateMsct, "Maximum System Characteristics Table"}, + {ACPI_SIG_RSDT, NULL, AcpiDmDumpRsdt, DtCompileRsdt, TemplateRsdt, "Root System Description Table"}, + {ACPI_SIG_SBST, AcpiDmTableInfoSbst, NULL, NULL, TemplateSbst, "Smart Battery Specification Table"}, + {ACPI_SIG_SLIC, AcpiDmTableInfoSlic, NULL, NULL, NULL, "Software Licensing Description Table"}, + {ACPI_SIG_SLIT, NULL, AcpiDmDumpSlit, DtCompileSlit, TemplateSlit, "System Locality Information Table"}, + {ACPI_SIG_SPCR, AcpiDmTableInfoSpcr, NULL, NULL, TemplateSpcr, "Serial Port Console Redirection table"}, + {ACPI_SIG_SPMI, AcpiDmTableInfoSpmi, NULL, NULL, TemplateSpmi, "Server Platform Management Interface table"}, + {ACPI_SIG_SRAT, NULL, AcpiDmDumpSrat, DtCompileSrat, TemplateSrat, "System Resource Affinity Table"}, + {ACPI_SIG_TCPA, AcpiDmTableInfoTcpa, NULL, NULL, TemplateTcpa, "Trusted Computing Platform Alliance table"}, + {ACPI_SIG_UEFI, AcpiDmTableInfoUefi, NULL, NULL, TemplateUefi, "UEFI Boot Optimization Table"}, + {ACPI_SIG_WAET, AcpiDmTableInfoWaet, NULL, NULL, TemplateWaet, "Windows ACPI Emulated Devices Table"}, + {ACPI_SIG_WDAT, NULL, AcpiDmDumpWdat, DtCompileWdat, TemplateWdat, "Watchdog Action Table"}, + {ACPI_SIG_WDDT, AcpiDmTableInfoWddt, NULL, NULL, TemplateWddt, "Watchdog Description Table"}, + {ACPI_SIG_WDRT, AcpiDmTableInfoWdrt, NULL, NULL, TemplateWdrt, "Watchdog Resource Table"}, + {ACPI_SIG_XSDT, NULL, AcpiDmDumpXsdt, DtCompileXsdt, TemplateXsdt, "Extended System Description Table"}, + {NULL, NULL, NULL, NULL, NULL, NULL} }; /******************************************************************************* * - * FUNCTION: AcpiTbGenerateChecksum + * FUNCTION: AcpiDmGenerateChecksum * - * PARAMETERS: Table - Pointer to a valid ACPI table (with a - * standard ACPI header) + * PARAMETERS: Table - Pointer to table to be checksummed + * Length - Length of the table + * OriginalChecksum - Value of the checksum field * * RETURN: 8 bit checksum of buffer * @@ -295,19 +360,21 @@ static ACPI_DMTABLE_DATA AcpiDmTableD ******************************************************************************/ UINT8 -AcpiTbGenerateChecksum ( - ACPI_TABLE_HEADER *Table) +AcpiDmGenerateChecksum ( + void *Table, + UINT32 Length, + UINT8 OriginalChecksum) { UINT8 Checksum; /* Sum the entire table as-is */ - Checksum = AcpiTbChecksum ((UINT8 *) Table, Table->Length); + Checksum = AcpiTbChecksum ((UINT8 *) Table, Length); /* Subtract off the existing checksum value in the table */ - Checksum = (UINT8) (Checksum - Table->Checksum); + Checksum = (UINT8) (Checksum - OriginalChecksum); /* Compute the final checksum */ @@ -328,7 +395,7 @@ AcpiTbGenerateChecksum ( * ******************************************************************************/ -static ACPI_DMTABLE_DATA * +ACPI_DMTABLE_DATA * AcpiDmGetTableData ( char *Signature) { @@ -432,10 +499,13 @@ AcpiDmDumpDataTable ( } } - /* Always dump the raw table data */ + if (!Gbl_DoTemplates || Gbl_VerboseTemplates) + { + /* Dump the raw table data */ - AcpiOsPrintf ("\nRaw Table Data\n\n"); - AcpiUtDumpBuffer2 (ACPI_CAST_PTR (UINT8, Table), Length, DB_BYTE_DISPLAY); + AcpiOsPrintf ("\nRaw Table Data\n\n"); + AcpiUtDumpBuffer2 (ACPI_CAST_PTR (UINT8, Table), Length, DB_BYTE_DISPLAY); + } } @@ -463,15 +533,31 @@ AcpiDmLineHeader ( char *Name) { - if (ByteLength) + if (Gbl_DoTemplates && !Gbl_VerboseTemplates) /* Terse template */ { - AcpiOsPrintf ("[%3.3Xh %4.4d% 3d] %28s : ", - Offset, Offset, ByteLength, Name); + if (ByteLength) + { + AcpiOsPrintf ("[%.3d] %34s : ", + ByteLength, Name); + } + else + { + AcpiOsPrintf ("%40s : ", + Name); + } } - else + else /* Normal disassembler or verbose template */ { - AcpiOsPrintf ("%43s : ", - Name); + if (ByteLength) + { + AcpiOsPrintf ("[%3.3Xh %4.4d% 3d] %28s : ", + Offset, Offset, ByteLength, Name); + } + else + { + AcpiOsPrintf ("%43s : ", + Name); + } } } @@ -483,15 +569,31 @@ AcpiDmLineHeader2 ( UINT32 Value) { - if (ByteLength) + if (Gbl_DoTemplates && !Gbl_VerboseTemplates) /* Terse template */ { - AcpiOsPrintf ("[%3.3Xh %4.4d% 3d] %24s % 3d : ", - Offset, Offset, ByteLength, Name, Value); + if (ByteLength) + { + AcpiOsPrintf ("[%.3d] %30s % 3d : ", + ByteLength, Name, Value); + } + else + { + AcpiOsPrintf ("%36s % 3d : ", + Name, Value); + } } - else + else /* Normal disassembler or verbose template */ { - AcpiOsPrintf ("[%3.3Xh %4.4d ] %24s % 3d : ", - Offset, Offset, Name, Value); + if (ByteLength) + { + AcpiOsPrintf ("[%3.3Xh %4.4d% 3d] %24s % 3d : ", + Offset, Offset, ByteLength, Name, Value); + } + else + { + AcpiOsPrintf ("[%3.3Xh %4.4d ] %24s % 3d : ", + Offset, Offset, Name, Value); + } } } @@ -511,6 +613,8 @@ AcpiDmLineHeader2 ( * * DESCRIPTION: Display ACPI table contents by walking the Info table. * + * Note: This function must remain in sync with DtGetFieldLength. + * ******************************************************************************/ ACPI_STATUS @@ -571,6 +675,10 @@ AcpiDmDumpTable ( case ACPI_DMT_ASF: case ACPI_DMT_HESTNTYP: case ACPI_DMT_FADTPM: + case ACPI_DMT_EINJACT: + case ACPI_DMT_EINJINST: + case ACPI_DMT_ERSTACT: + case ACPI_DMT_ERSTINST: ByteLength = 1; break; case ACPI_DMT_UINT16: @@ -705,7 +813,11 @@ AcpiDmDumpTable ( for (Temp8 = 0; Temp8 < 16; Temp8++) { - AcpiOsPrintf ("%2.2X,", Target[Temp8]); + AcpiOsPrintf ("%2.2X", Target[Temp8]); + if ((Temp8 + 1) < 16) + { + AcpiOsPrintf (","); + } } AcpiOsPrintf ("\n"); break; @@ -754,7 +866,9 @@ AcpiDmDumpTable ( /* Checksum, display and validate */ AcpiOsPrintf ("%2.2X", *Target); - Temp8 = AcpiTbGenerateChecksum (Table); + Temp8 = AcpiDmGenerateChecksum (Table, + ACPI_CAST_PTR (ACPI_TABLE_HEADER, Table)->Length, + ACPI_CAST_PTR (ACPI_TABLE_HEADER, Table)->Checksum); if (Temp8 != ACPI_CAST_PTR (ACPI_TABLE_HEADER, Table)->Checksum) { AcpiOsPrintf ( @@ -807,6 +921,58 @@ AcpiDmDumpTable ( AcpiOsPrintf ("%4.4X <%s>\n", ACPI_GET16 (Target), AcpiDmDmarSubnames[Temp16]); break; + case ACPI_DMT_EINJACT: + + /* EINJ Action types */ + + Temp8 = *Target; + if (Temp8 > ACPI_EINJ_ACTION_RESERVED) + { + Temp8 = ACPI_EINJ_ACTION_RESERVED; + } + + AcpiOsPrintf ("%2.2X (%s)\n", *Target, AcpiDmEinjActions[Temp8]); + break; + + case ACPI_DMT_EINJINST: + + /* EINJ Instruction types */ + + Temp8 = *Target; + if (Temp8 > ACPI_EINJ_INSTRUCTION_RESERVED) + { + Temp8 = ACPI_EINJ_INSTRUCTION_RESERVED; + } + + AcpiOsPrintf ("%2.2X (%s)\n", *Target, AcpiDmEinjInstructions[Temp8]); + break; + + case ACPI_DMT_ERSTACT: *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 21:55:13 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2E99210656AB; Sun, 22 Aug 2010 21:55:13 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1BEAA8FC1C; Sun, 22 Aug 2010 21:55:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MLtDic017948; Sun, 22 Aug 2010 21:55:13 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MLtCva017923; Sun, 22 Aug 2010 21:55:12 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008222155.o7MLtCva017923@svn.freebsd.org> From: Warner Losh Date: Sun, 22 Aug 2010 21:55:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211661 - in user/imp/tbemd/sys/contrib/dev/acpica: . debugger disassembler dispatcher events hardware include namespace utilities X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 21:55:13 -0000 Author: imp Date: Sun Aug 22 21:55:12 2010 New Revision: 211661 URL: http://svn.freebsd.org/changeset/base/211661 Log: Merge to head @211636 -- with hand tweaks [given up] hoping for the best Added: user/imp/tbemd/sys/contrib/dev/acpica/utilities/utosi.c - copied unchanged from r211636, head/sys/contrib/dev/acpica/utilities/utosi.c Modified: user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbcmds.c user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbdisply.c user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbexec.c user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbfileio.c user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbhistry.c user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbinput.c user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbutils.c user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmobject.c user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmopcode.c user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmresrc.c user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsinit.c user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsmethod.c user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsmthdat.c user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsobject.c user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsopcode.c user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsutils.c user/imp/tbemd/sys/contrib/dev/acpica/events/evgpe.c user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeblk.c user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeinit.c user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeutil.c user/imp/tbemd/sys/contrib/dev/acpica/events/evrgnini.c user/imp/tbemd/sys/contrib/dev/acpica/events/evxface.c user/imp/tbemd/sys/contrib/dev/acpica/events/evxfevnt.c user/imp/tbemd/sys/contrib/dev/acpica/hardware/hwgpe.c user/imp/tbemd/sys/contrib/dev/acpica/hardware/hwsleep.c user/imp/tbemd/sys/contrib/dev/acpica/hardware/hwvalid.c user/imp/tbemd/sys/contrib/dev/acpica/include/acconfig.h user/imp/tbemd/sys/contrib/dev/acpica/include/acdebug.h user/imp/tbemd/sys/contrib/dev/acpica/include/acdisasm.h user/imp/tbemd/sys/contrib/dev/acpica/include/acevents.h user/imp/tbemd/sys/contrib/dev/acpica/include/acexcep.h user/imp/tbemd/sys/contrib/dev/acpica/include/acglobal.h user/imp/tbemd/sys/contrib/dev/acpica/include/achware.h user/imp/tbemd/sys/contrib/dev/acpica/include/aclocal.h user/imp/tbemd/sys/contrib/dev/acpica/include/acnamesp.h user/imp/tbemd/sys/contrib/dev/acpica/include/acobject.h user/imp/tbemd/sys/contrib/dev/acpica/include/acoutput.h user/imp/tbemd/sys/contrib/dev/acpica/include/acpiosxf.h user/imp/tbemd/sys/contrib/dev/acpica/include/acpixf.h user/imp/tbemd/sys/contrib/dev/acpica/include/acpredef.h user/imp/tbemd/sys/contrib/dev/acpica/include/acstruct.h user/imp/tbemd/sys/contrib/dev/acpica/include/actbl.h user/imp/tbemd/sys/contrib/dev/acpica/include/actbl2.h user/imp/tbemd/sys/contrib/dev/acpica/include/actypes.h user/imp/tbemd/sys/contrib/dev/acpica/include/acutils.h user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsaccess.c user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsalloc.c user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsdump.c user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsinit.c user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsnames.c user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsparse.c user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsrepair.c user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsrepair2.c user/imp/tbemd/sys/contrib/dev/acpica/namespace/nssearch.c user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsutils.c user/imp/tbemd/sys/contrib/dev/acpica/namespace/nswalk.c user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsxfobj.c user/imp/tbemd/sys/contrib/dev/acpica/osunixxf.c user/imp/tbemd/sys/contrib/dev/acpica/utilities/uteval.c user/imp/tbemd/sys/contrib/dev/acpica/utilities/utglobal.c user/imp/tbemd/sys/contrib/dev/acpica/utilities/utinit.c user/imp/tbemd/sys/contrib/dev/acpica/utilities/utmisc.c user/imp/tbemd/sys/contrib/dev/acpica/utilities/utmutex.c user/imp/tbemd/sys/contrib/dev/acpica/utilities/uttrack.c user/imp/tbemd/sys/contrib/dev/acpica/utilities/utxface.c Modified: user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbcmds.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbcmds.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbcmds.c Sun Aug 22 21:55:12 2010 (r211661) @@ -477,7 +477,7 @@ AcpiDbCheckPredefinedNames ( (void) AcpiWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT, ACPI_UINT32_MAX, AcpiDbWalkForPredefinedNames, NULL, (void *) &Count, NULL); - AcpiOsPrintf ("Found %d predefined names in the namespace\n", Count); + AcpiOsPrintf ("Found %u predefined names in the namespace\n", Count); } @@ -619,7 +619,7 @@ AcpiDbBatchExecute ( (void) AcpiWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT, ACPI_UINT32_MAX, AcpiDbWalkForExecute, NULL, (void *) &Info, NULL); - AcpiOsPrintf ("Executed %d predefined names in the namespace\n", Info.Count); + AcpiOsPrintf ("Executed %u predefined names in the namespace\n", Info.Count); } @@ -678,7 +678,7 @@ AcpiDbDisplayTableInfo ( for (i = 0; i < AcpiGbl_RootTableList.CurrentTableCount; i++) { TableDesc = &AcpiGbl_RootTableList.Tables[i]; - AcpiOsPrintf ("%d ", i); + AcpiOsPrintf ("%u ", i); /* Make sure that the table is mapped */ @@ -1182,7 +1182,7 @@ AcpiDbSetMethodData ( if (Index > ACPI_METHOD_MAX_ARG) { - AcpiOsPrintf ("Arg%d - Invalid argument name\n", Index); + AcpiOsPrintf ("Arg%u - Invalid argument name\n", Index); goto Cleanup; } @@ -1195,7 +1195,7 @@ AcpiDbSetMethodData ( ObjDesc = WalkState->Arguments[Index].Object; - AcpiOsPrintf ("Arg%d: ", Index); + AcpiOsPrintf ("Arg%u: ", Index); AcpiDmDisplayInternalObject (ObjDesc, WalkState); break; @@ -1205,7 +1205,7 @@ AcpiDbSetMethodData ( if (Index > ACPI_METHOD_MAX_LOCAL) { - AcpiOsPrintf ("Local%d - Invalid local variable name\n", Index); + AcpiOsPrintf ("Local%u - Invalid local variable name\n", Index); goto Cleanup; } @@ -1218,7 +1218,7 @@ AcpiDbSetMethodData ( ObjDesc = WalkState->LocalVariables[Index].Object; - AcpiOsPrintf ("Local%d: ", Index); + AcpiOsPrintf ("Local%u: ", Index); AcpiDmDisplayInternalObject (ObjDesc, WalkState); break; @@ -1336,6 +1336,98 @@ AcpiDbDisplayObjects ( /******************************************************************************* * + * FUNCTION: AcpiDbDisplayInterfaces + * + * PARAMETERS: ActionArg - Null, "install", or "remove" + * InterfaceNameArg - Name for install/remove options + * + * RETURN: None + * + * DESCRIPTION: Display or modify the global _OSI interface list + * + ******************************************************************************/ + +void +AcpiDbDisplayInterfaces ( + char *ActionArg, + char *InterfaceNameArg) +{ + ACPI_INTERFACE_INFO *NextInterface; + char *SubString; + ACPI_STATUS Status; + + + /* If no arguments, just display current interface list */ + + if (!ActionArg) + { + (void) AcpiOsAcquireMutex (AcpiGbl_OsiMutex, + ACPI_WAIT_FOREVER); + + NextInterface = AcpiGbl_SupportedInterfaces; + + while (NextInterface) + { + if (!(NextInterface->Flags & ACPI_OSI_INVALID)) + { + AcpiOsPrintf ("%s\n", NextInterface->Name); + } + NextInterface = NextInterface->Next; + } + + AcpiOsReleaseMutex (AcpiGbl_OsiMutex); + return; + } + + /* If ActionArg exists, so must InterfaceNameArg */ + + if (!InterfaceNameArg) + { + AcpiOsPrintf ("Missing Interface Name argument\n"); + return; + } + + /* Uppercase the action for match below */ + + AcpiUtStrupr (ActionArg); + + /* Install - install an interface */ + + SubString = ACPI_STRSTR ("INSTALL", ActionArg); + if (SubString) + { + Status = AcpiInstallInterface (InterfaceNameArg); + if (ACPI_FAILURE (Status)) + { + AcpiOsPrintf ("%s, while installing \"%s\"\n", + AcpiFormatException (Status), InterfaceNameArg); + } + return; + } + + /* Remove - remove an interface */ + + SubString = ACPI_STRSTR ("REMOVE", ActionArg); + if (SubString) + { + Status = AcpiRemoveInterface (InterfaceNameArg); + if (ACPI_FAILURE (Status)) + { + AcpiOsPrintf ("%s, while removing \"%s\"\n", + AcpiFormatException (Status), InterfaceNameArg); + } + return; + } + + /* Invalid ActionArg */ + + AcpiOsPrintf ("Invalid action argument: %s\n", ActionArg); + return; +} + + +/******************************************************************************* + * * FUNCTION: AcpiDbWalkAndMatchName * * PARAMETERS: Callback from WalkNamespace @@ -1942,7 +2034,7 @@ AcpiDbCheckIntegrity ( (void) AcpiWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT, ACPI_UINT32_MAX, AcpiDbIntegrityWalk, NULL, (void *) &Info, NULL); - AcpiOsPrintf ("Verified %d namespace nodes with %d Objects\n", + AcpiOsPrintf ("Verified %u namespace nodes with %u Objects\n", Info.Nodes, Info.Objects); } Modified: user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbdisply.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbdisply.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbdisply.c Sun Aug 22 21:55:12 2010 (r211661) @@ -612,7 +612,7 @@ AcpiDbDisplayResults ( for (i = 0; i < ResultCount; i++) { ObjDesc = Frame->Results.ObjDesc[Index]; - AcpiOsPrintf ("Result%d: ", i); + AcpiOsPrintf ("Result%u: ", i); AcpiDmDisplayInternalObject (ObjDesc, WalkState); if (Index == 0) { @@ -722,7 +722,7 @@ AcpiDbDisplayObjectType ( { for (i = 0; i < Info->CompatibleIdList.Count; i++) { - AcpiOsPrintf ("CID %d: %s\n", i, + AcpiOsPrintf ("CID %u: %s\n", i, Info->CompatibleIdList.Ids[i].String); } } @@ -854,7 +854,7 @@ AcpiDbDisplayGpes ( GpeType = "GPE Block Device"; } - AcpiOsPrintf ("\nBlock %d - Info %p DeviceNode %p [%s] - %s\n", + AcpiOsPrintf ("\nBlock %u - Info %p DeviceNode %p [%s] - %s\n", Block, GpeBlock, GpeBlock->Node, Buffer, GpeType); AcpiOsPrintf (" Registers: %u (%u GPEs)\n", @@ -904,9 +904,9 @@ AcpiDbDisplayGpes ( } AcpiOsPrintf ( - " GPE %.2X: %p RunRefs %2.2X WakeRefs %2.2X Flags %2.2X (", + " GPE %.2X: %p RunRefs %2.2X Flags %2.2X (", GpeBlock->BlockBaseNumber + GpeIndex, GpeEventInfo, - GpeEventInfo->RuntimeCount, GpeEventInfo->WakeupCount, + GpeEventInfo->RuntimeCount, GpeEventInfo->Flags); /* Decode the flags byte */ Modified: user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbexec.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbexec.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbexec.c Sun Aug 22 21:55:12 2010 (r211661) @@ -602,7 +602,7 @@ AcpiDbMethodThread ( #if 0 if ((i % 100) == 0) { - AcpiOsPrintf ("%d executions, Thread 0x%x\n", i, AcpiOsGetThreadId ()); + AcpiOsPrintf ("%u executions, Thread 0x%x\n", i, AcpiOsGetThreadId ()); } if (ReturnObj.Length) Modified: user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbfileio.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbfileio.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbfileio.c Sun Aug 22 21:55:12 2010 (r211661) @@ -289,7 +289,7 @@ AcpiDbCheckTextModeCorruption ( * meaning that we cannot simply replace CR/LF pairs with LFs. */ AcpiOsPrintf ("Table has been corrupted by text mode conversion\n"); - AcpiOsPrintf ("All LFs (%d) were changed to CR/LF pairs\n", Pairs); + AcpiOsPrintf ("All LFs (%u) were changed to CR/LF pairs\n", Pairs); AcpiOsPrintf ("Table cannot be repaired!\n"); return (AE_BAD_VALUE); } Modified: user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbhistry.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbhistry.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbhistry.c Sun Aug 22 21:55:12 2010 (r211661) @@ -284,7 +284,7 @@ AcpiDbGetFromHistory ( } } - AcpiOsPrintf ("Invalid history number: %d\n", HistoryIndex); + AcpiOsPrintf ("Invalid history number: %u\n", HistoryIndex); return (NULL); } Modified: user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbinput.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbinput.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbinput.c Sun Aug 22 21:55:12 2010 (r211661) @@ -194,6 +194,7 @@ enum AcpiExDebuggerCommands CMD_NOTIFY, CMD_OBJECT, CMD_OPEN, + CMD_OSI, CMD_OWNER, CMD_PREDEFINED, CMD_PREFIX, @@ -260,6 +261,7 @@ static const COMMAND_INFO AcpiGbl_ {"NOTIFY", 2}, {"OBJECT", 1}, {"OPEN", 1}, + {"OSI", 0}, {"OWNER", 1}, {"PREDEFINED", 0}, {"PREFIX", 0}, @@ -333,6 +335,7 @@ AcpiDbDisplayHelp ( AcpiOsPrintf ("History Display command history buffer\n"); AcpiOsPrintf ("Level [] [console] Get/Set debug level for file or console\n"); AcpiOsPrintf ("Locks Current status of internal mutexes\n"); + AcpiOsPrintf ("Osi [Install|Remove ] Display or modify global _OSI list\n"); AcpiOsPrintf ("Quit or Exit Exit this command\n"); AcpiOsPrintf ("Stats [Allocations|Memory|Misc\n"); AcpiOsPrintf (" |Objects|Sizes|Stack|Tables] Display namespace and memory statistics\n"); @@ -455,13 +458,30 @@ AcpiDbGetNextToken ( } } - Start = String; + if (*String == '"') + { + /* This is a quoted string, scan until closing quote */ + + String++; + Start = String; - /* Find end of token */ + /* Find end of token */ - while (*String && (*String != ' ')) + while (*String && (*String != '"')) + { + String++; + } + } + else { - String++; + Start = String; + + /* Find end of token */ + + while (*String && (*String != ' ')) + { + String++; + } } if (!(*String)) @@ -613,7 +633,7 @@ AcpiDbCommandDispatch ( if (ParamCount < AcpiGbl_DbCommands[CommandIndex].MinArgs) { - AcpiOsPrintf ("%d parameters entered, [%s] requires %d parameters\n", + AcpiOsPrintf ("%u parameters entered, [%s] requires %u parameters\n", ParamCount, AcpiGbl_DbCommands[CommandIndex].Name, AcpiGbl_DbCommands[CommandIndex].MinArgs); @@ -820,6 +840,10 @@ AcpiDbCommandDispatch ( AcpiDbOpenDebugFile (AcpiGbl_DbArgs[1]); break; + case CMD_OSI: + AcpiDbDisplayInterfaces (AcpiGbl_DbArgs[1], AcpiGbl_DbArgs[2]); + break; + case CMD_OWNER: AcpiDbDumpNamespaceByOwner (AcpiGbl_DbArgs[1], AcpiGbl_DbArgs[2]); break; Modified: user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbutils.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbutils.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbutils.c Sun Aug 22 21:55:12 2010 (r211661) @@ -291,7 +291,7 @@ AcpiDbDumpExternalObject ( case ACPI_TYPE_PACKAGE: - AcpiOsPrintf ("[Package] Contains %d Elements:\n", + AcpiOsPrintf ("[Package] Contains %u Elements:\n", ObjDesc->Package.Count); for (i = 0; i < ObjDesc->Package.Count; i++) Modified: user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmobject.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmobject.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmobject.c Sun Aug 22 21:55:12 2010 (r211661) @@ -289,7 +289,7 @@ AcpiDmDecodeInternalObject ( case ACPI_TYPE_STRING: - AcpiOsPrintf ("(%d) \"%.24s", + AcpiOsPrintf ("(%u) \"%.24s", ObjDesc->String.Length, ObjDesc->String.Pointer); if (ObjDesc->String.Length > 24) @@ -305,7 +305,7 @@ AcpiDmDecodeInternalObject ( case ACPI_TYPE_BUFFER: - AcpiOsPrintf ("(%d)", ObjDesc->Buffer.Length); + AcpiOsPrintf ("(%u)", ObjDesc->Buffer.Length); for (i = 0; (i < 8) && (i < ObjDesc->Buffer.Length); i++) { AcpiOsPrintf (" %2.2X", ObjDesc->Buffer.Pointer[i]); @@ -651,7 +651,7 @@ AcpiDmDisplayArguments ( for (i = 0; i < ACPI_METHOD_NUM_ARGS; i++) { ObjDesc = WalkState->Arguments[i].Object; - AcpiOsPrintf (" Arg%d: ", i); + AcpiOsPrintf (" Arg%u: ", i); AcpiDmDisplayInternalObject (ObjDesc, WalkState); } } Modified: user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmopcode.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmopcode.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmopcode.c Sun Aug 22 21:55:12 2010 (r211661) @@ -163,7 +163,7 @@ AcpiDmMethodFlags ( /* 1) Method argument count */ - AcpiOsPrintf (", %d, ", Args); + AcpiOsPrintf (", %u, ", Args); /* 2) Serialize rule */ @@ -178,7 +178,7 @@ AcpiDmMethodFlags ( if (Flags & 0xF0) { - AcpiOsPrintf (", %d", Flags >> 4); + AcpiOsPrintf (", %u", Flags >> 4); } } @@ -550,7 +550,7 @@ AcpiDmDisassembleOneOp ( case AML_INT_NAMEDFIELD_OP: Length = AcpiDmDumpName (Op->Named.Name); - AcpiOsPrintf (",%*.s %d", (int) (5 - Length), " ", + AcpiOsPrintf (",%*.s %u", (unsigned) (5 - Length), " ", (UINT32) Op->Common.Value.Integer); AcpiDmCommaIfFieldMember (Op); @@ -571,7 +571,7 @@ AcpiDmDisassembleOneOp ( } else { - AcpiOsPrintf (" , %d", Offset); + AcpiOsPrintf (" , %u", Offset); } AcpiDmCommaIfFieldMember (Op); Modified: user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmresrc.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmresrc.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmresrc.c Sun Aug 22 21:55:12 2010 (r211661) @@ -290,7 +290,7 @@ AcpiDmBitList ( AcpiOsPrintf (","); } Previous = TRUE; - AcpiOsPrintf ("%d", i); + AcpiOsPrintf ("%u", i); } Mask >>= 1; Modified: user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsinit.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsinit.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsinit.c Sun Aug 22 21:55:12 2010 (r211661) @@ -263,12 +263,12 @@ AcpiDsInitializeObjects ( "**** Starting initialization of namespace objects ****\n")); ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT, "Parsing all Control Methods:")); - Info.MethodCount = 0; - Info.OpRegionCount = 0; - Info.ObjectCount = 0; - Info.DeviceCount = 0; - Info.TableIndex = TableIndex; - Info.OwnerId = OwnerId; + /* Set all init info to zero */ + + ACPI_MEMSET (&Info, 0, sizeof (ACPI_INIT_WALK_INFO)); + + Info.OwnerId = OwnerId; + Info.TableIndex = TableIndex; /* Walk entire namespace from the supplied root */ @@ -297,12 +297,12 @@ AcpiDsInitializeObjects ( } ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT, - "\nTable [%4.4s](id %4.4X) - %hd Objects with %hd Devices %hd Methods %hd Regions\n", + "\nTable [%4.4s](id %4.4X) - %u Objects with %u Devices %u Methods %u Regions\n", Table->Signature, OwnerId, Info.ObjectCount, Info.DeviceCount, Info.MethodCount, Info.OpRegionCount)); ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH, - "%hd Methods, %hd Regions\n", Info.MethodCount, Info.OpRegionCount)); + "%u Methods, %u Regions\n", Info.MethodCount, Info.OpRegionCount)); return_ACPI_STATUS (AE_OK); } Modified: user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsmethod.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsmethod.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsmethod.c Sun Aug 22 21:55:12 2010 (r211661) @@ -700,7 +700,18 @@ AcpiDsTerminateControlMethod ( */ if (!(MethodDesc->Method.Flags & AOPOBJ_MODULE_LEVEL)) { - AcpiNsDeleteNamespaceByOwner (MethodDesc->Method.OwnerId); + /* Delete any direct children of (created by) this method */ + + AcpiNsDeleteNamespaceSubtree (WalkState->MethodNode); + + /* + * Delete any objects that were created by this method + * elsewhere in the namespace (if any were created). + */ + if (MethodDesc->Method.Flags & AOPOBJ_MODIFIED_NAMESPACE) + { + AcpiNsDeleteNamespaceByOwner (MethodDesc->Method.OwnerId); + } } } @@ -725,7 +736,7 @@ AcpiDsTerminateControlMethod ( * we immediately reuse it for the next thread executing this method */ ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH, - "*** Completed execution of one thread, %d threads remaining\n", + "*** Completed execution of one thread, %u threads remaining\n", MethodDesc->Method.ThreadCount)); } else Modified: user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsmthdat.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsmthdat.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsmthdat.c Sun Aug 22 21:55:12 2010 (r211661) @@ -188,8 +188,7 @@ AcpiDsMethodDataInit ( WalkState->Arguments[i].Name.Integer |= (i << 24); WalkState->Arguments[i].DescriptorType = ACPI_DESC_TYPE_NAMED; WalkState->Arguments[i].Type = ACPI_TYPE_ANY; - WalkState->Arguments[i].Flags = - ANOBJ_END_OF_PEER_LIST | ANOBJ_METHOD_ARG; + WalkState->Arguments[i].Flags = ANOBJ_METHOD_ARG; } /* Init the method locals */ @@ -201,8 +200,7 @@ AcpiDsMethodDataInit ( WalkState->LocalVariables[i].Name.Integer |= (i << 24); WalkState->LocalVariables[i].DescriptorType = ACPI_DESC_TYPE_NAMED; WalkState->LocalVariables[i].Type = ACPI_TYPE_ANY; - WalkState->LocalVariables[i].Flags = - ANOBJ_END_OF_PEER_LIST | ANOBJ_METHOD_LOCAL; + WalkState->LocalVariables[i].Flags = ANOBJ_METHOD_LOCAL; } return_VOID; @@ -238,7 +236,7 @@ AcpiDsMethodDataDeleteAll ( { if (WalkState->LocalVariables[Index].Object) { - ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Deleting Local%d=%p\n", + ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Deleting Local%u=%p\n", Index, WalkState->LocalVariables[Index].Object)); /* Detach object (if present) and remove a reference */ @@ -253,7 +251,7 @@ AcpiDsMethodDataDeleteAll ( { if (WalkState->Arguments[Index].Object) { - ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Deleting Arg%d=%p\n", + ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Deleting Arg%u=%p\n", Index, WalkState->Arguments[Index].Object)); /* Detach object (if present) and remove a reference */ @@ -322,7 +320,7 @@ AcpiDsMethodDataInitArgs ( Index++; } - ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "%d args passed to method\n", Index)); + ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "%u args passed to method\n", Index)); return_ACPI_STATUS (AE_OK); } @@ -429,7 +427,7 @@ AcpiDsMethodDataSetValue ( ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, - "NewObj %p Type %2.2X, Refs=%d [%s]\n", Object, + "NewObj %p Type %2.2X, Refs=%u [%s]\n", Object, Type, Object->Common.ReferenceCount, AcpiUtGetTypeName (Object->Common.Type))); @@ -667,7 +665,7 @@ AcpiDsStoreObjectToLocal ( ACPI_FUNCTION_TRACE (DsStoreObjectToLocal); - ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Type=%2.2X Index=%d Obj=%p\n", + ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Type=%2.2X Index=%u Obj=%p\n", Type, Index, ObjDesc)); /* Parameter validation */ Modified: user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsobject.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsobject.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsobject.c Sun Aug 22 21:55:12 2010 (r211661) @@ -159,6 +159,7 @@ AcpiDsBuildInternalObject ( { ACPI_OPERAND_OBJECT *ObjDesc; ACPI_STATUS Status; + ACPI_OBJECT_TYPE Type; ACPI_FUNCTION_TRACE (DsBuildInternalObject); @@ -241,7 +242,20 @@ AcpiDsBuildInternalObject ( return_ACPI_STATUS (Status); } - switch (Op->Common.Node->Type) + /* + * Special handling for Alias objects. We need to setup the type + * and the Op->Common.Node to point to the Alias target. Note, + * Alias has at most one level of indirection internally. + */ + Type = Op->Common.Node->Type; + if (Type == ACPI_TYPE_LOCAL_ALIAS) + { + Type = ObjDesc->Common.Type; + Op->Common.Node = ACPI_CAST_PTR (ACPI_NAMESPACE_NODE, + Op->Common.Node->Object); + } + + switch (Type) { /* * For these types, we need the actual node, not the subobject. Modified: user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsopcode.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsopcode.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsopcode.c Sun Aug 22 21:55:12 2010 (r211661) @@ -307,7 +307,7 @@ AcpiDsGetBufferFieldArguments ( /* Execute the AML code for the TermArg arguments */ - Status = AcpiDsExecuteArguments (Node, AcpiNsGetParentNode (Node), + Status = AcpiDsExecuteArguments (Node, Node->Parent, ExtraDesc->Extra.AmlLength, ExtraDesc->Extra.AmlStart); return_ACPI_STATUS (Status); } @@ -354,7 +354,7 @@ AcpiDsGetBankFieldArguments ( /* Execute the AML code for the TermArg arguments */ - Status = AcpiDsExecuteArguments (Node, AcpiNsGetParentNode (Node), + Status = AcpiDsExecuteArguments (Node, Node->Parent, ExtraDesc->Extra.AmlLength, ExtraDesc->Extra.AmlStart); return_ACPI_STATUS (Status); } @@ -505,7 +505,7 @@ AcpiDsGetRegionArguments ( /* Execute the argument AML */ - Status = AcpiDsExecuteArguments (Node, AcpiNsGetParentNode (Node), + Status = AcpiDsExecuteArguments (Node, Node->Parent, ExtraDesc->Extra.AmlLength, ExtraDesc->Extra.AmlStart); return_ACPI_STATUS (Status); } Modified: user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsutils.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsutils.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsutils.c Sun Aug 22 21:55:12 2010 (r211661) @@ -875,7 +875,7 @@ AcpiDsCreateOperands ( Index--; - ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH, "Arg #%d (%p) done, Arg1=%p\n", + ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH, "Arg #%u (%p) done, Arg1=%p\n", Index, Arg, FirstArg)); } @@ -890,7 +890,7 @@ Cleanup: */ AcpiDsObjStackPopAndDelete (ArgCount, WalkState); - ACPI_EXCEPTION ((AE_INFO, Status, "While creating Arg %d", Index)); + ACPI_EXCEPTION ((AE_INFO, Status, "While creating Arg %u", Index)); return_ACPI_STATUS (Status); } Modified: user/imp/tbemd/sys/contrib/dev/acpica/events/evgpe.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/events/evgpe.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/events/evgpe.c Sun Aug 22 21:55:12 2010 (r211661) @@ -134,26 +134,26 @@ AcpiEvAsynchEnableGpe ( /******************************************************************************* * - * FUNCTION: AcpiEvUpdateGpeEnableMasks + * FUNCTION: AcpiEvUpdateGpeEnableMask * * PARAMETERS: GpeEventInfo - GPE to update * * RETURN: Status * - * DESCRIPTION: Updates GPE register enable masks based upon whether there are - * references (either wake or run) to this GPE + * DESCRIPTION: Updates GPE register enable mask based upon whether there are + * runtime references to this GPE * ******************************************************************************/ ACPI_STATUS -AcpiEvUpdateGpeEnableMasks ( +AcpiEvUpdateGpeEnableMask ( ACPI_GPE_EVENT_INFO *GpeEventInfo) { ACPI_GPE_REGISTER_INFO *GpeRegisterInfo; - UINT8 RegisterBit; + UINT32 RegisterBit; - ACPI_FUNCTION_TRACE (EvUpdateGpeEnableMasks); + ACPI_FUNCTION_TRACE (EvUpdateGpeEnableMask); GpeRegisterInfo = GpeEventInfo->RegisterInfo; @@ -162,24 +162,17 @@ AcpiEvUpdateGpeEnableMasks ( return_ACPI_STATUS (AE_NOT_EXIST); } - RegisterBit = (UINT8) - (1 << (GpeEventInfo->GpeNumber - GpeRegisterInfo->BaseGpeNumber)); + RegisterBit = AcpiHwGetGpeRegisterBit (GpeEventInfo, GpeRegisterInfo); - /* Clear the wake/run bits up front */ + /* Clear the run bit up front */ - ACPI_CLEAR_BIT (GpeRegisterInfo->EnableForWake, RegisterBit); ACPI_CLEAR_BIT (GpeRegisterInfo->EnableForRun, RegisterBit); - /* Set the mask bits only if there are references to this GPE */ + /* Set the mask bit only if there are references to this GPE */ if (GpeEventInfo->RuntimeCount) { - ACPI_SET_BIT (GpeRegisterInfo->EnableForRun, RegisterBit); - } - - if (GpeEventInfo->WakeupCount) - { - ACPI_SET_BIT (GpeRegisterInfo->EnableForWake, RegisterBit); + ACPI_SET_BIT (GpeRegisterInfo->EnableForRun, (UINT8) RegisterBit); } return_ACPI_STATUS (AE_OK); @@ -194,10 +187,7 @@ AcpiEvUpdateGpeEnableMasks ( * * RETURN: Status * - * DESCRIPTION: Hardware-enable a GPE. Always enables the GPE, regardless - * of type or number of references. - * - * Note: The GPE lock should be already acquired when this function is called. + * DESCRIPTION: Clear a GPE of stale events and enable it. * ******************************************************************************/ @@ -222,14 +212,6 @@ AcpiEvEnableGpe ( return_ACPI_STATUS (AE_NO_HANDLER); } - /* Ensure the HW enable masks are current */ - - Status = AcpiEvUpdateGpeEnableMasks (GpeEventInfo); - if (ACPI_FAILURE (Status)) - { - return_ACPI_STATUS (Status); - } - /* Clear the GPE (of stale events) */ Status = AcpiHwClearGpe (GpeEventInfo); @@ -240,59 +222,7 @@ AcpiEvEnableGpe ( /* Enable the requested GPE */ - Status = AcpiHwWriteGpeEnableReg (GpeEventInfo); - return_ACPI_STATUS (Status); -} - - -/******************************************************************************* - * - * FUNCTION: AcpiEvDisableGpe - * - * PARAMETERS: GpeEventInfo - GPE to disable - * - * RETURN: Status - * - * DESCRIPTION: Hardware-disable a GPE. Always disables the requested GPE, - * regardless of the type or number of references. - * - * Note: The GPE lock should be already acquired when this function is called. - * - ******************************************************************************/ - -ACPI_STATUS -AcpiEvDisableGpe ( - ACPI_GPE_EVENT_INFO *GpeEventInfo) -{ - ACPI_STATUS Status; - - - ACPI_FUNCTION_TRACE (EvDisableGpe); - - - /* - * Note: Always disable the GPE, even if we think that that it is already - * disabled. It is possible that the AML or some other code has enabled - * the GPE behind our back. - */ - - /* Ensure the HW enable masks are current */ - - Status = AcpiEvUpdateGpeEnableMasks (GpeEventInfo); - if (ACPI_FAILURE (Status)) - { - return_ACPI_STATUS (Status); - } - - /* - * Always H/W disable this GPE, even if we don't know the GPE type. - * Simply clear the enable bit for this particular GPE, but do not - * write out the current GPE enable mask since this may inadvertently - * enable GPEs too early. An example is a rogue GPE that has arrived - * during ACPICA initialization - possibly because AML or other code - * has enabled the GPE. - */ - Status = AcpiHwLowDisableGpe (GpeEventInfo); + Status = AcpiHwLowSetGpe (GpeEventInfo, ACPI_GPE_ENABLE); return_ACPI_STATUS (Status); } @@ -578,10 +508,6 @@ AcpiEvAsynchExecuteGpeMethod ( return_VOID; } - /* Update the GPE register masks for return to enabled state */ - - (void) AcpiEvUpdateGpeEnableMasks (GpeEventInfo); - /* * Take a snapshot of the GPE info for this level - we copy the info to * prevent a race condition with RemoveHandler/RemoveBlock. @@ -677,9 +603,11 @@ AcpiEvAsynchEnableGpe ( } } - /* Enable this GPE */ - - (void) AcpiHwWriteGpeEnableReg (GpeEventInfo); + /* + * Enable this GPE, conditionally. This means that the GPE will only be + * physically enabled if the EnableForRun bit is set in the EventInfo + */ + (void) AcpiHwLowSetGpe (GpeEventInfo, ACPI_GPE_CONDITIONAL_ENABLE); Exit: ACPI_FREE (GpeEventInfo); @@ -772,7 +700,7 @@ AcpiEvGpeDispatch ( * Disable the GPE, so it doesn't keep firing before the method has a * chance to run (it runs asynchronously with interrupts enabled). */ - Status = AcpiEvDisableGpe (GpeEventInfo); + Status = AcpiHwLowSetGpe (GpeEventInfo, ACPI_GPE_DISABLE); if (ACPI_FAILURE (Status)) { ACPI_EXCEPTION ((AE_INFO, Status, @@ -806,10 +734,10 @@ AcpiEvGpeDispatch ( GpeNumber)); /* - * Disable the GPE. The GPE will remain disabled a handler + * Disable the GPE. The GPE will remain disabled until a handler * is installed or ACPICA is restarted. */ - Status = AcpiEvDisableGpe (GpeEventInfo); + Status = AcpiHwLowSetGpe (GpeEventInfo, ACPI_GPE_DISABLE); if (ACPI_FAILURE (Status)) { ACPI_EXCEPTION ((AE_INFO, Status, Modified: user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeblk.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeblk.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeblk.c Sun Aug 22 21:55:12 2010 (r211661) @@ -613,6 +613,18 @@ AcpiEvInitializeGpeBlock ( GpeIndex = (i * ACPI_GPE_REGISTER_WIDTH) + j; GpeEventInfo = &GpeBlock->EventInfo[GpeIndex]; + GpeNumber = GpeIndex + GpeBlock->BlockBaseNumber; + + /* + * If the GPE has already been enabled for runtime + * signalling, make sure that it remains enabled, but + * do not increment its reference count. + */ + if (GpeEventInfo->RuntimeCount) + { + Status = AcpiEvEnableGpe (GpeEventInfo); + goto Enabled; + } /* Ignore GPEs that can wake the system */ @@ -634,9 +646,8 @@ AcpiEvInitializeGpeBlock ( /* Enable this GPE */ - GpeNumber = GpeIndex + GpeBlock->BlockBaseNumber; - Status = AcpiEnableGpe (GpeDevice, GpeNumber, - ACPI_GPE_TYPE_RUNTIME); + Status = AcpiEnableGpe (GpeDevice, GpeNumber); +Enabled: if (ACPI_FAILURE (Status)) { ACPI_EXCEPTION ((AE_INFO, Status, Modified: user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeinit.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeinit.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeinit.c Sun Aug 22 21:55:12 2010 (r211661) @@ -575,8 +575,7 @@ AcpiEvMatchGpeMethod ( GpeDevice = NULL; } - Status = AcpiEnableGpe (GpeDevice, GpeNumber, - ACPI_GPE_TYPE_RUNTIME); + Status = AcpiEnableGpe (GpeDevice, GpeNumber); if (ACPI_FAILURE (Status)) { ACPI_EXCEPTION ((AE_INFO, Status, Modified: user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeutil.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeutil.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeutil.c Sun Aug 22 21:55:12 2010 (r211661) @@ -114,7 +114,6 @@ *****************************************************************************/ - #include #include #include Modified: user/imp/tbemd/sys/contrib/dev/acpica/events/evrgnini.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/events/evrgnini.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/events/evrgnini.c Sun Aug 22 21:55:12 2010 (r211661) @@ -294,7 +294,7 @@ AcpiEvPciConfigRegionSetup ( return_ACPI_STATUS (Status); } - ParentNode = AcpiNsGetParentNode (RegionObj->Region.Node); + ParentNode = RegionObj->Region.Node->Parent; /* * Get the _SEG and _BBN values from the device upon which the handler @@ -348,7 +348,7 @@ AcpiEvPciConfigRegionSetup ( break; } - PciRootNode = AcpiNsGetParentNode (PciRootNode); + PciRootNode = PciRootNode->Parent; } /* PCI root bridge not found, use namespace root node */ @@ -385,7 +385,7 @@ AcpiEvPciConfigRegionSetup ( PciDeviceNode = RegionObj->Region.Node; while (PciDeviceNode && (PciDeviceNode->Type != ACPI_TYPE_DEVICE)) { - PciDeviceNode = AcpiNsGetParentNode (PciDeviceNode); + PciDeviceNode = PciDeviceNode->Parent; } if (!PciDeviceNode) @@ -661,7 +661,7 @@ AcpiEvInitializeRegion ( return_ACPI_STATUS (AE_NOT_EXIST); } - Node = AcpiNsGetParentNode (RegionObj->Region.Node); + Node = RegionObj->Region.Node->Parent; SpaceId = RegionObj->Region.SpaceId; /* Setup defaults */ @@ -785,7 +785,7 @@ AcpiEvInitializeRegion ( /* This node does not have the handler we need; Pop up one level */ - Node = AcpiNsGetParentNode (Node); + Node = Node->Parent; } /* If we get here, there is no handler for this region */ Modified: user/imp/tbemd/sys/contrib/dev/acpica/events/evxface.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/events/evxface.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/events/evxface.c Sun Aug 22 21:55:12 2010 (r211661) @@ -747,14 +747,6 @@ AcpiInstallGpeHandler ( Handler->Context = Context; Handler->MethodNode = GpeEventInfo->Dispatch.MethodNode; - /* Disable the GPE before installing the handler */ - - Status = AcpiEvDisableGpe (GpeEventInfo); - if (ACPI_FAILURE (Status)) - { - goto UnlockAndExit; - } - /* Install the handler */ Flags = AcpiOsAcquireLock (AcpiGbl_GpeLock); @@ -845,14 +837,6 @@ AcpiRemoveGpeHandler ( goto UnlockAndExit; } - /* Disable the GPE before removing the handler */ - - Status = AcpiEvDisableGpe (GpeEventInfo); - if (ACPI_FAILURE (Status)) - { - goto UnlockAndExit; - } - /* Remove the handler */ Flags = AcpiOsAcquireLock (AcpiGbl_GpeLock); Modified: user/imp/tbemd/sys/contrib/dev/acpica/events/evxfevnt.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/events/evxfevnt.c Sun Aug 22 21:54:40 2010 (r211660) +++ user/imp/tbemd/sys/contrib/dev/acpica/events/evxfevnt.c Sun Aug 22 21:55:12 2010 (r211661) @@ -307,42 +307,107 @@ ACPI_EXPORT_SYMBOL (AcpiEnableEvent) /******************************************************************************* * - * FUNCTION: AcpiEnableGpe + * FUNCTION: AcpiGpeWakeup * * PARAMETERS: GpeDevice - Parent GPE Device. NULL for GPE0/GPE1 * GpeNumber - GPE level within the GPE block - * GpeType - ACPI_GPE_TYPE_RUNTIME or ACPI_GPE_TYPE_WAKE - * or both + * Action - Enable or Disable * * RETURN: Status * - * DESCRIPTION: Add a reference to a GPE. On the first reference, the GPE is - * hardware-enabled (for runtime GPEs), or the GPE register mask - * is updated (for wake GPEs). + * DESCRIPTION: Set or clear the GPE's wakeup enable mask bit. * ******************************************************************************/ ACPI_STATUS -AcpiEnableGpe ( +AcpiGpeWakeup ( ACPI_HANDLE GpeDevice, UINT32 GpeNumber, - UINT8 GpeType) + UINT8 Action) { ACPI_STATUS Status = AE_OK; ACPI_GPE_EVENT_INFO *GpeEventInfo; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 21:59:55 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9D3BF1065672; Sun, 22 Aug 2010 21:59:55 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 738C28FC12; Sun, 22 Aug 2010 21:59:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MLxtR1018086; Sun, 22 Aug 2010 21:59:55 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MLxtNZ018085; Sun, 22 Aug 2010 21:59:55 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008222159.o7MLxtNZ018085@svn.freebsd.org> From: Warner Losh Date: Sun, 22 Aug 2010 21:59:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211662 - in user/imp/tbemd: . sys X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 21:59:55 -0000 Author: imp Date: Sun Aug 22 21:59:55 2010 New Revision: 211662 URL: http://svn.freebsd.org/changeset/base/211662 Log: Merge gone wrong, trying to commit what I can before wiping and doing over Modified: Directory Properties: user/imp/tbemd/ (props changed) user/imp/tbemd/sys/ (props changed) From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 22:32:40 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 090FF106567A; Sun, 22 Aug 2010 22:32:40 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EB5658FC16; Sun, 22 Aug 2010 22:32:39 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MMWdrp018856; Sun, 22 Aug 2010 22:32:39 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MMWduq018840; Sun, 22 Aug 2010 22:32:39 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008222232.o7MMWduq018840@svn.freebsd.org> From: Warner Losh Date: Sun, 22 Aug 2010 22:32:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211663 - in user/imp/tbemd/sys/contrib/dev/acpica: compiler executer X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 22:32:40 -0000 Author: imp Date: Sun Aug 22 22:32:39 2010 New Revision: 211663 URL: http://svn.freebsd.org/changeset/base/211663 Log: wring out that last little bit of merge lovin' goodness from my old F'd up tree, I hope... Modified: user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslanalyze.c user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslcompile.c user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslcompiler.h user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslcompiler.l user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslcompiler.y user/imp/tbemd/sys/contrib/dev/acpica/compiler/asldefine.h user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslerror.c user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslfiles.c user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslglobal.h user/imp/tbemd/sys/contrib/dev/acpica/compiler/asllookup.c user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslmain.c user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslopt.c user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslstartup.c user/imp/tbemd/sys/contrib/dev/acpica/compiler/asltransform.c user/imp/tbemd/sys/contrib/dev/acpica/compiler/asltree.c user/imp/tbemd/sys/contrib/dev/acpica/compiler/asltypes.h user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslutils.c user/imp/tbemd/sys/contrib/dev/acpica/executer/exdump.c user/imp/tbemd/sys/contrib/dev/acpica/executer/exfldio.c user/imp/tbemd/sys/contrib/dev/acpica/executer/exprep.c user/imp/tbemd/sys/contrib/dev/acpica/executer/exregion.c user/imp/tbemd/sys/contrib/dev/acpica/executer/exsystem.c Modified: user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslanalyze.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslanalyze.c Sun Aug 22 21:59:55 2010 (r211662) +++ user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslanalyze.c Sun Aug 22 22:32:39 2010 (r211663) @@ -531,7 +531,7 @@ AnGetBtype ( if (!Node) { DbgPrint (ASL_DEBUG_OUTPUT, - "No attached Nsnode: [%s] at line %d name [%s], ignoring typecheck\n", + "No attached Nsnode: [%s] at line %u name [%s], ignoring typecheck\n", Op->Asl.ParseOpName, Op->Asl.LineNumber, Op->Asl.ExternalName); return ACPI_UINT32_MAX; Modified: user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslcompile.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslcompile.c Sun Aug 22 21:59:55 2010 (r211662) +++ user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslcompile.c Sun Aug 22 22:32:39 2010 (r211663) @@ -127,10 +127,6 @@ static void CmFlushSourceCode ( void); -static ACPI_STATUS -FlCheckForAscii ( - ASL_FILE_INFO *FileInfo); - void FlConsumeAnsiComment ( ASL_FILE_INFO *FileInfo, @@ -433,7 +429,7 @@ FlConsumeNewComment ( * ******************************************************************************/ -static ACPI_STATUS +ACPI_STATUS FlCheckForAscii ( ASL_FILE_INFO *FileInfo) { @@ -543,31 +539,6 @@ CmDoCompile ( FullCompile = UtBeginEvent ("*** Total Compile time ***"); Event = UtBeginEvent ("Open input and output files"); - - /* Open the required input and output files */ - - Status = FlOpenInputFile (Gbl_Files[ASL_FILE_INPUT].Filename); - if (ACPI_FAILURE (Status)) - { - AePrintErrorLog (ASL_FILE_STDERR); - return -1; - } - - /* Check for 100% ASCII source file (comments are ignored) */ - - Status = FlCheckForAscii (&Gbl_Files[ASL_FILE_INPUT]); - if (ACPI_FAILURE (Status)) - { - AePrintErrorLog (ASL_FILE_STDERR); - return -1; - } - - Status = FlOpenMiscOutputFiles (Gbl_OutputFilenamePrefix); - if (ACPI_FAILURE (Status)) - { - AePrintErrorLog (ASL_FILE_STDERR); - return -1; - } UtEndEvent (Event); /* Build the parse tree */ @@ -888,19 +859,24 @@ CmCleanupAndExit ( if (Gbl_NsLookupCount) { - DbgPrint (ASL_DEBUG_OUTPUT, "\n\nMiscellaneous compile statistics\n\n"); - DbgPrint (ASL_DEBUG_OUTPUT, "%32s : %d\n", "Total Namespace searches", + DbgPrint (ASL_DEBUG_OUTPUT, + "\n\nMiscellaneous compile statistics\n\n"); + + DbgPrint (ASL_DEBUG_OUTPUT, + "%32s : %u\n", "Total Namespace searches", Gbl_NsLookupCount); - DbgPrint (ASL_DEBUG_OUTPUT, "%32s : %d usec\n", "Time per search", - ((UINT32) (AslGbl_Events[AslGbl_NamespaceEvent].EndTime - - AslGbl_Events[AslGbl_NamespaceEvent].StartTime) / - 10) / Gbl_NsLookupCount); - } + DbgPrint (ASL_DEBUG_OUTPUT, + "%32s : %u usec\n", "Time per search", ((UINT32) + (AslGbl_Events[AslGbl_NamespaceEvent].EndTime - + AslGbl_Events[AslGbl_NamespaceEvent].StartTime) / 10) / + Gbl_NsLookupCount); + } if (Gbl_ExceptionCount[ASL_ERROR] > ASL_MAX_ERROR_COUNT) { - printf ("\nMaximum error count (%d) exceeded\n", ASL_MAX_ERROR_COUNT); + printf ("\nMaximum error count (%u) exceeded\n", + ASL_MAX_ERROR_COUNT); } UtDisplaySummary (ASL_FILE_STDOUT); @@ -914,22 +890,38 @@ CmCleanupAndExit ( /* Delete AML file if there are errors */ - if ((Gbl_ExceptionCount[ASL_ERROR] > 0) && (!Gbl_IgnoreErrors)) + if ((Gbl_ExceptionCount[ASL_ERROR] > 0) && (!Gbl_IgnoreErrors) && + Gbl_Files[ASL_FILE_AML_OUTPUT].Handle) { - remove (Gbl_Files[ASL_FILE_AML_OUTPUT].Filename); + if (remove (Gbl_Files[ASL_FILE_AML_OUTPUT].Filename)) + { + printf ("%s: ", + Gbl_Files[ASL_FILE_AML_OUTPUT].Filename); + perror ("Could not delete AML file"); + } } /* * Delete intermediate ("combined") source file (if -ls flag not set) + * This file is created during normal ASL/AML compiles. It is not + * created by the data table compiler. + * + * If the -ls flag is set, then the .SRC file should not be deleted. + * In this case, Gbl_SourceOutputFlag is set to TRUE. + * + * Note: Handles are cleared by FlCloseFile above, so we look at the + * filename instead, to determine if the .SRC file was actually + * created. * * TBD: SourceOutput should be .TMP, then rename if we want to keep it? */ - if (!Gbl_SourceOutputFlag) + if (!Gbl_SourceOutputFlag && Gbl_Files[ASL_FILE_SOURCE_OUTPUT].Filename) { if (remove (Gbl_Files[ASL_FILE_SOURCE_OUTPUT].Filename)) { - printf ("Could not remove SRC file, %s\n", + printf ("%s: ", Gbl_Files[ASL_FILE_SOURCE_OUTPUT].Filename); + perror ("Could not delete SRC file"); } } } Modified: user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslcompiler.h ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslcompiler.h Sun Aug 22 21:59:55 2010 (r211662) +++ user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslcompiler.h Sun Aug 22 22:32:39 2010 (r211663) @@ -189,11 +189,20 @@ AslPushInputFileStack ( char *Filename); /* - * aslstartup - called from main + * aslstartup - entered from main() */ +void +AslInitializeGlobals ( + void); + +typedef +ACPI_STATUS (*ASL_PATHNAME_CALLBACK) ( + char *); + ACPI_STATUS AslDoOnePathname ( - char *Pathname); + char *Pathname, + ASL_PATHNAME_CALLBACK Callback); ACPI_STATUS AslDoOneFile ( @@ -222,6 +231,10 @@ void CmCleanupAndExit ( void); +ACPI_STATUS +FlCheckForAscii ( + ASL_FILE_INFO *FileInfo); + /* * aslanalyze - semantic analysis @@ -426,6 +439,16 @@ CgGenerateAmlOutput ( /* + * aslfile + */ +void +FlOpenFile ( + UINT32 FileId, + char *Filename, + char *Mode); + + +/* * asllength - calculate/adjust AML package lengths */ ACPI_STATUS @@ -680,6 +703,10 @@ DbgPrint ( #define ASL_TREE_OUTPUT 2 void +UtDisplaySupportedTables ( + void); + +void UtDisplayConstantOpcodes ( void); @@ -1003,5 +1030,16 @@ RsDoWordBusNumberDescriptor ( ACPI_PARSE_OBJECT *Op, UINT32 CurrentByteOffset); +/* + * Entry to data table compiler subsystem + */ +ACPI_STATUS +DtDoCompile( + void); + +ACPI_STATUS +DtCreateTemplates ( + char *Signature); + #endif /* __ASLCOMPILER_H */ Modified: user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslcompiler.l ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslcompiler.l Sun Aug 22 21:59:55 2010 (r211662) +++ user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslcompiler.l Sun Aug 22 22:32:39 2010 (r211663) @@ -725,7 +725,7 @@ InsertLineBuffer ( * Warning if we have split a long source line. * */ - sprintf (MsgBuffer, "Max %d", ASL_LINE_BUFFER_SIZE); + sprintf (MsgBuffer, "Max %u", ASL_LINE_BUFFER_SIZE); AslCommonError (ASL_WARNING, ASL_MSG_LONG_LINE, Gbl_CurrentLineNumber, Gbl_LogicalLineNumber, Gbl_CurrentLineOffset, Gbl_CurrentColumn, Modified: user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslcompiler.y ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslcompiler.y Sun Aug 22 21:59:55 2010 (r211662) +++ user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslcompiler.y Sun Aug 22 22:32:39 2010 (r211663) @@ -3164,7 +3164,7 @@ AslLocalAllocate (unsigned int Size) void *Mem; - DbgPrint (ASL_PARSE_OUTPUT, "\nAslLocalAllocate: Expanding Stack to %d\n\n", Size); + DbgPrint (ASL_PARSE_OUTPUT, "\nAslLocalAllocate: Expanding Stack to %u\n\n", Size); Mem = ACPI_ALLOCATE_ZEROED (Size); if (!Mem) Modified: user/imp/tbemd/sys/contrib/dev/acpica/compiler/asldefine.h ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/compiler/asldefine.h Sun Aug 22 21:59:55 2010 (r211662) +++ user/imp/tbemd/sys/contrib/dev/acpica/compiler/asldefine.h Sun Aug 22 22:32:39 2010 (r211663) @@ -182,6 +182,14 @@ #define FILE_SUFFIX_DISASSEMBLY "dsl" #define FILE_SUFFIX_ASM_INCLUDE "inc" #define FILE_SUFFIX_C_INCLUDE "h" +#define FILE_SUFFIX_ASL_CODE "asl" + + +/* Types for input files */ + +#define ASL_INPUT_TYPE_BINARY 0 +#define ASL_INPUT_TYPE_ASCII_ASL 1 +#define ASL_INPUT_TYPE_ASCII_DATA 2 /* Misc */ Modified: user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslerror.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslerror.c Sun Aug 22 21:59:55 2010 (r211662) +++ user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslerror.c Sun Aug 22 22:32:39 2010 (r211663) @@ -280,7 +280,14 @@ AePrintException ( /* Get the file handles */ OutputFile = Gbl_Files[FileId].Handle; + + /* Use the merged header/source file if present, otherwise use input file */ + SourceFile = Gbl_Files[ASL_FILE_SOURCE_OUTPUT].Handle; + if (!SourceFile) + { + SourceFile = Gbl_Files[ASL_FILE_INPUT].Handle; + } if (Header) { @@ -525,7 +532,7 @@ AslCommonError ( Gbl_ExceptionCount[Level]++; if (Gbl_ExceptionCount[ASL_ERROR] > ASL_MAX_ERROR_COUNT) { - printf ("\nMaximum error count (%d) exceeded\n", ASL_MAX_ERROR_COUNT); + printf ("\nMaximum error count (%u) exceeded\n", ASL_MAX_ERROR_COUNT); Gbl_SourceLine = 0; Gbl_NextError = Gbl_ErrorLog; Modified: user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslfiles.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslfiles.c Sun Aug 22 21:59:55 2010 (r211662) +++ user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslfiles.c Sun Aug 22 22:32:39 2010 (r211663) @@ -122,12 +122,6 @@ /* Local prototypes */ -static void -FlOpenFile ( - UINT32 FileId, - char *Filename, - char *Mode); - FILE * FlOpenIncludeWithPrefix ( char *PrefixDir, @@ -212,7 +206,7 @@ FlFileError ( * ******************************************************************************/ -static void +void FlOpenFile ( UINT32 FileId, char *Filename, @@ -774,6 +768,55 @@ FlOpenMiscOutputFiles ( char *Filename; + /* Create/Open a hex output file if asked */ + + if (Gbl_HexOutputFlag) + { + Filename = FlGenerateFilename (FilenamePrefix, FILE_SUFFIX_HEX_DUMP); + if (!Filename) + { + AslCommonError (ASL_ERROR, ASL_MSG_LISTING_FILENAME, + 0, 0, 0, 0, NULL, NULL); + return (AE_ERROR); + } + + /* Open the hex file, text mode */ + + FlOpenFile (ASL_FILE_HEX_OUTPUT, Filename, "w+"); + + AslCompilerSignon (ASL_FILE_HEX_OUTPUT); + AslCompilerFileHeader (ASL_FILE_HEX_OUTPUT); + } + + /* Create/Open a debug output file if asked */ + + if (Gbl_DebugFlag) + { + Filename = FlGenerateFilename (FilenamePrefix, FILE_SUFFIX_DEBUG); + if (!Filename) + { + AslCommonError (ASL_ERROR, ASL_MSG_DEBUG_FILENAME, + 0, 0, 0, 0, NULL, NULL); + return (AE_ERROR); + } + + /* Open the debug file as STDERR, text mode */ + + /* TBD: hide this behind a FlReopenFile function */ + + Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Filename = Filename; + Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Handle = + freopen (Filename, "w+t", stderr); + + AslCompilerSignon (ASL_FILE_DEBUG_OUTPUT); + AslCompilerFileHeader (ASL_FILE_DEBUG_OUTPUT); + } + + if (Gbl_FileType == ASL_INPUT_TYPE_ASCII_DATA) + { + return (AE_OK); + } + /* Create/Open a combined source output file */ Filename = FlGenerateFilename (FilenamePrefix, FILE_SUFFIX_SOURCE); @@ -893,26 +936,6 @@ FlOpenMiscOutputFiles ( AslCompilerFileHeader (ASL_FILE_C_INCLUDE_OUTPUT); } - /* Create/Open a hex output file if asked */ - - if (Gbl_HexOutputFlag) - { - Filename = FlGenerateFilename (FilenamePrefix, FILE_SUFFIX_HEX_DUMP); - if (!Filename) - { - AslCommonError (ASL_ERROR, ASL_MSG_LISTING_FILENAME, - 0, 0, 0, 0, NULL, NULL); - return (AE_ERROR); - } - - /* Open the hex file, text mode */ - - FlOpenFile (ASL_FILE_HEX_OUTPUT, Filename, "w+"); - - AslCompilerSignon (ASL_FILE_HEX_OUTPUT); - AslCompilerFileHeader (ASL_FILE_HEX_OUTPUT); - } - /* Create a namespace output file if asked */ if (Gbl_NsOutputFlag) @@ -933,30 +956,6 @@ FlOpenMiscOutputFiles ( AslCompilerFileHeader (ASL_FILE_NAMESPACE_OUTPUT); } - /* Create/Open a debug output file if asked */ - - if (Gbl_DebugFlag) - { - Filename = FlGenerateFilename (FilenamePrefix, FILE_SUFFIX_DEBUG); - if (!Filename) - { - AslCommonError (ASL_ERROR, ASL_MSG_DEBUG_FILENAME, - 0, 0, 0, 0, NULL, NULL); - return (AE_ERROR); - } - - /* Open the debug file as STDERR, text mode */ - - /* TBD: hide this behind a FlReopenFile function */ - - Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Filename = Filename; - Gbl_Files[ASL_FILE_DEBUG_OUTPUT].Handle = - freopen (Filename, "w+t", stderr); - - AslCompilerSignon (ASL_FILE_DEBUG_OUTPUT); - AslCompilerFileHeader (ASL_FILE_DEBUG_OUTPUT); - } - return (AE_OK); } Modified: user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslglobal.h ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslglobal.h Sun Aug 22 21:59:55 2010 (r211662) +++ user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslglobal.h Sun Aug 22 22:32:39 2010 (r211663) @@ -145,7 +145,7 @@ extern const ASL_MAPPING_ENTRY AslK extern char *AslCompilertext; extern char HexLookup[]; -#define ASL_LINE_BUFFER_SIZE 512 +#define ASL_LINE_BUFFER_SIZE 1024 #define ASL_MSG_BUFFER_SIZE 4096 #define HEX_TABLE_LINE_SIZE 8 #define HEX_LISTING_LINE_SIZE 8 @@ -171,6 +171,7 @@ ASL_EXTERN ASL_ERROR_MSG ASL_ ASL_EXTERN BOOLEAN ASL_INIT_GLOBAL (Gbl_DoCompile, TRUE); ASL_EXTERN BOOLEAN ASL_INIT_GLOBAL (Gbl_DoSignon, TRUE); +ASL_EXTERN BOOLEAN ASL_INIT_GLOBAL (Gbl_DisassembleAll, FALSE); ASL_EXTERN BOOLEAN ASL_INIT_GLOBAL (Gbl_Acpi2, FALSE); ASL_EXTERN BOOLEAN ASL_INIT_GLOBAL (Gbl_UseDefaultAmlFilename, TRUE); @@ -196,6 +197,9 @@ ASL_EXTERN BOOLEAN ASL_ ASL_EXTERN BOOLEAN ASL_INIT_GLOBAL (Gbl_DisplayRemarks, TRUE); ASL_EXTERN BOOLEAN ASL_INIT_GLOBAL (Gbl_DisplayOptimizations, FALSE); ASL_EXTERN UINT8 ASL_INIT_GLOBAL (Gbl_WarningLevel, ASL_WARNING); +ASL_EXTERN BOOLEAN ASL_INIT_GLOBAL (Gbl_UseOriginalCompilerId, FALSE); +ASL_EXTERN BOOLEAN ASL_INIT_GLOBAL (Gbl_VerboseTemplates, FALSE); +ASL_EXTERN BOOLEAN ASL_INIT_GLOBAL (Gbl_DoTemplates, FALSE); #define HEX_OUTPUT_NONE 0 @@ -211,7 +215,6 @@ ASL_EXTERN BOOLEAN ASL_ ASL_EXTERN ASL_FILE_INFO Gbl_Files [ASL_NUM_FILES]; ASL_EXTERN char *Gbl_DirectoryPath; -ASL_EXTERN char ASL_INIT_GLOBAL (*Gbl_ExternalFilename, NULL); ASL_EXTERN char ASL_INIT_GLOBAL (*Gbl_IncludeFilename, NULL); ASL_EXTERN char ASL_INIT_GLOBAL (*Gbl_OutputFilenamePrefix, NULL); ASL_EXTERN ASL_INCLUDE_DIR ASL_INIT_GLOBAL (*Gbl_IncludeDirList, NULL); @@ -223,6 +226,7 @@ ASL_EXTERN BOOLEAN ASL_ /* Statistics */ ASL_EXTERN UINT32 ASL_INIT_GLOBAL (Gbl_InputByteCount, 0); +ASL_EXTERN UINT32 ASL_INIT_GLOBAL (Gbl_InputFieldCount, 0); ASL_EXTERN UINT32 ASL_INIT_GLOBAL (Gbl_NsLookupCount, 0); ASL_EXTERN UINT32 ASL_INIT_GLOBAL (TotalKeywords, 0); ASL_EXTERN UINT32 ASL_INIT_GLOBAL (TotalNamedObjects, 0); @@ -247,7 +251,9 @@ ASL_EXTERN ACPI_PARSE_OBJECT ASL_ ASL_EXTERN char ASL_INIT_GLOBAL (*Gbl_StringCacheNext, NULL); ASL_EXTERN char ASL_INIT_GLOBAL (*Gbl_StringCacheLast, NULL); ASL_EXTERN ACPI_PARSE_OBJECT *Gbl_FirstLevelInsertionNode; - +ASL_EXTERN UINT8 ASL_INIT_GLOBAL (Gbl_FileType, 0); +ASL_EXTERN char ASL_INIT_GLOBAL (*Gbl_Signature, NULL); +ASL_EXTERN char *Gbl_TemplateSignature; ASL_EXTERN UINT32 ASL_INIT_GLOBAL (Gbl_CurrentHexColumn, 0); ASL_EXTERN UINT32 ASL_INIT_GLOBAL (Gbl_CurrentAmlOffset, 0); Modified: user/imp/tbemd/sys/contrib/dev/acpica/compiler/asllookup.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/compiler/asllookup.c Sun Aug 22 21:59:55 2010 (r211662) +++ user/imp/tbemd/sys/contrib/dev/acpica/compiler/asllookup.c Sun Aug 22 22:32:39 2010 (r211663) @@ -216,7 +216,7 @@ LsDoOneNamespaceObject ( Gbl_NumNamespaceObjects++; - FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT, "%5d [%d] %*s %4.4s - %s", + FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT, "%5u [%u] %*s %4.4s - %s", Gbl_NumNamespaceObjects, Level, (Level * 3), " ", &Node->Name, AcpiUtGetTypeName (Node->Type)); @@ -1245,7 +1245,7 @@ LkNamespaceLocateBegin ( */ if (PassedArgs != Node->Value) { - sprintf (MsgBuffer, "%s requires %d", Op->Asl.ExternalName, + sprintf (MsgBuffer, "%s requires %u", Op->Asl.ExternalName, Node->Value); if (PassedArgs < Node->Value) Modified: user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslmain.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslmain.c Sun Aug 22 21:59:55 2010 (r211662) +++ user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslmain.c Sun Aug 22 22:32:39 2010 (r211663) @@ -119,6 +119,7 @@ #include #include +#include #ifdef _DEBUG #include @@ -167,7 +168,7 @@ AslDoResponseFile ( #define ASL_TOKEN_SEPARATORS " \t\n" -#define ASL_SUPPORTED_OPTIONS "@:2b:c:d^e:fgh^i^I:l^no:p:r:s:t:v:w:x:" +#define ASL_SUPPORTED_OPTIONS "@:2b:c:d^e:fgh^i^I:l^no:p:r:s:t:T:v:w:x:z" /******************************************************************************* @@ -218,8 +219,13 @@ Options ( printf (" -ln Create namespace file (*.nsp)\n"); printf (" -ls Create combined source file (expanded includes) (*.src)\n"); + printf ("\nACPI Data Tables:\n"); + printf (" -T Create table template file for (or \"ALL\")\n"); + printf (" -vt Create verbose templates (full disassembly)\n"); + printf ("\nAML Disassembler:\n"); printf (" -d [file] Disassemble or decode binary ACPI table to file (*.dsl)\n"); + printf (" -da [f1,f2] Disassemble multiple tables from single namespace\n"); printf (" -dc [file] Disassemble AML and immediately compile it\n"); printf (" (Obtain DSDT from current system if no input file)\n"); printf (" -e [f1,f2] Include ACPI table(s) for external symbol resolution\n"); @@ -230,6 +236,7 @@ Options ( printf (" -h Additional help and compiler debug options\n"); printf (" -hc Display operators allowed in constant expressions\n"); printf (" -hr Display ACPI reserved method names\n"); + printf (" -ht Display currently supported ACPI table names\n"); } @@ -268,6 +275,7 @@ HelpMessage ( printf (" -n Parse only, no output generation\n"); printf (" -ot Display compile times\n"); printf (" -x Set debug level for trace output\n"); + printf (" -z Do not insert new compiler ID for DataTables\n"); } @@ -528,6 +536,11 @@ AslDoOptions ( Gbl_DoCompile = FALSE; break; + case 'a': + Gbl_DoCompile = FALSE; + Gbl_DisassembleAll = TRUE; + break; + case 'c': break; @@ -541,7 +554,7 @@ AslDoOptions ( case 'e': - Gbl_ExternalFilename = AcpiGbl_Optarg; + AcpiDmAddToExternalFileList (AcpiGbl_Optarg); break; @@ -580,6 +593,10 @@ AslDoOptions ( ApDisplayReservedNames (); exit (0); + case 't': + UtDisplaySupportedTables (); + exit (0); + default: printf ("Unknown option: -h%s\n", AcpiGbl_Optarg); return (-1); @@ -767,6 +784,12 @@ AslDoOptions ( break; + case 'T': + Gbl_DoTemplates = TRUE; + Gbl_TemplateSignature = AcpiGbl_Optarg; + break; + + case 'v': switch (AcpiGbl_Optarg[0]) @@ -795,6 +818,10 @@ AslDoOptions ( Gbl_DoSignon = FALSE; break; + case 't': + Gbl_VerboseTemplates = TRUE; + break; + default: printf ("Unknown option: -v%s\n", AcpiGbl_Optarg); return (-1); @@ -831,6 +858,12 @@ AslDoOptions ( break; + case 'z': + + Gbl_UseOriginalCompilerId = TRUE; + break; + + default: return (-1); @@ -873,6 +906,12 @@ AslCommandLine ( BadCommandLine = AslDoOptions (argc, argv, FALSE); + if (Gbl_DoTemplates) + { + DtCreateTemplates (Gbl_TemplateSignature); + exit (1); + } + /* Next parameter must be the input filename */ if (!argv[AcpiGbl_Optind] && @@ -920,9 +959,12 @@ main ( char **argv) { ACPI_STATUS Status; - int Index; + int Index1; + int Index2; + AcpiGbl_ExternalFileList = NULL; + #ifdef _DEBUG _CrtSetDbgFlag (_CRTDBG_CHECK_ALWAYS_DF | _CRTDBG_LEAK_CHECK_DF | _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG)); @@ -931,7 +973,7 @@ main ( /* Init and command line */ AslInitialize (); - Index = AslCommandLine (argc, argv); + Index1 = Index2 = AslCommandLine (argc, argv); /* Options that have no additional parameters or pathnames */ @@ -945,17 +987,36 @@ main ( return (0); } + if (Gbl_DisassembleAll) + { + while (argv[Index1]) + { + Status = AslDoOnePathname (argv[Index1], AcpiDmAddToExternalFileList); + if (ACPI_FAILURE (Status)) + { + return (-1); + } + + Index1++; + } + } + /* Process each pathname/filename in the list, with possible wildcards */ - while (argv[Index]) + while (argv[Index2]) { - Status = AslDoOnePathname (argv[Index]); + Status = AslDoOnePathname (argv[Index2], AslDoOneFile); if (ACPI_FAILURE (Status)) { return (-1); } - Index++; + Index2++; + } + + if (AcpiGbl_ExternalFileList) + { + AcpiDmClearExternalFileList(); } return (0); Modified: user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslopt.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslopt.c Sun Aug 22 21:59:55 2010 (r211662) +++ user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslopt.c Sun Aug 22 22:32:39 2010 (r211663) @@ -339,7 +339,7 @@ OptBuildShortestPath ( } } - ACPI_DEBUG_PRINT_RAW ((ACPI_DB_OPTIMIZATIONS, " COMMON: %d", + ACPI_DEBUG_PRINT_RAW ((ACPI_DB_OPTIMIZATIONS, " COMMON: %u", NumCommonSegments)); /* There must be at least 1 common NameSeg in order to optimize */ Modified: user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslstartup.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslstartup.c Sun Aug 22 21:59:55 2010 (r211662) +++ user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslstartup.c Sun Aug 22 22:32:39 2010 (r211663) @@ -131,15 +131,15 @@ BOOLEAN AslToFile = TRUE /* Local prototypes */ -static void -AslInitializeGlobals ( - void); - static char ** AsDoWildcard ( char *DirectoryPathname, char *FileSpecifier); +UINT8 +AslDetectSourceFileType ( + ASL_FILE_INFO *Info); + /******************************************************************************* * @@ -154,7 +154,7 @@ AsDoWildcard ( * ******************************************************************************/ -static void +void AslInitializeGlobals ( void) { @@ -167,10 +167,13 @@ AslInitializeGlobals ( Gbl_CurrentLineNumber = 1; Gbl_LogicalLineNumber = 1; Gbl_CurrentLineOffset = 0; + Gbl_InputFieldCount = 0; Gbl_LineBufPtr = Gbl_CurrentLineBuffer; Gbl_ErrorLog = NULL; Gbl_NextError = NULL; + Gbl_Signature = NULL; + Gbl_FileType = 0; AslGbl_NextEvent = 0; for (i = 0; i < ASL_NUM_REPORT_LEVELS; i++) @@ -179,6 +182,10 @@ AslInitializeGlobals ( } Gbl_Files[ASL_FILE_AML_OUTPUT].Filename = NULL; + Gbl_Files[ASL_FILE_AML_OUTPUT].Handle = NULL; + + Gbl_Files[ASL_FILE_SOURCE_OUTPUT].Filename = NULL; + Gbl_Files[ASL_FILE_SOURCE_OUTPUT].Handle = NULL; } @@ -259,6 +266,77 @@ AsDoWildcard ( /******************************************************************************* * + * FUNCTION: AslDetectSourceFileType + * + * PARAMETERS: Info - Name/Handle for the file (must be open) + * + * RETURN: File Type + * + * DESCRIPTION: Determine the type of the input file. Either binary (contains + * non-ASCII characters), ASL file, or an ACPI Data Table file. + * + ******************************************************************************/ + +UINT8 +AslDetectSourceFileType ( + ASL_FILE_INFO *Info) +{ + char *FileChar; + UINT8 Type; + ACPI_STATUS Status; + + + /* Check for 100% ASCII source file (comments are ignored) */ + + Status = FlCheckForAscii (Info); + if (ACPI_FAILURE (Status)) + { + printf ("Non-ascii input file - %s\n", Info->Filename); + Type = ASL_INPUT_TYPE_BINARY; + goto Cleanup; + } + + /* + * File is ASCII. Determine if this is an ASL file or an ACPI data + * table file. + */ + while (fgets (Gbl_CurrentLineBuffer, ASL_LINE_BUFFER_SIZE, Info->Handle)) + { + /* Uppercase the buffer for caseless compare */ + + FileChar = Gbl_CurrentLineBuffer; + while (*FileChar) + { + *FileChar = (char) toupper ((int) *FileChar); + FileChar++; + } + + /* Presence of "DefinitionBlock" indicates actual ASL code */ + + if (strstr (Gbl_CurrentLineBuffer, "DEFINITIONBLOCK")) + { + /* Appears to be an ASL file */ + + Type = ASL_INPUT_TYPE_ASCII_ASL; + goto Cleanup; + } + } + + /* Not an ASL source file, default to a data table source file */ + + Type = ASL_INPUT_TYPE_ASCII_DATA; + +Cleanup: + + /* Must seek back to the start of the file */ + + fseek (Info->Handle, 0, SEEK_SET); + return (Type); +} + + +/******************************************************************************* + * * FUNCTION: AslDoOneFile * * PARAMETERS: Filename - Name of the file @@ -287,7 +365,7 @@ AslDoOneFile ( */ if (Gbl_DisasmFlag || Gbl_GetAllTables) { - /* ACPI CA subsystem initialization */ + /* ACPICA subsystem initialization */ Status = AdInitialize (); if (ACPI_FAILURE (Status)) @@ -330,23 +408,77 @@ AslDoOneFile ( AcpiOsPrintf ("\nCompiling \"%s\"\n", Gbl_Files[ASL_FILE_INPUT].Filename); } + else + { + Gbl_Files[ASL_FILE_INPUT].Filename = NULL; + return (AE_OK); + } } /* - * ASL Compilation (Optional) + * Open the input file. Here, this should be an ASCII source file, + * either an ASL file or a Data Table file */ - if (Gbl_DoCompile) + Status = FlOpenInputFile (Gbl_Files[ASL_FILE_INPUT].Filename); + if (ACPI_FAILURE (Status)) { - /* - * If -p not specified, we will use the input filename as the - * output filename prefix - */ - if (Gbl_UseDefaultAmlFilename) + AePrintErrorLog (ASL_FILE_STDERR); + return (AE_ERROR); + } + + /* Determine input file type */ + + Gbl_FileType = AslDetectSourceFileType (&Gbl_Files[ASL_FILE_INPUT]); + if (Gbl_FileType == ASL_INPUT_TYPE_BINARY) + { + return (AE_ERROR); + } + + /* + * If -p not specified, we will use the input filename as the + * output filename prefix + */ + if (Gbl_UseDefaultAmlFilename) + { + Gbl_OutputFilenamePrefix = Gbl_Files[ASL_FILE_INPUT].Filename; + } + + /* Open the optional output files (listings, etc.) */ + + Status = FlOpenMiscOutputFiles (Gbl_OutputFilenamePrefix); + if (ACPI_FAILURE (Status)) + { + AePrintErrorLog (ASL_FILE_STDERR); + return (AE_ERROR); + } + + /* + * Compilation of ASL source versus DataTable source uses different + * compiler subsystems + */ + switch (Gbl_FileType) + { + /* + * Data Table Compilation + */ + case ASL_INPUT_TYPE_ASCII_DATA: + + Status = DtDoCompile (); + + if (Gbl_Signature) { - Gbl_OutputFilenamePrefix = Gbl_Files[ASL_FILE_INPUT].Filename; + ACPI_FREE (Gbl_Signature); + Gbl_Signature = NULL; } + AeClearErrorLog (); + return (Status); + + /* + * ASL Compilation (Optional) + */ + case ASL_INPUT_TYPE_ASCII_ASL: - /* ACPI CA subsystem initialization (Must be re-initialized) */ + /* ACPICA subsystem initialization */ Status = AdInitialize (); if (ACPI_FAILURE (Status)) @@ -367,9 +499,17 @@ AslDoOneFile ( } AeClearErrorLog (); - } + return (AE_OK); + + case ASL_INPUT_TYPE_BINARY: - return (AE_OK); + AePrintErrorLog (ASL_FILE_STDERR); + return (AE_ERROR); + + default: + printf ("Unknown file type %X\n", Gbl_FileType); + return (AE_ERROR); + } } @@ -389,9 +529,10 @@ AslDoOneFile ( ACPI_STATUS AslDoOnePathname ( - char *Pathname) + char *Pathname, + ASL_PATHNAME_CALLBACK PathCallback) { - ACPI_STATUS Status; + ACPI_STATUS Status = AE_OK; char **FileList; char *Filename; char *FullPathname; @@ -427,11 +568,9 @@ AslDoOnePathname ( Gbl_OutputFilenamePrefix = FullPathname; } - Status = AslDoOneFile (FullPathname); - if (ACPI_FAILURE (Status)) - { - return (Status); - } + /* Save status from all compiles */ + + Status |= (*PathCallback) (FullPathname); ACPI_FREE (FullPathname); ACPI_FREE (*FileList); @@ -441,6 +580,6 @@ AslDoOnePathname ( ACPI_FREE (Gbl_DirectoryPath); ACPI_FREE (Filename); - return (AE_OK); + return (Status); } Modified: user/imp/tbemd/sys/contrib/dev/acpica/compiler/asltransform.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/compiler/asltransform.c Sun Aug 22 21:59:55 2010 (r211662) +++ user/imp/tbemd/sys/contrib/dev/acpica/compiler/asltransform.c Sun Aug 22 22:32:39 2010 (r211663) @@ -674,7 +674,7 @@ TrDoSwitch ( { /* Unknown peer opcode */ - AcpiOsPrintf ("Unknown parse opcode for switch statement: %s (%d)\n", + AcpiOsPrintf ("Unknown parse opcode for switch statement: %s (%u)\n", *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 22:36:34 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 24D7D1065695; Sun, 22 Aug 2010 22:36:34 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 14C028FC12; Sun, 22 Aug 2010 22:36:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MMaXxN018983; Sun, 22 Aug 2010 22:36:33 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MMaXCk018981; Sun, 22 Aug 2010 22:36:33 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008222236.o7MMaXCk018981@svn.freebsd.org> From: Warner Losh Date: Sun, 22 Aug 2010 22:36:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211664 - user/imp/tbemd/sys/contrib/dev/acpica/compiler X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 22:36:34 -0000 Author: imp Date: Sun Aug 22 22:36:33 2010 New Revision: 211664 URL: http://svn.freebsd.org/changeset/base/211664 Log: Merge this last bit by hand... Modified: user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslpredef.c Modified: user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslpredef.c ============================================================================== --- user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslpredef.c Sun Aug 22 22:32:39 2010 (r211663) +++ user/imp/tbemd/sys/contrib/dev/acpica/compiler/aslpredef.c Sun Aug 22 22:36:33 2010 (r211664) @@ -251,7 +251,7 @@ ApCheckForPredefinedMethod ( if (MethodInfo->NumArguments != 0) { - sprintf (MsgBuffer, "%s requires %d", Op->Asl.ExternalName, 0); + sprintf (MsgBuffer, "%s requires %u", Op->Asl.ExternalName, 0); AslError (ASL_WARNING, ASL_MSG_RESERVED_ARG_COUNT_HI, Op, MsgBuffer); @@ -274,7 +274,7 @@ ApCheckForPredefinedMethod ( if ((MethodInfo->NumArguments != RequiredArgsCurrent) && (MethodInfo->NumArguments != RequiredArgsOld)) { - sprintf (MsgBuffer, "%4.4s requires %d", + sprintf (MsgBuffer, "%4.4s requires %u", PredefinedNames[Index].Info.Name, RequiredArgsCurrent); if (MethodInfo->NumArguments > RequiredArgsCurrent) @@ -731,7 +731,7 @@ ApDisplayReservedNames ( ThisName = PredefinedNames; while (ThisName->Info.Name[0]) { - printf ("%4.4s Requires %d arguments, ", + printf ("%4.4s Requires %u arguments, ", ThisName->Info.Name, ThisName->Info.ParamCount & 0x0F); if (ThisName->Info.ExpectedBtypes) From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 23:20:59 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 81E911065698; Sun, 22 Aug 2010 23:20:59 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 57D788FC12; Sun, 22 Aug 2010 23:20:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MNKx1l019877; Sun, 22 Aug 2010 23:20:59 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MNKxgE019876; Sun, 22 Aug 2010 23:20:59 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008222320.o7MNKxgE019876@svn.freebsd.org> From: Warner Losh Date: Sun, 22 Aug 2010 23:20:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211665 - user/imp/tbemd/contrib/top X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 23:20:59 -0000 Author: imp Date: Sun Aug 22 23:20:58 2010 New Revision: 211665 URL: http://svn.freebsd.org/changeset/base/211665 Log: Record proper(?) merge info for this tree for /head* Modified: Directory Properties: user/imp/tbemd/ (props changed) user/imp/tbemd/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/contrib/bind9/ (props changed) user/imp/tbemd/contrib/ee/ (props changed) user/imp/tbemd/contrib/expat/ (props changed) user/imp/tbemd/contrib/file/ (props changed) user/imp/tbemd/contrib/gdb/ (props changed) user/imp/tbemd/contrib/gdtoa/ (props changed) user/imp/tbemd/contrib/gnu-sort/ (props changed) user/imp/tbemd/contrib/groff/ (props changed) user/imp/tbemd/contrib/less/ (props changed) user/imp/tbemd/contrib/libpcap/ (props changed) user/imp/tbemd/contrib/llvm/ (props changed) user/imp/tbemd/contrib/llvm/tools/clang/ (props changed) user/imp/tbemd/contrib/ncurses/ (props changed) user/imp/tbemd/contrib/netcat/ (props changed) user/imp/tbemd/contrib/ntp/ (props changed) user/imp/tbemd/contrib/one-true-awk/ (props changed) user/imp/tbemd/contrib/openbsm/ (props changed) user/imp/tbemd/contrib/openpam/ (props changed) user/imp/tbemd/contrib/pf/ (props changed) user/imp/tbemd/contrib/sendmail/ (props changed) user/imp/tbemd/contrib/tcpdump/ (props changed) user/imp/tbemd/contrib/tcsh/ (props changed) user/imp/tbemd/contrib/top/ (props changed) user/imp/tbemd/contrib/top/install-sh (props changed) user/imp/tbemd/contrib/tzcode/stdtime/ (props changed) user/imp/tbemd/contrib/tzcode/zic/ (props changed) user/imp/tbemd/contrib/tzdata/ (props changed) user/imp/tbemd/contrib/wpa/ (props changed) user/imp/tbemd/crypto/openssh/ (props changed) user/imp/tbemd/crypto/openssl/ (props changed) user/imp/tbemd/lib/libc/ (props changed) user/imp/tbemd/lib/libc/stdtime/ (props changed) user/imp/tbemd/lib/libutil/ (props changed) user/imp/tbemd/lib/libz/ (props changed) user/imp/tbemd/sbin/ (props changed) user/imp/tbemd/sbin/ipfw/ (props changed) user/imp/tbemd/share/zoneinfo/ (props changed) user/imp/tbemd/sys/ (props changed) user/imp/tbemd/sys/amd64/include/xen/ (props changed) user/imp/tbemd/sys/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/sys/contrib/dev/acpica/ (props changed) user/imp/tbemd/sys/contrib/pf/ (props changed) user/imp/tbemd/sys/contrib/x86emu/ (props changed) user/imp/tbemd/sys/dev/xen/xenpci/ (props changed) user/imp/tbemd/usr.bin/csup/ (props changed) user/imp/tbemd/usr.bin/procstat/ (props changed) user/imp/tbemd/usr.sbin/zic/ (props changed) From owner-svn-src-user@FreeBSD.ORG Sun Aug 22 23:31:17 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 64DF81065670; Sun, 22 Aug 2010 23:31:17 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 52DBF8FC12; Sun, 22 Aug 2010 23:31:17 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7MNVHv3020158; Sun, 22 Aug 2010 23:31:17 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7MNVHDR020153; Sun, 22 Aug 2010 23:31:17 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008222331.o7MNVHDR020153@svn.freebsd.org> From: Warner Losh Date: Sun, 22 Aug 2010 23:31:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211666 - in user/imp/tbemd: bin/sh contrib/top share/man/man4 sys/pci tools/regression/bin/sh/expansion X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2010 23:31:17 -0000 Author: imp Date: Sun Aug 22 23:31:16 2010 New Revision: 211666 URL: http://svn.freebsd.org/changeset/base/211666 Log: merge @211665 (by hand!) Added: user/imp/tbemd/tools/regression/bin/sh/expansion/pathname4.0 - copied unchanged from r211665, head/tools/regression/bin/sh/expansion/pathname4.0 Modified: user/imp/tbemd/bin/sh/expand.c user/imp/tbemd/share/man/man4/rl.4 user/imp/tbemd/sys/pci/if_rl.c Directory Properties: user/imp/tbemd/ (props changed) user/imp/tbemd/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/contrib/bind9/ (props changed) user/imp/tbemd/contrib/ee/ (props changed) user/imp/tbemd/contrib/expat/ (props changed) user/imp/tbemd/contrib/file/ (props changed) user/imp/tbemd/contrib/gdb/ (props changed) user/imp/tbemd/contrib/gdtoa/ (props changed) user/imp/tbemd/contrib/gnu-sort/ (props changed) user/imp/tbemd/contrib/groff/ (props changed) user/imp/tbemd/contrib/less/ (props changed) user/imp/tbemd/contrib/libpcap/ (props changed) user/imp/tbemd/contrib/llvm/ (props changed) user/imp/tbemd/contrib/llvm/tools/clang/ (props changed) user/imp/tbemd/contrib/ncurses/ (props changed) user/imp/tbemd/contrib/netcat/ (props changed) user/imp/tbemd/contrib/ntp/ (props changed) user/imp/tbemd/contrib/one-true-awk/ (props changed) user/imp/tbemd/contrib/openbsm/ (props changed) user/imp/tbemd/contrib/openpam/ (props changed) user/imp/tbemd/contrib/pf/ (props changed) user/imp/tbemd/contrib/sendmail/ (props changed) user/imp/tbemd/contrib/tcpdump/ (props changed) user/imp/tbemd/contrib/tcsh/ (props changed) user/imp/tbemd/contrib/top/ (props changed) user/imp/tbemd/contrib/top/install-sh (props changed) user/imp/tbemd/contrib/tzcode/stdtime/ (props changed) user/imp/tbemd/contrib/tzcode/zic/ (props changed) user/imp/tbemd/contrib/tzdata/ (props changed) user/imp/tbemd/contrib/wpa/ (props changed) user/imp/tbemd/crypto/openssh/ (props changed) user/imp/tbemd/crypto/openssl/ (props changed) user/imp/tbemd/lib/libc/ (props changed) user/imp/tbemd/lib/libc/stdtime/ (props changed) user/imp/tbemd/lib/libutil/ (props changed) user/imp/tbemd/lib/libz/ (props changed) user/imp/tbemd/sbin/ (props changed) user/imp/tbemd/sbin/ipfw/ (props changed) user/imp/tbemd/share/zoneinfo/ (props changed) user/imp/tbemd/sys/ (props changed) user/imp/tbemd/sys/amd64/include/xen/ (props changed) user/imp/tbemd/sys/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/sys/contrib/dev/acpica/ (props changed) user/imp/tbemd/sys/contrib/pf/ (props changed) user/imp/tbemd/sys/contrib/x86emu/ (props changed) user/imp/tbemd/sys/dev/xen/xenpci/ (props changed) user/imp/tbemd/usr.bin/csup/ (props changed) user/imp/tbemd/usr.bin/procstat/ (props changed) user/imp/tbemd/usr.sbin/zic/ (props changed) Modified: user/imp/tbemd/bin/sh/expand.c ============================================================================== --- user/imp/tbemd/bin/sh/expand.c Sun Aug 22 23:20:58 2010 (r211665) +++ user/imp/tbemd/bin/sh/expand.c Sun Aug 22 23:31:16 2010 (r211666) @@ -109,7 +109,6 @@ STATIC void expmeta(char *, char *); STATIC void addfname(char *); STATIC struct strlist *expsort(struct strlist *); STATIC struct strlist *msort(struct strlist *, int); -STATIC int pmatch(const char *, const char *, int); STATIC char *cvtnum(int, char *); STATIC int collate_range_cmp(int, int); @@ -1101,7 +1100,7 @@ expandmeta(struct strlist *str, int flag for (;;) { /* fast check for meta chars */ if ((c = *p++) == '\0') goto nometa; - if (c == '*' || c == '?' || c == '[' || c == '!') + if (c == '*' || c == '?' || c == '[') break; } savelastp = exparg.lastp; @@ -1168,8 +1167,6 @@ expmeta(char *enddir, char *name) break; } } - } else if (*p == '!' && p[1] == '!' && (p == name || p[-1] == '/')) { - metaflag = 1; } else if (*p == '\0') break; else if (*p == CTLQUOTEMARK) @@ -1353,18 +1350,6 @@ msort(struct strlist *list, int len) int patmatch(const char *pattern, const char *string, int squoted) { -#ifdef notdef - if (pattern[0] == '!' && pattern[1] == '!') - return 1 - pmatch(pattern + 2, string); - else -#endif - return pmatch(pattern, string, squoted); -} - - -STATIC int -pmatch(const char *pattern, const char *string, int squoted) -{ const char *p, *q; char c; @@ -1406,7 +1391,7 @@ pmatch(const char *pattern, const char * } } do { - if (pmatch(p, q, squoted)) + if (patmatch(p, q, squoted)) return 1; if (squoted && *q == CTLESC) q++; Modified: user/imp/tbemd/share/man/man4/rl.4 ============================================================================== --- user/imp/tbemd/share/man/man4/rl.4 Sun Aug 22 23:20:58 2010 (r211665) +++ user/imp/tbemd/share/man/man4/rl.4 Sun Aug 22 23:31:16 2010 (r211666) @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 1, 2008 +.Dd August 22, 2010 .Dt RL 4 .Os .Sh NAME @@ -203,6 +203,13 @@ SOHO (PRAGMATIC) UE-1211C .El .Sh LOADER TUNABLES .Bl -tag -width indent +.It Va dev.rl.%unit.prefer_iomap +This tunable controls which register mapping should be used on the +specified device. +Non-zero value enables I/O space register mapping. +For controllers that have no I/O space register mapping this tunable +should be set to 0 to use I/O space register mapping. +The default value is 1 to use I/O space register mapping. .It Va dev.rl.%unit.twister_enable Non-zero value enables the long cable tuning on the specified device. Disabled by default. Modified: user/imp/tbemd/sys/pci/if_rl.c ============================================================================== --- user/imp/tbemd/sys/pci/if_rl.c Sun Aug 22 23:20:58 2010 (r211665) +++ user/imp/tbemd/sys/pci/if_rl.c Sun Aug 22 23:31:16 2010 (r211666) @@ -125,16 +125,6 @@ MODULE_DEPEND(rl, miibus, 1, 1, 1); /* "device miibus" required. See GENERIC if you get errors here. */ #include "miibus_if.h" -/* - * Default to using PIO access for this driver. On SMP systems, - * there appear to be problems with memory mapped mode: it looks like - * doing too many memory mapped access back to back in rapid succession - * can hang the bus. I'm inclined to blame this on crummy design/construction - * on the part of RealTek. Memory mapped mode does appear to work on - * uniprocessor systems though. - */ -#define RL_USEIOSPACE - #include /* @@ -225,14 +215,6 @@ static void rl_watchdog(struct rl_softc static void rl_setwol(struct rl_softc *); static void rl_clrwol(struct rl_softc *); -#ifdef RL_USEIOSPACE -#define RL_RES SYS_RES_IOPORT -#define RL_RID RL_PCI_LOIO -#else -#define RL_RES SYS_RES_MEMORY -#define RL_RID RL_PCI_LOMEM -#endif - static device_method_t rl_methods[] = { /* Device interface */ DEVMETHOD(device_probe, rl_probe), @@ -806,7 +788,7 @@ rl_attach(device_t dev) struct sysctl_ctx_list *ctx; struct sysctl_oid_list *children; int error = 0, hwrev, i, pmc, rid; - int unit; + int prefer_iomap, unit; uint16_t rl_did = 0; char tn[32]; @@ -828,10 +810,31 @@ rl_attach(device_t dev) pci_enable_busmaster(dev); - /* Map control/status registers. */ - rid = RL_RID; - sc->rl_res = bus_alloc_resource_any(dev, RL_RES, &rid, RF_ACTIVE); + /* + * Map control/status registers. + * Default to using PIO access for this driver. On SMP systems, + * there appear to be problems with memory mapped mode: it looks + * like doing too many memory mapped access back to back in rapid + * succession can hang the bus. I'm inclined to blame this on + * crummy design/construction on the part of RealTek. Memory + * mapped mode does appear to work on uniprocessor systems though. + */ + prefer_iomap = 1; + snprintf(tn, sizeof(tn), "dev.rl.%d.prefer_iomap", unit); + TUNABLE_INT_FETCH(tn, &prefer_iomap); + if (prefer_iomap) { + sc->rl_res_id = PCIR_BAR(0); + sc->rl_res_type = SYS_RES_IOPORT; + sc->rl_res = bus_alloc_resource_any(dev, sc->rl_res_type, + &sc->rl_res_id, RF_ACTIVE); + } + if (prefer_iomap == 0 || sc->rl_res == NULL) { + sc->rl_res_id = PCIR_BAR(1); + sc->rl_res_type = SYS_RES_MEMORY; + sc->rl_res = bus_alloc_resource_any(dev, sc->rl_res_type, + &sc->rl_res_id, RF_ACTIVE); + } if (sc->rl_res == NULL) { device_printf(dev, "couldn't map ports/memory\n"); error = ENXIO; @@ -1029,7 +1032,8 @@ rl_detach(device_t dev) if (sc->rl_irq[0]) bus_release_resource(dev, SYS_RES_IRQ, 0, sc->rl_irq[0]); if (sc->rl_res) - bus_release_resource(dev, RL_RES, RL_RID, sc->rl_res); + bus_release_resource(dev, sc->rl_res_type, sc->rl_res_id, + sc->rl_res); if (ifp) if_free(ifp); Copied: user/imp/tbemd/tools/regression/bin/sh/expansion/pathname4.0 (from r211665, head/tools/regression/bin/sh/expansion/pathname4.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/tools/regression/bin/sh/expansion/pathname4.0 Sun Aug 22 23:31:16 2010 (r211666, copy of r211665, head/tools/regression/bin/sh/expansion/pathname4.0) @@ -0,0 +1,28 @@ +# $FreeBSD$ + +failures=0 + +check() { + testcase=$1 + expect=$2 + eval "set -- $testcase" + actual="$*" + if [ "$actual" != "$expect" ]; then + failures=$((failures+1)) + printf '%s\n' "For $testcase, expected $expect actual $actual" + fi +} + +set -e +T=$(mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX) +trap 'rm -rf $T' 0 +cd -P $T + +mkdir !!a +touch !!a/fff + +chmod u-r . +check '!!a/ff*' '!!a/fff' +chmod u+r . + +exit $((failures != 0)) From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 00:11:38 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CE2A6106576C; Mon, 23 Aug 2010 00:11:38 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D59198FC0C; Mon, 23 Aug 2010 00:11:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7N0Bb4G020999; Mon, 23 Aug 2010 00:11:37 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7N0Bb5C020996; Mon, 23 Aug 2010 00:11:37 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201008230011.o7N0Bb5C020996@svn.freebsd.org> From: Nathan Whitehorn Date: Mon, 23 Aug 2010 00:11:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211668 - in user/nwhitehorn/ps3: dev/fb powerpc/ofw X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 00:11:39 -0000 Author: nwhitehorn Date: Mon Aug 23 00:11:37 2010 New Revision: 211668 URL: http://svn.freebsd.org/changeset/base/211668 Log: Remove some unnecessary indirection that breaks when ofwfb is not in the kernel. Modified: user/nwhitehorn/ps3/dev/fb/fbreg.h user/nwhitehorn/ps3/powerpc/ofw/ofw_syscons.c Modified: user/nwhitehorn/ps3/dev/fb/fbreg.h ============================================================================== --- user/nwhitehorn/ps3/dev/fb/fbreg.h Mon Aug 23 00:10:43 2010 (r211667) +++ user/nwhitehorn/ps3/dev/fb/fbreg.h Mon Aug 23 00:11:37 2010 (r211668) @@ -70,19 +70,19 @@ fillw(int val, uint16_t *buf, size_t siz } #elif defined(__powerpc__) -#define bcopy_io(s, d, c) ofwfb_bcopy((void *)(s), (void *)(d), (c)) -#define bcopy_toio(s, d, c) ofwfb_bcopy((void *)(s), (void *)(d), (c)) -#define bcopy_fromio(s, d, c) ofwfb_bcopy((void *)(s), (void *)(d), (c)) -#define bzero_io(d, c) ofwfb_bzero((void *)(d), (c)) -#define fillw(p, d, c) ofwfb_fillw((p), (void *)(d), (c)) -#define fillw_io(p, d, c) ofwfb_fillw((p), (void *)(d), (c)) -#define readw(a) ofwfb_readw((u_int16_t *)(a)) -#define writew(a, v) ofwfb_writew((u_int16_t *)(a), (v)) -void ofwfb_bcopy(const void *s, void *d, size_t c); -void ofwfb_bzero(void *d, size_t c); -void ofwfb_fillw(int pat, void *base, size_t cnt); -u_int16_t ofwfb_readw(u_int16_t *addr); -void ofwfb_writew(u_int16_t *addr, u_int16_t val); +#define bcopy_io(s, d, c) bcopy((void *)(s), (void *)(d), (c)) +#define bcopy_toio(s, d, c) bcopy((void *)(s), (void *)(d), (c)) +#define bcopy_fromio(s, d, c) bcopy((void *)(s), (void *)(d), (c)) +#define bzero_io(d, c) bzero((void *)(d), (c)) +#define fillw_io(p, d, c) fillw((p), (void *)(d), (c)) +#define readw(a) (*(u_int16_t *)(a)) +#define writew(a, v) (*(u_int16_t *)(a) = (v)) +static __inline void +fillw(int val, uint16_t *buf, size_t size) +{ + while (size--) + *buf++ = val; +} #else /* !__i386__ && !__amd64__ && !__ia64__ && !__sparc64__ && !__powerpc__ */ #define bcopy_io(s, d, c) memcpy_io((d), (s), (c)) Modified: user/nwhitehorn/ps3/powerpc/ofw/ofw_syscons.c ============================================================================== --- user/nwhitehorn/ps3/powerpc/ofw/ofw_syscons.c Mon Aug 23 00:10:43 2010 (r211667) +++ user/nwhitehorn/ps3/powerpc/ofw/ofw_syscons.c Mon Aug 23 00:11:37 2010 (r211668) @@ -991,38 +991,3 @@ dummy_kbd_configure(int flags) } KEYBOARD_DRIVER(dummy, dummysw, dummy_kbd_configure); -/* - * Utility routines from - */ -void -ofwfb_bcopy(const void *s, void *d, size_t c) -{ - bcopy(s, d, c); -} - -void -ofwfb_bzero(void *d, size_t c) -{ - bzero(d, c); -} - -void -ofwfb_fillw(int pat, void *base, size_t cnt) -{ - u_int16_t *bptr = base; - - while (cnt--) - *bptr++ = pat; -} - -u_int16_t -ofwfb_readw(u_int16_t *addr) -{ - return (*addr); -} - -void -ofwfb_writew(u_int16_t *addr, u_int16_t val) -{ - *addr = val; -} From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 00:15:50 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A91ED106564A; Mon, 23 Aug 2010 00:15:50 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 98AAE8FC1A; Mon, 23 Aug 2010 00:15:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7N0FojS021111; Mon, 23 Aug 2010 00:15:50 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7N0Fol8021109; Mon, 23 Aug 2010 00:15:50 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201008230015.o7N0Fol8021109@svn.freebsd.org> From: Nathan Whitehorn Date: Mon, 23 Aug 2010 00:15:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211669 - user/nwhitehorn/ps3/powerpc/ps3 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 00:15:50 -0000 Author: nwhitehorn Date: Mon Aug 23 00:15:50 2010 New Revision: 211669 URL: http://svn.freebsd.org/changeset/base/211669 Log: Unswap the red and blue channels. sysinstall looks awfully funny with red and blue inverted. Modified: user/nwhitehorn/ps3/powerpc/ps3/ps3_syscons.c Modified: user/nwhitehorn/ps3/powerpc/ps3/ps3_syscons.c ============================================================================== --- user/nwhitehorn/ps3/powerpc/ps3/ps3_syscons.c Mon Aug 23 00:11:37 2010 (r211668) +++ user/nwhitehorn/ps3/powerpc/ps3/ps3_syscons.c Mon Aug 23 00:15:50 2010 (r211669) @@ -214,9 +214,9 @@ ps3fb_pix32(int attr) { u_int retval; - retval = (ps3fb_cmap[attr].blue << 16) | + retval = (ps3fb_cmap[attr].red << 16) | (ps3fb_cmap[attr].green << 8) | - ps3fb_cmap[attr].red; + ps3fb_cmap[attr].blue; return (retval); } From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 00:52:52 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CB1AF10656C1; Mon, 23 Aug 2010 00:52:52 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BA9A78FC1D; Mon, 23 Aug 2010 00:52:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7N0qqTT021980; Mon, 23 Aug 2010 00:52:52 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7N0qqG8021978; Mon, 23 Aug 2010 00:52:52 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201008230052.o7N0qqG8021978@svn.freebsd.org> From: Nathan Whitehorn Date: Mon, 23 Aug 2010 00:52:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211672 - user/nwhitehorn/ps3/powerpc/ps3 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 00:52:52 -0000 Author: nwhitehorn Date: Mon Aug 23 00:52:52 2010 New Revision: 211672 URL: http://svn.freebsd.org/changeset/base/211672 Log: Make glc(4) a little faster. Modified: user/nwhitehorn/ps3/powerpc/ps3/if_glc.c Modified: user/nwhitehorn/ps3/powerpc/ps3/if_glc.c ============================================================================== --- user/nwhitehorn/ps3/powerpc/ps3/if_glc.c Mon Aug 23 00:31:55 2010 (r211671) +++ user/nwhitehorn/ps3/powerpc/ps3/if_glc.c Mon Aug 23 00:52:52 2010 (r211672) @@ -122,6 +122,7 @@ glc_attach(device_t dev) sc->sc_bus = ps3bus_get_bus(dev); sc->sc_dev = ps3bus_get_device(dev); + sc->sc_self = dev; mtx_init(&sc->sc_mtx, device_get_nameunit(dev), MTX_NETWORK_LOCK, MTX_DEF); @@ -377,14 +378,16 @@ glc_start_locked(struct ifnet *ifp) */ if (sc->sc_txdmadesc[i].cmd_stat & GELIC_DESCR_OWNED) { - //kickstart = 0; + kickstart = 0; break; } } } - if (kickstart && first != 0) + if (kickstart && first != 0) { + lv1_net_stop_tx_dma(sc->sc_bus, sc->sc_dev, 0); lv1_net_start_tx_dma(sc->sc_bus, sc->sc_dev, first, 0); + } } static void @@ -689,6 +692,7 @@ glc_intr(void *xsc) struct glc_softc *sc = xsc; mtx_lock(&sc->sc_mtx); + powerpc_sync(); if (*sc->sc_interrupt_status == 0) { device_printf(sc->sc_self, "stray interrupt!\n"); From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 01:29:22 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 89D4D10656A5; Mon, 23 Aug 2010 01:29:22 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5F9218FC17; Mon, 23 Aug 2010 01:29:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7N1TMFP022725; Mon, 23 Aug 2010 01:29:22 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7N1TMl2022724; Mon, 23 Aug 2010 01:29:22 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008230129.o7N1TMl2022724@svn.freebsd.org> From: Warner Losh Date: Mon, 23 Aug 2010 01:29:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211674 - user/imp/tbemd/sys/boot/arm/uboot X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 01:29:22 -0000 Author: imp Date: Mon Aug 23 01:29:22 2010 New Revision: 211674 URL: http://svn.freebsd.org/changeset/base/211674 Log: Don't need this one Deleted: user/imp/tbemd/sys/boot/arm/uboot/ldscript.armbe From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 02:37:59 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5DB84106566C; Mon, 23 Aug 2010 02:37:59 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4B5648FC1A; Mon, 23 Aug 2010 02:37:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7N2bxoU024409; Mon, 23 Aug 2010 02:37:59 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7N2bwce024397; Mon, 23 Aug 2010 02:37:58 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008230237.o7N2bwce024397@svn.freebsd.org> From: Warner Losh Date: Mon, 23 Aug 2010 02:37:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211682 - in user/imp/tbemd: contrib/top share/man/man4 sys/boot sys/boot/arm/uboot sys/dev/xl X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 02:37:59 -0000 Author: imp Date: Mon Aug 23 02:37:58 2010 New Revision: 211682 URL: http://svn.freebsd.org/changeset/base/211682 Log: Merge head @211680 to loop back changes Added: user/imp/tbemd/sys/boot/Makefile.amd64 - copied unchanged from r211680, head/sys/boot/Makefile.amd64 user/imp/tbemd/sys/boot/Makefile.arm - copied unchanged from r211680, head/sys/boot/Makefile.arm user/imp/tbemd/sys/boot/Makefile.i386 - copied unchanged from r211680, head/sys/boot/Makefile.i386 user/imp/tbemd/sys/boot/Makefile.ia64 - copied unchanged from r211680, head/sys/boot/Makefile.ia64 user/imp/tbemd/sys/boot/Makefile.pc98 - copied unchanged from r211680, head/sys/boot/Makefile.pc98 user/imp/tbemd/sys/boot/Makefile.powerpc - copied unchanged from r211680, head/sys/boot/Makefile.powerpc user/imp/tbemd/sys/boot/Makefile.sparc64 - copied unchanged from r211680, head/sys/boot/Makefile.sparc64 Modified: user/imp/tbemd/share/man/man4/rl.4 user/imp/tbemd/sys/boot/Makefile user/imp/tbemd/sys/boot/arm/uboot/Makefile user/imp/tbemd/sys/dev/xl/if_xl.c Directory Properties: user/imp/tbemd/ (props changed) user/imp/tbemd/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/contrib/bind9/ (props changed) user/imp/tbemd/contrib/ee/ (props changed) user/imp/tbemd/contrib/expat/ (props changed) user/imp/tbemd/contrib/file/ (props changed) user/imp/tbemd/contrib/gdb/ (props changed) user/imp/tbemd/contrib/gdtoa/ (props changed) user/imp/tbemd/contrib/gnu-sort/ (props changed) user/imp/tbemd/contrib/groff/ (props changed) user/imp/tbemd/contrib/less/ (props changed) user/imp/tbemd/contrib/libpcap/ (props changed) user/imp/tbemd/contrib/llvm/ (props changed) user/imp/tbemd/contrib/llvm/tools/clang/ (props changed) user/imp/tbemd/contrib/ncurses/ (props changed) user/imp/tbemd/contrib/netcat/ (props changed) user/imp/tbemd/contrib/ntp/ (props changed) user/imp/tbemd/contrib/one-true-awk/ (props changed) user/imp/tbemd/contrib/openbsm/ (props changed) user/imp/tbemd/contrib/openpam/ (props changed) user/imp/tbemd/contrib/pf/ (props changed) user/imp/tbemd/contrib/sendmail/ (props changed) user/imp/tbemd/contrib/tcpdump/ (props changed) user/imp/tbemd/contrib/tcsh/ (props changed) user/imp/tbemd/contrib/top/ (props changed) user/imp/tbemd/contrib/top/install-sh (props changed) user/imp/tbemd/contrib/tzcode/stdtime/ (props changed) user/imp/tbemd/contrib/tzcode/zic/ (props changed) user/imp/tbemd/contrib/tzdata/ (props changed) user/imp/tbemd/contrib/wpa/ (props changed) user/imp/tbemd/crypto/openssh/ (props changed) user/imp/tbemd/crypto/openssl/ (props changed) user/imp/tbemd/lib/libc/ (props changed) user/imp/tbemd/lib/libc/stdtime/ (props changed) user/imp/tbemd/lib/libutil/ (props changed) user/imp/tbemd/lib/libz/ (props changed) user/imp/tbemd/sbin/ (props changed) user/imp/tbemd/sbin/ipfw/ (props changed) user/imp/tbemd/share/zoneinfo/ (props changed) user/imp/tbemd/sys/ (props changed) user/imp/tbemd/sys/amd64/include/xen/ (props changed) user/imp/tbemd/sys/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/sys/contrib/dev/acpica/ (props changed) user/imp/tbemd/sys/contrib/pf/ (props changed) user/imp/tbemd/sys/contrib/x86emu/ (props changed) user/imp/tbemd/sys/dev/xen/xenpci/ (props changed) user/imp/tbemd/usr.bin/csup/ (props changed) user/imp/tbemd/usr.bin/procstat/ (props changed) user/imp/tbemd/usr.sbin/zic/ (props changed) Modified: user/imp/tbemd/share/man/man4/rl.4 ============================================================================== --- user/imp/tbemd/share/man/man4/rl.4 Mon Aug 23 02:04:27 2010 (r211681) +++ user/imp/tbemd/share/man/man4/rl.4 Mon Aug 23 02:37:58 2010 (r211682) @@ -206,9 +206,9 @@ SOHO (PRAGMATIC) UE-1211C .It Va dev.rl.%unit.prefer_iomap This tunable controls which register mapping should be used on the specified device. -Non-zero value enables I/O space register mapping. +A non-zero value enables I/O space register mapping. For controllers that have no I/O space register mapping this tunable -should be set to 0 to use I/O space register mapping. +should be set to 0 to use memory space register mapping. The default value is 1 to use I/O space register mapping. .It Va dev.rl.%unit.twister_enable Non-zero value enables the long cable tuning on the specified device. Modified: user/imp/tbemd/sys/boot/Makefile ============================================================================== --- user/imp/tbemd/sys/boot/Makefile Mon Aug 23 02:04:27 2010 (r211681) +++ user/imp/tbemd/sys/boot/Makefile Mon Aug 23 02:37:58 2010 (r211682) @@ -1,31 +1,13 @@ # $FreeBSD$ .include +.include .if ${MK_FORTH} != "no" # Build the add-in FORTH interpreter. SUBDIR+= ficl .endif -# Build EFI library. -.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE} == "i386" || ${MACHINE_CPUARCH} == "ia64" -SUBDIR+= efi -.endif - -# Build Open Firmware library. -.if ${MACHINE_CPUARCH} == "powerpc" || ${MACHINE_CPUARCH} == "sparc64" -SUBDIR+= ofw -.endif - -# Build U-Boot library. -.if ${MACHINE_CPUARCH} == "powerpc" || ${MACHINE_CPUARCH} == "arm" -SUBDIR+= uboot -.endif - -.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE} == "i386" -SUBDIR+= zfs -.endif - .if ${MK_FDT} != "no" SUBDIR+= fdt .endif Copied: user/imp/tbemd/sys/boot/Makefile.amd64 (from r211680, head/sys/boot/Makefile.amd64) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/sys/boot/Makefile.amd64 Mon Aug 23 02:37:58 2010 (r211682, copy of r211680, head/sys/boot/Makefile.amd64) @@ -0,0 +1,4 @@ +# $FreeBSD$ + +SUBDIR+= efi +SUBDIR+= zfs Copied: user/imp/tbemd/sys/boot/Makefile.arm (from r211680, head/sys/boot/Makefile.arm) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/sys/boot/Makefile.arm Mon Aug 23 02:37:58 2010 (r211682, copy of r211680, head/sys/boot/Makefile.arm) @@ -0,0 +1,3 @@ +# $FreeBSD$ + +SUBDIR+= uboot Copied: user/imp/tbemd/sys/boot/Makefile.i386 (from r211680, head/sys/boot/Makefile.i386) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/sys/boot/Makefile.i386 Mon Aug 23 02:37:58 2010 (r211682, copy of r211680, head/sys/boot/Makefile.i386) @@ -0,0 +1,4 @@ +# $FreeBSD$ + +SUBDIR+= efi +SUBDIR+= zfs Copied: user/imp/tbemd/sys/boot/Makefile.ia64 (from r211680, head/sys/boot/Makefile.ia64) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/sys/boot/Makefile.ia64 Mon Aug 23 02:37:58 2010 (r211682, copy of r211680, head/sys/boot/Makefile.ia64) @@ -0,0 +1,3 @@ +# $FreeBSD$ + +SUBDIR+= efi Copied: user/imp/tbemd/sys/boot/Makefile.pc98 (from r211680, head/sys/boot/Makefile.pc98) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/sys/boot/Makefile.pc98 Mon Aug 23 02:37:58 2010 (r211682, copy of r211680, head/sys/boot/Makefile.pc98) @@ -0,0 +1,4 @@ +# $FreeBSD$ + +# Blank, to override Makefile.i386 since Makefile.$MACHINE is included before +# Makefile.$MACHINE_ARCH Copied: user/imp/tbemd/sys/boot/Makefile.powerpc (from r211680, head/sys/boot/Makefile.powerpc) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/sys/boot/Makefile.powerpc Mon Aug 23 02:37:58 2010 (r211682, copy of r211680, head/sys/boot/Makefile.powerpc) @@ -0,0 +1,4 @@ +# $FreeBSD$ + +SUBDIR+= ofw +SUBDIR+= uboot Copied: user/imp/tbemd/sys/boot/Makefile.sparc64 (from r211680, head/sys/boot/Makefile.sparc64) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/sys/boot/Makefile.sparc64 Mon Aug 23 02:37:58 2010 (r211682, copy of r211680, head/sys/boot/Makefile.sparc64) @@ -0,0 +1,3 @@ +# $FreeBSD$ + +SUBDIR+= ofw Modified: user/imp/tbemd/sys/boot/arm/uboot/Makefile ============================================================================== --- user/imp/tbemd/sys/boot/arm/uboot/Makefile Mon Aug 23 02:04:27 2010 (r211681) +++ user/imp/tbemd/sys/boot/arm/uboot/Makefile Mon Aug 23 02:37:58 2010 (r211682) @@ -77,7 +77,7 @@ CLEANFILES+= vers.c loader.help CFLAGS+= -ffreestanding -LDFLAGS= -nostdlib -static -T ${.CURDIR}/ldscript.${MACHINE_ARCH} +LDFLAGS= -nostdlib -static -T ${.CURDIR}/ldscript.${MACHINE_CPUARCH} # Pull in common loader code .PATH: ${.CURDIR}/../../uboot/common Modified: user/imp/tbemd/sys/dev/xl/if_xl.c ============================================================================== --- user/imp/tbemd/sys/dev/xl/if_xl.c Mon Aug 23 02:04:27 2010 (r211681) +++ user/imp/tbemd/sys/dev/xl/if_xl.c Mon Aug 23 02:37:58 2010 (r211682) @@ -2247,6 +2247,7 @@ xl_intr(void *arg) if (status & XL_STAT_ADFAIL) { xl_reset(sc); + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; xl_init_locked(sc); } @@ -2318,6 +2319,7 @@ xl_poll_locked(struct ifnet *ifp, enum p if (status & XL_STAT_ADFAIL) { xl_reset(sc); + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; xl_init_locked(sc); } @@ -2745,6 +2747,8 @@ xl_init_locked(struct xl_softc *sc) XL_LOCK_ASSERT(sc); + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) + return; /* * Cancel pending I/O and free all RX/TX buffers. */ @@ -2993,6 +2997,7 @@ xl_ifmedia_upd(struct ifnet *ifp) if (sc->xl_media & XL_MEDIAOPT_MII || sc->xl_media & XL_MEDIAOPT_BTX || sc->xl_media & XL_MEDIAOPT_BT4) { + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; xl_init_locked(sc); } else { xl_setmode(sc, ifm->ifm_media); @@ -3083,7 +3088,7 @@ xl_ioctl(struct ifnet *ifp, u_long comma { struct xl_softc *sc = ifp->if_softc; struct ifreq *ifr = (struct ifreq *) data; - int error = 0; + int error = 0, mask; struct mii_data *mii = NULL; u_int8_t rxfilt; @@ -3108,10 +3113,8 @@ xl_ioctl(struct ifnet *ifp, u_long comma CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_RX_SET_FILT|rxfilt); XL_SEL_WIN(7); - } else { - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) - xl_init_locked(sc); - } + } else + xl_init_locked(sc); } else { if (ifp->if_drv_flags & IFF_DRV_RUNNING) xl_stop(sc); @@ -3143,40 +3146,47 @@ xl_ioctl(struct ifnet *ifp, u_long comma &mii->mii_media, command); break; case SIOCSIFCAP: + mask = ifr->ifr_reqcap ^ ifp->if_capenable; #ifdef DEVICE_POLLING - if (ifr->ifr_reqcap & IFCAP_POLLING && - !(ifp->if_capenable & IFCAP_POLLING)) { - error = ether_poll_register(xl_poll, ifp); - if (error) - return(error); - XL_LOCK(sc); - /* Disable interrupts */ - CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_INTR_ENB|0); - ifp->if_capenable |= IFCAP_POLLING; - XL_UNLOCK(sc); - return (error); - } - if (!(ifr->ifr_reqcap & IFCAP_POLLING) && - ifp->if_capenable & IFCAP_POLLING) { - error = ether_poll_deregister(ifp); - /* Enable interrupts. */ - XL_LOCK(sc); - CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_INTR_ACK|0xFF); - CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_INTR_ENB|XL_INTRS); - if (sc->xl_flags & XL_FLAG_FUNCREG) - bus_space_write_4(sc->xl_ftag, sc->xl_fhandle, - 4, 0x8000); - ifp->if_capenable &= ~IFCAP_POLLING; - XL_UNLOCK(sc); - return (error); + if ((mask & IFCAP_POLLING) != 0 && + (ifp->if_capabilities & IFCAP_POLLING) != 0) { + ifp->if_capenable ^= IFCAP_POLLING; + if ((ifp->if_capenable & IFCAP_POLLING) != 0) { + error = ether_poll_register(xl_poll, ifp); + if (error) + break; + XL_LOCK(sc); + /* Disable interrupts */ + CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_INTR_ENB|0); + ifp->if_capenable |= IFCAP_POLLING; + XL_UNLOCK(sc); + } else { + error = ether_poll_deregister(ifp); + /* Enable interrupts. */ + XL_LOCK(sc); + CSR_WRITE_2(sc, XL_COMMAND, + XL_CMD_INTR_ACK | 0xFF); + CSR_WRITE_2(sc, XL_COMMAND, + XL_CMD_INTR_ENB | XL_INTRS); + if (sc->xl_flags & XL_FLAG_FUNCREG) + bus_space_write_4(sc->xl_ftag, + sc->xl_fhandle, 4, 0x8000); + XL_UNLOCK(sc); + } } #endif /* DEVICE_POLLING */ XL_LOCK(sc); - ifp->if_capenable = ifr->ifr_reqcap; - if (ifp->if_capenable & IFCAP_TXCSUM) - ifp->if_hwassist = XL905B_CSUM_FEATURES; - else - ifp->if_hwassist = 0; + if ((mask & IFCAP_TXCSUM) != 0 && + (ifp->if_capabilities & IFCAP_TXCSUM) != 0) { + ifp->if_capenable ^= IFCAP_TXCSUM; + if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) + ifp->if_hwassist |= XL905B_CSUM_FEATURES; + else + ifp->if_hwassist &= ~XL905B_CSUM_FEATURES; + } + if ((mask & IFCAP_RXCSUM) != 0 && + (ifp->if_capabilities & IFCAP_RXCSUM) != 0) + ifp->if_capenable ^= IFCAP_RXCSUM; XL_UNLOCK(sc); break; default: @@ -3227,6 +3237,7 @@ xl_watchdog(struct xl_softc *sc) "no carrier - transceiver cable problem?\n"); xl_reset(sc); + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; xl_init_locked(sc); if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) { @@ -3357,8 +3368,10 @@ xl_resume(device_t dev) XL_LOCK(sc); xl_reset(sc); - if (ifp->if_flags & IFF_UP) + if (ifp->if_flags & IFF_UP) { + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; xl_init_locked(sc); + } XL_UNLOCK(sc); From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 05:33:21 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1D683106564A; Mon, 23 Aug 2010 05:33:21 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0DD808FC08; Mon, 23 Aug 2010 05:33:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7N5XKNe028254; Mon, 23 Aug 2010 05:33:20 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7N5XKuV028252; Mon, 23 Aug 2010 05:33:20 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201008230533.o7N5XKuV028252@svn.freebsd.org> From: Doug Barton Date: Mon, 23 Aug 2010 05:33:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211683 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 05:33:21 -0000 Author: dougb Date: Mon Aug 23 05:33:20 2010 New Revision: 211683 URL: http://svn.freebsd.org/changeset/base/211683 Log: The --clean-packages and --clean-packages-all features were added just a little too hastily, so overhaul them. 1. Don't do the test for whether or not the package is installed until we are sure both that it's up to date, and that we're not using -all. This makes the whole thing a little slower, but is more friendly to the "master build server" idea, and doesn't prompt unecessarily. Now more useful information is printed to help the user decide if the package can safely be deleted in the !-all case. 2. Try to display information for out of date versions more intelligently 3. Use a little more white space in the output to make it easier to parse For both --clean-packages-all and --clean-distfiles-all use a simpler method of handling the -all version. Inappropriate prompting for --clean-packages-all was raised in: PR: ports/149787 Submitted by: mandree Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Mon Aug 23 02:37:58 2010 (r211682) +++ user/dougb/portmaster/portmaster Mon Aug 23 05:33:20 2010 (r211683) @@ -1048,17 +1048,17 @@ if [ -n "$CLEAN_DISTFILES" ]; then for df in `find $DISTDIR -type f | sort`; do f=${df#$DISTDIR} if ! grep -ql $f $DI_FILES; then - if [ -n "$ALL" ]; then - echo "===>>> Deleting $f" - pm_unlink $df - else + if [ -z "$ALL" ]; then echo -n "===>>> Delete stale file: ${f}? y/n [y] " read answer - case "$answer" in - [yY]|'') pm_unlink $df ;; - *) continue ;; - esac + else + answer=y fi + case "$answer" in + [yY]|'') echo " Deleting $f" ; echo '' + pm_unlink $df ;; + *) continue ;; + esac fi done @@ -1069,18 +1069,9 @@ fi if [ -n "$CLEAN_PACKAGES" ]; then init_packages_var - echo "===>>> Checking for stale packages"; echo '' + echo "===>>> Checking for stale packages" for package in `find $PACKAGES -type f | sort`; do - pkg_dir=${package##*/} ; pkg_dir=${pkg_dir%\.tbz} - if [ ! -d "${pdb}/${pkg_dir}" ]; then - echo "===>>> ${package##*/} is not currently installed" - echo -n " ===>>> Delete? y/n [y] " - read answer - case "$answer" in - [yY]|'') echo " ===>>> Deleting $package" - pm_unlink_s $package ; continue ;; - esac - fi + pkg_dir=${package##*/} ; pkg_dir=${pkg_dir%\.tbz} ; echo '' origin=`tar -O -zxvf $package '+CONTENTS' 2>/dev/null | grep '@comment ORIGIN:'` || fail Empty origin in $package @@ -1092,27 +1083,40 @@ if [ -n "$CLEAN_PACKAGES" ]; then [ -n "$port_ver" ] || fail "Is $pd/$origin/Makefile missing?" else echo "===>>> The origin for ${package##*/} ($origin) is missing" - unset port_ver fi else if ! port_ver=`parse_index $origin name`; then echo "===>>> Cannot determine latest version of ${package##*/} from INDEX" - unset port_ver fi fi if [ -n "$port_ver" ]; then if [ "${port_ver}.tbz" = "${package##*/}" ]; then echo "===>>> ${package##*/} is up to date" + if [ -z "$ALL" ]; then + if [ ! -d "${pdb}/${pkg_dir}" ]; then + echo " ===>>> $pkg_dir is not installed" + echo -n " ===>>> Delete stale package: ${package##*/}? y/n [y] " + read answer + case "$answer" in + [yY]|'') echo " ===>>> Deleting $package" + pm_unlink_s $package ;; + esac + fi + fi + unset port_ver continue fi - echo "===>>> Package version: ${package##*/} Latest version: $port_ver" + echo "===>>> Package version: $pkg_dir" + echo " Latest version: $port_ver" + + unset port_ver if [ -d "${pdb}/${pkg_dir}" ]; then echo " ===>>> ${package##*/} matches the installed version" else - echo " ===>>> ${package##*/} is out of date" + echo " ===>>> ${package##*/} is not installed" fi fi @@ -1121,15 +1125,18 @@ if [ -n "$CLEAN_PACKAGES" ]; then if [ -z "$ALL" ]; then echo -n " ===>>> Delete stale package: ${package##*/}? y/n [y] " read answer - case "$answer" in - [yY]|'') echo " ===>>> Deleting $package" - pm_unlink_s $package ;; - esac + else + answer=y fi + case "$answer" in + [yY]|'') echo " ===>>> Deleting $package" + pm_unlink_s $package ;; + esac done + echo '' ; echo '' - echo '' ; echo "===>>> Deleting stale symlinks" + echo "===>>> Deleting stale symlinks" pm_cd $PACKAGES || fail "Cannot cd to $PACKAGES" for link in `find . -type l | sort` ; do if [ ! -e "$link" ]; then @@ -1137,8 +1144,8 @@ if [ -n "$CLEAN_PACKAGES" ]; then $PM_SU_CMD /bin/unlink $link fi done + echo '' ; echo '' - echo '' empty_dirs=`find . -type d -empty -print | sort` if [ -n "$empty_dirs" ]; then echo "===>>> Deleting empty directories" @@ -1149,6 +1156,7 @@ if [ -n "$CLEAN_PACKAGES" ]; then else echo "===>>> No empty directories in $PACKAGES" fi + echo '' safe_exit fi # [ -n "$CLEAN_PACKAGES" ] From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 05:50:04 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E937C106567A; Mon, 23 Aug 2010 05:50:04 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DA0E38FC13; Mon, 23 Aug 2010 05:50:04 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7N5o4jQ028653; Mon, 23 Aug 2010 05:50:04 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7N5o4Q7028651; Mon, 23 Aug 2010 05:50:04 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008230550.o7N5o4Q7028651@svn.freebsd.org> From: Warner Losh Date: Mon, 23 Aug 2010 05:50:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211685 - user/imp/tbemd/sys/conf X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 05:50:05 -0000 Author: imp Date: Mon Aug 23 05:50:04 2010 New Revision: 211685 URL: http://svn.freebsd.org/changeset/base/211685 Log: nyan@-san asked me to put this back in... If I remove it again it will be because config adds it automatically Modified: user/imp/tbemd/sys/conf/Makefile.pc98 Modified: user/imp/tbemd/sys/conf/Makefile.pc98 ============================================================================== --- user/imp/tbemd/sys/conf/Makefile.pc98 Mon Aug 23 05:33:31 2010 (r211684) +++ user/imp/tbemd/sys/conf/Makefile.pc98 Mon Aug 23 05:50:04 2010 (r211685) @@ -30,6 +30,8 @@ S= ../../.. .endif .include "$S/conf/kern.pre.mk" +MACHINE=pc98 + MKMODULESENV+= MACHINE=${MACHINE} %BEFORE_DEPEND From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 05:53:21 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9D1B61065695; Mon, 23 Aug 2010 05:53:21 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8BE878FC08; Mon, 23 Aug 2010 05:53:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7N5rLlY028744; Mon, 23 Aug 2010 05:53:21 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7N5rLak028740; Mon, 23 Aug 2010 05:53:21 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008230553.o7N5rLak028740@svn.freebsd.org> From: Warner Losh Date: Mon, 23 Aug 2010 05:53:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211686 - user/imp/tbemd/sys/contrib/dev/acpica/compiler X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 05:53:21 -0000 Author: imp Date: Mon Aug 23 05:53:21 2010 New Revision: 211686 URL: http://svn.freebsd.org/changeset/base/211686 Log: Fix mismerge Added: user/imp/tbemd/sys/contrib/dev/acpica/compiler/dtcompile.c (contents, props changed) user/imp/tbemd/sys/contrib/dev/acpica/compiler/dtcompiler.h (contents, props changed) user/imp/tbemd/sys/contrib/dev/acpica/compiler/dtfield.c (contents, props changed) user/imp/tbemd/sys/contrib/dev/acpica/compiler/dtio.c (contents, props changed) user/imp/tbemd/sys/contrib/dev/acpica/compiler/dtsubtable.c (contents, props changed) user/imp/tbemd/sys/contrib/dev/acpica/compiler/dttable.c (contents, props changed) user/imp/tbemd/sys/contrib/dev/acpica/compiler/dttemplate.c (contents, props changed) user/imp/tbemd/sys/contrib/dev/acpica/compiler/dttemplate.h (contents, props changed) user/imp/tbemd/sys/contrib/dev/acpica/compiler/dtutils.c (contents, props changed) Added: user/imp/tbemd/sys/contrib/dev/acpica/compiler/dtcompile.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/sys/contrib/dev/acpica/compiler/dtcompile.c Mon Aug 23 05:53:21 2010 (r211686) @@ -0,0 +1,623 @@ +/****************************************************************************** + * + * Module Name: dtcompile.c - Front-end for data table compiler + * + *****************************************************************************/ + +/****************************************************************************** + * + * 1. Copyright Notice + * + * Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp. + * All rights reserved. + * + * 2. License + * + * 2.1. This is your license from Intel Corp. under its intellectual property + * rights. You may have additional license terms from the party that provided + * you this software, covering your right to use that party's intellectual + * property rights. + * + * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a + * copy of the source code appearing in this file ("Covered Code") an + * irrevocable, perpetual, worldwide license under Intel's copyrights in the + * base code distributed originally by Intel ("Original Intel Code") to copy, + * make derivatives, distribute, use and display any portion of the Covered + * Code in any form, with the right to sublicense such rights; and + * + * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent + * license (with the right to sublicense), under only those claims of Intel + * patents that are infringed by the Original Intel Code, to make, use, sell, + * offer to sell, and import the Covered Code and derivative works thereof + * solely to the minimum extent necessary to exercise the above copyright + * license, and in no event shall the patent license extend to any additions + * to or modifications of the Original Intel Code. No other license or right + * is granted directly or by implication, estoppel or otherwise; + * + * The above copyright and patent license is granted only if the following + * conditions are met: + * + * 3. Conditions + * + * 3.1. Redistribution of Source with Rights to Further Distribute Source. + * Redistribution of source code of any substantial portion of the Covered + * Code or modification with rights to further distribute source must include + * the above Copyright Notice, the above License, this list of Conditions, + * and the following Disclaimer and Export Compliance provision. In addition, + * Licensee must cause all Covered Code to which Licensee contributes to + * contain a file documenting the changes Licensee made to create that Covered + * Code and the date of any change. Licensee must include in that file the + * documentation of any changes made by any predecessor Licensee. Licensee + * must include a prominent statement that the modification is derived, + * directly or indirectly, from Original Intel Code. + * + * 3.2. Redistribution of Source with no Rights to Further Distribute Source. + * Redistribution of source code of any substantial portion of the Covered + * Code or modification without rights to further distribute source must + * include the following Disclaimer and Export Compliance provision in the + * documentation and/or other materials provided with distribution. In + * addition, Licensee may not authorize further sublicense of source of any + * portion of the Covered Code, and must include terms to the effect that the + * license from Licensee to its licensee is limited to the intellectual + * property embodied in the software Licensee provides to its licensee, and + * not to intellectual property embodied in modifications its licensee may + * make. + * + * 3.3. Redistribution of Executable. Redistribution in executable form of any + * substantial portion of the Covered Code or modification must reproduce the + * above Copyright Notice, and the following Disclaimer and Export Compliance + * provision in the documentation and/or other materials provided with the + * distribution. + * + * 3.4. Intel retains all right, title, and interest in and to the Original + * Intel Code. + * + * 3.5. Neither the name Intel nor any other trademark owned or controlled by + * Intel shall be used in advertising or otherwise to promote the sale, use or + * other dealings in products derived from or relating to the Covered Code + * without prior written authorization from Intel. + * + * 4. Disclaimer and Export Compliance + * + * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED + * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE + * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, + * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY + * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY + * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A + * PARTICULAR PURPOSE. + * + * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES + * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR + * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, + * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY + * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL + * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS + * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY + * LIMITED REMEDY. + * + * 4.3. Licensee shall not export, either directly or indirectly, any of this + * software or system incorporating such software without first obtaining any + * required license or other approval from the U. S. Department of Commerce or + * any other agency or department of the United States Government. In the + * event Licensee exports any such software from the United States or + * re-exports any such software from a foreign destination, Licensee shall + * ensure that the distribution and export/re-export of the software is in + * compliance with all laws, regulations, orders, or other restrictions of the + * U.S. Export Administration Regulations. Licensee agrees that neither it nor + * any of its subsidiaries will export/re-export any technical data, process, + * software, or service, directly or indirectly, to any country for which the + * United States government or any agency thereof requires an export license, + * other governmental approval, or letter of assurance, without first obtaining + * such license, approval or letter. + * + *****************************************************************************/ + +#define __DTCOMPILE_C__ +#define _DECLARE_DT_GLOBALS + +#include +#include + +#define _COMPONENT DT_COMPILER + ACPI_MODULE_NAME ("dtcompile") + +static char VersionString[9]; + + +/* Local prototypes */ + +static void +DtInitialize ( + void); + +static ACPI_STATUS +DtCompileDataTable ( + DT_FIELD **Field); + +static void +DtInsertCompilerIds ( + DT_FIELD *FieldList); + + +/****************************************************************************** + * + * FUNCTION: DtDoCompile + * + * PARAMETERS: None + * + * RETURN: Status + * + * DESCRIPTION: Main entry point for the data table compiler. + * + * Note: Assumes Gbl_Files[ASL_FILE_INPUT] is initialized and the file is + * open at seek offset zero. + * + *****************************************************************************/ + +ACPI_STATUS +DtDoCompile ( + void) +{ + ACPI_STATUS Status; + UINT8 Event; + DT_FIELD *FieldList; + + + /* Initialize globals */ + + DtInitialize (); + + /* + * Scan the input file (file is already open) and + * build the parse tree + */ + Event = UtBeginEvent ("Scan and parse input file"); + FieldList = DtScanFile (Gbl_Files[ASL_FILE_INPUT].Handle); + UtEndEvent (Event); + + /* Did the parse tree get successfully constructed? */ + + if (!FieldList) + { + /* TBD: temporary error message. Msgs should come from function above */ + + DtError (ASL_ERROR, ASL_MSG_SYNTAX, NULL, + "Input file does not appear to be an ASL or data table source file"); + + Status = AE_ERROR; + goto CleanupAndExit; + } + + Event = UtBeginEvent ("Compile parse tree"); + + /* + * Compile the parse tree + */ + Status = DtCompileDataTable (&FieldList); + UtEndEvent (Event); + + DtFreeFieldList (); + + if (ACPI_FAILURE (Status)) + { + /* TBD: temporary error message. Msgs should come from function above */ + + DtError (ASL_ERROR, ASL_MSG_SYNTAX, NULL, + "Could not compile input file"); + + goto CleanupAndExit; + } + + /* Create/open the binary output file */ + + Gbl_Files[ASL_FILE_AML_OUTPUT].Filename = NULL; + Status = FlOpenAmlOutputFile (Gbl_OutputFilenamePrefix); + if (ACPI_FAILURE (Status)) + { + goto CleanupAndExit; + } + + /* Write the binary, then the optional hex file */ + + DtOutputBinary (Gbl_RootTable); + LsDoHexOutput (); + +CleanupAndExit: + + CmCleanupAndExit (); + return (Status); +} + + +/****************************************************************************** + * + * FUNCTION: DtInitialize + * + * PARAMETERS: None + * + * RETURN: None + * + * DESCRIPTION: Initialize data table compiler globals. Enables multiple + * compiles per invocation. + * + *****************************************************************************/ + +static void +DtInitialize ( + void) +{ + + AcpiOsInitialize (); + AcpiUtInitGlobals (); + + Gbl_FieldList = NULL; + Gbl_RootTable = NULL; + Gbl_SubtableStack = NULL; + + sprintf (VersionString, "%X", (UINT32) ACPI_CA_VERSION); +} + + +/****************************************************************************** + * + * FUNCTION: DtInsertCompilerIds + * + * PARAMETERS: FieldList - Current field list pointer + * + * RETURN: None + * + * DESCRIPTION: Insert the IDs (Name, Version) of the current compiler into + * the original ACPI table header. + * + *****************************************************************************/ + +static void +DtInsertCompilerIds ( + DT_FIELD *FieldList) +{ + DT_FIELD *Next; + UINT32 i; + + + /* + * Don't insert current compiler ID if requested. Used for compiler + * debug/validation only. + */ + if (Gbl_UseOriginalCompilerId) + { + return; + } + + /* Walk to the Compiler fields at the end of the header */ + + Next = FieldList; + for (i = 0; i < 7; i++) + { + Next = Next->Next; + } + + Next->Value = CompilerCreatorId; + Next->Flags = DT_FIELD_NOT_ALLOCATED; + + Next = Next->Next; + Next->Value = VersionString; + Next->Flags = DT_FIELD_NOT_ALLOCATED; +} + + +/****************************************************************************** + * + * FUNCTION: DtCompileDataTable + * + * PARAMETERS: FieldList - Current field list pointer + * + * RETURN: Status + * + * DESCRIPTION: Entry point to compile one data table + * + *****************************************************************************/ + +static ACPI_STATUS +DtCompileDataTable ( + DT_FIELD **FieldList) +{ + ACPI_DMTABLE_DATA *TableData; + DT_SUBTABLE *Subtable; + char *Signature; + ACPI_TABLE_HEADER *AcpiTableHeader; + ACPI_STATUS Status; + + + /* Verify that we at least have a table signature and save it */ + + Signature = DtGetFieldValue (*FieldList, "Signature"); + if (!Signature) + { + sprintf (MsgBuffer, "Expected \"%s\"", "Signature"); + DtNameError (ASL_ERROR, ASL_MSG_INVALID_FIELD_NAME, + *FieldList, MsgBuffer); + return (AE_ERROR); + } + + Gbl_Signature = UtLocalCalloc (ACPI_STRLEN (Signature) + 1); + strcpy (Gbl_Signature, Signature); + + /* + * Handle tables that don't use the common ACPI table header structure. + * Currently, these are the FACS and RSDP. Also check for an OEMx table, + * these tables have user-defined contents. + */ + if (ACPI_COMPARE_NAME (Signature, ACPI_SIG_FACS)) + { + Status = DtCompileFacs (FieldList); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + DtSetTableLength (); + return (Status); + } + else if (ACPI_COMPARE_NAME (Signature, ACPI_SIG_RSDP)) + { + Status = DtCompileRsdp (FieldList); + return (Status); + } + else if (!ACPI_STRNCMP (Signature, "OEM", 3)) + { + DtFatal (ASL_MSG_OEM_TABLE, *FieldList, Signature); + return (AE_ERROR); + } + + /* Validate the signature via the ACPI table list */ + + TableData = AcpiDmGetTableData (Signature); + if (!TableData) + { + DtFatal (ASL_MSG_UNKNOWN_TABLE, *FieldList, Signature); + return (AE_ERROR); + } + + /* + * All other tables must use the common ACPI table header. Insert the + * current iASL IDs (name, version), and compile the header now. + */ + DtInsertCompilerIds (*FieldList); + + Status = DtCompileTable (FieldList, AcpiDmTableInfoHeader, + &Gbl_RootTable, TRUE); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + DtPushSubtable (Gbl_RootTable); + + /* Dispatch to per-table compile */ + + if (TableData->CmTableHandler) + { + /* Complex table, has a handler */ + + Status = TableData->CmTableHandler ((void **) FieldList); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + } + else if (TableData->TableInfo) + { + /* Simple table, just walk the info table */ + + Subtable = NULL; + Status = DtCompileTable (FieldList, TableData->TableInfo, + &Subtable, TRUE); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + DtInsertSubtable (Gbl_RootTable, Subtable); + DtPopSubtable (); + } + else + { + DtFatal (ASL_MSG_COMPILER_INTERNAL, *FieldList, + "Missing table dispatch info"); + return (AE_ERROR); + } + + /* Set the final table length and then the checksum */ + + DtSetTableLength (); + AcpiTableHeader = ACPI_CAST_PTR ( + ACPI_TABLE_HEADER, Gbl_RootTable->Buffer); + DtSetTableChecksum (&AcpiTableHeader->Checksum); + + return (AE_OK); +} + + +/****************************************************************************** + * + * FUNCTION: DtCompileTable + * + * PARAMETERS: Field - Current field list pointer + * Info - Info table for this ACPI table + * RetSubtable - Compile result of table + * Required - If this subtable must exist + * + * RETURN: Status + * + * DESCRIPTION: Compile a subtable + * + *****************************************************************************/ + +ACPI_STATUS +DtCompileTable ( + DT_FIELD **Field, + ACPI_DMTABLE_INFO *Info, + DT_SUBTABLE **RetSubtable, + BOOLEAN Required) +{ + DT_FIELD *LocalField; + UINT32 Length; + DT_SUBTABLE *Subtable; + DT_SUBTABLE *InlineSubtable; + UINT32 FieldLength = 0; + UINT8 FieldType; + UINT8 *Buffer; + UINT8 *FlagBuffer = NULL; + ACPI_STATUS Status; + + + if (!Field || !*Field) + { + return (AE_BAD_PARAMETER); + } + + Length = DtGetSubtableLength (*Field, Info); + Subtable = UtLocalCalloc (sizeof (DT_SUBTABLE)); + + Subtable->Buffer = UtLocalCalloc (Length); + Subtable->Length = Length; + Subtable->TotalLength = Length; + Buffer = Subtable->Buffer; + + LocalField = *Field; + + /* + * Main loop walks the info table for this ACPI table or subtable + */ + for (; Info->Name; Info++) + { + if (!LocalField) + { + sprintf (MsgBuffer, "Found NULL field - Field name \"%s\" needed", + Info->Name); + DtFatal (ASL_MSG_COMPILER_INTERNAL, NULL, MsgBuffer); + Status = AE_BAD_DATA; + goto Error; + } + + /* Does input field name match what is expected? */ + + if (ACPI_STRCMP (LocalField->Name, Info->Name)) + { + /* + * If Required = TRUE, the subtable must exist. + * If Required = FALSE, the subtable is optional + * (For example, AcpiDmTableInfoDmarScope in DMAR table is + * optional) + */ + if (Required) + { + sprintf (MsgBuffer, "Expected \"%s\"", Info->Name); + DtNameError (ASL_ERROR, ASL_MSG_INVALID_FIELD_NAME, + LocalField, MsgBuffer); + } + else + { + Status = AE_NOT_FOUND; + goto Error; + } + } + + FieldLength = DtGetFieldLength (LocalField, Info); + FieldType = DtGetFieldType (Info); + Gbl_InputFieldCount++; + + switch (FieldType) + { + case DT_FIELD_TYPE_FLAGS_INTEGER: + /* + * Start of the definition of a flags field. + * This master flags integer starts at value zero, in preparation + * to compile and insert the flag fields from the individual bits + */ + LocalField = LocalField->Next; + *Field = LocalField; + + FlagBuffer = Buffer; + break; + + case DT_FIELD_TYPE_FLAG: + + /* Individual Flag field, can be multiple bits */ + + if (FlagBuffer) + { + DtCompileFlag (FlagBuffer, LocalField, Info); + } + else + { + /* TBD - this is an internal error */ + } + + LocalField = LocalField->Next; + *Field = LocalField; + break; + + case DT_FIELD_TYPE_INLINE_SUBTABLE: + /* + * Recursion (one level max): compile GAS (Generic Address) + * or Notify in-line subtable + */ + LocalField = LocalField->Next; + *Field = LocalField; + + if (Info->Opcode == ACPI_DMT_GAS) + { + Status = DtCompileTable (Field, AcpiDmTableInfoGas, + &InlineSubtable, TRUE); + } + else + { + Status = DtCompileTable (Field, AcpiDmTableInfoHestNotify, + &InlineSubtable, TRUE); + } + + if (ACPI_FAILURE (Status)) + { + goto Error; + } + + DtSetSubtableLength (InlineSubtable); + + ACPI_MEMCPY (Buffer, InlineSubtable->Buffer, FieldLength); + ACPI_FREE (InlineSubtable->Buffer); + ACPI_FREE (InlineSubtable); + LocalField = *Field; + break; + + default: + + /* Normal case for most field types (Integer, String, etc.) */ + + DtCompileOneField (Buffer, LocalField, + FieldLength, FieldType, Info->Flags); + LocalField = LocalField->Next; + + if (Info->Flags & DT_LENGTH) + { + /* Field is an Integer that will contain a subtable length */ + + Subtable->LengthField = Buffer; + Subtable->SizeOfLengthField = FieldLength; + } + break; + } + + Buffer += FieldLength; + } + + *Field = LocalField; + *RetSubtable = Subtable; + return (AE_OK); + +Error: + ACPI_FREE (Subtable->Buffer); + ACPI_FREE (Subtable); + return (Status); +} Added: user/imp/tbemd/sys/contrib/dev/acpica/compiler/dtcompiler.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/sys/contrib/dev/acpica/compiler/dtcompiler.h Mon Aug 23 05:53:21 2010 (r211686) @@ -0,0 +1,487 @@ +/****************************************************************************** + * + * Module Name: dtcompiler.h - header for data table compiler + * + *****************************************************************************/ + +/****************************************************************************** + * + * 1. Copyright Notice + * + * Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp. + * All rights reserved. + * + * 2. License + * + * 2.1. This is your license from Intel Corp. under its intellectual property + * rights. You may have additional license terms from the party that provided + * you this software, covering your right to use that party's intellectual + * property rights. + * + * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a + * copy of the source code appearing in this file ("Covered Code") an + * irrevocable, perpetual, worldwide license under Intel's copyrights in the + * base code distributed originally by Intel ("Original Intel Code") to copy, + * make derivatives, distribute, use and display any portion of the Covered + * Code in any form, with the right to sublicense such rights; and + * + * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent + * license (with the right to sublicense), under only those claims of Intel + * patents that are infringed by the Original Intel Code, to make, use, sell, + * offer to sell, and import the Covered Code and derivative works thereof + * solely to the minimum extent necessary to exercise the above copyright + * license, and in no event shall the patent license extend to any additions + * to or modifications of the Original Intel Code. No other license or right + * is granted directly or by implication, estoppel or otherwise; + * + * The above copyright and patent license is granted only if the following + * conditions are met: + * + * 3. Conditions + * + * 3.1. Redistribution of Source with Rights to Further Distribute Source. + * Redistribution of source code of any substantial portion of the Covered + * Code or modification with rights to further distribute source must include + * the above Copyright Notice, the above License, this list of Conditions, + * and the following Disclaimer and Export Compliance provision. In addition, + * Licensee must cause all Covered Code to which Licensee contributes to + * contain a file documenting the changes Licensee made to create that Covered + * Code and the date of any change. Licensee must include in that file the + * documentation of any changes made by any predecessor Licensee. Licensee + * must include a prominent statement that the modification is derived, + * directly or indirectly, from Original Intel Code. + * + * 3.2. Redistribution of Source with no Rights to Further Distribute Source. + * Redistribution of source code of any substantial portion of the Covered + * Code or modification without rights to further distribute source must + * include the following Disclaimer and Export Compliance provision in the + * documentation and/or other materials provided with distribution. In + * addition, Licensee may not authorize further sublicense of source of any + * portion of the Covered Code, and must include terms to the effect that the + * license from Licensee to its licensee is limited to the intellectual + * property embodied in the software Licensee provides to its licensee, and + * not to intellectual property embodied in modifications its licensee may + * make. + * + * 3.3. Redistribution of Executable. Redistribution in executable form of any + * substantial portion of the Covered Code or modification must reproduce the + * above Copyright Notice, and the following Disclaimer and Export Compliance + * provision in the documentation and/or other materials provided with the + * distribution. + * + * 3.4. Intel retains all right, title, and interest in and to the Original + * Intel Code. + * + * 3.5. Neither the name Intel nor any other trademark owned or controlled by + * Intel shall be used in advertising or otherwise to promote the sale, use or + * other dealings in products derived from or relating to the Covered Code + * without prior written authorization from Intel. + * + * 4. Disclaimer and Export Compliance + * + * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED + * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE + * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, + * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY + * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY + * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A + * PARTICULAR PURPOSE. + * + * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES + * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR + * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, + * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY + * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL + * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS + * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY + * LIMITED REMEDY. + * + * 4.3. Licensee shall not export, either directly or indirectly, any of this + * software or system incorporating such software without first obtaining any + * required license or other approval from the U. S. Department of Commerce or + * any other agency or department of the United States Government. In the + * event Licensee exports any such software from the United States or + * re-exports any such software from a foreign destination, Licensee shall + * ensure that the distribution and export/re-export of the software is in + * compliance with all laws, regulations, orders, or other restrictions of the + * U.S. Export Administration Regulations. Licensee agrees that neither it nor + * any of its subsidiaries will export/re-export any technical data, process, + * software, or service, directly or indirectly, to any country for which the + * United States government or any agency thereof requires an export license, + * other governmental approval, or letter of assurance, without first obtaining + * such license, approval or letter. + * + *****************************************************************************/ + +#define __DTCOMPILER_H__ + +#ifndef _DTCOMPILER +#define _DTCOMPILER + +#include +#include + + +#undef DT_EXTERN + +#ifdef _DECLARE_DT_GLOBALS +#define DT_EXTERN +#define DT_INIT_GLOBAL(a,b) (a)=(b) +#else +#define DT_EXTERN extern +#define DT_INIT_GLOBAL(a,b) (a) +#endif + + +/* Types for individual fields (one per input line) */ + +#define DT_FIELD_TYPE_STRING 0 +#define DT_FIELD_TYPE_INTEGER 1 +#define DT_FIELD_TYPE_BUFFER 2 +#define DT_FIELD_TYPE_PCI_PATH 3 +#define DT_FIELD_TYPE_FLAG 4 +#define DT_FIELD_TYPE_FLAGS_INTEGER 5 +#define DT_FIELD_TYPE_INLINE_SUBTABLE 6 + + +/* + * Structure used for each individual field within an ACPI table + */ +typedef struct dt_field +{ + char *Name; + char *Value; + struct dt_field *Next; + UINT32 Line; /* Line number for this field */ + UINT32 ByteOffset; /* Offset in source file for field */ + UINT32 NameColumn; /* Start column for field name */ + UINT32 Column; /* Start column for field value */ + UINT8 Flags; + +} DT_FIELD; + +/* Flags for above */ + +#define DT_FIELD_NOT_ALLOCATED 1 + + +/* + * Structure used for individual subtables within an ACPI table + */ +typedef struct dt_subtable +{ + struct dt_subtable *Parent; + struct dt_subtable *Child; + struct dt_subtable *Peer; + struct dt_subtable *StackTop; + UINT8 *Buffer; + UINT8 *LengthField; + UINT32 Length; + UINT32 TotalLength; + UINT32 SizeOfLengthField; + UINT8 Flags; + +} DT_SUBTABLE; + + +/* + * Globals + */ + +/* List of all field names and values from the input source */ + +DT_EXTERN DT_FIELD DT_INIT_GLOBAL (*Gbl_FieldList, NULL); + +/* List of all compiled tables and subtables */ + +DT_EXTERN DT_SUBTABLE DT_INIT_GLOBAL (*Gbl_RootTable, NULL); + +/* Stack for subtables */ + +DT_EXTERN DT_SUBTABLE DT_INIT_GLOBAL (*Gbl_SubtableStack, NULL); + + +/* dtcompiler - main module */ + +ACPI_STATUS +DtCompileTable ( + DT_FIELD **Field, + ACPI_DMTABLE_INFO *Info, + DT_SUBTABLE **RetSubtable, + BOOLEAN Required); + + +/* dtio - binary and text input/output */ + +DT_FIELD * +DtScanFile ( + FILE *Handle); + +void +DtOutputBinary ( + DT_SUBTABLE *RootTable); + + +/* dtsubtable - compile subtables */ + +void +DtCreateSubtable ( + UINT8 *Buffer, + UINT32 Length, + DT_SUBTABLE **RetSubtable); + +UINT32 +DtGetSubtableLength ( + DT_FIELD *Field, + ACPI_DMTABLE_INFO *Info); + +void +DtSetSubtableLength ( + DT_SUBTABLE *Subtable); + +void +DtPushSubtable ( + DT_SUBTABLE *Subtable); + +void +DtPopSubtable ( + void); + +DT_SUBTABLE * +DtPeekSubtable ( + void); + +void +DtInsertSubtable ( + DT_SUBTABLE *ParentTable, + DT_SUBTABLE *Subtable); + +DT_SUBTABLE * +DtGetNextSubtable ( + DT_SUBTABLE *ParentTable, + DT_SUBTABLE *ChildTable); + +DT_SUBTABLE * +DtGetParentSubtable ( + DT_SUBTABLE *Subtable); + + +/* dtfield - Compile individual fields within a table */ + +void +DtCompileOneField ( + UINT8 *Buffer, + DT_FIELD *Field, + UINT32 ByteLength, + UINT8 Type, + UINT8 Flags); + +void +DtCompileInteger ( + UINT8 *Buffer, + DT_FIELD *Field, + UINT32 ByteLength, + UINT8 Flags); + +UINT32 +DtCompileBuffer ( + UINT8 *Buffer, + char *Value, + DT_FIELD *Field, + UINT32 ByteLength); + +void +DtCompileFlag ( + UINT8 *Buffer, + DT_FIELD *Field, + ACPI_DMTABLE_INFO *Info); + + +/* dtutils - Miscellaneous utilities */ + +typedef +void (*DT_WALK_CALLBACK) ( + DT_SUBTABLE *Subtable, + void *Context, + void *ReturnValue); + +void +DtWalkTableTree ( + DT_SUBTABLE *StartTable, + DT_WALK_CALLBACK UserFunction, + void *Context, + void *ReturnValue); + +void +DtError ( + UINT8 Level, + UINT8 MessageId, + DT_FIELD *FieldObject, + char *ExtraMessage); + +void +DtNameError ( + UINT8 Level, + UINT8 MessageId, + DT_FIELD *FieldObject, + char *ExtraMessage); + +void +DtFatal ( + UINT8 MessageId, + DT_FIELD *FieldObject, + char *ExtraMessage); + +ACPI_STATUS +DtStrtoul64 ( + char *String, + UINT64 *ReturnInteger); + +UINT32 +DtGetFileSize ( + FILE *Handle); + +char* +DtGetFieldValue ( + DT_FIELD *Field, + char *Name); + +UINT8 +DtGetFieldType ( + ACPI_DMTABLE_INFO *Info); + +UINT32 +DtGetBufferLength ( + char *Buffer); + +UINT32 +DtGetFieldLength ( + DT_FIELD *Field, + ACPI_DMTABLE_INFO *Info); + +void +DtSetTableChecksum ( + UINT8 *ChecksumPointer); + +void +DtSetTableLength( + void); + +void +DtFreeFieldList ( *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 05:59:20 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 05D841065673; Mon, 23 Aug 2010 05:59:20 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EACA18FC14; Mon, 23 Aug 2010 05:59:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7N5xJg9028912; Mon, 23 Aug 2010 05:59:19 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7N5xJE2028910; Mon, 23 Aug 2010 05:59:19 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008230559.o7N5xJE2028910@svn.freebsd.org> From: Warner Losh Date: Mon, 23 Aug 2010 05:59:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211687 - user/imp/tbemd/sys/vm X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 05:59:20 -0000 Author: imp Date: Mon Aug 23 05:59:19 2010 New Revision: 211687 URL: http://svn.freebsd.org/changeset/base/211687 Log: Revert accidental commit Modified: user/imp/tbemd/sys/vm/default_pager.c Modified: user/imp/tbemd/sys/vm/default_pager.c ============================================================================== --- user/imp/tbemd/sys/vm/default_pager.c Mon Aug 23 05:53:21 2010 (r211686) +++ user/imp/tbemd/sys/vm/default_pager.c Mon Aug 23 05:59:19 2010 (r211687) @@ -80,7 +80,7 @@ default_pager_alloc(void *handle, vm_oof vm_ooffset_t offset, struct ucred *cred) { vm_object_t object; - struct uidinfo *uip = NULL; + struct uidinfo *uip; if (handle != NULL) panic("default_pager_alloc: handle specified"); From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 06:00:21 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 917E91065672; Mon, 23 Aug 2010 06:00:21 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 824128FC08; Mon, 23 Aug 2010 06:00:21 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7N60LEY029005; Mon, 23 Aug 2010 06:00:21 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7N60L1f029003; Mon, 23 Aug 2010 06:00:21 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008230600.o7N60L1f029003@svn.freebsd.org> From: Warner Losh Date: Mon, 23 Aug 2010 06:00:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211688 - user/imp/tbemd/sys/net80211 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 06:00:21 -0000 Author: imp Date: Mon Aug 23 06:00:21 2010 New Revision: 211688 URL: http://svn.freebsd.org/changeset/base/211688 Log: style(9) is ambiguous on this. I must have hacked and commited, but reduce diffs to head Modified: user/imp/tbemd/sys/net80211/ieee80211_hwmp.c Modified: user/imp/tbemd/sys/net80211/ieee80211_hwmp.c ============================================================================== --- user/imp/tbemd/sys/net80211/ieee80211_hwmp.c Mon Aug 23 05:59:19 2010 (r211687) +++ user/imp/tbemd/sys/net80211/ieee80211_hwmp.c Mon Aug 23 06:00:21 2010 (r211688) @@ -707,9 +707,10 @@ hwmp_recv_preq(struct ieee80211vap *vap, rtorig = ieee80211_mesh_rt_find(vap, preq->preq_origaddr); if (rtorig == NULL) rtorig = ieee80211_mesh_rt_add(vap, preq->preq_origaddr); - if (rtorig == NULL) + if (rtorig == NULL) { /* XXX stat */ return; + } hrorig = IEEE80211_MESH_ROUTE_PRIV(rtorig, struct ieee80211_hwmp_route); /* * Sequence number validation. From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 06:06:55 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D7E41065673; Mon, 23 Aug 2010 06:06:55 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 63AB88FC14; Mon, 23 Aug 2010 06:06:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7N66tAv029161; Mon, 23 Aug 2010 06:06:55 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7N66t0L029158; Mon, 23 Aug 2010 06:06:55 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008230606.o7N66t0L029158@svn.freebsd.org> From: Warner Losh Date: Mon, 23 Aug 2010 06:06:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211689 - in user/imp/tbemd/sys/modules: opensolaris zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 06:06:55 -0000 Author: imp Date: Mon Aug 23 06:06:55 2010 New Revision: 211689 URL: http://svn.freebsd.org/changeset/base/211689 Log: Vastly simplify the rats-nest of ifs for the atomic ops... Modified: user/imp/tbemd/sys/modules/opensolaris/Makefile user/imp/tbemd/sys/modules/zfs/Makefile Modified: user/imp/tbemd/sys/modules/opensolaris/Makefile ============================================================================== --- user/imp/tbemd/sys/modules/opensolaris/Makefile Mon Aug 23 06:00:21 2010 (r211688) +++ user/imp/tbemd/sys/modules/opensolaris/Makefile Mon Aug 23 06:06:55 2010 (r211689) @@ -8,11 +8,12 @@ SRCS= opensolaris.c \ opensolaris_kmem.c \ opensolaris_misc.c -.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "ia64" || ${MACHINE_CPUARCH} == "sparc64" -.PATH: ${.CURDIR}/../../cddl/contrib/opensolaris/common/atomic/${MACHINE_CPUARCH} +_A=${.CURDIR}/../../cddl/contrib/opensolaris/common/atomic +.if exists(${_A}/${MACHINE_CPUARCH}/opensolaris_atomic.S) +.PATH: ${_A}/${MACHINE_CPUARCH} SRCS+= opensolaris_atomic.S -.elif ${MACHINE_ARCH} == "powerpc64" -.PATH: ${.CURDIR}/../../cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH} +.elif exists(${_A}/${MACHINE_ARCH}/opensolaris_atomic.S) +.PATH: ${_A}/${MACHINE_ARCH} SRCS+= opensolaris_atomic.S .else SRCS+= opensolaris_atomic.c Modified: user/imp/tbemd/sys/modules/zfs/Makefile ============================================================================== --- user/imp/tbemd/sys/modules/zfs/Makefile Mon Aug 23 06:00:21 2010 (r211688) +++ user/imp/tbemd/sys/modules/zfs/Makefile Mon Aug 23 06:06:55 2010 (r211689) @@ -27,11 +27,12 @@ SRCS+= opensolaris_uio.c SRCS+= opensolaris_vfs.c SRCS+= opensolaris_zone.c -.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "ia64" || ${MACHINE_CPUARCH} == "sparc64" -.PATH: ${.CURDIR}/../../cddl/contrib/opensolaris/common/atomic/${MACHINE_CPUARCH} +_A=${.CURDIR}/../../cddl/contrib/opensolaris/common/atomic +.if exists(${_A}/${MACHINE_CPUARCH}/opensolaris_atomic.S) +.PATH: ${_A}/${MACHINE_CPUARCH} SRCS+= opensolaris_atomic.S -.elif ${MACHINE_ARCH} == "powerpc64" -.PATH: ${.CURDIR}/../../cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH} +.elif exists(${_A}/${MACHINE_ARCH}/opensolaris_atomic.S) +.PATH: ${_A}/${MACHINE_ARCH} SRCS+= opensolaris_atomic.S .else SRCS+= opensolaris_atomic.c From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 06:15:09 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3296F10656A9; Mon, 23 Aug 2010 06:15:09 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0932C8FC13; Mon, 23 Aug 2010 06:15:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7N6F8RR029440; Mon, 23 Aug 2010 06:15:08 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7N6F81C029439; Mon, 23 Aug 2010 06:15:08 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008230615.o7N6F81C029439@svn.freebsd.org> From: Warner Losh Date: Mon, 23 Aug 2010 06:15:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211691 - user/imp/tbemd/sys/mips/cavium/dev X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 06:15:09 -0000 Author: imp Date: Mon Aug 23 06:15:08 2010 New Revision: 211691 URL: http://svn.freebsd.org/changeset/base/211691 Log: These were removed from the main line, but mismerged into this branch somehow. Deleted: user/imp/tbemd/sys/mips/cavium/dev/ From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 06:16:35 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A96DD1065670; Mon, 23 Aug 2010 06:16:35 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9A40A8FC16; Mon, 23 Aug 2010 06:16:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7N6GZ4m029504; Mon, 23 Aug 2010 06:16:35 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7N6GZjX029502; Mon, 23 Aug 2010 06:16:35 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008230616.o7N6GZjX029502@svn.freebsd.org> From: Warner Losh Date: Mon, 23 Aug 2010 06:16:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211692 - user/imp/tbemd/sys/kern X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 06:16:35 -0000 Author: imp Date: Mon Aug 23 06:16:35 2010 New Revision: 211692 URL: http://svn.freebsd.org/changeset/base/211692 Log: name2oid always sets len, but gcc can't grok that... but revert this to maintain small diffs against head. Modified: user/imp/tbemd/sys/kern/kern_sysctl.c Modified: user/imp/tbemd/sys/kern/kern_sysctl.c ============================================================================== --- user/imp/tbemd/sys/kern/kern_sysctl.c Mon Aug 23 06:15:08 2010 (r211691) +++ user/imp/tbemd/sys/kern/kern_sysctl.c Mon Aug 23 06:16:35 2010 (r211692) @@ -827,7 +827,7 @@ static int sysctl_sysctl_name2oid(SYSCTL_HANDLER_ARGS) { char *p; - int error, oid[CTL_MAXNAME], len = 0; + int error, oid[CTL_MAXNAME], len; struct sysctl_oid *op = 0; SYSCTL_ASSERT_LOCKED(); From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 06:17:26 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A5B6B1065696; Mon, 23 Aug 2010 06:17:26 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7B6D58FC17; Mon, 23 Aug 2010 06:17:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7N6HQC3029565; Mon, 23 Aug 2010 06:17:26 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7N6HQjW029563; Mon, 23 Aug 2010 06:17:26 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008230617.o7N6HQjW029563@svn.freebsd.org> From: Warner Losh Date: Mon, 23 Aug 2010 06:17:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211693 - user/imp/tbemd/sys/conf X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 06:17:27 -0000 Author: imp Date: Mon Aug 23 06:17:26 2010 New Revision: 211693 URL: http://svn.freebsd.org/changeset/base/211693 Log: reduce diffs to head. Modified: user/imp/tbemd/sys/conf/ldscript.mips.octeon1.32 Modified: user/imp/tbemd/sys/conf/ldscript.mips.octeon1.32 ============================================================================== --- user/imp/tbemd/sys/conf/ldscript.mips.octeon1.32 Mon Aug 23 06:16:35 2010 (r211692) +++ user/imp/tbemd/sys/conf/ldscript.mips.octeon1.32 Mon Aug 23 06:17:26 2010 (r211693) @@ -8,7 +8,7 @@ ENTRY(_start) PROVIDE (_DYNAMIC = 0); SECTIONS { - . = KERNLOADADDR; + . = KERNLOADADDR + SIZEOF_HEADERS; .text . : { From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 06:19:58 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 056A51065672; Mon, 23 Aug 2010 06:19:58 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EA9E68FC1C; Mon, 23 Aug 2010 06:19:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7N6JvTE029655; Mon, 23 Aug 2010 06:19:57 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7N6JvAK029653; Mon, 23 Aug 2010 06:19:57 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008230619.o7N6JvAK029653@svn.freebsd.org> From: Warner Losh Date: Mon, 23 Aug 2010 06:19:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211694 - user/imp/tbemd/sys/conf X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 06:19:58 -0000 Author: imp Date: Mon Aug 23 06:19:57 2010 New Revision: 211694 URL: http://svn.freebsd.org/changeset/base/211694 Log: Reduce diffs to head Modified: user/imp/tbemd/sys/conf/kern.mk Modified: user/imp/tbemd/sys/conf/kern.mk ============================================================================== --- user/imp/tbemd/sys/conf/kern.mk Mon Aug 23 06:17:26 2010 (r211693) +++ user/imp/tbemd/sys/conf/kern.mk Mon Aug 23 06:19:57 2010 (r211694) @@ -11,7 +11,7 @@ CWARNFLAGS= .else CWARNFLAGS?= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \ - -Wmissing-prototypes -Wpointer-arith -Wcast-qual \ + -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual \ -Wundef -Wno-pointer-sign -fformat-extensions .endif # From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 06:31:58 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5866F106566C; Mon, 23 Aug 2010 06:31:58 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 48E608FC14; Mon, 23 Aug 2010 06:31:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7N6VwJG030046; Mon, 23 Aug 2010 06:31:58 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7N6VwR4030044; Mon, 23 Aug 2010 06:31:58 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008230631.o7N6VwR4030044@svn.freebsd.org> From: Warner Losh Date: Mon, 23 Aug 2010 06:31:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211696 - user/imp/tbemd/sys/boot/arm/ixp425/boot2 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 06:31:58 -0000 Author: imp Date: Mon Aug 23 06:31:58 2010 New Revision: 211696 URL: http://svn.freebsd.org/changeset/base/211696 Log: Actually MACHINE here is the better fit Modified: user/imp/tbemd/sys/boot/arm/ixp425/boot2/Makefile Modified: user/imp/tbemd/sys/boot/arm/ixp425/boot2/Makefile ============================================================================== --- user/imp/tbemd/sys/boot/arm/ixp425/boot2/Makefile Mon Aug 23 06:22:35 2010 (r211695) +++ user/imp/tbemd/sys/boot/arm/ixp425/boot2/Makefile Mon Aug 23 06:31:58 2010 (r211696) @@ -20,7 +20,7 @@ NO_MAN= KERNPHYSADDR=0x180000 KERNVIRTADDR=${KERNPHYSADDR} BOOT_STACK=0x200000-4 -M=${MACHINE_CPUARCH} +M=${MACHINE} LDFLAGS=-e ${KERNPHYSADDR} -EB -T ldscript.${M} OBJS+= ${SRCS:N*.h:R:S/$/.o/g} S=${.CURDIR}/../../../.. From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 06:33:23 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E263A1065670; Mon, 23 Aug 2010 06:33:23 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B8F428FC1F; Mon, 23 Aug 2010 06:33:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7N6XNJN030121; Mon, 23 Aug 2010 06:33:23 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7N6XNwe030120; Mon, 23 Aug 2010 06:33:23 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008230633.o7N6XNwe030120@svn.freebsd.org> From: Warner Losh Date: Mon, 23 Aug 2010 06:33:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211697 - user/imp/tbemd/sys/boot/arm/uboot X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 06:33:24 -0000 Author: imp Date: Mon Aug 23 06:33:23 2010 New Revision: 211697 URL: http://svn.freebsd.org/changeset/base/211697 Log: not really needed Deleted: user/imp/tbemd/sys/boot/arm/uboot/ldscript.armeb From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 06:40:22 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 119D4106566B; Mon, 23 Aug 2010 06:40:22 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0218F8FC26; Mon, 23 Aug 2010 06:40:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7N6eLJ4030298; Mon, 23 Aug 2010 06:40:21 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7N6eLuW030295; Mon, 23 Aug 2010 06:40:21 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008230640.o7N6eLuW030295@svn.freebsd.org> From: Warner Losh Date: Mon, 23 Aug 2010 06:40:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211698 - in user/imp/tbemd: contrib/top sys/kern X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 06:40:22 -0000 Author: imp Date: Mon Aug 23 06:40:21 2010 New Revision: 211698 URL: http://svn.freebsd.org/changeset/base/211698 Log: Merge head@211697 Modified: user/imp/tbemd/sys/kern/Makefile user/imp/tbemd/sys/kern/vfs_default.c Directory Properties: user/imp/tbemd/ (props changed) user/imp/tbemd/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/contrib/bind9/ (props changed) user/imp/tbemd/contrib/ee/ (props changed) user/imp/tbemd/contrib/expat/ (props changed) user/imp/tbemd/contrib/file/ (props changed) user/imp/tbemd/contrib/gdb/ (props changed) user/imp/tbemd/contrib/gdtoa/ (props changed) user/imp/tbemd/contrib/gnu-sort/ (props changed) user/imp/tbemd/contrib/groff/ (props changed) user/imp/tbemd/contrib/less/ (props changed) user/imp/tbemd/contrib/libpcap/ (props changed) user/imp/tbemd/contrib/llvm/ (props changed) user/imp/tbemd/contrib/llvm/tools/clang/ (props changed) user/imp/tbemd/contrib/ncurses/ (props changed) user/imp/tbemd/contrib/netcat/ (props changed) user/imp/tbemd/contrib/ntp/ (props changed) user/imp/tbemd/contrib/one-true-awk/ (props changed) user/imp/tbemd/contrib/openbsm/ (props changed) user/imp/tbemd/contrib/openpam/ (props changed) user/imp/tbemd/contrib/pf/ (props changed) user/imp/tbemd/contrib/sendmail/ (props changed) user/imp/tbemd/contrib/tcpdump/ (props changed) user/imp/tbemd/contrib/tcsh/ (props changed) user/imp/tbemd/contrib/top/ (props changed) user/imp/tbemd/contrib/top/install-sh (props changed) user/imp/tbemd/contrib/tzcode/stdtime/ (props changed) user/imp/tbemd/contrib/tzcode/zic/ (props changed) user/imp/tbemd/contrib/tzdata/ (props changed) user/imp/tbemd/contrib/wpa/ (props changed) user/imp/tbemd/crypto/openssh/ (props changed) user/imp/tbemd/crypto/openssl/ (props changed) user/imp/tbemd/lib/libc/ (props changed) user/imp/tbemd/lib/libc/stdtime/ (props changed) user/imp/tbemd/lib/libutil/ (props changed) user/imp/tbemd/lib/libz/ (props changed) user/imp/tbemd/sbin/ (props changed) user/imp/tbemd/sbin/ipfw/ (props changed) user/imp/tbemd/share/zoneinfo/ (props changed) user/imp/tbemd/sys/ (props changed) user/imp/tbemd/sys/amd64/include/xen/ (props changed) user/imp/tbemd/sys/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/sys/contrib/dev/acpica/ (props changed) user/imp/tbemd/sys/contrib/pf/ (props changed) user/imp/tbemd/sys/contrib/x86emu/ (props changed) user/imp/tbemd/sys/dev/xen/xenpci/ (props changed) user/imp/tbemd/usr.bin/csup/ (props changed) user/imp/tbemd/usr.bin/procstat/ (props changed) user/imp/tbemd/usr.sbin/zic/ (props changed) Modified: user/imp/tbemd/sys/kern/Makefile ============================================================================== --- user/imp/tbemd/sys/kern/Makefile Mon Aug 23 06:33:23 2010 (r211697) +++ user/imp/tbemd/sys/kern/Makefile Mon Aug 23 06:40:21 2010 (r211698) @@ -28,7 +28,7 @@ init_sysent.c syscalls.c systrace_args.c # are placed in each source directory. We need to have links to tags files # from the generic directories that are relative to the machine type, even # via remote mounts; therefore we use symlinks to $SYSTAGS, which points at -# ${SYSDIR}/${MACHINE_CPUARCH}/tags. +# ${SYSDIR}/${MACHINE}/tags. SYSTAGS=/var/db/sys_tags SYSDIR=/sys @@ -51,7 +51,7 @@ tags:: links:: rm -f ${SYSTAGS} - ln -s ${SYSDIR}/${MACHINE_CPUARCH}/tags ${SYSTAGS} + ln -s ${SYSDIR}/${MACHINE}/tags ${SYSTAGS} -for i in ${DGEN}; do \ (cd ../$$i && { rm -f tags; ln -s ${SYSTAGS} tags; }) done -for i in ${ARCH}; do \ Modified: user/imp/tbemd/sys/kern/vfs_default.c ============================================================================== --- user/imp/tbemd/sys/kern/vfs_default.c Mon Aug 23 06:33:23 2010 (r211697) +++ user/imp/tbemd/sys/kern/vfs_default.c Mon Aug 23 06:40:21 2010 (r211698) @@ -281,10 +281,9 @@ get_next_dirent(struct vnode *vp, struct if (error) return (error); - *off = uio.uio_offset; - *cpos = dirbuf; - *len = (dirbuflen - uio.uio_resid); + *len = uio.uio_offset - *off; + *off = uio.uio_offset; } dp = (struct dirent *)(*cpos); From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 14:11:49 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B1783106564A; Mon, 23 Aug 2010 14:11:49 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from adsum.doit.wisc.edu (adsum.doit.wisc.edu [144.92.197.210]) by mx1.freebsd.org (Postfix) with ESMTP id 838358FC0A; Mon, 23 Aug 2010 14:11:49 +0000 (UTC) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII; format=flowed Received: from avs-daemon.smtpauth1.wiscmail.wisc.edu by smtpauth1.wiscmail.wisc.edu (Sun Java(tm) System Messaging Server 7u2-7.05 32bit (built Jul 30 2009)) id <0L7L00700WNOJ200@smtpauth1.wiscmail.wisc.edu>; Mon, 23 Aug 2010 08:11:48 -0500 (CDT) Received: from comporellon.tachypleus.net (adsl-75-50-89-87.dsl.mdsnwi.sbcglobal.net [75.50.89.87]) by smtpauth1.wiscmail.wisc.edu (Sun Java(tm) System Messaging Server 7u2-7.05 32bit (built Jul 30 2009)) with ESMTPSA id <0L7L00J57WNMNP40@smtpauth1.wiscmail.wisc.edu>; Mon, 23 Aug 2010 08:11:47 -0500 (CDT) Date: Mon, 23 Aug 2010 08:11:46 -0500 From: Nathan Whitehorn In-reply-to: <201008230606.o7N66t0L029158@svn.freebsd.org> To: Warner Losh Message-id: <4C727392.2050805@freebsd.org> X-Spam-Report: AuthenticatedSender=yes, SenderIP=75.50.89.87 X-Spam-PmxInfo: Server=avs-14, Version=5.6.0.2009776, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2010.8.23.130315, SenderIP=75.50.89.87 References: <201008230606.o7N66t0L029158@svn.freebsd.org> User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.1.11) Gecko/20100729 Thunderbird/3.0.6 Cc: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: Re: svn commit: r211689 - in user/imp/tbemd/sys/modules: opensolaris zfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 14:11:49 -0000 On 08/23/10 01:06, Warner Losh wrote: > Author: imp > Date: Mon Aug 23 06:06:55 2010 > New Revision: 211689 > URL: http://svn.freebsd.org/changeset/base/211689 > > Log: > Vastly simplify the rats-nest of ifs for the atomic ops... > > Modified: > user/imp/tbemd/sys/modules/opensolaris/Makefile > user/imp/tbemd/sys/modules/zfs/Makefile > > Modified: user/imp/tbemd/sys/modules/opensolaris/Makefile > ============================================================================== > --- user/imp/tbemd/sys/modules/opensolaris/Makefile Mon Aug 23 06:00:21 2010 (r211688) > +++ user/imp/tbemd/sys/modules/opensolaris/Makefile Mon Aug 23 06:06:55 2010 (r211689) > @@ -8,11 +8,12 @@ SRCS= opensolaris.c \ > opensolaris_kmem.c \ > opensolaris_misc.c > > -.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "ia64" || ${MACHINE_CPUARCH} == "sparc64" > -.PATH: ${.CURDIR}/../../cddl/contrib/opensolaris/common/atomic/${MACHINE_CPUARCH} > +_A=${.CURDIR}/../../cddl/contrib/opensolaris/common/atomic > +.if exists(${_A}/${MACHINE_CPUARCH}/opensolaris_atomic.S) > +.PATH: ${_A}/${MACHINE_CPUARCH} > SRCS+= opensolaris_atomic.S > -.elif ${MACHINE_ARCH} == "powerpc64" > -.PATH: ${.CURDIR}/../../cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH} > +.elif exists(${_A}/${MACHINE_ARCH}/opensolaris_atomic.S) > +.PATH: ${_A}/${MACHINE_ARCH} > SRCS+= opensolaris_atomic.S > .else > SRCS+= opensolaris_atomic.c > Are you sure you want to prefer CPUARCH over ARCH here? Were we ever to grow support for these atomics on 32-bit powerpc, for instance, this code would pick the wrong source files on a 64-bit build. -Nathan From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 22:21:37 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B60AF1065674; Mon, 23 Aug 2010 22:21:37 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A391D8FC23; Mon, 23 Aug 2010 22:21:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7NMLbdB055349; Mon, 23 Aug 2010 22:21:37 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7NMLbqM055340; Mon, 23 Aug 2010 22:21:37 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201008232221.o7NMLbqM055340@svn.freebsd.org> From: Edwin Groothuis Date: Mon, 23 Aug 2010 22:21:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211724 - in user/edwin/calendar: . calendars calendars/ru_RU.KOI8-R X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 22:21:37 -0000 Author: edwin Date: Mon Aug 23 22:21:37 2010 New Revision: 211724 URL: http://svn.freebsd.org/changeset/base/211724 Log: Merge with head to revision r211721 Modified: user/edwin/calendar/calendars/calendar.dutch user/edwin/calendar/calendars/calendar.freebsd user/edwin/calendar/calendars/calendar.history user/edwin/calendar/calendars/ru_RU.KOI8-R/calendar.common (contents, props changed) user/edwin/calendar/io.c user/edwin/calendar/locale.c user/edwin/calendar/parsedata.c user/edwin/calendar/sunpos.c Directory Properties: user/edwin/calendar/ (props changed) Modified: user/edwin/calendar/calendars/calendar.dutch ============================================================================== --- user/edwin/calendar/calendars/calendar.dutch Mon Aug 23 22:09:25 2010 (r211723) +++ user/edwin/calendar/calendars/calendar.dutch Mon Aug 23 22:21:37 2010 (r211724) @@ -18,7 +18,7 @@ mei/01 Dag van de Arbeid mei/04 Dodenherdenking mei/05 Bevrijdingsdag okt/04 Dierendag -nov/01 Allerheilingen +nov/01 Allerheiligen nov/02 Allerzielen nov/11 Sint Maarten nov/11 Elfde-van-de-elfde Modified: user/edwin/calendar/calendars/calendar.freebsd ============================================================================== --- user/edwin/calendar/calendars/calendar.freebsd Mon Aug 23 22:09:25 2010 (r211723) +++ user/edwin/calendar/calendars/calendar.freebsd Mon Aug 23 22:21:37 2010 (r211724) @@ -72,6 +72,7 @@ 03/03 Doug White born in Eugene, Oregon, United States, 1977 03/03 Gordon Tetlow born in Reno, Nevada, United States, 1978 03/04 Oleksandr Tymoshenko born in Chernihiv, Ukraine, 1980 +03/05 Baptiste Daroussin born in Beauvais, France, 1980 03/05 Philip Paeps born in Leuven, Belgium, 1983 03/05 Ulf Lilleengen born in Hamar, Norway, 1985 03/06 Christopher Piazza born in Kamloops, British Columbia, Canada, 1981 @@ -82,6 +83,7 @@ 03/12 Greg Lewis born in Adelaide, South Australia, Australia, 1969 03/13 Alexander Leidinger born in Neunkirchen, Saarland, Germany, 1976 03/13 Will Andrews born in Pontiac, Michigan, United States, 1982 +03/14 Bernhard Froehlich born in Graz, Styria, Austria, 1985 03/15 Paolo Pisati born in Lodi, Italy, 1977 03/15 Brian Fundakowski Feldman born in Alexandria, Virginia, United States, 1983 03/17 Michael Smith born in Bankstown, New South Wales, Australia, 1971 @@ -91,6 +93,7 @@ 03/20 MANTANI Nobutaka born in Hiroshima, Japan, 1978 03/20 Cameron Grant died in Hemel Hempstead, United Kingdom, 2005 03/20 Henrik Brix Andersen born in Aarhus, Denmark, 1978 +03/20 Joseph S. Atkinson born in Batesville, Arkansas, United States, 1977 03/22 Brad Davis born in Farmington, New Mexico, United States, 1983 03/23 Daniel C. Sobral born in Brasilia, Distrito Federal, Brazil, 1971 03/23 Benno Rice born in Adelaide, South Australia, Australia, 1977 @@ -198,6 +201,7 @@ 07/19 Masafumi NAKANE born in Okazaki, Aichi, Japan, 1972 07/19 Simon L. Nielsen born in Copenhagen, Denmark, 1980 07/19 Gleb Smirnoff born in Kharkov, USSR, 1981 +07/20 Andrey V. Elsukov born in Kotelnich, Russian Federation, 1981 07/22 James Housley born in Chicago, Illinois, United States, 1965 07/22 Jens Schweikhardt born in Waiblingen, Baden-Wuerttemberg, Germany, 1967 07/22 Lukas Ertl born in Weissenbach/Enns, Steiermark, Austria, 1976 @@ -247,6 +251,7 @@ 09/12 Benedict Christopher Reuschling born in Darmstadt, Germany, 1981 09/15 Dima Panov born in Khabarovsk, Russian Federation, 1978 09/17 Maxim Bolotin born in Rostov-on-Don, Russian Federation, 1976 +09/18 Matthew Fleming born in Cleveland, Ohio, United States, 1975 09/20 Kevin Lo born in Taipei, Taiwan, Republic of China, 1972 09/27 Neil Blakey-Milner born in Port Elizabeth, South Africa, 1978 09/27 Renato Botelho born in Araras, Sao Paulo, Brazil, 1979 @@ -279,6 +284,7 @@ 11/10 Gregory Neil Shapiro born in Providence, Rhode Island, United States, 1970 11/13 John Baldwin born in Stuart, Virginia, United States, 1977 11/15 Lars Engels born in Hilden, Nordrhein-Westfalen, Germany, 1980 +11/15 Tijl Coosemans born in Duffel, Belgium, 1983 11/16 Jose Maria Alcaide Salinas born in Madrid, Spain, 1962 11/17 Ralf S. Engelschall born in Dachau, Bavaria, Germany, 1972 11/18 Thomas Quinot born in Paris, France, 1977 Modified: user/edwin/calendar/calendars/calendar.history ============================================================================== --- user/edwin/calendar/calendars/calendar.history Mon Aug 23 22:09:25 2010 (r211723) +++ user/edwin/calendar/calendars/calendar.history Mon Aug 23 22:21:37 2010 (r211724) @@ -80,7 +80,6 @@ 03/15 Watts, Los Angeles, riots kill two, injure 25, 1966 03/15 Ides of March. Gaius Julius Caesar assassinated by senators, including adoptive son Marcus Junius Brutus Caepio, 44BC -03/16 First liquid-fuel-powered rocket flight, 1926 03/16 MyLai Massacre; 300 non-combatant villagers killed by US infantrymen 03/16 Robert Goddard launches first liquid-fueled rocket, Auburn MA, 1926 03/17 Vanguard I launched, 1958. Earth proved pear-shaped Modified: user/edwin/calendar/calendars/ru_RU.KOI8-R/calendar.common ============================================================================== --- user/edwin/calendar/calendars/ru_RU.KOI8-R/calendar.common Mon Aug 23 22:09:25 2010 (r211723) +++ user/edwin/calendar/calendars/ru_RU.KOI8-R/calendar.common Mon Aug 23 22:21:37 2010 (r211724) @@ -18,6 +18,7 @@ LANG=ru_RU.KOI8-R 10 ÆÅ× äÅÎØ ÄÉÐÌÏÍÁÔÉÞÅÓËÏÇÏ ÒÁÂÏÔÎÉËÁ 1 ÍÁÒ ÷ÓÅÍÉÒÎÙÊ ÄÅÎØ ÇÒÁÖÄÁÎÓËÏÊ ÏÂÏÒÏÎÙ 03/SunSecond äÅÎØ ÒÁÂÏÔÎÉËÏ× ÇÅÏÄÅÚÉÉ É ËÁÒÔÏÇÒÁÆÉÉ +11 ÍÁÒ äÅÎØ ÒÁÂÏÔÎÉËÁ ÏÒÇÁÎÏ× ÎÁÒËÏËÏÎÔÒÏÌÑ 18 ÍÁÒ äÅÎØ ÎÁÌÏÇÏ×ÏÊ ÐÏÌÉÃÉÉ 03/SunThird äÅÎØ ÒÁÂÏÔÎÉËÏ× ÔÏÒÇÏ×ÌÉ, ÂÙÔÏ×ÏÇÏ ÏÂÓÌÕÖÉ×ÁÎÉÑ ÎÁÓÅÌÅÎÉÑ É ÖÉÌÉÝÎÏ-ËÏÍÍÕÎÁÌØÎÏÇÏ ÈÏÚÑÊÓÔ×Á 27 ÍÁÒ íÅÖÄÕÎÁÒÏÄÎÙÊ ÄÅÎØ ÔÅÁÔÒÁ @@ -33,22 +34,28 @@ LANG=ru_RU.KOI8-R 17 ÍÁÊ íÅÖÄÕÎÁÒÏÄÎÙÊ ÄÅÎØ ÔÅÌÅËÏÍÍÕÎÉËÁÃÉÊ 18 ÍÁÊ íÅÖÄÕÎÁÒÏÄÎÙÊ ÄÅÎØ ÍÕÚÅÅ× 24 ÍÁÊ äÅÎØ ÓÌÁ×ÑÎÓËÏÊ ÐÉÓØÍÅÎÎÏÓÔÉ É ËÕÌØÔÕÒÙ +26 ÍÁÊ äÅÎØ ÒÏÓÓÉÊÓËÏÇÏ ÐÒÅÄÐÒÉÎÉÍÁÔÅÌØÓÔ×Á 27 ÍÁÊ ïÂÝÅÒÏÓÓÉÊÓËÉÊ ÄÅÎØ ÂÉÂÌÉÏÔÅË 28 ÍÁÊ äÅÎØ ÐÏÇÒÁÎÉÞÎÉËÁ +30 ÍÁÊ äÅÎØ ÐÏÖÁÒÎÏÊ ÏÈÒÁÎÙ +31 ÍÁÊ äÅÎØ òÏÓÓÉÊÓËÏÊ áÄ×ÏËÁÔÕÒÙ 05/SunLast äÅÎØ ÈÉÍÉËÁ 1 ÉÀÎ äÅÎØ ÚÁÝÉÔÙ ÄÅÔÅÊ + 5 ÉÀÎ äÅÎØ ÜËÏÌÏÇÁ 6 ÉÀÎ ðÕÛËÉÎÓËÉÊ ÄÅÎØ 8 ÉÀÎ äÅÎØ ÓÏÃÉÁÌØÎÏÇÏ ÒÁÂÏÔÎÉËÁ 06/SunSecond äÅÎØ ÒÁÂÏÔÎÉËÏ× ÌÅÇËÏÊ ÐÒÏÍÙÛÌÅÎÎÏÓÔÉ 06/SunThird äÅÎØ ÍÅÄÉÃÉÎÓËÏÇÏ ÒÁÂÏÔÎÉËÁ 22 ÉÀÎ äÅÎØ ÐÁÍÑÔÉ É ÓËÏÒÂÉ (îÁÞÁÌÏ ÷ÅÌÉËÏÊ ïÔÅÞÅÓÔ×ÅÎÎÏÊ ÷ÏÊÎÙ, 1941 ÇÏÄ) 27 ÉÀÎ äÅÎØ ÍÏÌÏÄÅÖÉ +29 ÉÀÎ äÅÎØ ÐÁÒÔÉÚÁÎ É ÐÏÄÐÏÌØÝÉËÏ× 06/SatLast äÅÎØ ÉÚÏÂÒÅÔÁÔÅÌÑ É ÒÁÃÉÏÎÁÌÉÚÁÔÏÒÁ 07/SunFirst äÅÎØ ÒÁÂÏÔÎÉËÏ× ÍÏÒÓËÏÇÏ É ÒÅÞÎÏÇÏ ÆÌÏÔÁ 07/SunSecond äÅÎØ ÒÙÂÁËÁ 07/SunSecond äÅÎØ ÒÏÓÓÉÊÓËÏÊ ÐÏÞÔÙ 07/SunThird äÅÎØ ÍÅÔÁÌÌÕÒÇÁ 07/SunLast äÅÎØ ÷ÏÅÎÎÏ-íÏÒÓËÏÇÏ æÌÏÔÁ +28 ÉÀÌ äÅÎØ ËÒÅÝÅÎÉÑ òÕÓÉ 6 Á×Ç äÅÎØ ÖÅÌÅÚÎÏÄÏÒÏÖÎÙÈ ×ÏÊÓË 08/SunFirst äÅÎØ ÖÅÌÅÚÎÏÄÏÒÏÖÎÉËÁ 12 Á×Ç äÅÎØ ×ÏÅÎÎÏ-×ÏÚÄÕÛÎÙÈ ÓÉÌ @@ -59,12 +66,16 @@ LANG=ru_RU.KOI8-R 08/SunLast äÅÎØ ÛÁÈÔÅÒÁ 1 ÓÅÎ äÅÎØ ÚÎÁÎÉÊ 2 ÓÅÎ äÅÎØ ÒÏÓÓÉÊÓËÏÊ Ç×ÁÒÄÉÉ + 3 ÓÅÎ äÅÎØ ÓÏÌÉÄÁÒÎÏÓÔÉ × ÂÏÒØÂÅ Ó ÔÅÒÒÏÒÉÚÍÏÍ + 4 ÓÅÎ äÅÎØ ÓÐÅÃÉÁÌÉÓÔÁ ÐÏ ÑÄÅÒÎÏÍÕ ÏÂÅÓÐÅÞÅÎÉÀ 09/SunFirst äÅÎØ ÒÁÂÏÔÎÉËÏ× ÎÅÆÔÑÎÏÊ É ÇÁÚÏ×ÏÊ ÐÒÏÍÙÛÌÅÎÎÏÓÔÉ 09/SunSecond äÅÎØ ÔÁÎËÉÓÔÁ 09/SunThird äÅÎØ ÒÁÂÏÔÎÉËÏ× ÌÅÓÁ +28 ÓÅÎ äÅÎØ ÒÁÂÏÔÎÉËÁ ÁÔÏÍÎÏÊ ÐÒÏÍÙÛÌÅÎÎÏÓÔÉ 09/SunLast äÅÎØ ÍÁÛÉÎÏÓÔÒÏÉÔÅÌÑ 1 ÏËÔ äÅÎØ ÐÏÖÉÌÙÈ ÌÀÄÅÊ - 4 ÏËÔ äÅÎØ ×ÏÅÎÎÏ-ËÏÓÍÉÞÅÓËÉÈ ÓÉÌ + 1 ÏËÔ äÅÎØ ÓÕÈÏÐÕÔÎÙÈ ×ÏÊÓË + 4 ÏËÔ äÅÎØ ËÏÓÍÉÞÅÓËÉÈ ×ÏÊÓË 5 ÏËÔ äÅÎØ ÕÞÉÔÅÌÑ 14 ÏËÔ íÅÖÄÕÎÁÒÏÄÎÙÊ ÄÅÎØ ÓÔÁÎÄÁÒÔÉÚÁÃÉÉ 10/SunSecond äÅÎØ ÒÁÂÏÔÎÉËÏ× ÓÅÌØÓËÏÇÏ ÈÏÚÑÊÓÔ×Á É ÐÅÒÅÒÁÂÁÔÙ×ÁÀÝÅÊ ÐÒÏÍÙÛÌÅÎÎÏÓÔÉ @@ -73,15 +84,19 @@ LANG=ru_RU.KOI8-R 25 ÏËÔ äÅÎØ ÔÁÍÏÖÅÎÎÉËÁ 30 ÏËÔ äÅÎØ ÐÁÍÑÔÉ ÖÅÒÔ× ÐÏÌÉÔÉÞÅÓËÉÈ ÒÅÐÒÅÓÓÉÊ 10/SunLast äÅÎØ ÒÁÂÏÔÎÉËÏ× Á×ÔÏÍÏÂÉÌØÎÏÇÏ ÔÒÁÎÓÐÏÒÔÁ + 7 ÎÏÑ äÅÎØ ÏËÔÑÂÒØÓËÏÊ ÒÅ×ÏÌÀÃÉÉ 1917 ÇÏÄÁ 9 ÎÏÑ ÷ÓÅÍÉÒÎÙÊ ÄÅÎØ ËÁÞÅÓÔ×Á 10 ÎÏÑ äÅÎØ ÍÉÌÉÃÉÉ 16 ÎÏÑ äÅÎØ ÍÏÒÓËÏÊ ÐÅÈÏÔÙ 17 ÎÏÑ íÅÖÄÕÎÁÒÏÄÎÙÊ ÄÅÎØ ÓÔÕÄÅÎÔÏ× -11/SunThird äÅÎØ ÒÁËÅÔÎÙÈ ×ÏÊÓË É ÁÒÔÉÌÌÅÒÉÉ +19 ÎÏÑ äÅÎØ ÒÁËÅÔÎÙÈ ×ÏÊÓË É ÁÒÔÉÌÌÅÒÉÉ 21 ÎÏÑ äÅÎØ ÒÁÂÏÔÎÉËÏ× ÎÁÌÏÇÏ×ÙÈ ÏÒÇÁÎÏ× 26 ÎÏÑ ÷ÓÅÍÉÒÎÙÊ ÄÅÎØ ÉÎÆÏÒÍÁÃÉÉ 11/SunLast äÅÎØ ÍÁÔÅÒÉ 1 ÄÅË ÷ÓÅÍÉÒÎÙÊ ÄÅÎØ ÂÏÒØÂÙ ÓÏ óðéäÏÍ + 3 ÄÅË äÅÎØ ÀÒÉÓÔÁ + 9 ÄÅË äÅÎØ çÅÒÏÅ× ïÔÅÞÅÓÔ×Á +12 ÄÅË äÅÎØ ëÏÎÓÔÉÔÕÃÉÉ 17 ÄÅË äÅÎØ ÒÁËÅÔÎÙÈ ×ÏÊÓË ÓÔÒÁÔÅÇÉÞÅÓËÏÇÏ ÎÁÚÎÁÞÅÎÉÑ 20 ÄÅË äÅÎØ ÒÁÂÏÔÎÉËÁ ÏÒÇÁÎÏ× ÂÅÚÏÐÁÓÎÏÓÔÉ 22 ÄÅË äÅÎØ ÜÎÅÒÇÅÔÉËÁ Modified: user/edwin/calendar/io.c ============================================================================== --- user/edwin/calendar/io.c Mon Aug 23 22:09:25 2010 (r211723) +++ user/edwin/calendar/io.c Mon Aug 23 22:21:37 2010 (r211724) @@ -107,8 +107,10 @@ cal(void) tm.tm_wday = 0; count = 0; - if ((fp = opencal()) == NULL) + if ((fp = opencal()) == NULL) { + free(extradata); return; + } while (fgets(buf, sizeof(buf), stdin) != NULL) { if ((pp = strchr(buf, '\n')) != NULL) *pp = '\0'; @@ -155,15 +157,15 @@ cal(void) } /* Get rid of leading spaces (non-standard) */ - while (isspace(buf[0])) - memcpy(buf, buf + 1, strlen(buf) - 1); + while (isspace((unsigned char)buf[0])) + memcpy(buf, buf + 1, strlen(buf)); /* No tab in the line, then not a valid line */ if ((pp = strchr(buf, '\t')) == NULL) continue; /* Trim spaces in front of the tab */ - while (isspace(pp[-1])) + while (isspace((unsigned char)pp[-1])) pp--; p = *pp; @@ -203,6 +205,7 @@ cal(void) event_print_all(fp); closecal(fp); + free(extradata); } FILE * @@ -226,7 +229,8 @@ opencal(void) char *home = getenv("HOME"); if (home == NULL || *home == '\0') errx(1, "cannot get home directory"); - chdir(home); + if (chdir(home) != 0) + errx(1, "cannot enter home directory"); for (found = i = 0; i < sizeof(calendarHomes) / sizeof(calendarHomes[0]); i++) if (chdir(calendarHomes[i]) == 0 && Modified: user/edwin/calendar/locale.c ============================================================================== --- user/edwin/calendar/locale.c Mon Aug 23 22:09:25 2010 (r211723) +++ user/edwin/calendar/locale.c Mon Aug 23 22:21:37 2010 (r211724) @@ -76,6 +76,7 @@ setnnames(void) int i, l; struct tm tm; + memset(&tm, 0, sizeof(struct tm)); for (i = 0; i < 7; i++) { tm.tm_wday = i; strftime(buf, sizeof(buf), "%a", &tm); @@ -103,6 +104,7 @@ setnnames(void) fndays[i].len = strlen(buf); } + memset(&tm, 0, sizeof(struct tm)); for (i = 0; i < 12; i++) { tm.tm_mon = i; strftime(buf, sizeof(buf), "%b", &tm); @@ -141,12 +143,12 @@ setnsequences(char *seq) for (i = 0; i < 5; i++) { nsequences[i].name = p; if ((p = strchr(p, ' ')) == NULL) { + /* Oh oh there is something wrong. Erase! Erase! */ for (i = 0; i < 5; i++) { nsequences[i].name = NULL; nsequences[i].len = 0; - return; } - + return; } *p = '\0'; p++; Modified: user/edwin/calendar/parsedata.c ============================================================================== --- user/edwin/calendar/parsedata.c Mon Aug 23 22:09:25 2010 (r211723) +++ user/edwin/calendar/parsedata.c Mon Aug 23 22:21:37 2010 (r211724) @@ -872,7 +872,7 @@ isonlydigits(char *s, int nostar) for (i = 0; s[i] != '\0'; i++) { if (nostar == 0 && s[i] == '*' && s[i + 1] == '\0') return 1; - if (!isdigit(s[i])) + if (!isdigit((unsigned char)s[i])) return (0); } return (1); Modified: user/edwin/calendar/sunpos.c ============================================================================== --- user/edwin/calendar/sunpos.c Mon Aug 23 22:09:25 2010 (r211723) +++ user/edwin/calendar/sunpos.c Mon Aug 23 22:21:37 2010 (r211724) @@ -226,26 +226,24 @@ fequinoxsolstice(int year, double UTCoff * It happens when the returned value "dec" goes from * [350 ... 360> -> [0 ... 10] */ - found = 0; - prevdec = 350; for (d = 18; d < 31; d++) { -// printf("Comparing day %d to %d.\n", d, d+1); + /* printf("Comparing day %d to %d.\n", d, d+1); */ sunpos(year, 3, d, UTCoffset, 0, 0, 0, 0.0, 0.0, &L, &decleft); sunpos(year, 3, d + 1, UTCoffset, 0, 0, 0, 0.0, 0.0, &L, &decright); -// printf("Found %g and %g.\n", decleft, decright); + /* printf("Found %g and %g.\n", decleft, decright); */ if (SIGN(decleft) == SIGN(decright)) continue; dial = SECSPERDAY; s = SECSPERDAY / 2; while (s > 0) { -// printf("Obtaining %d (%02d:%02d)\n", -// dial, SHOUR(dial), SMIN(dial)); + /* printf("Obtaining %d (%02d:%02d)\n", + dial, SHOUR(dial), SMIN(dial)); */ sunpos(year, 3, d, UTCoffset, SHOUR(dial), SMIN(dial), SSEC(dial), 0.0, 0.0, &L, &decmiddle); -// printf("Found %g\n", decmiddle); + /* printf("Found %g\n", decmiddle); */ if (SIGN(decleft) == SIGN(decmiddle)) { decleft = decmiddle; dial += s; @@ -253,7 +251,9 @@ fequinoxsolstice(int year, double UTCoff decright = decmiddle; dial -= s; } -// printf("New boundaries: %g - %g\n", decleft, decright); + /* + printf("New boundaries: %g - %g\n", decleft, decright); + */ s /= 2; } @@ -265,26 +265,24 @@ fequinoxsolstice(int year, double UTCoff * It happens when the returned value "dec" goes from * [10 ... 0] -> <360 ... 350] */ - found = 0; - prevdec = 10; for (d = 18; d < 31; d++) { -// printf("Comparing day %d to %d.\n", d, d+1); + /* printf("Comparing day %d to %d.\n", d, d+1); */ sunpos(year, 9, d, UTCoffset, 0, 0, 0, 0.0, 0.0, &L, &decleft); sunpos(year, 9, d + 1, UTCoffset, 0, 0, 0, 0.0, 0.0, &L, &decright); -// printf("Found %g and %g.\n", decleft, decright); + /* printf("Found %g and %g.\n", decleft, decright); */ if (SIGN(decleft) == SIGN(decright)) continue; dial = SECSPERDAY; s = SECSPERDAY / 2; while (s > 0) { -// printf("Obtaining %d (%02d:%02d)\n", -// dial, SHOUR(dial), SMIN(dial)); + /* printf("Obtaining %d (%02d:%02d)\n", + dial, SHOUR(dial), SMIN(dial)); */ sunpos(year, 9, d, UTCoffset, SHOUR(dial), SMIN(dial), SSEC(dial), 0.0, 0.0, &L, &decmiddle); -// printf("Found %g\n", decmiddle); + /* printf("Found %g\n", decmiddle); */ if (SIGN(decleft) == SIGN(decmiddle)) { decleft = decmiddle; dial += s; @@ -292,7 +290,9 @@ fequinoxsolstice(int year, double UTCoff decright = decmiddle; dial -= s; } -// printf("New boundaries: %g - %g\n", decleft, decright); + /* + printf("New boundaries: %g - %g\n", decleft, decright); + */ s /= 2; } From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 22:41:49 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 97B1C10656D9; Mon, 23 Aug 2010 22:41:49 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6C3458FC1F; Mon, 23 Aug 2010 22:41:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7NMfnm5055875; Mon, 23 Aug 2010 22:41:49 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7NMfn9E055872; Mon, 23 Aug 2010 22:41:49 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201008232241.o7NMfn9E055872@svn.freebsd.org> From: Nathan Whitehorn Date: Mon, 23 Aug 2010 22:41:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211726 - in user/nwhitehorn/ps3/powerpc: include ps3 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 22:41:49 -0000 Author: nwhitehorn Date: Mon Aug 23 22:41:49 2010 New Revision: 211726 URL: http://svn.freebsd.org/changeset/base/211726 Log: Fix propagation of ref/changed bits out of the page table. Thanks to Geoff Levand of SCE for explaining how lv1_read_htab_entries() works. Unfortunately, this does not fix some userspace programs from crashing after a fork()... Modified: user/nwhitehorn/ps3/powerpc/include/pte.h user/nwhitehorn/ps3/powerpc/ps3/mmu_ps3.c Modified: user/nwhitehorn/ps3/powerpc/include/pte.h ============================================================================== --- user/nwhitehorn/ps3/powerpc/include/pte.h Mon Aug 23 22:24:11 2010 (r211725) +++ user/nwhitehorn/ps3/powerpc/include/pte.h Mon Aug 23 22:41:49 2010 (r211726) @@ -94,6 +94,7 @@ struct lpteg { /* High quadword: */ #define LPTE_VSID_SHIFT 12 +#define LPTE_AVPN_MASK 0xFFFFFFFFFFFFFF80ULL #define LPTE_API 0x0000000000000F80ULL #define LPTE_WIRED 0x0000000000000010ULL #define LPTE_LOCKED 0x0000000000000008ULL Modified: user/nwhitehorn/ps3/powerpc/ps3/mmu_ps3.c ============================================================================== --- user/nwhitehorn/ps3/powerpc/ps3/mmu_ps3.c Mon Aug 23 22:24:11 2010 (r211725) +++ user/nwhitehorn/ps3/powerpc/ps3/mmu_ps3.c Mon Aug 23 22:41:49 2010 (r211726) @@ -50,7 +50,8 @@ #include "mmu_if.h" #include "ps3-hvcall.h" -#define VSID_HASH_MASK 0x0000007fffffffffULL +#define VSID_HASH_MASK 0x0000007fffffffffUL +#define LV1_READ_HTAB_LO_MASK 0xfffUL extern int ps3fb_remap(void); @@ -198,10 +199,23 @@ mps3_pte_synch(struct lpte *pt, struct l uint64_t halfbucket[4], rcbits; uint64_t slot = (uint64_t)(pt)-1; + __asm __volatile("ptesync"); lv1_read_htab_entries(mps3_vas_id, slot & ~0x3UL, &halfbucket[0], &halfbucket[1], &halfbucket[2], &halfbucket[3], &rcbits); - pvo_pt->pte_lo |= ((rcbits >> (slot & 0x3)) & 0x3) << 7; + /* + * rcbits contains the low 12 bits of each PTEs 2nd part, + * spaced at 16-bit intervals + */ + + KASSERT((halfbucket[slot & 0x3] & LPTE_AVPN_MASK) == + (pvo_pt->pte_hi & LPTE_AVPN_MASK), + ("PTE upper word %#lx != %#lx\n", + halfbucket[slot & 0x3], pvo_pt->pte_hi)); + + pvo_pt->pte_lo &= ~LV1_READ_HTAB_LO_MASK; + pvo_pt->pte_lo |= (rcbits >> ((3 - (slot & 0x3))*16)) & + LV1_READ_HTAB_LO_MASK; } static void @@ -219,6 +233,7 @@ mps3_pte_unset(struct lpte *pt, struct l { uint64_t slot = (uint64_t)(pt)-1; + mps3_pte_synch(pt, pvo_pt); pvo_pt->pte_hi &= ~LPTE_VALID; lv1_write_htab_entry(mps3_vas_id, slot, 0, 0); moea64_pte_valid--; @@ -229,6 +244,7 @@ mps3_pte_change(struct lpte *pt, struct { uint64_t slot = (uint64_t)(pt)-1; + mps3_pte_synch(pt, pvo_pt); pvo_pt->pte_hi |= LPTE_VALID; lv1_write_htab_entry(mps3_vas_id, slot & ~0x3UL, pvo_pt->pte_hi, pvo_pt->pte_lo); From owner-svn-src-user@FreeBSD.ORG Mon Aug 23 22:58:14 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 34E921065698; Mon, 23 Aug 2010 22:58:14 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1FBCC8FC1E; Mon, 23 Aug 2010 22:58:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7NMwEi7056322; Mon, 23 Aug 2010 22:58:14 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7NMwDj5056303; Mon, 23 Aug 2010 22:58:13 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201008232258.o7NMwDj5056303@svn.freebsd.org> From: Nathan Whitehorn Date: Mon, 23 Aug 2010 22:58:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211727 - in user/nwhitehorn/ps3: amd64/acpica amd64/amd64 amd64/conf amd64/ia32 amd64/include arm/include boot boot/arm/ixp425/boot2 boot/arm/uboot boot/common boot/efi/libefi boot/fic... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Aug 2010 22:58:14 -0000 Author: nwhitehorn Date: Mon Aug 23 22:58:13 2010 New Revision: 211727 URL: http://svn.freebsd.org/changeset/base/211727 Log: MFC @ 211726 Added: user/nwhitehorn/ps3/boot/Makefile.amd64 - copied unchanged from r211726, head/sys/boot/Makefile.amd64 user/nwhitehorn/ps3/boot/Makefile.arm - copied unchanged from r211726, head/sys/boot/Makefile.arm user/nwhitehorn/ps3/boot/Makefile.i386 - copied unchanged from r211726, head/sys/boot/Makefile.i386 user/nwhitehorn/ps3/boot/Makefile.ia64 - copied unchanged from r211726, head/sys/boot/Makefile.ia64 user/nwhitehorn/ps3/boot/Makefile.pc98 - copied unchanged from r211726, head/sys/boot/Makefile.pc98 user/nwhitehorn/ps3/boot/Makefile.powerpc - copied unchanged from r211726, head/sys/boot/Makefile.powerpc user/nwhitehorn/ps3/boot/Makefile.sparc64 - copied unchanged from r211726, head/sys/boot/Makefile.sparc64 user/nwhitehorn/ps3/cddl/dev/dtrace/amd64/regset.h - copied unchanged from r211726, head/sys/cddl/dev/dtrace/amd64/regset.h user/nwhitehorn/ps3/cddl/dev/dtrace/i386/regset.h - copied unchanged from r211726, head/sys/cddl/dev/dtrace/i386/regset.h user/nwhitehorn/ps3/contrib/dev/acpica/utilities/utosi.c - copied unchanged from r211726, head/sys/contrib/dev/acpica/utilities/utosi.c user/nwhitehorn/ps3/dev/tpm/ - copied from r211726, head/sys/dev/tpm/ user/nwhitehorn/ps3/mips/atheros/ar71xx_chip.c - copied unchanged from r211726, head/sys/mips/atheros/ar71xx_chip.c user/nwhitehorn/ps3/mips/atheros/ar71xx_chip.h - copied unchanged from r211726, head/sys/mips/atheros/ar71xx_chip.h user/nwhitehorn/ps3/mips/atheros/ar71xx_cpudef.h - copied unchanged from r211726, head/sys/mips/atheros/ar71xx_cpudef.h user/nwhitehorn/ps3/mips/atheros/ar71xx_setup.c - copied unchanged from r211726, head/sys/mips/atheros/ar71xx_setup.c user/nwhitehorn/ps3/mips/atheros/ar71xx_setup.h - copied unchanged from r211726, head/sys/mips/atheros/ar71xx_setup.h user/nwhitehorn/ps3/mips/atheros/ar724x_chip.c - copied unchanged from r211726, head/sys/mips/atheros/ar724x_chip.c user/nwhitehorn/ps3/mips/atheros/ar724x_chip.h - copied unchanged from r211726, head/sys/mips/atheros/ar724x_chip.h user/nwhitehorn/ps3/mips/atheros/ar724xreg.h - copied unchanged from r211726, head/sys/mips/atheros/ar724xreg.h user/nwhitehorn/ps3/mips/atheros/ar91xx_chip.c - copied unchanged from r211726, head/sys/mips/atheros/ar91xx_chip.c user/nwhitehorn/ps3/mips/atheros/ar91xx_chip.h - copied unchanged from r211726, head/sys/mips/atheros/ar91xx_chip.h user/nwhitehorn/ps3/mips/atheros/ar91xxreg.h - copied unchanged from r211726, head/sys/mips/atheros/ar91xxreg.h user/nwhitehorn/ps3/modules/if_carp/ - copied from r211726, head/sys/modules/if_carp/ user/nwhitehorn/ps3/modules/send/ - copied from r211726, head/sys/modules/send/ user/nwhitehorn/ps3/modules/tpm/ - copied from r211726, head/sys/modules/tpm/ user/nwhitehorn/ps3/netinet6/send.c - copied unchanged from r211726, head/sys/netinet6/send.c user/nwhitehorn/ps3/netinet6/send.h - copied unchanged from r211726, head/sys/netinet6/send.h Modified: user/nwhitehorn/ps3/amd64/acpica/acpi_switch.S user/nwhitehorn/ps3/amd64/acpica/acpi_wakecode.S user/nwhitehorn/ps3/amd64/acpica/acpi_wakeup.c user/nwhitehorn/ps3/amd64/amd64/cpu_switch.S user/nwhitehorn/ps3/amd64/amd64/genassym.c user/nwhitehorn/ps3/amd64/amd64/initcpu.c user/nwhitehorn/ps3/amd64/amd64/mp_machdep.c user/nwhitehorn/ps3/amd64/amd64/mptable_pci.c user/nwhitehorn/ps3/amd64/amd64/pmap.c user/nwhitehorn/ps3/amd64/amd64/trap.c user/nwhitehorn/ps3/amd64/amd64/tsc.c user/nwhitehorn/ps3/amd64/amd64/vm_machdep.c user/nwhitehorn/ps3/amd64/conf/GENERIC user/nwhitehorn/ps3/amd64/ia32/ia32_signal.c user/nwhitehorn/ps3/amd64/ia32/ia32_syscall.c user/nwhitehorn/ps3/amd64/include/elf.h user/nwhitehorn/ps3/amd64/include/pcb.h user/nwhitehorn/ps3/amd64/include/smp.h user/nwhitehorn/ps3/arm/include/elf.h user/nwhitehorn/ps3/arm/include/pmap.h user/nwhitehorn/ps3/boot/Makefile user/nwhitehorn/ps3/boot/arm/ixp425/boot2/Makefile user/nwhitehorn/ps3/boot/arm/uboot/Makefile user/nwhitehorn/ps3/boot/common/Makefile.inc user/nwhitehorn/ps3/boot/common/loader.8 user/nwhitehorn/ps3/boot/efi/libefi/Makefile user/nwhitehorn/ps3/boot/ficl/Makefile user/nwhitehorn/ps3/boot/i386/Makefile.inc user/nwhitehorn/ps3/boot/i386/boot2/Makefile user/nwhitehorn/ps3/boot/i386/gptboot/Makefile user/nwhitehorn/ps3/boot/i386/gptzfsboot/Makefile user/nwhitehorn/ps3/boot/i386/libfirewire/Makefile user/nwhitehorn/ps3/boot/i386/libi386/Makefile user/nwhitehorn/ps3/boot/i386/loader/Makefile user/nwhitehorn/ps3/boot/i386/zfsboot/Makefile user/nwhitehorn/ps3/boot/ia64/common/Makefile user/nwhitehorn/ps3/boot/ia64/efi/Makefile user/nwhitehorn/ps3/boot/ia64/ski/Makefile user/nwhitehorn/ps3/boot/ofw/libofw/Makefile user/nwhitehorn/ps3/boot/uboot/lib/Makefile user/nwhitehorn/ps3/boot/zfs/Makefile user/nwhitehorn/ps3/boot/zfs/zfsimpl.c user/nwhitehorn/ps3/cam/cam.c user/nwhitehorn/ps3/cam/scsi/scsi_target.c user/nwhitehorn/ps3/cddl/compat/opensolaris/kern/opensolaris_misc.c user/nwhitehorn/ps3/cddl/compat/opensolaris/sys/misc.h user/nwhitehorn/ps3/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c user/nwhitehorn/ps3/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c user/nwhitehorn/ps3/cddl/contrib/opensolaris/uts/common/sys/dtrace.h user/nwhitehorn/ps3/cddl/contrib/opensolaris/uts/common/sys/dtrace_impl.h user/nwhitehorn/ps3/cddl/contrib/opensolaris/uts/common/sys/fasttrap.h user/nwhitehorn/ps3/cddl/contrib/opensolaris/uts/common/sys/fasttrap_impl.h user/nwhitehorn/ps3/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h user/nwhitehorn/ps3/cddl/dev/dtrace/amd64/dtrace_isa.c user/nwhitehorn/ps3/cddl/dev/dtrace/amd64/instr_size.c user/nwhitehorn/ps3/cddl/dev/dtrace/dtrace_cddl.h user/nwhitehorn/ps3/cddl/dev/dtrace/dtrace_ioctl.c user/nwhitehorn/ps3/cddl/dev/dtrace/dtrace_load.c user/nwhitehorn/ps3/cddl/dev/dtrace/dtrace_unload.c user/nwhitehorn/ps3/cddl/dev/dtrace/i386/dtrace_isa.c user/nwhitehorn/ps3/cddl/dev/dtrace/i386/instr_size.c user/nwhitehorn/ps3/cddl/dev/systrace/systrace.c user/nwhitehorn/ps3/compat/freebsd32/freebsd32.h user/nwhitehorn/ps3/compat/freebsd32/freebsd32_misc.c user/nwhitehorn/ps3/compat/x86bios/x86bios.c user/nwhitehorn/ps3/compat/x86bios/x86bios.h user/nwhitehorn/ps3/conf/NOTES user/nwhitehorn/ps3/conf/files user/nwhitehorn/ps3/conf/files.i386 user/nwhitehorn/ps3/conf/files.powerpc user/nwhitehorn/ps3/conf/kern.mk user/nwhitehorn/ps3/conf/kern.post.mk user/nwhitehorn/ps3/conf/kern.pre.mk user/nwhitehorn/ps3/conf/kmod.mk user/nwhitehorn/ps3/conf/makeLINT.mk user/nwhitehorn/ps3/conf/options.mips user/nwhitehorn/ps3/contrib/dev/acpica/changes.txt user/nwhitehorn/ps3/contrib/dev/acpica/common/adisasm.c user/nwhitehorn/ps3/contrib/dev/acpica/common/dmextern.c user/nwhitehorn/ps3/contrib/dev/acpica/compiler/aslcompiler.h user/nwhitehorn/ps3/contrib/dev/acpica/compiler/aslglobal.h user/nwhitehorn/ps3/contrib/dev/acpica/compiler/aslmain.c user/nwhitehorn/ps3/contrib/dev/acpica/compiler/aslstartup.c user/nwhitehorn/ps3/contrib/dev/acpica/debugger/dbcmds.c user/nwhitehorn/ps3/contrib/dev/acpica/debugger/dbinput.c user/nwhitehorn/ps3/contrib/dev/acpica/events/evxfevnt.c user/nwhitehorn/ps3/contrib/dev/acpica/executer/exfldio.c user/nwhitehorn/ps3/contrib/dev/acpica/executer/exprep.c user/nwhitehorn/ps3/contrib/dev/acpica/include/acdebug.h user/nwhitehorn/ps3/contrib/dev/acpica/include/acdisasm.h user/nwhitehorn/ps3/contrib/dev/acpica/include/acglobal.h user/nwhitehorn/ps3/contrib/dev/acpica/include/aclocal.h user/nwhitehorn/ps3/contrib/dev/acpica/include/acobject.h user/nwhitehorn/ps3/contrib/dev/acpica/include/acpiosxf.h user/nwhitehorn/ps3/contrib/dev/acpica/include/acpixf.h user/nwhitehorn/ps3/contrib/dev/acpica/include/actypes.h user/nwhitehorn/ps3/contrib/dev/acpica/include/acutils.h user/nwhitehorn/ps3/contrib/dev/acpica/osunixxf.c user/nwhitehorn/ps3/contrib/dev/acpica/utilities/uteval.c user/nwhitehorn/ps3/contrib/dev/acpica/utilities/utglobal.c user/nwhitehorn/ps3/contrib/dev/acpica/utilities/utinit.c user/nwhitehorn/ps3/contrib/dev/acpica/utilities/utmutex.c user/nwhitehorn/ps3/contrib/dev/acpica/utilities/utxface.c user/nwhitehorn/ps3/dev/acpica/Osd/OsdHardware.c user/nwhitehorn/ps3/dev/acpica/Osd/OsdMemory.c user/nwhitehorn/ps3/dev/acpica/acpi.c user/nwhitehorn/ps3/dev/acpica/acpi_ec.c user/nwhitehorn/ps3/dev/acpica/acpi_pcib.c user/nwhitehorn/ps3/dev/acpica/acpi_pcib_acpi.c user/nwhitehorn/ps3/dev/acpica/acpi_pcib_pci.c user/nwhitehorn/ps3/dev/acpica/acpi_pcibvar.h user/nwhitehorn/ps3/dev/acpica/acpivar.h user/nwhitehorn/ps3/dev/aic7xxx/aicasm/Makefile user/nwhitehorn/ps3/dev/alc/if_alc.c user/nwhitehorn/ps3/dev/alc/if_alcreg.h user/nwhitehorn/ps3/dev/alc/if_alcvar.h user/nwhitehorn/ps3/dev/ath/ath_hal/ar5212/ar5212.h user/nwhitehorn/ps3/dev/ath/ath_hal/ar5212/ar5212_misc.c user/nwhitehorn/ps3/dev/ath/ath_hal/ar5416/ar5416.ini user/nwhitehorn/ps3/dev/ath/ath_hal/ar5416/ar5416_cal.c user/nwhitehorn/ps3/dev/ath/ath_hal/ar5416/ar5416_cal_iq.c user/nwhitehorn/ps3/dev/ath/ath_hal/ar5416/ar5416_reset.c user/nwhitehorn/ps3/dev/ath/ath_hal/ar5416/ar9160.ini user/nwhitehorn/ps3/dev/ath/ath_hal/ar5416/ar9285_reset.c user/nwhitehorn/ps3/dev/ath/if_ath.c user/nwhitehorn/ps3/dev/ath/if_athioctl.h user/nwhitehorn/ps3/dev/bge/if_bge.c user/nwhitehorn/ps3/dev/bge/if_bgereg.h user/nwhitehorn/ps3/dev/bwi/if_bwi.c user/nwhitehorn/ps3/dev/bwn/if_bwn.c user/nwhitehorn/ps3/dev/cfe/cfe_env.c user/nwhitehorn/ps3/dev/coretemp/coretemp.c user/nwhitehorn/ps3/dev/cxgb/common/cxgb_common.h user/nwhitehorn/ps3/dev/cxgb/common/cxgb_t3_hw.c user/nwhitehorn/ps3/dev/cxgb/common/cxgb_xgmac.c user/nwhitehorn/ps3/dev/cxgb/cxgb_main.c user/nwhitehorn/ps3/dev/drm/drm_pciids.h user/nwhitehorn/ps3/dev/e1000/if_igb.c user/nwhitehorn/ps3/dev/ed/if_ed.c user/nwhitehorn/ps3/dev/fb/vesa.c user/nwhitehorn/ps3/dev/flash/mx25l.c user/nwhitehorn/ps3/dev/iicbus/iic.h user/nwhitehorn/ps3/dev/iscsi/initiator/isc_cam.c user/nwhitehorn/ps3/dev/iscsi/initiator/isc_sm.c user/nwhitehorn/ps3/dev/iscsi/initiator/isc_soc.c user/nwhitehorn/ps3/dev/iscsi/initiator/isc_subr.c user/nwhitehorn/ps3/dev/iscsi/initiator/iscsi.c user/nwhitehorn/ps3/dev/iscsi/initiator/iscsi.h user/nwhitehorn/ps3/dev/iscsi/initiator/iscsi_subr.c user/nwhitehorn/ps3/dev/iscsi/initiator/iscsivar.h user/nwhitehorn/ps3/dev/iwn/if_iwn.c user/nwhitehorn/ps3/dev/mii/atphy.c user/nwhitehorn/ps3/dev/mii/e1000phy.c user/nwhitehorn/ps3/dev/mii/miidevs user/nwhitehorn/ps3/dev/mpt/mpt_pci.c user/nwhitehorn/ps3/dev/null/null.c user/nwhitehorn/ps3/dev/pci/pci.c user/nwhitehorn/ps3/dev/pci/pci_pci.c user/nwhitehorn/ps3/dev/pci/pci_private.h user/nwhitehorn/ps3/dev/pci/pcib_if.m user/nwhitehorn/ps3/dev/pci/pcib_private.h user/nwhitehorn/ps3/dev/ral/rt2560.c user/nwhitehorn/ps3/dev/ral/rt2661.c user/nwhitehorn/ps3/dev/sound/pci/hda/hdac.c user/nwhitehorn/ps3/dev/ste/if_ste.c user/nwhitehorn/ps3/dev/usb/quirk/usb_quirk.c user/nwhitehorn/ps3/dev/usb/serial/uplcom.c user/nwhitehorn/ps3/dev/usb/serial/uslcom.c user/nwhitehorn/ps3/dev/usb/usbdevs user/nwhitehorn/ps3/dev/usb/wlan/if_rum.c user/nwhitehorn/ps3/dev/usb/wlan/if_run.c user/nwhitehorn/ps3/dev/usb/wlan/if_ural.c user/nwhitehorn/ps3/dev/usb/wlan/if_zyd.c user/nwhitehorn/ps3/dev/wpi/if_wpi.c user/nwhitehorn/ps3/dev/xl/if_xl.c user/nwhitehorn/ps3/dev/xl/if_xlreg.h user/nwhitehorn/ps3/fs/coda/coda.h user/nwhitehorn/ps3/fs/coda/coda_venus.c user/nwhitehorn/ps3/fs/coda/coda_vnops.c user/nwhitehorn/ps3/fs/devfs/devfs.h user/nwhitehorn/ps3/fs/devfs/devfs_devs.c user/nwhitehorn/ps3/fs/devfs/devfs_rule.c user/nwhitehorn/ps3/fs/devfs/devfs_vfsops.c user/nwhitehorn/ps3/fs/devfs/devfs_vnops.c user/nwhitehorn/ps3/fs/nfs/nfs_var.h user/nwhitehorn/ps3/fs/nfsclient/nfs_clnode.c user/nwhitehorn/ps3/fs/nfsclient/nfs_clport.c user/nwhitehorn/ps3/fs/nfsclient/nfs_clstate.c user/nwhitehorn/ps3/fs/nfsclient/nfs_clsubs.c user/nwhitehorn/ps3/fs/nfsclient/nfs_clvnops.c user/nwhitehorn/ps3/fs/nwfs/nwfs_node.c user/nwhitehorn/ps3/fs/pseudofs/pseudofs_vncache.c user/nwhitehorn/ps3/fs/smbfs/smbfs_node.c user/nwhitehorn/ps3/fs/tmpfs/tmpfs.h user/nwhitehorn/ps3/fs/tmpfs/tmpfs_subr.c user/nwhitehorn/ps3/fs/tmpfs/tmpfs_vnops.c user/nwhitehorn/ps3/geom/mirror/g_mirror.c user/nwhitehorn/ps3/geom/part/g_part.c user/nwhitehorn/ps3/geom/sched/g_sched.c user/nwhitehorn/ps3/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c user/nwhitehorn/ps3/i386/acpica/Makefile user/nwhitehorn/ps3/i386/conf/GENERIC user/nwhitehorn/ps3/i386/i386/initcpu.c user/nwhitehorn/ps3/i386/i386/mp_machdep.c user/nwhitehorn/ps3/i386/i386/mptable_pci.c user/nwhitehorn/ps3/i386/i386/pmap.c user/nwhitehorn/ps3/i386/i386/trap.c user/nwhitehorn/ps3/i386/i386/tsc.c user/nwhitehorn/ps3/i386/i386/vm_machdep.c user/nwhitehorn/ps3/i386/include/elf.h user/nwhitehorn/ps3/i386/include/smp.h user/nwhitehorn/ps3/i386/include/vm86.h user/nwhitehorn/ps3/i386/pci/pci_bus.c user/nwhitehorn/ps3/i386/xen/mp_machdep.c user/nwhitehorn/ps3/i386/xen/pmap.c user/nwhitehorn/ps3/ia64/ia32/ia32_signal.c user/nwhitehorn/ps3/ia64/ia64/mp_machdep.c user/nwhitehorn/ps3/ia64/ia64/trap.c user/nwhitehorn/ps3/ia64/include/elf.h user/nwhitehorn/ps3/ia64/include/smp.h user/nwhitehorn/ps3/kern/Makefile user/nwhitehorn/ps3/kern/imgact_elf.c user/nwhitehorn/ps3/kern/init_main.c user/nwhitehorn/ps3/kern/kern_conf.c user/nwhitehorn/ps3/kern/kern_cons.c user/nwhitehorn/ps3/kern/kern_dtrace.c user/nwhitehorn/ps3/kern/kern_exec.c user/nwhitehorn/ps3/kern/kern_exit.c user/nwhitehorn/ps3/kern/kern_fork.c user/nwhitehorn/ps3/kern/kern_ktrace.c user/nwhitehorn/ps3/kern/kern_lock.c user/nwhitehorn/ps3/kern/kern_malloc.c user/nwhitehorn/ps3/kern/kern_priv.c user/nwhitehorn/ps3/kern/kern_proc.c user/nwhitehorn/ps3/kern/kern_sig.c user/nwhitehorn/ps3/kern/kern_timeout.c user/nwhitehorn/ps3/kern/sched_4bsd.c user/nwhitehorn/ps3/kern/sched_ule.c user/nwhitehorn/ps3/kern/subr_autoconf.c user/nwhitehorn/ps3/kern/subr_bus.c user/nwhitehorn/ps3/kern/subr_param.c user/nwhitehorn/ps3/kern/subr_rtc.c user/nwhitehorn/ps3/kern/subr_sleepqueue.c user/nwhitehorn/ps3/kern/subr_smp.c user/nwhitehorn/ps3/kern/subr_taskqueue.c user/nwhitehorn/ps3/kern/subr_trap.c user/nwhitehorn/ps3/kern/tty.c user/nwhitehorn/ps3/kern/uipc_socket.c user/nwhitehorn/ps3/kern/vfs_bio.c user/nwhitehorn/ps3/kern/vfs_cache.c user/nwhitehorn/ps3/kern/vfs_cluster.c user/nwhitehorn/ps3/kern/vfs_default.c user/nwhitehorn/ps3/kern/vfs_lookup.c user/nwhitehorn/ps3/kern/vfs_subr.c user/nwhitehorn/ps3/kern/vfs_syscalls.c user/nwhitehorn/ps3/mips/atheros/ar71xx_machdep.c user/nwhitehorn/ps3/mips/atheros/ar71xx_pci.c user/nwhitehorn/ps3/mips/atheros/ar71xx_wdog.c user/nwhitehorn/ps3/mips/atheros/ar71xxreg.h user/nwhitehorn/ps3/mips/atheros/files.ar71xx user/nwhitehorn/ps3/mips/atheros/if_arge.c user/nwhitehorn/ps3/mips/atheros/if_argevar.h user/nwhitehorn/ps3/mips/atheros/uart_bus_ar71xx.c user/nwhitehorn/ps3/mips/atheros/uart_cpu_ar71xx.c user/nwhitehorn/ps3/mips/conf/XLR user/nwhitehorn/ps3/mips/conf/XLR64 user/nwhitehorn/ps3/mips/conf/XLRN32 user/nwhitehorn/ps3/mips/include/bus.h user/nwhitehorn/ps3/mips/include/cpuregs.h user/nwhitehorn/ps3/mips/include/elf.h user/nwhitehorn/ps3/mips/include/endian.h user/nwhitehorn/ps3/mips/include/intr_machdep.h user/nwhitehorn/ps3/mips/include/param.h user/nwhitehorn/ps3/mips/include/pmap.h user/nwhitehorn/ps3/mips/include/pte.h user/nwhitehorn/ps3/mips/include/smp.h user/nwhitehorn/ps3/mips/include/vmparam.h user/nwhitehorn/ps3/mips/mips/exception.S user/nwhitehorn/ps3/mips/mips/genassym.c user/nwhitehorn/ps3/mips/mips/locore.S user/nwhitehorn/ps3/mips/mips/machdep.c user/nwhitehorn/ps3/mips/mips/mp_machdep.c user/nwhitehorn/ps3/mips/mips/mpboot.S user/nwhitehorn/ps3/mips/mips/pm_machdep.c user/nwhitehorn/ps3/mips/mips/pmap.c user/nwhitehorn/ps3/mips/mips/tick.c user/nwhitehorn/ps3/mips/mips/trap.c user/nwhitehorn/ps3/mips/mips/vm_machdep.c user/nwhitehorn/ps3/mips/rmi/on_chip.c user/nwhitehorn/ps3/mips/rmi/std.xlr user/nwhitehorn/ps3/mips/rmi/xlr_machdep.c user/nwhitehorn/ps3/mips/sibyte/sb_machdep.c user/nwhitehorn/ps3/mips/sibyte/sb_scd.c user/nwhitehorn/ps3/mips/sibyte/sb_zbpci.c user/nwhitehorn/ps3/modules/Makefile user/nwhitehorn/ps3/modules/aac/Makefile user/nwhitehorn/ps3/modules/acpi/acpi/Makefile user/nwhitehorn/ps3/modules/agp/Makefile user/nwhitehorn/ps3/modules/amr/Makefile user/nwhitehorn/ps3/modules/asr/Makefile user/nwhitehorn/ps3/modules/bge/Makefile user/nwhitehorn/ps3/modules/cpufreq/Makefile user/nwhitehorn/ps3/modules/cxgb/Makefile user/nwhitehorn/ps3/modules/cyclic/Makefile user/nwhitehorn/ps3/modules/dtrace/Makefile user/nwhitehorn/ps3/modules/dtrace/Makefile.inc user/nwhitehorn/ps3/modules/dtrace/dtrace/Makefile user/nwhitehorn/ps3/modules/dtrace/fasttrap/Makefile user/nwhitehorn/ps3/modules/em/Makefile user/nwhitehorn/ps3/modules/hptmv/Makefile user/nwhitehorn/ps3/modules/hptrr/Makefile user/nwhitehorn/ps3/modules/hwpmc/Makefile user/nwhitehorn/ps3/modules/i2c/controllers/pcf/Makefile user/nwhitehorn/ps3/modules/igb/Makefile user/nwhitehorn/ps3/modules/io/Makefile user/nwhitehorn/ps3/modules/ixgbe/Makefile user/nwhitehorn/ps3/modules/le/Makefile user/nwhitehorn/ps3/modules/linprocfs/Makefile user/nwhitehorn/ps3/modules/linsysfs/Makefile user/nwhitehorn/ps3/modules/linux/Makefile user/nwhitehorn/ps3/modules/mem/Makefile user/nwhitehorn/ps3/modules/mfi/Makefile user/nwhitehorn/ps3/modules/ndis/Makefile user/nwhitehorn/ps3/modules/ppc/Makefile user/nwhitehorn/ps3/modules/procfs/Makefile user/nwhitehorn/ps3/modules/sem/Makefile user/nwhitehorn/ps3/modules/smbfs/Makefile user/nwhitehorn/ps3/modules/sound/driver/Makefile user/nwhitehorn/ps3/modules/svr4/Makefile user/nwhitehorn/ps3/modules/syscons/Makefile user/nwhitehorn/ps3/modules/uart/Makefile user/nwhitehorn/ps3/modules/usb/Makefile user/nwhitehorn/ps3/modules/vx/Makefile user/nwhitehorn/ps3/modules/x86bios/Makefile user/nwhitehorn/ps3/net/if.c user/nwhitehorn/ps3/net/if_bridge.c user/nwhitehorn/ps3/net/if_ethersubr.c user/nwhitehorn/ps3/net/if_vlan.c user/nwhitehorn/ps3/net/rtsock.c user/nwhitehorn/ps3/net/vnet.c user/nwhitehorn/ps3/net80211/ieee80211.c user/nwhitehorn/ps3/net80211/ieee80211_node.c user/nwhitehorn/ps3/net80211/ieee80211_sta.c user/nwhitehorn/ps3/net80211/ieee80211_var.h user/nwhitehorn/ps3/netgraph/bluetooth/l2cap/ng_l2cap_cmds.h user/nwhitehorn/ps3/netinet/if_ether.c user/nwhitehorn/ps3/netinet/in.c user/nwhitehorn/ps3/netinet/in.h user/nwhitehorn/ps3/netinet/in_proto.c user/nwhitehorn/ps3/netinet/ip_carp.c user/nwhitehorn/ps3/netinet/ip_carp.h user/nwhitehorn/ps3/netinet/ip_divert.c user/nwhitehorn/ps3/netinet/ip_icmp.c user/nwhitehorn/ps3/netinet/ip_input.c user/nwhitehorn/ps3/netinet/libalias/alias_db.c user/nwhitehorn/ps3/netinet/raw_ip.c user/nwhitehorn/ps3/netinet/sctp_output.c user/nwhitehorn/ps3/netinet/tcp_input.c user/nwhitehorn/ps3/netinet/tcp_output.c user/nwhitehorn/ps3/netinet/tcp_subr.c user/nwhitehorn/ps3/netinet/tcp_syncache.c user/nwhitehorn/ps3/netinet/tcp_var.h user/nwhitehorn/ps3/netinet/udp_usrreq.c user/nwhitehorn/ps3/netinet6/icmp6.c user/nwhitehorn/ps3/netinet6/in6_proto.c user/nwhitehorn/ps3/netinet6/nd6.c user/nwhitehorn/ps3/netinet6/nd6_nbr.c user/nwhitehorn/ps3/netinet6/raw_ip6.c user/nwhitehorn/ps3/nfsclient/nfs_node.c user/nwhitehorn/ps3/nfsclient/nfs_vnops.c user/nwhitehorn/ps3/opencrypto/cryptodev.c user/nwhitehorn/ps3/opencrypto/deflate.c user/nwhitehorn/ps3/pci/if_rl.c user/nwhitehorn/ps3/powerpc/aim/trap.c user/nwhitehorn/ps3/powerpc/booke/trap.c user/nwhitehorn/ps3/powerpc/conf/Makefile user/nwhitehorn/ps3/powerpc/conf/NOTES user/nwhitehorn/ps3/powerpc/include/elf.h user/nwhitehorn/ps3/powerpc/include/pmap.h user/nwhitehorn/ps3/powerpc/include/smp.h user/nwhitehorn/ps3/powerpc/powerpc/mp_machdep.c user/nwhitehorn/ps3/security/mac/mac_framework.c user/nwhitehorn/ps3/security/mac/mac_internal.h user/nwhitehorn/ps3/sparc64/include/cache.h user/nwhitehorn/ps3/sparc64/include/elf.h user/nwhitehorn/ps3/sparc64/include/pmap.h user/nwhitehorn/ps3/sparc64/include/smp.h user/nwhitehorn/ps3/sparc64/sparc64/cache.c user/nwhitehorn/ps3/sparc64/sparc64/genassym.c user/nwhitehorn/ps3/sparc64/sparc64/mem.c user/nwhitehorn/ps3/sparc64/sparc64/mp_exception.S user/nwhitehorn/ps3/sparc64/sparc64/mp_machdep.c user/nwhitehorn/ps3/sparc64/sparc64/pmap.c user/nwhitehorn/ps3/sparc64/sparc64/tick.c user/nwhitehorn/ps3/sparc64/sparc64/trap.c user/nwhitehorn/ps3/sparc64/sparc64/uio_machdep.c user/nwhitehorn/ps3/sparc64/sparc64/vm_machdep.c user/nwhitehorn/ps3/sun4v/include/elf.h user/nwhitehorn/ps3/sun4v/include/smp.h user/nwhitehorn/ps3/sun4v/sun4v/mp_machdep.c user/nwhitehorn/ps3/sun4v/sun4v/pmap.c user/nwhitehorn/ps3/sun4v/sun4v/trap.c user/nwhitehorn/ps3/sys/cdefs.h user/nwhitehorn/ps3/sys/conf.h user/nwhitehorn/ps3/sys/imgact.h user/nwhitehorn/ps3/sys/ktrace.h user/nwhitehorn/ps3/sys/link_elf.h user/nwhitehorn/ps3/sys/lockmgr.h user/nwhitehorn/ps3/sys/mbuf.h user/nwhitehorn/ps3/sys/param.h user/nwhitehorn/ps3/sys/sdt.h user/nwhitehorn/ps3/sys/sysent.h user/nwhitehorn/ps3/sys/vnode.h user/nwhitehorn/ps3/teken/teken_subr.h user/nwhitehorn/ps3/tools/vnode_if.awk user/nwhitehorn/ps3/ufs/ffs/ffs_softdep.c user/nwhitehorn/ps3/ufs/ffs/ffs_vfsops.c user/nwhitehorn/ps3/vm/device_pager.c user/nwhitehorn/ps3/vm/memguard.c user/nwhitehorn/ps3/vm/memguard.h user/nwhitehorn/ps3/vm/uma.h user/nwhitehorn/ps3/vm/uma_core.c user/nwhitehorn/ps3/vm/vm_extern.h user/nwhitehorn/ps3/vm/vm_kern.c user/nwhitehorn/ps3/vm/vm_mmap.c Directory Properties: user/nwhitehorn/ps3/ (props changed) user/nwhitehorn/ps3/amd64/include/xen/ (props changed) user/nwhitehorn/ps3/boot/powerpc/ps3/ (props changed) user/nwhitehorn/ps3/cddl/contrib/opensolaris/ (props changed) user/nwhitehorn/ps3/contrib/dev/acpica/ (props changed) user/nwhitehorn/ps3/contrib/pf/ (props changed) user/nwhitehorn/ps3/contrib/x86emu/ (props changed) user/nwhitehorn/ps3/dev/xen/xenpci/ (props changed) user/nwhitehorn/ps3/powerpc/ps3/ (props changed) Modified: user/nwhitehorn/ps3/amd64/acpica/acpi_switch.S ============================================================================== --- user/nwhitehorn/ps3/amd64/acpica/acpi_switch.S Mon Aug 23 22:41:49 2010 (r211726) +++ user/nwhitehorn/ps3/amd64/acpica/acpi_switch.S Mon Aug 23 22:58:13 2010 (r211727) @@ -1,7 +1,7 @@ /*- * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI - * Copyright (c) 2008-2009 Jung-uk Kim + * Copyright (c) 2008-2010 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -34,14 +34,11 @@ #include "acpi_wakedata.h" #include "assym.s" -#define WAKEUP_CTX(member) wakeup_ ## member - wakeup_ctx(%rdi) -#define WAKEUP_PCB(member) PCB_ ## member(%r11) -#define WAKEUP_XPCB(member) XPCB_ ## member(%r11) +#define WAKEUP_CTX(member) wakeup_ ## member - wakeup_ctx(%rsi) ENTRY(acpi_restorecpu) /* Switch to KPML4phys. */ - movq %rsi, %rax - movq %rax, %cr3 + movq %rdi, %cr3 /* Restore GDT. */ lgdt WAKEUP_CTX(gdt) @@ -49,7 +46,7 @@ ENTRY(acpi_restorecpu) 1: /* Fetch PCB. */ - movq WAKEUP_CTX(xpcb), %r11 + movq WAKEUP_CTX(pcb), %rdi /* Force kernel segment registers. */ movl $KDSEL, %eax @@ -62,16 +59,16 @@ ENTRY(acpi_restorecpu) movw %ax, %gs movl $MSR_FSBASE, %ecx - movl WAKEUP_PCB(FSBASE), %eax - movl 4 + WAKEUP_PCB(FSBASE), %edx + movl PCB_FSBASE(%rdi), %eax + movl 4 + PCB_FSBASE(%rdi), %edx wrmsr movl $MSR_GSBASE, %ecx - movl WAKEUP_PCB(GSBASE), %eax - movl 4 + WAKEUP_PCB(GSBASE), %edx + movl PCB_GSBASE(%rdi), %eax + movl 4 + PCB_GSBASE(%rdi), %edx wrmsr movl $MSR_KGSBASE, %ecx - movl WAKEUP_XPCB(KGSBASE), %eax - movl 4 + WAKEUP_XPCB(KGSBASE), %edx + movl PCB_KGSBASE(%rdi), %eax + movl 4 + PCB_KGSBASE(%rdi), %edx wrmsr /* Restore EFER. */ @@ -103,19 +100,20 @@ ENTRY(acpi_restorecpu) wrmsr /* Restore CR0 except for FPU mode. */ - movq WAKEUP_XPCB(CR0), %rax + movq PCB_CR0(%rdi), %rax + movq %rax, %rcx andq $~(CR0_EM | CR0_TS), %rax movq %rax, %cr0 /* Restore CR2 and CR4. */ - movq WAKEUP_XPCB(CR2), %rax + movq PCB_CR2(%rdi), %rax movq %rax, %cr2 - movq WAKEUP_XPCB(CR4), %rax + movq PCB_CR4(%rdi), %rax movq %rax, %cr4 /* Restore descriptor tables. */ - lidt WAKEUP_XPCB(IDT) - lldt WAKEUP_XPCB(LDT) + lidt PCB_IDT(%rdi) + lldt PCB_LDT(%rdi) #define SDT_SYSTSS 9 #define SDT_SYSBSY 11 @@ -123,48 +121,44 @@ ENTRY(acpi_restorecpu) /* Clear "task busy" bit and reload TR. */ movq PCPU(TSS), %rax andb $(~SDT_SYSBSY | SDT_SYSTSS), 5(%rax) - movw WAKEUP_XPCB(TR), %ax + movw PCB_TR(%rdi), %ax ltr %ax #undef SDT_SYSTSS #undef SDT_SYSBSY /* Restore other callee saved registers. */ - movq WAKEUP_PCB(R15), %r15 - movq WAKEUP_PCB(R14), %r14 - movq WAKEUP_PCB(R13), %r13 - movq WAKEUP_PCB(R12), %r12 - movq WAKEUP_PCB(RBP), %rbp - movq WAKEUP_PCB(RSP), %rsp - movq WAKEUP_PCB(RBX), %rbx + movq PCB_R15(%rdi), %r15 + movq PCB_R14(%rdi), %r14 + movq PCB_R13(%rdi), %r13 + movq PCB_R12(%rdi), %r12 + movq PCB_RBP(%rdi), %rbp + movq PCB_RSP(%rdi), %rsp + movq PCB_RBX(%rdi), %rbx /* Restore debug registers. */ - movq WAKEUP_PCB(DR0), %rax + movq PCB_DR0(%rdi), %rax movq %rax, %dr0 - movq WAKEUP_PCB(DR1), %rax + movq PCB_DR1(%rdi), %rax movq %rax, %dr1 - movq WAKEUP_PCB(DR2), %rax + movq PCB_DR2(%rdi), %rax movq %rax, %dr2 - movq WAKEUP_PCB(DR3), %rax + movq PCB_DR3(%rdi), %rax movq %rax, %dr3 - movq WAKEUP_PCB(DR6), %rax + movq PCB_DR6(%rdi), %rax movq %rax, %dr6 - movq WAKEUP_PCB(DR7), %rax + movq PCB_DR7(%rdi), %rax movq %rax, %dr7 /* Restore FPU state. */ - movq PCPU(FPCURTHREAD), %rax - testq %rax, %rax - je 1f - fxrstor WAKEUP_PCB(USERFPU) -1: + fninit + fxrstor PCB_USERFPU(%rdi) - /* Restore CR0 with FPU mode. */ - movq WAKEUP_XPCB(CR0), %rax - movq %rax, %cr0 + /* Reload CR0. */ + movq %rcx, %cr0 /* Restore return address. */ - movq WAKEUP_PCB(RIP), %rax + movq PCB_RIP(%rdi), %rax movq %rax, (%rsp) /* Indicate the CPU is resumed. */ @@ -173,19 +167,3 @@ ENTRY(acpi_restorecpu) ret END(acpi_restorecpu) - -ENTRY(acpi_savecpu) - /* Fetch XPCB and save CPU context. */ - movq %rdi, %r10 - call savectx2 - movq %r10, %r11 - - /* Patch caller's return address and stack pointer. */ - movq (%rsp), %rax - movq %rax, WAKEUP_PCB(RIP) - movq %rsp, %rax - movq %rax, WAKEUP_PCB(RSP) - - movl $1, %eax - ret -END(acpi_savecpu) Modified: user/nwhitehorn/ps3/amd64/acpica/acpi_wakecode.S ============================================================================== --- user/nwhitehorn/ps3/amd64/acpica/acpi_wakecode.S Mon Aug 23 22:41:49 2010 (r211726) +++ user/nwhitehorn/ps3/amd64/acpica/acpi_wakecode.S Mon Aug 23 22:58:13 2010 (r211727) @@ -2,7 +2,7 @@ * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI * Copyright (c) 2003 Peter Wemm - * Copyright (c) 2008-2009 Jung-uk Kim + * Copyright (c) 2008-2010 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -210,8 +210,8 @@ wakeup_64: mov %ax, %ds /* Restore arguments and return. */ - movq wakeup_ctx - wakeup_start(%rbx), %rdi - movq wakeup_kpml4 - wakeup_start(%rbx), %rsi + movq wakeup_kpml4 - wakeup_start(%rbx), %rdi + movq wakeup_ctx - wakeup_start(%rbx), %rsi movq wakeup_retaddr - wakeup_start(%rbx), %rax jmp *%rax @@ -265,7 +265,7 @@ wakeup_kpml4: wakeup_ctx: .quad 0 -wakeup_xpcb: +wakeup_pcb: .quad 0 wakeup_gdt: .word 0 Modified: user/nwhitehorn/ps3/amd64/acpica/acpi_wakeup.c ============================================================================== --- user/nwhitehorn/ps3/amd64/acpica/acpi_wakeup.c Mon Aug 23 22:41:49 2010 (r211726) +++ user/nwhitehorn/ps3/amd64/acpica/acpi_wakeup.c Mon Aug 23 22:58:13 2010 (r211727) @@ -2,7 +2,7 @@ * Copyright (c) 2001 Takanori Watanabe * Copyright (c) 2001 Mitsuru IWASAKI * Copyright (c) 2003 Peter Wemm - * Copyright (c) 2008-2009 Jung-uk Kim + * Copyright (c) 2008-2010 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -66,13 +66,12 @@ extern int acpi_resume_beep; extern int acpi_reset_video; #ifdef SMP -extern struct xpcb **stopxpcbs; +extern struct pcb **susppcbs; #else -static struct xpcb **stopxpcbs; +static struct pcb **susppcbs; #endif -int acpi_restorecpu(struct xpcb *, vm_offset_t); -int acpi_savecpu(struct xpcb *); +int acpi_restorecpu(vm_offset_t, struct pcb *); static void *acpi_alloc_wakeup_handler(void); static void acpi_stop_beep(void *); @@ -105,10 +104,10 @@ acpi_wakeup_ap(struct acpi_softc *sc, in int apic_id = cpu_apic_ids[cpu]; int ms; - WAKECODE_FIXUP(wakeup_xpcb, struct xpcb *, stopxpcbs[cpu]); - WAKECODE_FIXUP(wakeup_gdt, uint16_t, stopxpcbs[cpu]->xpcb_gdt.rd_limit); + WAKECODE_FIXUP(wakeup_pcb, struct pcb *, susppcbs[cpu]); + WAKECODE_FIXUP(wakeup_gdt, uint16_t, susppcbs[cpu]->pcb_gdt.rd_limit); WAKECODE_FIXUP(wakeup_gdt + 2, uint64_t, - stopxpcbs[cpu]->xpcb_gdt.rd_base); + susppcbs[cpu]->pcb_gdt.rd_base); WAKECODE_FIXUP(wakeup_cpu, int, cpu); /* do an INIT IPI: assert RESET */ @@ -177,7 +176,6 @@ static void acpi_wakeup_cpus(struct acpi_softc *sc, cpumask_t wakeup_cpus) { uint32_t mpbioswarmvec; - cpumask_t map; int cpu; u_char mpbiosreason; @@ -194,8 +192,7 @@ acpi_wakeup_cpus(struct acpi_softc *sc, /* Wake up each AP. */ for (cpu = 1; cpu < mp_ncpus; cpu++) { - map = 1ul << cpu; - if ((wakeup_cpus & map) != map) + if ((wakeup_cpus & (1 << cpu)) == 0) continue; if (acpi_wakeup_ap(sc, cpu) == 0) { /* restore the warmstart vector */ @@ -245,7 +242,7 @@ acpi_sleep_machdep(struct acpi_softc *sc cr3 = rcr3(); load_cr3(KPML4phys); - if (acpi_savecpu(stopxpcbs[0])) { + if (savectx(susppcbs[0])) { #ifdef SMP if (wakeup_cpus != 0 && suspend_cpus(wakeup_cpus) == 0) { device_printf(sc->acpi_dev, @@ -258,11 +255,11 @@ acpi_sleep_machdep(struct acpi_softc *sc WAKECODE_FIXUP(resume_beep, uint8_t, (acpi_resume_beep != 0)); WAKECODE_FIXUP(reset_video, uint8_t, (acpi_reset_video != 0)); - WAKECODE_FIXUP(wakeup_xpcb, struct xpcb *, stopxpcbs[0]); + WAKECODE_FIXUP(wakeup_pcb, struct pcb *, susppcbs[0]); WAKECODE_FIXUP(wakeup_gdt, uint16_t, - stopxpcbs[0]->xpcb_gdt.rd_limit); + susppcbs[0]->pcb_gdt.rd_limit); WAKECODE_FIXUP(wakeup_gdt + 2, uint64_t, - stopxpcbs[0]->xpcb_gdt.rd_base); + susppcbs[0]->pcb_gdt.rd_base); WAKECODE_FIXUP(wakeup_cpu, int, 0); /* Call ACPICA to enter the desired sleep state */ @@ -281,6 +278,8 @@ acpi_sleep_machdep(struct acpi_softc *sc for (;;) ia32_pause(); } else { + PCPU_SET(switchtime, 0); + PCPU_SET(switchticks, ticks); #ifdef SMP if (wakeup_cpus != 0) acpi_wakeup_cpus(sc, wakeup_cpus); @@ -332,9 +331,9 @@ acpi_alloc_wakeup_handler(void) printf("%s: can't alloc wake memory\n", __func__); return (NULL); } - stopxpcbs = malloc(mp_ncpus * sizeof(*stopxpcbs), M_DEVBUF, M_WAITOK); + susppcbs = malloc(mp_ncpus * sizeof(*susppcbs), M_DEVBUF, M_WAITOK); for (i = 0; i < mp_ncpus; i++) - stopxpcbs[i] = malloc(sizeof(**stopxpcbs), M_DEVBUF, M_WAITOK); + susppcbs[i] = malloc(sizeof(**susppcbs), M_DEVBUF, M_WAITOK); return (wakeaddr); } Modified: user/nwhitehorn/ps3/amd64/amd64/cpu_switch.S ============================================================================== --- user/nwhitehorn/ps3/amd64/amd64/cpu_switch.S Mon Aug 23 22:41:49 2010 (r211726) +++ user/nwhitehorn/ps3/amd64/amd64/cpu_switch.S Mon Aug 23 22:58:13 2010 (r211727) @@ -302,128 +302,65 @@ END(cpu_switch) * Update pcb, saving current processor state. */ ENTRY(savectx) - /* Fetch PCB. */ - movq %rdi,%rcx - - /* Save caller's return address. */ - movq (%rsp),%rax - movq %rax,PCB_RIP(%rcx) - - movq %cr3,%rax - movq %rax,PCB_CR3(%rcx) - - movq %rbx,PCB_RBX(%rcx) - movq %rsp,PCB_RSP(%rcx) - movq %rbp,PCB_RBP(%rcx) - movq %r12,PCB_R12(%rcx) - movq %r13,PCB_R13(%rcx) - movq %r14,PCB_R14(%rcx) - movq %r15,PCB_R15(%rcx) - - /* - * If fpcurthread == NULL, then the fpu h/w state is irrelevant and the - * state had better already be in the pcb. This is true for forks - * but not for dumps (the old book-keeping with FP flags in the pcb - * always lost for dumps because the dump pcb has 0 flags). - * - * If fpcurthread != NULL, then we have to save the fpu h/w state to - * fpcurthread's pcb and copy it to the requested pcb, or save to the - * requested pcb and reload. Copying is easier because we would - * have to handle h/w bugs for reloading. We used to lose the - * parent's fpu state for forks by forgetting to reload. - */ - pushfq - cli - movq PCPU(FPCURTHREAD),%rax - testq %rax,%rax - je 1f - - movq TD_PCB(%rax),%rdi - movq PCB_SAVEFPU(%rdi),%rdi - clts - fxsave (%rdi) - smsw %ax - orb $CR0_TS,%al - lmsw %ax - - movq $PCB_SAVEFPU_SIZE,%rdx /* arg 3 */ - leaq PCB_USERFPU(%rcx),%rsi /* arg 2 */ - /* arg 1 (%rdi) already loaded */ - call bcopy -1: - popfq - - ret -END(savectx) - -/* - * savectx2(xpcb) - * Update xpcb, saving current processor state. - */ -ENTRY(savectx2) - /* Fetch XPCB. */ - movq %rdi,%r8 - /* Save caller's return address. */ movq (%rsp),%rax - movq %rax,PCB_RIP(%r8) + movq %rax,PCB_RIP(%rdi) - movq %rbx,PCB_RBX(%r8) - movq %rsp,PCB_RSP(%r8) - movq %rbp,PCB_RBP(%r8) - movq %r12,PCB_R12(%r8) - movq %r13,PCB_R13(%r8) - movq %r14,PCB_R14(%r8) - movq %r15,PCB_R15(%r8) + movq %rbx,PCB_RBX(%rdi) + movq %rsp,PCB_RSP(%rdi) + movq %rbp,PCB_RBP(%rdi) + movq %r12,PCB_R12(%rdi) + movq %r13,PCB_R13(%rdi) + movq %r14,PCB_R14(%rdi) + movq %r15,PCB_R15(%rdi) - movq %cr0,%rax - movq %rax,XPCB_CR0(%r8) + movq %cr0,%rsi + movq %rsi,PCB_CR0(%rdi) movq %cr2,%rax - movq %rax,XPCB_CR2(%r8) + movq %rax,PCB_CR2(%rdi) + movq %cr3,%rax + movq %rax,PCB_CR3(%rdi) movq %cr4,%rax - movq %rax,XPCB_CR4(%r8) + movq %rax,PCB_CR4(%rdi) movq %dr0,%rax - movq %rax,PCB_DR0(%r8) + movq %rax,PCB_DR0(%rdi) movq %dr1,%rax - movq %rax,PCB_DR1(%r8) + movq %rax,PCB_DR1(%rdi) movq %dr2,%rax - movq %rax,PCB_DR2(%r8) + movq %rax,PCB_DR2(%rdi) movq %dr3,%rax - movq %rax,PCB_DR3(%r8) + movq %rax,PCB_DR3(%rdi) movq %dr6,%rax - movq %rax,PCB_DR6(%r8) + movq %rax,PCB_DR6(%rdi) movq %dr7,%rax - movq %rax,PCB_DR7(%r8) - - sgdt XPCB_GDT(%r8) - sidt XPCB_IDT(%r8) - sldt XPCB_LDT(%r8) - str XPCB_TR(%r8) + movq %rax,PCB_DR7(%rdi) movl $MSR_FSBASE,%ecx rdmsr shlq $32,%rdx leaq (%rax,%rdx),%rax - movq %rax,PCB_FSBASE(%r8) + movq %rax,PCB_FSBASE(%rdi) movl $MSR_GSBASE,%ecx rdmsr shlq $32,%rdx leaq (%rax,%rdx),%rax - movq %rax,PCB_GSBASE(%r8) + movq %rax,PCB_GSBASE(%rdi) movl $MSR_KGSBASE,%ecx rdmsr shlq $32,%rdx leaq (%rax,%rdx),%rax - movq %rax,XPCB_KGSBASE(%r8) + movq %rax,PCB_KGSBASE(%rdi) + + sgdt PCB_GDT(%rdi) + sidt PCB_IDT(%rdi) + sldt PCB_LDT(%rdi) + str PCB_TR(%rdi) - movq PCPU(FPCURTHREAD),%rax - testq %rax,%rax - je 1f clts - fxsave PCB_USERFPU(%r8) -1: + fxsave PCB_USERFPU(%rdi) + movq %rsi,%cr0 /* The previous %cr0 is saved in %rsi. */ - movl $1, %eax + movl $1,%eax ret -END(savectx2) +END(savectx) Modified: user/nwhitehorn/ps3/amd64/amd64/genassym.c ============================================================================== --- user/nwhitehorn/ps3/amd64/amd64/genassym.c Mon Aug 23 22:41:49 2010 (r211726) +++ user/nwhitehorn/ps3/amd64/amd64/genassym.c Mon Aug 23 22:58:13 2010 (r211727) @@ -123,7 +123,7 @@ ASSYM(KERNBASE, KERNBASE); ASSYM(DMAP_MIN_ADDRESS, DMAP_MIN_ADDRESS); ASSYM(DMAP_MAX_ADDRESS, DMAP_MAX_ADDRESS); ASSYM(MCLBYTES, MCLBYTES); -ASSYM(PCB_CR3, offsetof(struct pcb, pcb_cr3)); + ASSYM(PCB_R15, offsetof(struct pcb, pcb_r15)); ASSYM(PCB_R14, offsetof(struct pcb, pcb_r14)); ASSYM(PCB_R13, offsetof(struct pcb, pcb_r13)); @@ -134,40 +134,35 @@ ASSYM(PCB_RBX, offsetof(struct pcb, pcb_ ASSYM(PCB_RIP, offsetof(struct pcb, pcb_rip)); ASSYM(PCB_FSBASE, offsetof(struct pcb, pcb_fsbase)); ASSYM(PCB_GSBASE, offsetof(struct pcb, pcb_gsbase)); +ASSYM(PCB_KGSBASE, offsetof(struct pcb, pcb_kgsbase)); +ASSYM(PCB_CR0, offsetof(struct pcb, pcb_cr0)); +ASSYM(PCB_CR2, offsetof(struct pcb, pcb_cr2)); +ASSYM(PCB_CR3, offsetof(struct pcb, pcb_cr3)); +ASSYM(PCB_CR4, offsetof(struct pcb, pcb_cr4)); ASSYM(PCB_DR0, offsetof(struct pcb, pcb_dr0)); ASSYM(PCB_DR1, offsetof(struct pcb, pcb_dr1)); ASSYM(PCB_DR2, offsetof(struct pcb, pcb_dr2)); ASSYM(PCB_DR3, offsetof(struct pcb, pcb_dr3)); ASSYM(PCB_DR6, offsetof(struct pcb, pcb_dr6)); ASSYM(PCB_DR7, offsetof(struct pcb, pcb_dr7)); -ASSYM(PCB_USERFPU, offsetof(struct pcb, pcb_user_save)); +ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags)); +ASSYM(PCB_ONFAULT, offsetof(struct pcb, pcb_onfault)); +ASSYM(PCB_GS32SD, offsetof(struct pcb, pcb_gs32sd)); ASSYM(PCB_TSSP, offsetof(struct pcb, pcb_tssp)); +ASSYM(PCB_SAVEFPU, offsetof(struct pcb, pcb_save)); +ASSYM(PCB_SAVEFPU_SIZE, sizeof(struct savefpu)); ASSYM(PCB_FULL_IRET, offsetof(struct pcb, pcb_full_iret)); +ASSYM(PCB_GDT, offsetof(struct pcb, pcb_gdt)); +ASSYM(PCB_IDT, offsetof(struct pcb, pcb_idt)); +ASSYM(PCB_LDT, offsetof(struct pcb, pcb_ldt)); +ASSYM(PCB_TR, offsetof(struct pcb, pcb_tr)); +ASSYM(PCB_USERFPU, offsetof(struct pcb, pcb_user_save)); +ASSYM(PCB_SIZE, sizeof(struct pcb)); ASSYM(PCB_DBREGS, PCB_DBREGS); ASSYM(PCB_32BIT, PCB_32BIT); ASSYM(PCB_GS32BIT, PCB_GS32BIT); ASSYM(PCB_FULLCTX, PCB_FULLCTX); -ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags)); -ASSYM(PCB_SAVEFPU, offsetof(struct pcb, pcb_save)); -ASSYM(PCB_SAVEFPU_SIZE, sizeof(struct savefpu)); -ASSYM(PCB_ONFAULT, offsetof(struct pcb, pcb_onfault)); -ASSYM(PCB_GS32SD, offsetof(struct pcb, pcb_gs32sd)); - -ASSYM(PCB_SIZE, sizeof(struct pcb)); - -ASSYM(XPCB_PCB, offsetof(struct xpcb, xpcb_pcb)); -ASSYM(XPCB_CR0, offsetof(struct xpcb, xpcb_cr0)); -ASSYM(XPCB_CR2, offsetof(struct xpcb, xpcb_cr2)); -ASSYM(XPCB_CR4, offsetof(struct xpcb, xpcb_cr4)); -ASSYM(XPCB_KGSBASE, offsetof(struct xpcb, xpcb_kgsbase)); -ASSYM(XPCB_GDT, offsetof(struct xpcb, xpcb_gdt)); -ASSYM(XPCB_IDT, offsetof(struct xpcb, xpcb_idt)); -ASSYM(XPCB_LDT, offsetof(struct xpcb, xpcb_ldt)); -ASSYM(XPCB_TR, offsetof(struct xpcb, xpcb_tr)); - -ASSYM(XPCB_SIZE, sizeof(struct xpcb)); - ASSYM(COMMON_TSS_RSP0, offsetof(struct amd64tss, tss_rsp0)); ASSYM(TF_R15, offsetof(struct trapframe, tf_r15)); Modified: user/nwhitehorn/ps3/amd64/amd64/initcpu.c ============================================================================== --- user/nwhitehorn/ps3/amd64/amd64/initcpu.c Mon Aug 23 22:41:49 2010 (r211726) +++ user/nwhitehorn/ps3/amd64/amd64/initcpu.c Mon Aug 23 22:58:13 2010 (r211727) @@ -177,17 +177,17 @@ initializecpucache() if ((cpu_feature & CPUID_CLFSH) != 0) cpu_clflush_line_size = ((cpu_procinfo >> 8) & 0xff) * 8; /* - * XXXKIB: (temporary) hack to work around traps generated when - * CLFLUSHing APIC registers window. + * XXXKIB: (temporary) hack to work around traps generated + * when CLFLUSHing APIC register window under virtualization + * environments. These environments tend to disable the + * CPUID_SS feature even though the native CPU supports it. */ TUNABLE_INT_FETCH("hw.clflush_disable", &hw_clflush_disable); - if (cpu_vendor_id == CPU_VENDOR_INTEL && !(cpu_feature & CPUID_SS) && - hw_clflush_disable == -1) + if (vm_guest != VM_GUEST_NO && hw_clflush_disable == -1) cpu_feature &= ~CPUID_CLFSH; /* * Allow to disable CLFLUSH feature manually by - * hw.clflush_disable tunable. This may help Xen guest on some AMD - * CPUs. + * hw.clflush_disable tunable. */ if (hw_clflush_disable == 1) cpu_feature &= ~CPUID_CLFSH; Modified: user/nwhitehorn/ps3/amd64/amd64/mp_machdep.c ============================================================================== --- user/nwhitehorn/ps3/amd64/amd64/mp_machdep.c Mon Aug 23 22:41:49 2010 (r211726) +++ user/nwhitehorn/ps3/amd64/amd64/mp_machdep.c Mon Aug 23 22:58:13 2010 (r211727) @@ -100,7 +100,7 @@ char *nmi_stack; void *dpcpu; struct pcb stoppcbs[MAXCPU]; -struct xpcb **stopxpcbs = NULL; +struct pcb **susppcbs = NULL; /* Variables needed for SMP tlb shootdown. */ vm_offset_t smp_tlb_addr1; @@ -1053,7 +1053,7 @@ smp_targeted_tlb_shootdown(cpumask_t mas int ncpu, othercpus; othercpus = mp_ncpus - 1; - if (mask == (u_int)-1) { + if (mask == (cpumask_t)-1) { ncpu = othercpus; if (ncpu < 1) return; @@ -1078,7 +1078,7 @@ smp_targeted_tlb_shootdown(cpumask_t mas smp_tlb_addr1 = addr1; smp_tlb_addr2 = addr2; atomic_store_rel_int(&smp_tlb_wait, 0); - if (mask == (u_int)-1) + if (mask == (cpumask_t)-1) ipi_all_but_self(vector); else ipi_selected(mask, vector); @@ -1087,6 +1087,30 @@ smp_targeted_tlb_shootdown(cpumask_t mas mtx_unlock_spin(&smp_ipi_mtx); } +/* + * Send an IPI to specified CPU handling the bitmap logic. + */ +static void +ipi_send_cpu(int cpu, u_int ipi) +{ + u_int bitmap, old_pending, new_pending; + + KASSERT(cpu_apic_ids[cpu] != -1, ("IPI to non-existent CPU %d", cpu)); + + if (IPI_IS_BITMAPED(ipi)) { + bitmap = 1 << ipi; + ipi = IPI_BITMAP_VECTOR; + do { + old_pending = cpu_ipi_pending[cpu]; + new_pending = old_pending | bitmap; + } while (!atomic_cmpset_int(&cpu_ipi_pending[cpu], + old_pending, new_pending)); + if (old_pending) + return; + } + lapic_ipi_vectored(ipi, cpu_apic_ids[cpu]); +} + void smp_cache_flush(void) { @@ -1210,14 +1234,6 @@ void ipi_selected(cpumask_t cpus, u_int ipi) { int cpu; - u_int bitmap = 0; - u_int old_pending; - u_int new_pending; - - if (IPI_IS_BITMAPED(ipi)) { - bitmap = 1 << ipi; - ipi = IPI_BITMAP_VECTOR; - } /* * IPI_STOP_HARD maps to a NMI and the trap handler needs a bit @@ -1231,23 +1247,27 @@ ipi_selected(cpumask_t cpus, u_int ipi) while ((cpu = ffs(cpus)) != 0) { cpu--; cpus &= ~(1 << cpu); + ipi_send_cpu(cpu, ipi); + } +} - KASSERT(cpu_apic_ids[cpu] != -1, - ("IPI to non-existent CPU %d", cpu)); - - if (bitmap) { - do { - old_pending = cpu_ipi_pending[cpu]; - new_pending = old_pending | bitmap; - } while (!atomic_cmpset_int(&cpu_ipi_pending[cpu],old_pending, new_pending)); - - if (old_pending) - continue; - } +/* + * send an IPI to a specific CPU. + */ +void +ipi_cpu(int cpu, u_int ipi) +{ - lapic_ipi_vectored(ipi, cpu_apic_ids[cpu]); - } + /* + * IPI_STOP_HARD maps to a NMI and the trap handler needs a bit + * of help in order to understand what is the source. + * Set the mask of receiving CPUs for this purpose. + */ + if (ipi == IPI_STOP_HARD) + atomic_set_int(&ipi_nmi_pending, 1 << cpu); + CTR3(KTR_SMP, "%s: cpu: %d ipi: %x", __func__, cpu, ipi); + ipi_send_cpu(cpu, ipi); } /* @@ -1301,8 +1321,11 @@ ipi_nmi_handler() void cpustop_handler(void) { - int cpu = PCPU_GET(cpuid); - int cpumask = PCPU_GET(cpumask); + cpumask_t cpumask; + u_int cpu; + + cpu = PCPU_GET(cpuid); + cpumask = PCPU_GET(cpumask); savectx(&stoppcbs[cpu]); @@ -1329,16 +1352,22 @@ cpustop_handler(void) void cpususpend_handler(void) { + cpumask_t cpumask; register_t cr3, rf; - int cpu = PCPU_GET(cpuid); - int cpumask = PCPU_GET(cpumask); + u_int cpu; + + cpu = PCPU_GET(cpuid); + cpumask = PCPU_GET(cpumask); rf = intr_disable(); cr3 = rcr3(); - if (savectx2(stopxpcbs[cpu])) { + if (savectx(susppcbs[cpu])) { wbinvd(); atomic_set_int(&stopped_cpus, cpumask); + } else { + PCPU_SET(switchtime, 0); + PCPU_SET(switchticks, ticks); } /* Wait for resume */ @@ -1503,19 +1532,23 @@ SYSINIT(cpu_hlt, SI_SUB_SMP, SI_ORDER_AN int mp_grab_cpu_hlt(void) { - u_int mask = PCPU_GET(cpumask); + cpumask_t mask; #ifdef MP_WATCHDOG - u_int cpuid = PCPU_GET(cpuid); + u_int cpuid; #endif int retval; + mask = PCPU_GET(cpumask); #ifdef MP_WATCHDOG + cpuid = PCPU_GET(cpuid); ap_watchdog(cpuid); #endif - retval = mask & hlt_cpus_mask; - while (mask & hlt_cpus_mask) + retval = 0; + while (mask & hlt_cpus_mask) { + retval = 1; __asm __volatile("sti; hlt" : : : "memory"); + } return (retval); } Modified: user/nwhitehorn/ps3/amd64/amd64/mptable_pci.c ============================================================================== --- user/nwhitehorn/ps3/amd64/amd64/mptable_pci.c Mon Aug 23 22:41:49 2010 (r211726) +++ user/nwhitehorn/ps3/amd64/amd64/mptable_pci.c Mon Aug 23 22:58:13 2010 (r211727) @@ -163,38 +163,15 @@ mptable_pcib_probe(device_t dev) static device_method_t mptable_pcib_pci_methods[] = { /* Device interface */ DEVMETHOD(device_probe, mptable_pcib_probe), - DEVMETHOD(device_attach, pcib_attach), - DEVMETHOD(device_shutdown, bus_generic_shutdown), - DEVMETHOD(device_suspend, bus_generic_suspend), - DEVMETHOD(device_resume, bus_generic_resume), - - /* Bus interface */ - DEVMETHOD(bus_print_child, bus_generic_print_child), - DEVMETHOD(bus_read_ivar, pcib_read_ivar), - DEVMETHOD(bus_write_ivar, pcib_write_ivar), - DEVMETHOD(bus_alloc_resource, pcib_alloc_resource), - DEVMETHOD(bus_release_resource, bus_generic_release_resource), - DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), - DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), - DEVMETHOD(bus_setup_intr, bus_generic_setup_intr), - DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), /* pcib interface */ - DEVMETHOD(pcib_maxslots, pcib_maxslots), - DEVMETHOD(pcib_read_config, pcib_read_config), - DEVMETHOD(pcib_write_config, pcib_write_config), DEVMETHOD(pcib_route_interrupt, mptable_pci_route_interrupt), - DEVMETHOD(pcib_alloc_msi, pcib_alloc_msi), - DEVMETHOD(pcib_release_msi, pcib_release_msi), - DEVMETHOD(pcib_alloc_msix, pcib_alloc_msix), - DEVMETHOD(pcib_release_msix, pcib_release_msix), - DEVMETHOD(pcib_map_msi, pcib_map_msi), {0, 0} }; static devclass_t pcib_devclass; -DEFINE_CLASS_0(pcib, mptable_pcib_driver, mptable_pcib_pci_methods, - sizeof(struct pcib_softc)); +DEFINE_CLASS_1(pcib, mptable_pcib_driver, mptable_pcib_pci_methods, + sizeof(struct pcib_softc), pcib_driver); DRIVER_MODULE(mptable_pcib, pci, mptable_pcib_driver, pcib_devclass, 0, 0); Modified: user/nwhitehorn/ps3/amd64/amd64/pmap.c ============================================================================== --- user/nwhitehorn/ps3/amd64/amd64/pmap.c Mon Aug 23 22:41:49 2010 (r211726) +++ user/nwhitehorn/ps3/amd64/amd64/pmap.c Mon Aug 23 22:58:13 2010 (r211727) @@ -620,7 +620,8 @@ pmap_init_pat(void) if (sysenv != NULL) { if (strncmp(sysenv, "MacBook5,1", 10) == 0 || strncmp(sysenv, "MacBookPro5,5", 13) == 0 || - strncmp(sysenv, "Macmini3,1", 10) == 0) + strncmp(sysenv, "Macmini3,1", 10) == 0 || + strncmp(sysenv, "iMac9,1", 7) == 0) pat_works = 0; freeenv(sysenv); } @@ -926,8 +927,7 @@ pmap_update_pde_invalidate(vm_offset_t v void pmap_invalidate_page(pmap_t pmap, vm_offset_t va) { - u_int cpumask; - u_int other_cpus; + cpumask_t cpumask, other_cpus; sched_pin(); if (pmap == kernel_pmap || pmap->pm_active == all_cpus) { @@ -947,8 +947,7 @@ pmap_invalidate_page(pmap_t pmap, vm_off void pmap_invalidate_range(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) { - u_int cpumask; - u_int other_cpus; + cpumask_t cpumask, other_cpus; vm_offset_t addr; sched_pin(); @@ -972,8 +971,7 @@ pmap_invalidate_range(pmap_t pmap, vm_of void pmap_invalidate_all(pmap_t pmap) { - u_int cpumask; - u_int other_cpus; + cpumask_t cpumask, other_cpus; sched_pin(); if (pmap == kernel_pmap || pmap->pm_active == all_cpus) { Modified: user/nwhitehorn/ps3/amd64/amd64/trap.c ============================================================================== --- user/nwhitehorn/ps3/amd64/amd64/trap.c Mon Aug 23 22:41:49 2010 (r211726) +++ user/nwhitehorn/ps3/amd64/amd64/trap.c Mon Aug 23 22:58:13 2010 (r211727) @@ -50,7 +50,6 @@ __FBSDID("$FreeBSD$"); #include "opt_isa.h" #include "opt_kdb.h" #include "opt_kdtrace.h" -#include "opt_ktrace.h" #include #include @@ -70,9 +69,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#ifdef KTRACE -#include -#endif #ifdef HWPMC_HOOKS #include #endif Modified: user/nwhitehorn/ps3/amd64/amd64/tsc.c ============================================================================== --- user/nwhitehorn/ps3/amd64/amd64/tsc.c Mon Aug 23 22:41:49 2010 (r211726) +++ user/nwhitehorn/ps3/amd64/amd64/tsc.c Mon Aug 23 22:58:13 2010 (r211727) @@ -222,7 +222,7 @@ sysctl_machdep_tsc_freq(SYSCTL_HANDLER_A } SYSCTL_PROC(_machdep, OID_AUTO, tsc_freq, CTLTYPE_QUAD | CTLFLAG_RW, - 0, sizeof(u_int), sysctl_machdep_tsc_freq, "QU", ""); + 0, 0, sysctl_machdep_tsc_freq, "QU", ""); static unsigned tsc_get_timecount(struct timecounter *tc) Modified: user/nwhitehorn/ps3/amd64/amd64/vm_machdep.c ============================================================================== --- user/nwhitehorn/ps3/amd64/amd64/vm_machdep.c Mon Aug 23 22:41:49 2010 (r211726) +++ user/nwhitehorn/ps3/amd64/amd64/vm_machdep.c Mon Aug 23 22:58:13 2010 (r211727) @@ -527,7 +527,8 @@ void cpu_reset() { #ifdef SMP - u_int cnt, map; + cpumask_t map; + u_int cnt; if (smp_active) { map = PCPU_GET(other_cpus) & ~stopped_cpus; Modified: user/nwhitehorn/ps3/amd64/conf/GENERIC ============================================================================== --- user/nwhitehorn/ps3/amd64/conf/GENERIC Mon Aug 23 22:41:49 2010 (r211726) +++ user/nwhitehorn/ps3/amd64/conf/GENERIC Mon Aug 23 22:58:13 2010 (r211727) @@ -62,7 +62,7 @@ options KBD_INSTALL_CDEV # install a CD options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) options AUDIT # Security event auditing options MAC # TrustedBSD MAC Framework -options FLOWTABLE # per-cpu routing cache +options FLOWTABLE # per-cpu routing cache #options KDTRACE_FRAME # Ensure frames are compiled in #options KDTRACE_HOOKS # Kernel DTrace hooks options INCLUDE_CONFIG_FILE # Include this file in kernel Modified: user/nwhitehorn/ps3/amd64/ia32/ia32_signal.c ============================================================================== --- user/nwhitehorn/ps3/amd64/ia32/ia32_signal.c Mon Aug 23 22:41:49 2010 (r211726) +++ user/nwhitehorn/ps3/amd64/ia32/ia32_signal.c Mon Aug 23 22:58:13 2010 (r211727) @@ -391,7 +391,7 @@ freebsd4_ia32_sendsig(sig_t catcher, ksi } regs->tf_rsp = (uintptr_t)sfp; - regs->tf_rip = FREEBSD32_PS_STRINGS - sz_freebsd4_ia32_sigcode; + regs->tf_rip = p->p_sysent->sv_psstrings - sz_freebsd4_ia32_sigcode; regs->tf_rflags &= ~(PSL_T | PSL_D); regs->tf_cs = _ucode32sel; regs->tf_ss = _udatasel; @@ -512,7 +512,7 @@ ia32_sendsig(sig_t catcher, ksiginfo_t * } regs->tf_rsp = (uintptr_t)sfp; - regs->tf_rip = FREEBSD32_PS_STRINGS - *(p->p_sysent->sv_szsigcode); + regs->tf_rip = p->p_sysent->sv_psstrings - *(p->p_sysent->sv_szsigcode); regs->tf_rflags &= ~(PSL_T | PSL_D); regs->tf_cs = _ucode32sel; regs->tf_ss = _udatasel; Modified: user/nwhitehorn/ps3/amd64/ia32/ia32_syscall.c ============================================================================== --- user/nwhitehorn/ps3/amd64/ia32/ia32_syscall.c Mon Aug 23 22:41:49 2010 (r211726) +++ user/nwhitehorn/ps3/amd64/ia32/ia32_syscall.c Mon Aug 23 22:58:13 2010 (r211727) @@ -45,7 +45,6 @@ __FBSDID("$FreeBSD$"); #include "opt_clock.h" #include "opt_cpu.h" #include "opt_isa.h" -#include "opt_ktrace.h" #include #include @@ -65,9 +64,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#ifdef KTRACE -#include -#endif #include #include Modified: user/nwhitehorn/ps3/amd64/include/elf.h ============================================================================== --- user/nwhitehorn/ps3/amd64/include/elf.h Mon Aug 23 22:41:49 2010 (r211726) +++ user/nwhitehorn/ps3/amd64/include/elf.h Mon Aug 23 22:58:13 2010 (r211727) @@ -88,8 +88,14 @@ __ElfType(Auxinfo); #define AT_GID 13 /* Real gid. */ #define AT_EGID 14 /* Effective gid. */ #define AT_EXECPATH 15 /* Path to the executable. */ +#define AT_CANARY 16 /* Canary for SSP */ +#define AT_CANARYLEN 17 /* Length of the canary. */ +#define AT_OSRELDATE 18 /* OSRELDATE. */ +#define AT_NCPUS 19 /* Number of CPUs. */ +#define AT_PAGESIZES 20 /* Pagesizes. */ +#define AT_PAGESIZESLEN 21 /* Number of pagesizes. */ -#define AT_COUNT 16 /* Count of defined aux entry types. */ +#define AT_COUNT 22 /* Count of defined aux entry types. */ /* * Relocation types. Modified: user/nwhitehorn/ps3/amd64/include/pcb.h ============================================================================== --- user/nwhitehorn/ps3/amd64/include/pcb.h Mon Aug 23 22:41:49 2010 (r211726) +++ user/nwhitehorn/ps3/amd64/include/pcb.h Mon Aug 23 22:58:13 2010 (r211727) @@ -44,7 +44,6 @@ #include struct pcb { - register_t pcb_cr3; register_t pcb_r15; register_t pcb_r14; register_t pcb_r13; @@ -55,6 +54,18 @@ struct pcb { register_t pcb_rip; register_t pcb_fsbase; register_t pcb_gsbase; + register_t pcb_kgsbase; + register_t pcb_cr0; + register_t pcb_cr2; + register_t pcb_cr3; + register_t pcb_cr4; + register_t pcb_dr0; + register_t pcb_dr1; + register_t pcb_dr2; + register_t pcb_dr3; + register_t pcb_dr6; + register_t pcb_dr7; + u_long pcb_flags; #define PCB_DBREGS 0x02 /* process using debug registers */ #define PCB_KERNFPU 0x04 /* kernel uses fpu */ @@ -64,44 +75,30 @@ struct pcb { #define PCB_32BIT 0x40 /* process has 32 bit context (segs etc) */ #define PCB_FULLCTX 0x80 /* full context restore on sysret */ - u_int64_t pcb_dr0; - u_int64_t pcb_dr1; - u_int64_t pcb_dr2; - u_int64_t pcb_dr3; - u_int64_t pcb_dr6; - u_int64_t pcb_dr7; - - struct savefpu pcb_user_save; uint16_t pcb_initial_fpucw; caddr_t pcb_onfault; /* copyin/out fault recovery */ /* 32-bit segment descriptor */ - struct user_segment_descriptor pcb_gs32sd; + struct user_segment_descriptor pcb_gs32sd; /* local tss, with i/o bitmap; NULL for common */ struct amd64tss *pcb_tssp; struct savefpu *pcb_save; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Tue Aug 24 00:17:06 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 61ECA10656AE; Tue, 24 Aug 2010 00:17:06 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4DE778FC17; Tue, 24 Aug 2010 00:17:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7O0H6IZ057907; Tue, 24 Aug 2010 00:17:06 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7O0H6VQ057882; Tue, 24 Aug 2010 00:17:06 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008240017.o7O0H6VQ057882@svn.freebsd.org> From: Warner Losh Date: Tue, 24 Aug 2010 00:17:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211728 - in user/imp/tbemd: cddl/lib/libzpool contrib/top gnu/usr.bin lib lib/libc/gen lib/libc/include lib/libc/stdlib lib/libthr lib/libthr/thread libexec/rtld-elf libexec/rtld-elf/a... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2010 00:17:06 -0000 Author: imp Date: Tue Aug 24 00:17:05 2010 New Revision: 211728 URL: http://svn.freebsd.org/changeset/base/211728 Log: merge head@211727 to loop back changes Added: user/imp/tbemd/lib/libc/gen/elf_utils.c - copied unchanged from r211727, head/lib/libc/gen/elf_utils.c user/imp/tbemd/tools/build/options/WITH_BSD_GREP - copied unchanged from r211727, head/tools/build/options/WITH_BSD_GREP Deleted: user/imp/tbemd/tools/build/options/WITH_GNU_GREP Modified: user/imp/tbemd/cddl/lib/libzpool/Makefile user/imp/tbemd/gnu/usr.bin/Makefile user/imp/tbemd/lib/Makefile user/imp/tbemd/lib/libc/gen/Makefile.inc user/imp/tbemd/lib/libc/gen/Symbol.map user/imp/tbemd/lib/libc/gen/dlfcn.c user/imp/tbemd/lib/libc/include/libc_private.h user/imp/tbemd/lib/libc/stdlib/atexit.c user/imp/tbemd/lib/libthr/pthread.map user/imp/tbemd/lib/libthr/thread/thr_fork.c user/imp/tbemd/lib/libthr/thread/thr_private.h user/imp/tbemd/libexec/rtld-elf/Symbol.map user/imp/tbemd/libexec/rtld-elf/amd64/Makefile.inc user/imp/tbemd/libexec/rtld-elf/i386/Makefile.inc user/imp/tbemd/libexec/rtld-elf/rtld.c user/imp/tbemd/share/mk/bsd.own.mk user/imp/tbemd/sys/dev/ed/if_ed.c user/imp/tbemd/sys/dev/xl/if_xl.c user/imp/tbemd/sys/dev/xl/if_xlreg.h user/imp/tbemd/sys/sys/link_elf.h user/imp/tbemd/sys/sys/param.h user/imp/tbemd/usr.bin/Makefile Directory Properties: user/imp/tbemd/ (props changed) user/imp/tbemd/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/contrib/bind9/ (props changed) user/imp/tbemd/contrib/ee/ (props changed) user/imp/tbemd/contrib/expat/ (props changed) user/imp/tbemd/contrib/file/ (props changed) user/imp/tbemd/contrib/gdb/ (props changed) user/imp/tbemd/contrib/gdtoa/ (props changed) user/imp/tbemd/contrib/gnu-sort/ (props changed) user/imp/tbemd/contrib/groff/ (props changed) user/imp/tbemd/contrib/less/ (props changed) user/imp/tbemd/contrib/libpcap/ (props changed) user/imp/tbemd/contrib/llvm/ (props changed) user/imp/tbemd/contrib/llvm/tools/clang/ (props changed) user/imp/tbemd/contrib/ncurses/ (props changed) user/imp/tbemd/contrib/netcat/ (props changed) user/imp/tbemd/contrib/ntp/ (props changed) user/imp/tbemd/contrib/one-true-awk/ (props changed) user/imp/tbemd/contrib/openbsm/ (props changed) user/imp/tbemd/contrib/openpam/ (props changed) user/imp/tbemd/contrib/pf/ (props changed) user/imp/tbemd/contrib/sendmail/ (props changed) user/imp/tbemd/contrib/tcpdump/ (props changed) user/imp/tbemd/contrib/tcsh/ (props changed) user/imp/tbemd/contrib/top/ (props changed) user/imp/tbemd/contrib/top/install-sh (props changed) user/imp/tbemd/contrib/tzcode/stdtime/ (props changed) user/imp/tbemd/contrib/tzcode/zic/ (props changed) user/imp/tbemd/contrib/tzdata/ (props changed) user/imp/tbemd/contrib/wpa/ (props changed) user/imp/tbemd/crypto/openssh/ (props changed) user/imp/tbemd/crypto/openssl/ (props changed) user/imp/tbemd/lib/libc/ (props changed) user/imp/tbemd/lib/libc/stdtime/ (props changed) user/imp/tbemd/lib/libutil/ (props changed) user/imp/tbemd/lib/libz/ (props changed) user/imp/tbemd/sbin/ (props changed) user/imp/tbemd/sbin/ipfw/ (props changed) user/imp/tbemd/share/zoneinfo/ (props changed) user/imp/tbemd/sys/ (props changed) user/imp/tbemd/sys/amd64/include/xen/ (props changed) user/imp/tbemd/sys/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/sys/contrib/dev/acpica/ (props changed) user/imp/tbemd/sys/contrib/pf/ (props changed) user/imp/tbemd/sys/contrib/x86emu/ (props changed) user/imp/tbemd/sys/dev/xen/xenpci/ (props changed) user/imp/tbemd/usr.bin/csup/ (props changed) user/imp/tbemd/usr.bin/procstat/ (props changed) user/imp/tbemd/usr.sbin/zic/ (props changed) Modified: user/imp/tbemd/cddl/lib/libzpool/Makefile ============================================================================== --- user/imp/tbemd/cddl/lib/libzpool/Makefile Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/cddl/lib/libzpool/Makefile Tue Aug 24 00:17:05 2010 (r211728) @@ -11,8 +11,8 @@ # LIST_SRCS .PATH: ${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/os # ATOMIC_SRCS -.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "ia64" -.PATH: ${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_CPUARCH} +.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "ia64" || ${MACHINE_ARCH} == "sparc64" || ${MACHINE_ARCH} == "powerpc64" +.PATH: ${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH} ATOMIC_SRCS= opensolaris_atomic.S .else .PATH: ${.CURDIR}/../../../sys/cddl/compat/opensolaris/kern Modified: user/imp/tbemd/gnu/usr.bin/Makefile ============================================================================== --- user/imp/tbemd/gnu/usr.bin/Makefile Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/gnu/usr.bin/Makefile Tue Aug 24 00:17:05 2010 (r211728) @@ -28,6 +28,10 @@ _groff= groff .endif .endif +.if ${MK_BSD_GREP} != "yes" +_grep= grep +.endif + .if ${MK_CVS} != "no" _cvs= cvs .endif @@ -36,10 +40,6 @@ _cvs= cvs _dtc= dtc .endif -.if ${MK_GNU_GREP} != "no" -_grep= grep -.endif - .if ${MK_INFO} != "no" _texinfo= texinfo .endif Modified: user/imp/tbemd/lib/Makefile ============================================================================== --- user/imp/tbemd/lib/Makefile Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/lib/Makefile Tue Aug 24 00:17:05 2010 (r211728) @@ -187,6 +187,7 @@ _libsmb= libsmb .if ${MK_NCP} != "no" _libncp= libncp .endif +.endif .if ${MACHINE_CPUARCH} == "powerpc" _libsmb= libsmb Modified: user/imp/tbemd/lib/libc/gen/Makefile.inc ============================================================================== --- user/imp/tbemd/lib/libc/gen/Makefile.inc Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/lib/libc/gen/Makefile.inc Tue Aug 24 00:17:05 2010 (r211728) @@ -10,7 +10,7 @@ SRCS+= __getosreldate.c __xuname.c \ alarm.c arc4random.c assert.c aux.c basename.c check_utility_compat.c \ clock.c closedir.c confstr.c \ crypt.c ctermid.c daemon.c devname.c dirname.c disklabel.c \ - dlfcn.c drand48.c erand48.c err.c errlst.c errno.c \ + dlfcn.c drand48.c elf_utils.c erand48.c err.c errlst.c errno.c \ exec.c fdevname.c feature_present.c fmtcheck.c fmtmsg.c fnmatch.c \ fpclassify.c frexp.c fstab.c ftok.c fts.c fts-compat.c ftw.c \ getbootfile.c getbsize.c \ Modified: user/imp/tbemd/lib/libc/gen/Symbol.map ============================================================================== --- user/imp/tbemd/lib/libc/gen/Symbol.map Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/lib/libc/gen/Symbol.map Tue Aug 24 00:17:05 2010 (r211728) @@ -446,10 +446,12 @@ FBSDprivate_1.0 { _spinlock; _spinlock_debug; _spinunlock; + _rtld_addr_phdr; _rtld_atfork_pre; _rtld_atfork_post; _rtld_error; /* for private use */ _rtld_thread_init; /* for private use */ + __elf_phdr_match_addr; _err; _warn; __fmtcheck; Modified: user/imp/tbemd/lib/libc/gen/dlfcn.c ============================================================================== --- user/imp/tbemd/lib/libc/gen/dlfcn.c Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/lib/libc/gen/dlfcn.c Tue Aug 24 00:17:05 2010 (r211728) @@ -157,3 +157,11 @@ void _rtld_atfork_post(int *locks) { } + +#pragma weak _rtld_addr_phdr +int +_rtld_addr_phdr(const void *addr, struct dl_phdr_info *phdr_info) +{ + + return (0); +} Copied: user/imp/tbemd/lib/libc/gen/elf_utils.c (from r211727, head/lib/libc/gen/elf_utils.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/lib/libc/gen/elf_utils.c Tue Aug 24 00:17:05 2010 (r211728, copy of r211727, head/lib/libc/gen/elf_utils.c) @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2010 Konstantin Belousov + * 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. Neither the name of the author nor the names of any co-contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include + +int +__elf_phdr_match_addr(struct dl_phdr_info *phdr_info, void *addr) +{ + const Elf_Phdr *ph; + int i; + + for (i = 0; i < phdr_info->dlpi_phnum; i++) { + ph = &phdr_info->dlpi_phdr[i]; + if (ph->p_type != PT_LOAD || (ph->p_flags & PF_X) == 0) + continue; + if (phdr_info->dlpi_addr + ph->p_vaddr <= (uintptr_t)addr && + (uintptr_t)addr + sizeof(addr) < phdr_info->dlpi_addr + + ph->p_vaddr + ph->p_memsz) + break; + } + return (i != phdr_info->dlpi_phnum); +} Modified: user/imp/tbemd/lib/libc/include/libc_private.h ============================================================================== --- user/imp/tbemd/lib/libc/include/libc_private.h Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/lib/libc/include/libc_private.h Tue Aug 24 00:17:05 2010 (r211728) @@ -214,5 +214,7 @@ extern int __sys_fcntl(int, int, ...); int _execvpe(const char *, char * const *, char * const *); int _elf_aux_info(int aux, void *buf, int buflen); +struct dl_phdr_info; +int __elf_phdr_match_addr(struct dl_phdr_info *, void *); #endif /* _LIBC_PRIVATE_H_ */ Modified: user/imp/tbemd/lib/libc/stdlib/atexit.c ============================================================================== --- user/imp/tbemd/lib/libc/stdlib/atexit.c Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/lib/libc/stdlib/atexit.c Tue Aug 24 00:17:05 2010 (r211728) @@ -37,6 +37,7 @@ static char sccsid[] = "@(#)atexit.c 8.2 __FBSDID("$FreeBSD$"); #include "namespace.h" +#include #include #include #include @@ -120,7 +121,7 @@ atexit(void (*func)(void)) int error; fn.fn_type = ATEXIT_FN_STD; - fn.fn_ptr.std_func = func;; + fn.fn_ptr.std_func = func; fn.fn_arg = NULL; fn.fn_dso = NULL; @@ -139,7 +140,7 @@ __cxa_atexit(void (*func)(void *), void int error; fn.fn_type = ATEXIT_FN_CXA; - fn.fn_ptr.cxa_func = func;; + fn.fn_ptr.cxa_func = func; fn.fn_arg = arg; fn.fn_dso = dso; @@ -147,6 +148,9 @@ __cxa_atexit(void (*func)(void *), void return (error); } +#pragma weak __pthread_cxa_finalize +void __pthread_cxa_finalize(const struct dl_phdr_info *); + /* * Call all handlers registered with __cxa_atexit for the shared * object owning 'dso'. Note: if 'dso' is NULL, then all remaining @@ -155,18 +159,28 @@ __cxa_atexit(void (*func)(void *), void void __cxa_finalize(void *dso) { + struct dl_phdr_info phdr_info; struct atexit *p; struct atexit_fn fn; - int n; + int n, has_phdr; + + if (dso != NULL) + has_phdr = _rtld_addr_phdr(dso, &phdr_info); + else + has_phdr = 0; _MUTEX_LOCK(&atexit_mutex); for (p = __atexit; p; p = p->next) { for (n = p->ind; --n >= 0;) { if (p->fns[n].fn_type == ATEXIT_FN_EMPTY) continue; /* already been called */ - if (dso != NULL && dso != p->fns[n].fn_dso) - continue; /* wrong DSO */ fn = p->fns[n]; + if (dso != NULL && dso != fn.fn_dso) { + /* wrong DSO ? */ + if (!has_phdr || !__elf_phdr_match_addr( + &phdr_info, fn.fn_ptr.cxa_func)) + continue; + } /* Mark entry to indicate that this particular handler has already been called. @@ -185,4 +199,7 @@ __cxa_finalize(void *dso) _MUTEX_UNLOCK(&atexit_mutex); if (dso == NULL) _MUTEX_DESTROY(&atexit_mutex); + + if (&__pthread_cxa_finalize != NULL) + __pthread_cxa_finalize(&phdr_info); } Modified: user/imp/tbemd/lib/libthr/pthread.map ============================================================================== --- user/imp/tbemd/lib/libthr/pthread.map Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/lib/libthr/pthread.map Tue Aug 24 00:17:05 2010 (r211728) @@ -192,6 +192,7 @@ FBSDprivate_1.0 { __poll; __pthread_cond_timedwait; __pthread_cond_wait; + __pthread_cxa_finalize; __pthread_mutex_init; __pthread_mutex_lock; __pthread_mutex_timedlock; Modified: user/imp/tbemd/lib/libthr/thread/thr_fork.c ============================================================================== --- user/imp/tbemd/lib/libthr/thread/thr_fork.c Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/lib/libthr/thread/thr_fork.c Tue Aug 24 00:17:05 2010 (r211728) @@ -59,6 +59,7 @@ #include "namespace.h" #include +#include #include #include #include @@ -94,6 +95,27 @@ _pthread_atfork(void (*prepare)(void), v return (0); } +void +__pthread_cxa_finalize(struct dl_phdr_info *phdr_info) +{ + struct pthread *curthread; + struct pthread_atfork *af, *af1; + + _thr_check_init(); + + curthread = _get_curthread(); + THR_UMUTEX_LOCK(curthread, &_thr_atfork_lock); + TAILQ_FOREACH_SAFE(af, &_thr_atfork_list, qe, af1) { + if (__elf_phdr_match_addr(phdr_info, af->prepare) || + __elf_phdr_match_addr(phdr_info, af->parent) || + __elf_phdr_match_addr(phdr_info, af->child)) { + TAILQ_REMOVE(&_thr_atfork_list, af, qe); + free(af); + } + } + THR_UMUTEX_UNLOCK(curthread, &_thr_atfork_lock); +} + __weak_reference(_fork, fork); pid_t _fork(void); Modified: user/imp/tbemd/lib/libthr/thread/thr_private.h ============================================================================== --- user/imp/tbemd/lib/libthr/thread/thr_private.h Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/lib/libthr/thread/thr_private.h Tue Aug 24 00:17:05 2010 (r211728) @@ -740,6 +740,9 @@ _thr_check_init(void) _libpthread_init(NULL); } +struct dl_phdr_info; +void __pthread_cxa_finalize(struct dl_phdr_info *phdr_info); + __END_DECLS #endif /* !_THR_PRIVATE_H */ Modified: user/imp/tbemd/libexec/rtld-elf/Symbol.map ============================================================================== --- user/imp/tbemd/libexec/rtld-elf/Symbol.map Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/libexec/rtld-elf/Symbol.map Tue Aug 24 00:17:05 2010 (r211728) @@ -27,4 +27,5 @@ FBSDprivate_1.0 { _rtld_free_tls; _rtld_atfork_pre; _rtld_atfork_post; + _rtld_addr_phdr; }; Modified: user/imp/tbemd/libexec/rtld-elf/amd64/Makefile.inc ============================================================================== --- user/imp/tbemd/libexec/rtld-elf/amd64/Makefile.inc Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/libexec/rtld-elf/amd64/Makefile.inc Tue Aug 24 00:17:05 2010 (r211728) @@ -1,3 +1,5 @@ +# $FreeBSD$ + CFLAGS+= -elf LDFLAGS+= -elf # Uncomment this to build the dynamic linker as an executable instead Modified: user/imp/tbemd/libexec/rtld-elf/i386/Makefile.inc ============================================================================== --- user/imp/tbemd/libexec/rtld-elf/i386/Makefile.inc Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/libexec/rtld-elf/i386/Makefile.inc Tue Aug 24 00:17:05 2010 (r211728) @@ -1,3 +1,5 @@ +# $FreeBSD$ + CFLAGS+= -elf LDFLAGS+= -elf # Uncomment this to build the dynamic linker as an executable instead Modified: user/imp/tbemd/libexec/rtld-elf/rtld.c ============================================================================== --- user/imp/tbemd/libexec/rtld-elf/rtld.c Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/libexec/rtld-elf/rtld.c Tue Aug 24 00:17:05 2010 (r211728) @@ -147,6 +147,8 @@ static int rtld_verify_object_versions( static void object_add_name(Obj_Entry *, const char *); static int object_match_name(const Obj_Entry *, const char *); static void ld_utrace_log(int, void *, void *, size_t, int, const char *); +static void rtld_fill_dl_phdr_info(const Obj_Entry *obj, + struct dl_phdr_info *phdr_info); void r_debug_state(struct r_debug *, struct link_map *); @@ -220,6 +222,7 @@ static func_ptr_type exports[] = { (func_ptr_type) &dl_iterate_phdr, (func_ptr_type) &_rtld_atfork_pre, (func_ptr_type) &_rtld_atfork_post, + (func_ptr_type) &_rtld_addr_phdr, NULL }; @@ -2261,6 +2264,24 @@ dlvsym(void *handle, const char *name, c } int +_rtld_addr_phdr(const void *addr, struct dl_phdr_info *phdr_info) +{ + const Obj_Entry *obj; + int lockstate; + + lockstate = rlock_acquire(rtld_bind_lock); + obj = obj_from_addr(addr); + if (obj == NULL) { + _rtld_error("No shared object contains address"); + rlock_release(rtld_bind_lock, lockstate); + return (0); + } + rtld_fill_dl_phdr_info(obj, phdr_info); + rlock_release(rtld_bind_lock, lockstate); + return (1); +} + +int dladdr(const void *addr, Dl_info *info) { const Obj_Entry *obj; @@ -2362,6 +2383,21 @@ dlinfo(void *handle, int request, void * return (error); } +static void +rtld_fill_dl_phdr_info(const Obj_Entry *obj, struct dl_phdr_info *phdr_info) +{ + + phdr_info->dlpi_addr = (Elf_Addr)obj->relocbase; + phdr_info->dlpi_name = STAILQ_FIRST(&obj->names) ? + STAILQ_FIRST(&obj->names)->name : obj->path; + phdr_info->dlpi_phdr = obj->phdr; + phdr_info->dlpi_phnum = obj->phsize / sizeof(obj->phdr[0]); + phdr_info->dlpi_tls_modid = obj->tlsindex; + phdr_info->dlpi_tls_data = obj->tlsinit; + phdr_info->dlpi_adds = obj_loads; + phdr_info->dlpi_subs = obj_loads - obj_count; +} + int dl_iterate_phdr(__dl_iterate_hdr_callback callback, void *param) { @@ -2375,16 +2411,7 @@ dl_iterate_phdr(__dl_iterate_hdr_callbac error = 0; for (obj = obj_list; obj != NULL; obj = obj->next) { - phdr_info.dlpi_addr = (Elf_Addr)obj->relocbase; - phdr_info.dlpi_name = STAILQ_FIRST(&obj->names) ? - STAILQ_FIRST(&obj->names)->name : obj->path; - phdr_info.dlpi_phdr = obj->phdr; - phdr_info.dlpi_phnum = obj->phsize / sizeof(obj->phdr[0]); - phdr_info.dlpi_tls_modid = obj->tlsindex; - phdr_info.dlpi_tls_data = obj->tlsinit; - phdr_info.dlpi_adds = obj_loads; - phdr_info.dlpi_subs = obj_loads - obj_count; - + rtld_fill_dl_phdr_info(obj, &phdr_info); if ((error = callback(&phdr_info, sizeof phdr_info, param)) != 0) break; @@ -3665,6 +3692,10 @@ fetch_ventry(const Obj_Entry *obj, unsig return NULL; } +/* + * Overrides for libc_pic-provided functions. + */ + int __getosreldate(void) { @@ -3684,3 +3715,11 @@ __getosreldate(void) osreldate = osrel; return (osreldate); } + +/* + * No unresolved symbols for rtld. + */ +void +__pthread_cxa_finalize(struct dl_phdr_info *a) +{ +} Modified: user/imp/tbemd/share/mk/bsd.own.mk ============================================================================== --- user/imp/tbemd/share/mk/bsd.own.mk Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/share/mk/bsd.own.mk Tue Aug 24 00:17:05 2010 (r211728) @@ -419,9 +419,9 @@ MK_${var}:= yes BIND_LIBS \ BIND_SIGCHASE \ BIND_XML \ + BSD_GREP \ ${_clang_no} \ FDT \ - GNU_GREP \ HESIOD \ IDEA .if defined(WITH_${var}) && defined(WITHOUT_${var}) Modified: user/imp/tbemd/sys/dev/ed/if_ed.c ============================================================================== --- user/imp/tbemd/sys/dev/ed/if_ed.c Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/sys/dev/ed/if_ed.c Tue Aug 24 00:17:05 2010 (r211728) @@ -1476,9 +1476,12 @@ ed_pio_write_mbufs(struct ed_softc *sc, } } else { /* NE2000s are a pain */ - unsigned char *data; + uint8_t *data; int len, wantbyte; - unsigned char savebyte[2]; + union { + uint16_t w; + uint8_t b[2]; + } saveword; wantbyte = 0; @@ -1488,9 +1491,9 @@ ed_pio_write_mbufs(struct ed_softc *sc, data = mtod(m, caddr_t); /* finish the last word */ if (wantbyte) { - savebyte[1] = *data; + saveword.b[1] = *data; ed_asic_outw(sc, ED_NOVELL_DATA, - *(u_short *)savebyte); + saveword.w); data++; len--; wantbyte = 0; @@ -1504,7 +1507,7 @@ ed_pio_write_mbufs(struct ed_softc *sc, } /* save last byte, if necessary */ if (len == 1) { - savebyte[0] = *data; + saveword.b[0] = *data; wantbyte = 1; } } @@ -1512,7 +1515,7 @@ ed_pio_write_mbufs(struct ed_softc *sc, } /* spit last byte */ if (wantbyte) - ed_asic_outw(sc, ED_NOVELL_DATA, *(u_short *)savebyte); + ed_asic_outw(sc, ED_NOVELL_DATA, saveword.w); } /* Modified: user/imp/tbemd/sys/dev/xl/if_xl.c ============================================================================== --- user/imp/tbemd/sys/dev/xl/if_xl.c Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/sys/dev/xl/if_xl.c Tue Aug 24 00:17:05 2010 (r211728) @@ -246,6 +246,7 @@ static int xl_watchdog(struct xl_softc * static int xl_shutdown(device_t); static int xl_suspend(device_t); static int xl_resume(device_t); +static void xl_setwol(struct xl_softc *); #ifdef DEVICE_POLLING static int xl_poll(struct ifnet *ifp, enum poll_cmd cmd, int count); @@ -1145,10 +1146,10 @@ static int xl_attach(device_t dev) { u_char eaddr[ETHER_ADDR_LEN]; - u_int16_t xcvr[2]; + u_int16_t sinfo2, xcvr[2]; struct xl_softc *sc; struct ifnet *ifp; - int media; + int media, pmcap; int unit, error = 0, rid, res; uint16_t did; @@ -1405,6 +1406,18 @@ xl_attach(device_t dev) else sc->xl_type = XL_TYPE_90X; + /* Check availability of WOL. */ + if ((sc->xl_caps & XL_CAPS_PWRMGMT) != 0 && + pci_find_extcap(dev, PCIY_PMG, &pmcap) == 0) { + sc->xl_pmcap = pmcap; + sc->xl_flags |= XL_FLAG_WOL; + sinfo2 = 0; + xl_read_eeprom(sc, (caddr_t)&sinfo2, XL_EE_SOFTINFO2, 1, 0); + if ((sinfo2 & XL_SINFO2_AUX_WOL_CON) == 0 && bootverbose) + device_printf(dev, + "No auxiliary remote wakeup connector!\n"); + } + /* Set the TX start threshold for best performance. */ sc->xl_tx_thresh = XL_MIN_FRAMELEN; @@ -1419,6 +1432,8 @@ xl_attach(device_t dev) ifp->if_capabilities |= IFCAP_HWCSUM; #endif } + if ((sc->xl_flags & XL_FLAG_WOL) != 0) + ifp->if_capabilities |= IFCAP_WOL_MAGIC; ifp->if_capenable = ifp->if_capabilities; #ifdef DEVICE_POLLING ifp->if_capabilities |= IFCAP_POLLING; @@ -1635,7 +1650,6 @@ xl_detach(device_t dev) /* These should only be active if attach succeeded */ if (device_is_attached(dev)) { XL_LOCK(sc); - xl_reset(sc); xl_stop(sc); XL_UNLOCK(sc); taskqueue_drain(taskqueue_swi, &sc->xl_task); @@ -2246,7 +2260,6 @@ xl_intr(void *arg) } if (status & XL_STAT_ADFAIL) { - xl_reset(sc); ifp->if_drv_flags &= ~IFF_DRV_RUNNING; xl_init_locked(sc); } @@ -2318,7 +2331,6 @@ xl_poll_locked(struct ifnet *ifp, enum p } if (status & XL_STAT_ADFAIL) { - xl_reset(sc); ifp->if_drv_flags &= ~IFF_DRV_RUNNING; xl_init_locked(sc); } @@ -2754,6 +2766,9 @@ xl_init_locked(struct xl_softc *sc) */ xl_stop(sc); + /* Reset the chip to a known state. */ + xl_reset(sc); + if (sc->xl_miibus == NULL) { CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_RX_RESET); xl_wait(sc); @@ -2765,6 +2780,15 @@ xl_init_locked(struct xl_softc *sc) if (sc->xl_miibus != NULL) mii = device_get_softc(sc->xl_miibus); + /* + * Clear WOL status and disable all WOL feature as WOL + * would interfere Rx operation under normal environments. + */ + if ((sc->xl_flags & XL_FLAG_WOL) != 0) { + XL_SEL_WIN(7); + CSR_READ_2(sc, XL_W7_BM_PME); + CSR_WRITE_2(sc, XL_W7_BM_PME, 0); + } /* Init our MAC address */ XL_SEL_WIN(2); for (i = 0; i < ETHER_ADDR_LEN; i++) { @@ -3187,6 +3211,9 @@ xl_ioctl(struct ifnet *ifp, u_long comma if ((mask & IFCAP_RXCSUM) != 0 && (ifp->if_capabilities & IFCAP_RXCSUM) != 0) ifp->if_capenable ^= IFCAP_RXCSUM; + if ((mask & IFCAP_WOL_MAGIC) != 0 && + (ifp->if_capabilities & IFCAP_WOL_MAGIC) != 0) + ifp->if_capenable ^= IFCAP_WOL_MAGIC; XL_UNLOCK(sc); break; default: @@ -3236,7 +3263,6 @@ xl_watchdog(struct xl_softc *sc) device_printf(sc->xl_dev, "no carrier - transceiver cable problem?\n"); - xl_reset(sc); ifp->if_drv_flags &= ~IFF_DRV_RUNNING; xl_init_locked(sc); @@ -3330,16 +3356,8 @@ xl_stop(struct xl_softc *sc) static int xl_shutdown(device_t dev) { - struct xl_softc *sc; - - sc = device_get_softc(dev); - XL_LOCK(sc); - xl_reset(sc); - xl_stop(sc); - XL_UNLOCK(sc); - - return (0); + return (xl_suspend(dev)); } static int @@ -3351,6 +3369,7 @@ xl_suspend(device_t dev) XL_LOCK(sc); xl_stop(sc); + xl_setwol(sc); XL_UNLOCK(sc); return (0); @@ -3367,7 +3386,6 @@ xl_resume(device_t dev) XL_LOCK(sc); - xl_reset(sc); if (ifp->if_flags & IFF_UP) { ifp->if_drv_flags &= ~IFF_DRV_RUNNING; xl_init_locked(sc); @@ -3377,3 +3395,34 @@ xl_resume(device_t dev) return (0); } + +static void +xl_setwol(struct xl_softc *sc) +{ + struct ifnet *ifp; + u_int16_t cfg, pmstat; + + if ((sc->xl_flags & XL_FLAG_WOL) == 0) + return; + + ifp = sc->xl_ifp; + XL_SEL_WIN(7); + /* Clear any pending PME events. */ + CSR_READ_2(sc, XL_W7_BM_PME); + cfg = 0; + if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0) + cfg |= XL_BM_PME_MAGIC; + CSR_WRITE_2(sc, XL_W7_BM_PME, cfg); + /* Enable RX. */ + if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0) + CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_RX_ENABLE); + /* Request PME. */ + pmstat = pci_read_config(sc->xl_dev, + sc->xl_pmcap + PCIR_POWER_STATUS, 2); + if ((ifp->if_capenable & IFCAP_WOL_MAGIC) != 0) + pmstat |= PCIM_PSTAT_PMEENABLE; + else + pmstat &= ~PCIM_PSTAT_PMEENABLE; + pci_write_config(sc->xl_dev, + sc->xl_pmcap + PCIR_POWER_STATUS, pmstat, 2); +} Modified: user/imp/tbemd/sys/dev/xl/if_xlreg.h ============================================================================== --- user/imp/tbemd/sys/dev/xl/if_xlreg.h Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/sys/dev/xl/if_xlreg.h Tue Aug 24 00:17:05 2010 (r211728) @@ -81,6 +81,17 @@ #define XL_CAPS_100MBPS 0x1000 #define XL_CAPS_PWRMGMT 0x2000 +/* + * Bits in the software information 2 word + */ +#define XL_SINFO2_FIXED_BCAST_RX_BUG 0x0002 +#define XL_SINFO2_FIXED_ENDEC_LOOP_BUG 0x0004 +#define XL_SINFO2_AUX_WOL_CON 0x0008 +#define XL_SINFO2_PME_PULSED 0x0010 +#define XL_SINFO2_FIXED_MWI_BUG 0x0020 +#define XL_SINFO2_WOL_AFTER_PWR_LOSS 0x0040 +#define XL_SINFO2_AUTO_RST_TO_D0 0x0080 + #define XL_PACKET_SIZE 1540 #define XL_MAX_FRAMELEN (ETHER_MAX_LEN + ETHER_VLAN_ENCAP_LEN) @@ -408,7 +419,12 @@ #define XL_W7_BM_LEN 0x06 #define XL_W7_BM_STATUS 0x0B #define XL_W7_BM_TIMEr 0x0A +#define XL_W7_BM_PME 0x0C +#define XL_BM_PME_WAKE 0x0001 +#define XL_BM_PME_MAGIC 0x0002 +#define XL_BM_PME_LINKCHG 0x0004 +#define XL_BM_PME_WAKETIMER 0x0008 /* * bus master control registers */ @@ -577,6 +593,7 @@ struct xl_mii_frame { #define XL_FLAG_NO_XCVR_PWR 0x0080 #define XL_FLAG_USE_MMIO 0x0100 #define XL_FLAG_NO_MMIO 0x0200 +#define XL_FLAG_WOL 0x0400 #define XL_NO_XCVR_PWR_MAGICBITS 0x0900 @@ -599,6 +616,7 @@ struct xl_softc { u_int16_t xl_caps; u_int8_t xl_stats_no_timeout; u_int16_t xl_tx_thresh; + int xl_pmcap; int xl_if_flags; struct xl_list_data xl_ldata; struct xl_chain_data xl_cdata; Modified: user/imp/tbemd/sys/sys/link_elf.h ============================================================================== --- user/imp/tbemd/sys/sys/link_elf.h Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/sys/sys/link_elf.h Tue Aug 24 00:17:05 2010 (r211728) @@ -92,6 +92,7 @@ __BEGIN_DECLS typedef int (*__dl_iterate_hdr_callback)(struct dl_phdr_info *, size_t, void *); extern int dl_iterate_phdr(__dl_iterate_hdr_callback, void *); +int _rtld_addr_phdr(const void *, struct dl_phdr_info *); __END_DECLS Modified: user/imp/tbemd/sys/sys/param.h ============================================================================== --- user/imp/tbemd/sys/sys/param.h Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/sys/sys/param.h Tue Aug 24 00:17:05 2010 (r211728) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 900016 /* Master, propagated to newvers */ +#define __FreeBSD_version 900017 /* Master, propagated to newvers */ #ifndef LOCORE #include Copied: user/imp/tbemd/tools/build/options/WITH_BSD_GREP (from r211727, head/tools/build/options/WITH_BSD_GREP) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/tools/build/options/WITH_BSD_GREP Tue Aug 24 00:17:05 2010 (r211728, copy of r211727, head/tools/build/options/WITH_BSD_GREP) @@ -0,0 +1,2 @@ +.\" $FreeBSD$ +Build BSD-licensed grep instead of GNU grep. Modified: user/imp/tbemd/usr.bin/Makefile ============================================================================== --- user/imp/tbemd/usr.bin/Makefile Mon Aug 23 22:58:13 2010 (r211727) +++ user/imp/tbemd/usr.bin/Makefile Tue Aug 24 00:17:05 2010 (r211728) @@ -222,6 +222,10 @@ SUBDIR+= bluetooth SUBDIR+= cpio .endif +.if ${MK_BSD_GREP} != "no" +_grep= grep +.endif + .if ${MK_CALENDAR} != "no" SUBDIR+= calendar .endif @@ -230,10 +234,6 @@ SUBDIR+= calendar _clang= clang .endif -.if ${MK_GNU_GREP} != "yes" -_grep= grep -.endif - .if ${MK_HESIOD} != "no" SUBDIR+= hesinfo .endif From owner-svn-src-user@FreeBSD.ORG Tue Aug 24 21:16:38 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1ADDC10656A6; Tue, 24 Aug 2010 21:16:38 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 06F938FC1A; Tue, 24 Aug 2010 21:16:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7OLGcdp088199; Tue, 24 Aug 2010 21:16:38 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7OLGbk8088171; Tue, 24 Aug 2010 21:16:37 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008242116.o7OLGbk8088171@svn.freebsd.org> From: Warner Losh Date: Tue, 24 Aug 2010 21:16:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211775 - in user/imp/tbemd: . contrib/gcc contrib/libstdc++/include/ext contrib/libstdc++/src contrib/top gnu/lib/libdialog lib lib/libc lib/libc/compat-43 lib/libc/gen lib/libc/locale... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2010 21:16:38 -0000 Author: imp Date: Tue Aug 24 21:16:37 2010 New Revision: 211775 URL: http://svn.freebsd.org/changeset/base/211775 Log: Loopback changes in head @211774 Added: user/imp/tbemd/lib/libc/sys/stack_protector_compat.c - copied unchanged from r211774, head/lib/libc/sys/stack_protector_compat.c Deleted: user/imp/tbemd/lib/libthr/arch/powerpc64/ user/imp/tbemd/lib/libthr/thread/thr_atfork.c Modified: user/imp/tbemd/Makefile.inc1 user/imp/tbemd/contrib/gcc/crtstuff.c user/imp/tbemd/contrib/libstdc++/include/ext/bitmap_allocator.h user/imp/tbemd/contrib/libstdc++/include/ext/ropeimpl.h user/imp/tbemd/contrib/libstdc++/src/locale-inst.cc user/imp/tbemd/gnu/lib/libdialog/checklist.c user/imp/tbemd/lib/Makefile user/imp/tbemd/lib/libc/Makefile user/imp/tbemd/lib/libc/compat-43/Makefile.inc user/imp/tbemd/lib/libc/gen/Makefile.inc user/imp/tbemd/lib/libc/locale/Makefile.inc user/imp/tbemd/lib/libc/quad/Makefile.inc user/imp/tbemd/lib/libc/softfloat/Makefile.inc user/imp/tbemd/lib/libc/stdlib/Makefile.inc user/imp/tbemd/lib/libc/string/Makefile.inc user/imp/tbemd/lib/libc/sys/Makefile.inc user/imp/tbemd/lib/libc/sys/stack_protector.c user/imp/tbemd/lib/libthr/arch/powerpc/include/pthread_md.h user/imp/tbemd/lib/libthr/pthread.map user/imp/tbemd/lib/libthr/thread/thr_private.h user/imp/tbemd/lib/libthr/thread/thr_sig.c user/imp/tbemd/libexec/rtld-elf/rtld.c user/imp/tbemd/sys/amd64/include/trap.h user/imp/tbemd/sys/boot/common/ufsread.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c user/imp/tbemd/sys/dev/age/if_age.c user/imp/tbemd/sys/dev/ed/if_ed_isa.c user/imp/tbemd/sys/dev/vr/if_vr.c user/imp/tbemd/sys/i386/include/trap.h user/imp/tbemd/sys/kern/kern_thr.c user/imp/tbemd/sys/modules/dtrace/Makefile user/imp/tbemd/sys/modules/dtrace/dtraceall/dtraceall.c user/imp/tbemd/sys/modules/dtrace/fasttrap/Makefile user/imp/tbemd/sys/pci/if_rl.c user/imp/tbemd/sys/sys/cdefs.h user/imp/tbemd/sys/sys/param.h user/imp/tbemd/sys/sys/signal.h user/imp/tbemd/sys/x86/x86/local_apic.c user/imp/tbemd/usr.sbin/acpi/acpiconf/acpiconf.c user/imp/tbemd/usr.sbin/pc-sysinstall/backend-query/disk-info.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend-query/disk-list.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend-query/disk-part.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend-query/enable-net.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend-query/get-packages.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend-query/list-packages.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend-query/set-mirror.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend-query/test-netup.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend-query/update-part-list.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend-query/xkeyboard-layouts.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend-query/xkeyboard-models.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend-query/xkeyboard-variants.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend/functions-bsdlabel.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend/functions-cleanup.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend/functions-disk.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend/functions-extractimage.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend/functions-ftp.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend/functions-installcomponents.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend/functions-installpackages.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend/functions-localize.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend/functions-mountdisk.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend/functions-mountoptical.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend/functions-networking.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend/functions-newfs.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend/functions-packages.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend/functions-parse.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend/functions-unmount.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend/functions-upgrade.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend/functions-users.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend/functions.sh user/imp/tbemd/usr.sbin/pc-sysinstall/backend/parseconfig.sh user/imp/tbemd/usr.sbin/pc-sysinstall/pc-sysinstall/pc-sysinstall.sh Directory Properties: user/imp/tbemd/ (props changed) user/imp/tbemd/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/contrib/bind9/ (props changed) user/imp/tbemd/contrib/ee/ (props changed) user/imp/tbemd/contrib/expat/ (props changed) user/imp/tbemd/contrib/file/ (props changed) user/imp/tbemd/contrib/gdb/ (props changed) user/imp/tbemd/contrib/gdtoa/ (props changed) user/imp/tbemd/contrib/gnu-sort/ (props changed) user/imp/tbemd/contrib/groff/ (props changed) user/imp/tbemd/contrib/less/ (props changed) user/imp/tbemd/contrib/libpcap/ (props changed) user/imp/tbemd/contrib/llvm/ (props changed) user/imp/tbemd/contrib/llvm/tools/clang/ (props changed) user/imp/tbemd/contrib/ncurses/ (props changed) user/imp/tbemd/contrib/netcat/ (props changed) user/imp/tbemd/contrib/ntp/ (props changed) user/imp/tbemd/contrib/one-true-awk/ (props changed) user/imp/tbemd/contrib/openbsm/ (props changed) user/imp/tbemd/contrib/openpam/ (props changed) user/imp/tbemd/contrib/pf/ (props changed) user/imp/tbemd/contrib/sendmail/ (props changed) user/imp/tbemd/contrib/tcpdump/ (props changed) user/imp/tbemd/contrib/tcsh/ (props changed) user/imp/tbemd/contrib/top/ (props changed) user/imp/tbemd/contrib/top/install-sh (props changed) user/imp/tbemd/contrib/tzcode/stdtime/ (props changed) user/imp/tbemd/contrib/tzcode/zic/ (props changed) user/imp/tbemd/contrib/tzdata/ (props changed) user/imp/tbemd/contrib/wpa/ (props changed) user/imp/tbemd/crypto/openssh/ (props changed) user/imp/tbemd/crypto/openssl/ (props changed) user/imp/tbemd/lib/libc/ (props changed) user/imp/tbemd/lib/libc/stdtime/ (props changed) user/imp/tbemd/lib/libutil/ (props changed) user/imp/tbemd/lib/libz/ (props changed) user/imp/tbemd/sbin/ (props changed) user/imp/tbemd/sbin/ipfw/ (props changed) user/imp/tbemd/share/zoneinfo/ (props changed) user/imp/tbemd/sys/ (props changed) user/imp/tbemd/sys/amd64/include/xen/ (props changed) user/imp/tbemd/sys/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/sys/contrib/dev/acpica/ (props changed) user/imp/tbemd/sys/contrib/pf/ (props changed) user/imp/tbemd/sys/contrib/x86emu/ (props changed) user/imp/tbemd/sys/dev/xen/xenpci/ (props changed) user/imp/tbemd/usr.bin/csup/ (props changed) user/imp/tbemd/usr.bin/procstat/ (props changed) user/imp/tbemd/usr.sbin/zic/ (props changed) Modified: user/imp/tbemd/Makefile.inc1 ============================================================================== --- user/imp/tbemd/Makefile.inc1 Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/Makefile.inc1 Tue Aug 24 21:16:37 2010 (r211775) @@ -1131,12 +1131,10 @@ _prereq_libs= gnu/lib/libssp/libssp_nons # all shared libraries for ELF. # _startup_libs= gnu/lib/csu -.if exists(${.CURDIR}/lib/csu/${MACHINE_CPUARCH}-elf) -_startup_libs+= lib/csu/${MACHINE_CPUARCH}-elf +.if exists(${.CURDIR}/lib/csu/${MACHINE_ARCH}-elf) +_startup_libs+= lib/csu/${MACHINE_ARCH}-elf .elif exists(${.CURDIR}/lib/csu/${MACHINE_CPUARCH}-elf) _startup_libs+= lib/csu/${MACHINE_CPUARCH}-elf -.elif exists(${.CURDIR}/lib/csu/${MACHINE_ARCH}) -_startup_libs+= lib/csu/${MACHINE_ARCH} .else _startup_libs+= lib/csu/${MACHINE_CPUARCH} .endif Modified: user/imp/tbemd/contrib/gcc/crtstuff.c ============================================================================== --- user/imp/tbemd/contrib/gcc/crtstuff.c Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/contrib/gcc/crtstuff.c Tue Aug 24 21:16:37 2010 (r211775) @@ -175,14 +175,14 @@ CTOR_LIST_BEGIN; #elif defined(CTORS_SECTION_ASM_OP) /* Hack: force cc1 to switch to .data section early, so that assembling __CTOR_LIST__ does not undo our behind-the-back change to .ctors. */ -static func_ptr force_to_data[1] __attribute__ ((__unused__)) = { }; +static func_ptr force_to_data[1] __attribute__ ((__used__)) = { }; asm (CTORS_SECTION_ASM_OP); STATIC func_ptr __CTOR_LIST__[1] - __attribute__ ((__unused__, aligned(sizeof(func_ptr)))) + __attribute__ ((__used__, aligned(sizeof(func_ptr)))) = { (func_ptr) (-1) }; #else STATIC func_ptr __CTOR_LIST__[1] - __attribute__ ((__unused__, section(".ctors"), aligned(sizeof(func_ptr)))) + __attribute__ ((__used__, section(".ctors"), aligned(sizeof(func_ptr)))) = { (func_ptr) (-1) }; #endif /* __CTOR_LIST__ alternatives */ @@ -308,7 +308,7 @@ __do_global_dtors_aux (void) CRT_CALL_STATIC_FUNCTION (FINI_SECTION_ASM_OP, __do_global_dtors_aux) #else /* !defined(FINI_SECTION_ASM_OP) */ static func_ptr __do_global_dtors_aux_fini_array_entry[] - __attribute__ ((__unused__, section(".fini_array"))) + __attribute__ ((__used__, section(".fini_array"))) = { __do_global_dtors_aux }; #endif /* !defined(FINI_SECTION_ASM_OP) */ @@ -348,7 +348,7 @@ frame_dummy (void) CRT_CALL_STATIC_FUNCTION (INIT_SECTION_ASM_OP, frame_dummy) #else /* defined(INIT_SECTION_ASM_OP) */ static func_ptr __frame_dummy_init_array_entry[] - __attribute__ ((__unused__, section(".init_array"))) + __attribute__ ((__used__, section(".init_array"))) = { frame_dummy }; #endif /* !defined(INIT_SECTION_ASM_OP) */ #endif /* USE_EH_FRAME_REGISTRY || JCR_SECTION_NAME */ @@ -456,7 +456,7 @@ CTOR_LIST_END; #elif defined(CTORS_SECTION_ASM_OP) /* Hack: force cc1 to switch to .data section early, so that assembling __CTOR_LIST__ does not undo our behind-the-back change to .ctors. */ -static func_ptr force_to_data[1] __attribute__ ((__unused__)) = { }; +static func_ptr force_to_data[1] __attribute__ ((__used__)) = { }; asm (CTORS_SECTION_ASM_OP); STATIC func_ptr __CTOR_END__[1] __attribute__((aligned(sizeof(func_ptr)))) Modified: user/imp/tbemd/contrib/libstdc++/include/ext/bitmap_allocator.h ============================================================================== --- user/imp/tbemd/contrib/libstdc++/include/ext/bitmap_allocator.h Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/contrib/libstdc++/include/ext/bitmap_allocator.h Tue Aug 24 21:16:37 2010 (r211775) @@ -549,11 +549,13 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) */ class free_list { + public: typedef size_t* value_type; typedef __detail::__mini_vector vector_type; typedef vector_type::iterator iterator; typedef __mutex __mutex_type; + private: struct _LT_pointer_compare { bool Modified: user/imp/tbemd/contrib/libstdc++/include/ext/ropeimpl.h ============================================================================== --- user/imp/tbemd/contrib/libstdc++/include/ext/ropeimpl.h Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/contrib/libstdc++/include/ext/ropeimpl.h Tue Aug 24 21:16:37 2010 (r211775) @@ -382,7 +382,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) { _Rope_RopeLeaf<_CharT, _Alloc>* __l = (_Rope_RopeLeaf<_CharT, _Alloc>*)this; - __l->_Rope_RopeLeaf<_CharT, _Alloc>::~_Rope_RopeLeaf(); + __l->template _Rope_RopeLeaf<_CharT, _Alloc>::~_Rope_RopeLeaf(); _L_deallocate(__l, 1); break; } @@ -390,7 +390,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) { _Rope_RopeConcatenation<_CharT,_Alloc>* __c = (_Rope_RopeConcatenation<_CharT, _Alloc>*)this; - __c->_Rope_RopeConcatenation<_CharT, _Alloc>:: + __c->template _Rope_RopeConcatenation<_CharT, _Alloc>:: ~_Rope_RopeConcatenation(); _C_deallocate(__c, 1); break; @@ -399,7 +399,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) { _Rope_RopeFunction<_CharT, _Alloc>* __f = (_Rope_RopeFunction<_CharT, _Alloc>*)this; - __f->_Rope_RopeFunction<_CharT, _Alloc>::~_Rope_RopeFunction(); + __f->template _Rope_RopeFunction<_CharT, _Alloc>::~_Rope_RopeFunction(); _F_deallocate(__f, 1); break; } @@ -407,7 +407,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) { _Rope_RopeSubstring<_CharT, _Alloc>* __ss = (_Rope_RopeSubstring<_CharT, _Alloc>*)this; - __ss->_Rope_RopeSubstring<_CharT, _Alloc>:: + __ss->template _Rope_RopeSubstring<_CharT, _Alloc>:: ~_Rope_RopeSubstring(); _S_deallocate(__ss, 1); break; @@ -433,7 +433,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) { size_t __old_len = __r->_M_size; _CharT* __new_data = (_CharT*) - _Data_allocate(_S_rounded_up_size(__old_len + __len)); + _Rope_rep_base<_CharT, _Alloc>::_Data_allocate(_S_rounded_up_size(__old_len + __len)); _RopeLeaf* __result; uninitialized_copy_n(__r->_M_data, __old_len, __new_data); @@ -817,7 +817,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) if (__result_len > __lazy_threshold) goto lazy; __section = (_CharT*) - _Data_allocate(_S_rounded_up_size(__result_len)); + _Rope_rep_base<_CharT, _Alloc>::_Data_allocate(_S_rounded_up_size(__result_len)); try { (*(__f->_M_fn))(__start, __result_len, __section); } catch(...) Modified: user/imp/tbemd/contrib/libstdc++/src/locale-inst.cc ============================================================================== --- user/imp/tbemd/contrib/libstdc++/src/locale-inst.cc Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/contrib/libstdc++/src/locale-inst.cc Tue Aug 24 21:16:37 2010 (r211775) @@ -180,11 +180,11 @@ _GLIBCXX_END_LDBL_NAMESPACE template class messages_byname; // ctype - inline template class __ctype_abstract_base; + template class __ctype_abstract_base; template class ctype_byname; // codecvt - inline template class __codecvt_abstract_base; + template class __codecvt_abstract_base; template class codecvt_byname; // collate Modified: user/imp/tbemd/gnu/lib/libdialog/checklist.c ============================================================================== --- user/imp/tbemd/gnu/lib/libdialog/checklist.c Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/gnu/lib/libdialog/checklist.c Tue Aug 24 21:16:37 2010 (r211775) @@ -198,6 +198,24 @@ draw: wnoutrefresh(dialog); wmove(list, choice, check_x+1); wrefresh(list); + + /* + * XXX Black magic voodoo that allows printing to the checklist + * window. For some reason, if this "refresh" code is not in + * place, printing to the window from the selected callback + * prints "behind" the checklist window. There is probably a + * better way to do this. + */ + draw_box(dialog, box_y, box_x, list_height + 2, list_width + 2, menubox_border_attr, menubox_attr); + + for (i = 0; i < max_choice; i++) + print_item(list, items[i * 3], items[i * 3 + 1], status[i], i, i == choice, DREF(ditems, i), list_width, item_x, check_x); + print_arrows(dialog, scroll, list_height, item_no, box_x, box_y, check_x + 4, cur_x, cur_y); + + wmove(list, choice, check_x+1); + wnoutrefresh(dialog); + wrefresh(list); + /* XXX Black magic XXX */ while (key != ESC) { key = wgetch(dialog); Modified: user/imp/tbemd/lib/Makefile ============================================================================== --- user/imp/tbemd/lib/Makefile Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/lib/Makefile Tue Aug 24 21:16:37 2010 (r211775) @@ -112,7 +112,9 @@ SUBDIR= ${SUBDIR_ORDERED} \ ${_bind} \ ${_clang} -.if exists(${.CURDIR}/csu/${MACHINE_CPUARCH}-elf) +.if exists(${.CURDIR}/csu/${MACHINE_ARCH}-elf) +_csu=csu/${MACHINE_ARCH}-elf +.elif exists(${.CURDIR}/csu/${MACHINE_CPUARCH}-elf) _csu=csu/${MACHINE_CPUARCH}-elf .elif exists(${.CURDIR}/csu/${MACHINE_CPUARCH}/Makefile) _csu=csu/${MACHINE_CPUARCH} Modified: user/imp/tbemd/lib/libc/Makefile ============================================================================== --- user/imp/tbemd/lib/libc/Makefile Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/lib/libc/Makefile Tue Aug 24 21:16:37 2010 (r211775) @@ -5,6 +5,15 @@ SHLIBDIR?= /lib .include +# We have to special case powerpc and powerpc64, since they mostly have +# the same source implementation. libc is very different due to large +# ABI differences. +.if ${LIBC_ARCH} == "powerpc" +LIBC_ARCH=${MACHINE_ARCH} +.else +LIBC_ARCH=${LIBC_ARCH} +.endif + # All library objects contain FreeBSD revision strings by default; they may be # excluded as a space-saving measure. To produce a library that does # not contain these strings, add -DSTRIP_FBSDID (see ) to CFLAGS @@ -15,7 +24,7 @@ LIB=c SHLIB_MAJOR= 7 WARNS?= 2 CFLAGS+=-I${.CURDIR}/include -I${.CURDIR}/../../include -CFLAGS+=-I${.CURDIR}/${MACHINE_CPUARCH} +CFLAGS+=-I${.CURDIR}/${LIBC_ARCH} CFLAGS+=-DNLS CLEANFILES+=tags INSTALL_PIC_ARCHIVE= @@ -36,7 +45,7 @@ MDASM= MIASM= NOASM= -.include "${.CURDIR}/${MACHINE_CPUARCH}/Makefile.inc" +.include "${.CURDIR}/${LIBC_ARCH}/Makefile.inc" .include "${.CURDIR}/db/Makefile.inc" .include "${.CURDIR}/compat-43/Makefile.inc" .include "${.CURDIR}/gdtoa/Makefile.inc" @@ -49,14 +58,14 @@ NOASM= .include "${.CURDIR}/net/Makefile.inc" .include "${.CURDIR}/nls/Makefile.inc" .include "${.CURDIR}/posix1e/Makefile.inc" -.if ${MACHINE_CPUARCH} != "amd64" && \ - ${MACHINE_CPUARCH} != "ia64" && \ - ${MACHINE_ARCH} != "powerpc64" && \ - ${MACHINE_CPUARCH} != "sparc64" && \ - ${MACHINE_CPUARCH} != "mips" +.if ${LIBC_ARCH} != "amd64" && \ + ${LIBC_ARCH} != "ia64" && \ + ${LIBC_ARCH} != "powerpc64" && \ + ${LIBC_ARCH} != "sparc64" && \ + ${LIBC_ARCH} != "mips" .include "${.CURDIR}/quad/Makefile.inc" .endif -.if ${MACHINE_ARCH} == "mips" && \ +.if ${LIBC_ARCH} == "mips" && \ (!defined(TARGET_ABI) || ${TARGET_ABI} == "o32") .include "${.CURDIR}/quad/Makefile.inc" .endif @@ -70,7 +79,7 @@ NOASM= .include "${.CURDIR}/rpc/Makefile.inc" .include "${.CURDIR}/uuid/Makefile.inc" .include "${.CURDIR}/xdr/Makefile.inc" -.if ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "mips" +.if ${LIBC_ARCH} == "arm" || ${LIBC_ARCH} == "mips" .include "${.CURDIR}/softfloat/Makefile.inc" .endif .if ${MK_NIS} != "no" @@ -115,14 +124,14 @@ KQSRCS= adddi3.c anddi3.c ashldi3.c ashr KSRCS= bcmp.c ffs.c ffsl.c fls.c flsl.c index.c mcount.c rindex.c \ strcat.c strcmp.c strcpy.c strlen.c strncpy.c -libkern: libkern.gen libkern.${MACHINE_CPUARCH} +libkern: libkern.gen libkern.${LIBC_ARCH} libkern.gen: ${KQSRCS} ${KSRCS} cp -p ${.CURDIR}/quad/quad.h ${.ALLSRC} ${DESTDIR}/sys/libkern -libkern.${MACHINE_CPUARCH}:: ${KMSRCS} +libkern.${LIBC_ARCH}:: ${KMSRCS} .if defined(KMSRCS) && !empty(KMSRCS) - cp -p ${.ALLSRC} ${DESTDIR}/sys/libkern/${MACHINE_CPUARCH} + cp -p ${.ALLSRC} ${DESTDIR}/sys/libkern/${LIBC_ARCH} .endif .include Modified: user/imp/tbemd/lib/libc/compat-43/Makefile.inc ============================================================================== --- user/imp/tbemd/lib/libc/compat-43/Makefile.inc Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/lib/libc/compat-43/Makefile.inc Tue Aug 24 21:16:37 2010 (r211775) @@ -2,7 +2,7 @@ # $FreeBSD$ # compat-43 sources -.PATH: ${.CURDIR}/${MACHINE_CPUARCH}/compat-43 ${.CURDIR}/compat-43 +.PATH: ${.CURDIR}/${LIBC_ARCH}/compat-43 ${.CURDIR}/compat-43 SRCS+= creat.c gethostid.c getwd.c killpg.c sethostid.c setpgrp.c \ setrgid.c setruid.c sigcompat.c Modified: user/imp/tbemd/lib/libc/gen/Makefile.inc ============================================================================== --- user/imp/tbemd/lib/libc/gen/Makefile.inc Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/lib/libc/gen/Makefile.inc Tue Aug 24 21:16:37 2010 (r211775) @@ -2,7 +2,7 @@ # $FreeBSD$ # machine-independent gen sources -.PATH: ${.CURDIR}/${MACHINE_CPUARCH}/gen ${.CURDIR}/gen +.PATH: ${.CURDIR}/${LIBC_ARCH}/gen ${.CURDIR}/gen SRCS+= __getosreldate.c __xuname.c \ _once_stub.c _pthread_stubs.c _rand48.c _spinlock_stub.c \ @@ -38,9 +38,7 @@ SRCS+= __getosreldate.c __xuname.c \ SYM_MAPS+=${.CURDIR}/gen/Symbol.map # machine-dependent gen sources -.if exists(${.CURDIR}/${MACHINE_CPUARCH}/gen/Makefile.inc) -.include "${.CURDIR}/${MACHINE_CPUARCH}/gen/Makefile.inc" -.endif +.sinclude "${.CURDIR}/${LIBC_ARCH}/gen/Makefile.inc" MAN+= alarm.3 arc4random.3 \ basename.3 check_utility_compat.3 clock.3 \ Modified: user/imp/tbemd/lib/libc/locale/Makefile.inc ============================================================================== --- user/imp/tbemd/lib/libc/locale/Makefile.inc Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/lib/libc/locale/Makefile.inc Tue Aug 24 21:16:37 2010 (r211775) @@ -2,7 +2,7 @@ # $FreeBSD$ # locale sources -.PATH: ${.CURDIR}/${MACHINE_CPUARCH}/locale ${.CURDIR}/locale +.PATH: ${.CURDIR}/${LIBC_ARCH}/locale ${.CURDIR}/locale SRCS+= ascii.c big5.c btowc.c collate.c collcmp.c euc.c fix_grouping.c \ gb18030.c gb2312.c gbk.c isctype.c iswctype.c \ Modified: user/imp/tbemd/lib/libc/quad/Makefile.inc ============================================================================== --- user/imp/tbemd/lib/libc/quad/Makefile.inc Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/lib/libc/quad/Makefile.inc Tue Aug 24 21:16:37 2010 (r211775) @@ -2,9 +2,9 @@ # $FreeBSD$ # Quad support, if needed -.PATH: ${.CURDIR}/${MACHINE_CPUARCH}/quad ${.CURDIR}/quad +.PATH: ${.CURDIR}/${LIBC_ARCH}/quad ${.CURDIR}/quad -.if ${MACHINE_CPUARCH} == "i386" +.if ${LIBC_ARCH} == "i386" SRCS+= cmpdi2.c divdi3.c moddi3.c qdivrem.c ucmpdi2.c udivdi3.c umoddi3.c Modified: user/imp/tbemd/lib/libc/softfloat/Makefile.inc ============================================================================== --- user/imp/tbemd/lib/libc/softfloat/Makefile.inc Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/lib/libc/softfloat/Makefile.inc Tue Aug 24 21:16:37 2010 (r211775) @@ -2,10 +2,10 @@ # $FreeBSD$ SOFTFLOAT_BITS?=64 -.PATH: ${MACHINE_CPUARCH}/softfloat \ +.PATH: ${LIBC_ARCH}/softfloat \ ${.CURDIR}/softfloat/bits${SOFTFLOAT_BITS} ${.CURDIR}/softfloat -CFLAGS+= -I${.CURDIR}/${MACHINE_CPUARCH}/softfloat -I${.CURDIR}/softfloat +CFLAGS+= -I${.CURDIR}/${LIBC_ARCH}/softfloat -I${.CURDIR}/softfloat CFLAGS+= -DSOFTFLOAT_FOR_GCC SRCS+= softfloat.c Modified: user/imp/tbemd/lib/libc/stdlib/Makefile.inc ============================================================================== --- user/imp/tbemd/lib/libc/stdlib/Makefile.inc Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/lib/libc/stdlib/Makefile.inc Tue Aug 24 21:16:37 2010 (r211775) @@ -2,7 +2,7 @@ # $FreeBSD$ # machine-independent stdlib sources -.PATH: ${.CURDIR}/${MACHINE_CPUARCH}/stdlib ${.CURDIR}/stdlib +.PATH: ${.CURDIR}/${LIBC_ARCH}/stdlib ${.CURDIR}/stdlib MISRCS+=_Exit.c a64l.c abort.c abs.c atexit.c atof.c atoi.c atol.c atoll.c \ bsearch.c div.c exit.c getenv.c getopt.c getopt_long.c \ @@ -16,7 +16,7 @@ MISRCS+=_Exit.c a64l.c abort.c abs.c ate SYM_MAPS+= ${.CURDIR}/stdlib/Symbol.map # machine-dependent stdlib sources -.sinclude "${.CURDIR}/${MACHINE_CPUARCH}/stdlib/Makefile.inc" +.sinclude "${.CURDIR}/${LIBC_ARCH}/stdlib/Makefile.inc" MAN+= a64l.3 abort.3 abs.3 alloca.3 atexit.3 atof.3 atoi.3 atol.3 bsearch.3 \ div.3 exit.3 getenv.3 getopt.3 getopt_long.3 getsubopt.3 \ Modified: user/imp/tbemd/lib/libc/string/Makefile.inc ============================================================================== --- user/imp/tbemd/lib/libc/string/Makefile.inc Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/lib/libc/string/Makefile.inc Tue Aug 24 21:16:37 2010 (r211775) @@ -1,7 +1,7 @@ # @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 # $FreeBSD$ -.PATH: ${.CURDIR}/${MACHINE_CPUARCH}/string ${.CURDIR}/string +.PATH: ${.CURDIR}/${LIBC_ARCH}/string ${.CURDIR}/string CFLAGS+= -I${.CURDIR}/locale @@ -26,9 +26,7 @@ SYM_MAPS+= ${.CURDIR}/string/Symbol.map # machine-dependent string sources -.if exists(${.CURDIR}/${MACHINE_CPUARCH}/string/Makefile.inc) -.include "${.CURDIR}/${MACHINE_CPUARCH}/string/Makefile.inc" -.endif +.sinclude "${.CURDIR}/${LIBC_ARCH}/string/Makefile.inc" MAN+= bcmp.3 bcopy.3 bstring.3 bzero.3 ffs.3 index.3 memccpy.3 memchr.3 \ memcmp.3 memcpy.3 memmem.3 memmove.3 memset.3 strcasecmp.3 strcat.3 \ Modified: user/imp/tbemd/lib/libc/sys/Makefile.inc ============================================================================== --- user/imp/tbemd/lib/libc/sys/Makefile.inc Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/lib/libc/sys/Makefile.inc Tue Aug 24 21:16:37 2010 (r211775) @@ -2,7 +2,7 @@ # $FreeBSD$ # sys sources -.PATH: ${.CURDIR}/${MACHINE_CPUARCH}/sys ${.CURDIR}/sys +.PATH: ${.CURDIR}/${LIBC_ARCH}/sys ${.CURDIR}/sys # Include the generated makefile containing the *complete* list # of syscall names in MIASM. @@ -13,12 +13,10 @@ # MDASM names override the default syscall names in MIASM. # NOASM will prevent the default syscall code from being generated. # -.if exists(${.CURDIR}/${MACHINE_CPUARCH}/sys/Makefile.inc) -.include "${.CURDIR}/${MACHINE_CPUARCH}/sys/Makefile.inc" -.endif +.sinclude "${.CURDIR}/${LIBC_ARCH}/sys/Makefile.inc" # Sources common to both syscall interfaces: -SRCS+= stack_protector.c __error.c +SRCS+= stack_protector.c stack_protector_compat.c __error.c .if !defined(WITHOUT_SYSCALL_COMPAT) SRCS+= fcntl.c ftruncate.c lseek.c mmap.c pread.c pwrite.c truncate.c PSEUDO+= _fcntl.o Modified: user/imp/tbemd/lib/libc/sys/stack_protector.c ============================================================================== --- user/imp/tbemd/lib/libc/sys/stack_protector.c Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/lib/libc/sys/stack_protector.c Tue Aug 24 21:16:37 2010 (r211775) @@ -1,4 +1,3 @@ -/* $FreeBSD$ */ /* $NetBSD: stack_protector.c,v 1.4 2006/11/22 17:23:25 christos Exp $ */ /* $OpenBSD: stack_protector.c,v 1.10 2006/03/31 05:34:44 deraadt Exp $ */ /* @@ -116,8 +115,6 @@ __chk_fail(void) __fail("buffer overflow detected; terminated"); } -#ifdef PIC -__sym_compat(__stack_chk_fail_local, __stack_chk_fail, FBSD_1.0); -#else +#ifndef PIC __weak_reference(__stack_chk_fail, __stack_chk_fail_local); #endif Copied: user/imp/tbemd/lib/libc/sys/stack_protector_compat.c (from r211774, head/lib/libc/sys/stack_protector_compat.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/lib/libc/sys/stack_protector_compat.c Tue Aug 24 21:16:37 2010 (r211775, copy of r211774, head/lib/libc/sys/stack_protector_compat.c) @@ -0,0 +1,20 @@ +/* + * Written by Alexander Kabaev + * The file is in public domain. + */ + +#include +__FBSDID("$FreeBSD$"); + +void __stack_chk_fail(void); + +#ifdef PIC +void +__stack_chk_fail_local_hidden(void) +{ + + __stack_chk_fail(); +} + +__sym_compat(__stack_chk_fail_local, __stack_chk_fail_local_hidden, FBSD_1.0); +#endif Modified: user/imp/tbemd/lib/libthr/arch/powerpc/include/pthread_md.h ============================================================================== --- user/imp/tbemd/lib/libthr/arch/powerpc/include/pthread_md.h Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/lib/libthr/arch/powerpc/include/pthread_md.h Tue Aug 24 21:16:37 2010 (r211775) @@ -39,12 +39,16 @@ #define CPU_SPINWAIT #define DTV_OFFSET offsetof(struct tcb, tcb_dtv) +#ifdef __powerpc64__ +#define TP_OFFSET 0x7010 +#else #define TP_OFFSET 0x7008 +#endif /* * Variant I tcb. The structure layout is fixed, don't blindly * change it. - * %r2 points to end of the structure. + * %r2 (32-bit) or %r13 (64-bit) points to end of the structure. */ struct tcb { void *tcb_dtv; @@ -57,7 +61,11 @@ void _tcb_dtor(struct tcb *); static __inline void _tcb_set(struct tcb *tcb) { +#ifdef __powerpc64__ + register uint8_t *_tp __asm__("%r13"); +#else register uint8_t *_tp __asm__("%r2"); +#endif __asm __volatile("mr %0,%1" : "=r"(_tp) : "r"((uint8_t *)tcb + TP_OFFSET)); @@ -66,7 +74,11 @@ _tcb_set(struct tcb *tcb) static __inline struct tcb * _tcb_get(void) { +#ifdef __powerpc64__ + register uint8_t *_tp __asm__("%r13"); +#else register uint8_t *_tp __asm__("%r2"); +#endif return ((struct tcb *)(_tp - TP_OFFSET)); } Modified: user/imp/tbemd/lib/libthr/pthread.map ============================================================================== --- user/imp/tbemd/lib/libthr/pthread.map Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/lib/libthr/pthread.map Tue Aug 24 21:16:37 2010 (r211775) @@ -342,6 +342,7 @@ FBSDprivate_1.0 { _pthread_timedjoin_np; _pthread_yield; _raise; + _setcontext; _sigaction; _sigprocmask; _sigsuspend; @@ -351,6 +352,7 @@ FBSDprivate_1.0 { _spinlock; _spinlock_debug; _spinunlock; + _swapcontext; /* Debugger needs these. */ _libthr_debug; @@ -397,4 +399,6 @@ FBSD_1.1 { FBSD_1.2 { openat; + setcontext; + swapcontext; }; Modified: user/imp/tbemd/lib/libthr/thread/thr_private.h ============================================================================== --- user/imp/tbemd/lib/libthr/thread/thr_private.h Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/lib/libthr/thread/thr_private.h Tue Aug 24 21:16:37 2010 (r211775) @@ -66,10 +66,6 @@ WEAK_REF(func, SYM_FBP10(sym)); \ SYM_DEFAULT(sym, SYM_FBP10(sym), FBSDprivate_1.0) -#ifndef __hidden -#define __hidden __attribute__((visibility("hidden"))) -#endif - #include "pthread_md.h" #include "thr_umtx.h" #include "thread_db.h" @@ -709,6 +705,12 @@ int __sys_sigwaitinfo(const sigset_t *se int __sys_nanosleep(const struct timespec *, struct timespec *); #endif +/* #include */ +#ifdef _SYS_UCONTEXT_H_ +int __sys_setcontext(const ucontext_t *ucp); +int __sys_swapcontext(ucontext_t *oucp, const ucontext_t *ucp); +#endif + /* #include */ #ifdef _UNISTD_H_ int __sys_close(int); Modified: user/imp/tbemd/lib/libthr/thread/thr_sig.c ============================================================================== --- user/imp/tbemd/lib/libthr/thread/thr_sig.c Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/lib/libthr/thread/thr_sig.c Tue Aug 24 21:16:37 2010 (r211775) @@ -59,7 +59,29 @@ int _sigwaitinfo(const sigset_t *set, si int __sigwait(const sigset_t *set, int *sig); int _sigwait(const sigset_t *set, int *sig); int __sigsuspend(const sigset_t *sigmask); +int _setcontext(const ucontext_t *); +int _swapcontext(ucontext_t *, const ucontext_t *); +static void +remove_thr_signals(sigset_t *set) +{ + if (SIGISMEMBER(*set, SIGCANCEL)) + SIGDELSET(*set, SIGCANCEL); +} + +static const sigset_t * +thr_remove_thr_signals(const sigset_t *set, sigset_t *newset) +{ + const sigset_t *pset; + + if (SIGISMEMBER(*set, SIGCANCEL)) { + *newset = *set; + SIGDELSET(*newset, SIGCANCEL); + pset = newset; + } else + pset = set; + return (pset); +} static void sigcancel_handler(int sig __unused, @@ -268,20 +290,6 @@ _pthread_sigmask(int how, const sigset_t __weak_reference(__sigsuspend, sigsuspend); -static const sigset_t * -thr_remove_thr_signals(const sigset_t *set, sigset_t *newset) -{ - const sigset_t *pset; - - if (SIGISMEMBER(*set, SIGCANCEL)) { - *newset = *set; - SIGDELSET(*newset, SIGCANCEL); - pset = newset; - } else - pset = set; - return (pset); -} - int _sigsuspend(const sigset_t * set) { @@ -389,3 +397,26 @@ __sigwait(const sigset_t *set, int *sig) _thr_cancel_leave_defer(curthread, (ret != 0)); return (ret); } + +__weak_reference(_setcontext, setcontext); +int +_setcontext(const ucontext_t *ucp) +{ + ucontext_t uc; + + (void) memcpy(&uc, ucp, sizeof (uc)); + remove_thr_signals(&uc.uc_sigmask); + + return __sys_setcontext(&uc); +} + +__weak_reference(_swapcontext, swapcontext); +int +_swapcontext(ucontext_t *oucp, const ucontext_t *ucp) +{ + ucontext_t uc; + + (void) memcpy(&uc, ucp, sizeof (uc)); + remove_thr_signals(&uc.uc_sigmask); + return __sys_swapcontext(oucp, &uc); +} Modified: user/imp/tbemd/libexec/rtld-elf/rtld.c ============================================================================== --- user/imp/tbemd/libexec/rtld-elf/rtld.c Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/libexec/rtld-elf/rtld.c Tue Aug 24 21:16:37 2010 (r211775) @@ -104,7 +104,6 @@ static void init_dag1(Obj_Entry *, Obj_E static void init_rtld(caddr_t, Elf_Auxinfo **); static void initlist_add_neededs(Needed_Entry *, Objlist *); static void initlist_add_objects(Obj_Entry *, Obj_Entry **, Objlist *); -static bool is_exported(const Elf_Sym *); static void linkmap_add(Obj_Entry *); static void linkmap_delete(Obj_Entry *); static int load_needed_objects(Obj_Entry *, int); @@ -197,36 +196,6 @@ extern Elf_Dyn _DYNAMIC; int osreldate, pagesize; /* - * These are the functions the dynamic linker exports to application - * programs. They are the only symbols the dynamic linker is willing - * to export from itself. - */ -static func_ptr_type exports[] = { - (func_ptr_type) &_rtld_error, - (func_ptr_type) &dlclose, - (func_ptr_type) &dlerror, - (func_ptr_type) &dlopen, - (func_ptr_type) &dlsym, - (func_ptr_type) &dlfunc, - (func_ptr_type) &dlvsym, - (func_ptr_type) &dladdr, - (func_ptr_type) &dllockinit, - (func_ptr_type) &dlinfo, - (func_ptr_type) &_rtld_thread_init, -#ifdef __i386__ - (func_ptr_type) &___tls_get_addr, -#endif - (func_ptr_type) &__tls_get_addr, - (func_ptr_type) &_rtld_allocate_tls, - (func_ptr_type) &_rtld_free_tls, - (func_ptr_type) &dl_iterate_phdr, - (func_ptr_type) &_rtld_atfork_pre, - (func_ptr_type) &_rtld_atfork_post, - (func_ptr_type) &_rtld_addr_phdr, - NULL -}; - -/* * Global declarations normally provided by crt1. The dynamic linker is * not built with crt1, so we have to provide them ourselves. */ @@ -1445,19 +1414,6 @@ initlist_add_objects(Obj_Entry *obj, Obj #define FPTR_TARGET(f) ((Elf_Addr) (f)) #endif -static bool -is_exported(const Elf_Sym *def) -{ - Elf_Addr value; - const func_ptr_type *p; - - value = (Elf_Addr)(obj_rtld.relocbase + def->st_value); - for (p = exports; *p != NULL; p++) - if (FPTR_TARGET(*p) == value) - return true; - return false; -} - /* * Given a shared object, traverse its list of needed objects, and load * each of them. Returns 0 on success. Generates an error message and @@ -2161,12 +2117,11 @@ do_dlsym(void *handle, const char *name, /* * Search the dynamic linker itself, and possibly resolve the * symbol from there. This is how the application links to - * dynamic linker services such as dlopen. Only the values listed - * in the "exports" array can be resolved from the dynamic linker. + * dynamic linker services such as dlopen. */ if (def == NULL || ELF_ST_BIND(def->st_info) == STB_WEAK) { symp = symlook_obj(name, hash, &obj_rtld, ve, flags); - if (symp != NULL && is_exported(symp)) { + if (symp != NULL) { def = symp; defobj = &obj_rtld; } @@ -2746,12 +2701,11 @@ symlook_default(const char *name, unsign /* * Search the dynamic linker itself, and possibly resolve the * symbol from there. This is how the application links to - * dynamic linker services such as dlopen. Only the values listed - * in the "exports" array can be resolved from the dynamic linker. + * dynamic linker services such as dlopen. */ if (def == NULL || ELF_ST_BIND(def->st_info) == STB_WEAK) { symp = symlook_obj(name, hash, &obj_rtld, ventry, flags); - if (symp != NULL && is_exported(symp)) { + if (symp != NULL) { def = symp; defobj = &obj_rtld; } Modified: user/imp/tbemd/sys/amd64/include/trap.h ============================================================================== --- user/imp/tbemd/sys/amd64/include/trap.h Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/sys/amd64/include/trap.h Tue Aug 24 21:16:37 2010 (r211775) @@ -62,6 +62,8 @@ #define T_MCHK 28 /* machine check trap */ #define T_XMMFLT 29 /* SIMD floating-point exception */ #define T_RESERVED 30 /* reserved (unknown) */ +#define T_DTRACE_RET 31 /* DTrace pid return */ +#define T_DTRACE_PROBE 32 /* DTrace fasttrap probe */ /* XXX most of the following codes aren't used, but could be. */ Modified: user/imp/tbemd/sys/boot/common/ufsread.c ============================================================================== --- user/imp/tbemd/sys/boot/common/ufsread.c Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/sys/boot/common/ufsread.c Tue Aug 24 21:16:37 2010 (r211775) @@ -223,14 +223,19 @@ fsread(ino_t inode, void *buf, size_t nb return -1; n = INO_TO_VBO(n, inode); #if defined(UFS1_ONLY) - dp1 = ((struct ufs1_dinode *)blkbuf)[n]; + memcpy(&dp1, (struct ufs1_dinode *)blkbuf + n, + sizeof(struct ufs1_dinode)); #elif defined(UFS2_ONLY) - dp2 = ((struct ufs2_dinode *)blkbuf)[n]; + memcpy(&dp2, (struct ufs2_dinode *)blkbuf + n, + sizeof(struct ufs2_dinode)); #else if (fs->fs_magic == FS_UFS1_MAGIC) - dp1 = ((struct ufs1_dinode *)blkbuf)[n]; + memcpy(&dp1, (struct ufs1_dinode *)blkbuf + n, + sizeof(struct ufs1_dinode)); else - dp2 = ((struct ufs2_dinode *)blkbuf)[n]; + memcpy(&dp2, (struct ufs2_dinode *)blkbuf + n, + sizeof(struct ufs2_dinode)); + #endif inomap = inode; fs_off = 0; Modified: user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c ============================================================================== --- user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c Tue Aug 24 20:54:43 2010 (r211774) +++ user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c Tue Aug 24 21:16:37 2010 (r211775) @@ -17,6 +17,10 @@ * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END + * + * Portions Copyright 2010 The FreeBSD Foundation + * + * $FreeBSD$ */ /* @@ -24,7 +28,9 @@ * Use is subject to license terms. */ +#if defined(sun) #pragma ident "%Z%%M% %I% %E% SMI" +#endif #include #include @@ -32,11 +38,15 @@ #include #include #include +#if defined(sun) #include +#endif #include #include #include +#if defined(sun) #include +#endif #include #include #include @@ -44,9 +54,17 @@ #include #include #include -#include #include +#if defined(sun) #include +#endif +#include +#include +#if !defined(sun) +#include +#include +#include +#endif /* * User-Land Trap-Based Tracing @@ -125,11 +143,20 @@ * never hold the provider lock and creation lock simultaneously */ -static dev_info_t *fasttrap_devi; +static d_open_t fasttrap_open; +static d_ioctl_t fasttrap_ioctl; + +static struct cdevsw fasttrap_cdevsw = { + .d_version = D_VERSION, + .d_open = fasttrap_open, + .d_ioctl = fasttrap_ioctl, + .d_name = "fasttrap", +}; +static struct cdev *fasttrap_cdev; static dtrace_meta_provider_id_t fasttrap_meta_id; -static timeout_id_t fasttrap_timeout; -static kmutex_t fasttrap_cleanup_mtx; +static struct callout fasttrap_timeout; +static struct mtx fasttrap_cleanup_mtx; static uint_t fasttrap_cleanup_work; /* @@ -229,6 +256,7 @@ fasttrap_hash_str(const char *p) void fasttrap_sigtrap(proc_t *p, kthread_t *t, uintptr_t pc) { +#if defined(sun) sigqueue_t *sqp = kmem_zalloc(sizeof (sigqueue_t), KM_SLEEP); sqp->sq_info.si_signo = SIGTRAP; @@ -241,6 +269,17 @@ fasttrap_sigtrap(proc_t *p, kthread_t *t if (t != NULL) aston(t); +#else + ksiginfo_t *ksi = kmem_zalloc(sizeof (ksiginfo_t), KM_SLEEP); + + ksiginfo_init(ksi); + ksi->ksi_signo = SIGTRAP; + ksi->ksi_code = TRAP_DTRACE; + ksi->ksi_addr = (caddr_t)pc; + PROC_LOCK(p); + (void) tdksignal(t, SIGTRAP, ksi); + PROC_UNLOCK(p); +#endif } /* @@ -250,17 +289,24 @@ fasttrap_sigtrap(proc_t *p, kthread_t *t static void fasttrap_mod_barrier(uint64_t gen) { +#if defined(sun) int i; +#endif if (gen < fasttrap_mod_gen) return; fasttrap_mod_gen++; +#if defined(sun) for (i = 0; i < NCPU; i++) { mutex_enter(&cpu_core[i].cpuc_pid_lock); mutex_exit(&cpu_core[i].cpuc_pid_lock); } +#else + /* XXX */ + __asm __volatile("": : :"memory"); +#endif } /* @@ -274,16 +320,15 @@ fasttrap_pid_cleanup_cb(void *data) fasttrap_provider_t **fpp, *fp; fasttrap_bucket_t *bucket; dtrace_provider_id_t provid; - int i, later; + int i, later = 0; static volatile int in = 0; ASSERT(in == 0); in = 1; - mutex_enter(&fasttrap_cleanup_mtx); while (fasttrap_cleanup_work) { fasttrap_cleanup_work = 0; - mutex_exit(&fasttrap_cleanup_mtx); + mtx_unlock(&fasttrap_cleanup_mtx); later = 0; @@ -349,10 +394,12 @@ fasttrap_pid_cleanup_cb(void *data) mutex_exit(&bucket->ftb_mtx); } - mutex_enter(&fasttrap_cleanup_mtx); + mtx_lock(&fasttrap_cleanup_mtx); } +#if 0 ASSERT(fasttrap_timeout != 0); +#endif /* * If we were unable to remove a retired provider, try again after @@ -364,14 +411,17 @@ fasttrap_pid_cleanup_cb(void *data) * get a chance to do that work if and when the timeout is reenabled * (if detach fails). */ - if (later > 0 && fasttrap_timeout != (timeout_id_t)1) - fasttrap_timeout = timeout(&fasttrap_pid_cleanup_cb, NULL, hz); + if (later > 0 && callout_active(&fasttrap_timeout)) + callout_reset(&fasttrap_timeout, hz, &fasttrap_pid_cleanup_cb, + NULL); else if (later > 0) fasttrap_cleanup_work = 1; - else - fasttrap_timeout = 0; + else { +#if !defined(sun) + /* Nothing to be done for FreeBSD */ +#endif + } - mutex_exit(&fasttrap_cleanup_mtx); in = 0; } @@ -381,11 +431,11 @@ fasttrap_pid_cleanup_cb(void *data) static void fasttrap_pid_cleanup(void) { - mutex_enter(&fasttrap_cleanup_mtx); + + mtx_lock(&fasttrap_cleanup_mtx); fasttrap_cleanup_work = 1; - if (fasttrap_timeout == 0) - fasttrap_timeout = timeout(&fasttrap_pid_cleanup_cb, NULL, 1); - mutex_exit(&fasttrap_cleanup_mtx); + callout_reset(&fasttrap_timeout, 1, &fasttrap_pid_cleanup_cb, NULL); + mtx_unlock(&fasttrap_cleanup_mtx); } /* @@ -400,9 +450,23 @@ fasttrap_fork(proc_t *p, proc_t *cp) pid_t ppid = p->p_pid; int i; +#if defined(sun) ASSERT(curproc == p); ASSERT(p->p_proc_flag & P_PR_LOCK); +#else + PROC_LOCK_ASSERT(p, MA_OWNED); +#endif +#if defined(sun) ASSERT(p->p_dtrace_count > 0); +#else + /* + * This check is purposely here instead of in kern_fork.c because, + * for legal resons, we cannot include the dtrace_cddl.h header + * inside kern_fork.c and insert if-clause there. + */ + if (p->p_dtrace_count == 0) + return; +#endif ASSERT(cp->p_dtrace_count == 0); /* @@ -419,9 +483,11 @@ fasttrap_fork(proc_t *p, proc_t *cp) * We don't have to worry about the child process disappearing * because we're in fork(). */ - mutex_enter(&cp->p_lock); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Tue Aug 24 21:33:33 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F17810656AD; Tue, 24 Aug 2010 21:33:33 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E79FD8FC15; Tue, 24 Aug 2010 21:33:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7OLXWus088796; Tue, 24 Aug 2010 21:33:32 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7OLXWWX088794; Tue, 24 Aug 2010 21:33:32 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008242133.o7OLXWWX088794@svn.freebsd.org> From: Warner Losh Date: Tue, 24 Aug 2010 21:33:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211779 - in user/imp/tbemd: contrib/top lib/libc X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2010 21:33:33 -0000 Author: imp Date: Tue Aug 24 21:33:32 2010 New Revision: 211779 URL: http://svn.freebsd.org/changeset/base/211779 Log: Loopback changes in head @211778 Modified: user/imp/tbemd/lib/libc/Makefile Directory Properties: user/imp/tbemd/ (props changed) user/imp/tbemd/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/contrib/bind9/ (props changed) user/imp/tbemd/contrib/ee/ (props changed) user/imp/tbemd/contrib/expat/ (props changed) user/imp/tbemd/contrib/file/ (props changed) user/imp/tbemd/contrib/gdb/ (props changed) user/imp/tbemd/contrib/gdtoa/ (props changed) user/imp/tbemd/contrib/gnu-sort/ (props changed) user/imp/tbemd/contrib/groff/ (props changed) user/imp/tbemd/contrib/less/ (props changed) user/imp/tbemd/contrib/libpcap/ (props changed) user/imp/tbemd/contrib/llvm/ (props changed) user/imp/tbemd/contrib/llvm/tools/clang/ (props changed) user/imp/tbemd/contrib/ncurses/ (props changed) user/imp/tbemd/contrib/netcat/ (props changed) user/imp/tbemd/contrib/ntp/ (props changed) user/imp/tbemd/contrib/one-true-awk/ (props changed) user/imp/tbemd/contrib/openbsm/ (props changed) user/imp/tbemd/contrib/openpam/ (props changed) user/imp/tbemd/contrib/pf/ (props changed) user/imp/tbemd/contrib/sendmail/ (props changed) user/imp/tbemd/contrib/tcpdump/ (props changed) user/imp/tbemd/contrib/tcsh/ (props changed) user/imp/tbemd/contrib/top/ (props changed) user/imp/tbemd/contrib/top/install-sh (props changed) user/imp/tbemd/contrib/tzcode/stdtime/ (props changed) user/imp/tbemd/contrib/tzcode/zic/ (props changed) user/imp/tbemd/contrib/tzdata/ (props changed) user/imp/tbemd/contrib/wpa/ (props changed) user/imp/tbemd/crypto/openssh/ (props changed) user/imp/tbemd/crypto/openssl/ (props changed) user/imp/tbemd/lib/libc/ (props changed) user/imp/tbemd/lib/libc/stdtime/ (props changed) user/imp/tbemd/lib/libutil/ (props changed) user/imp/tbemd/lib/libz/ (props changed) user/imp/tbemd/sbin/ (props changed) user/imp/tbemd/sbin/ipfw/ (props changed) user/imp/tbemd/share/zoneinfo/ (props changed) user/imp/tbemd/sys/ (props changed) user/imp/tbemd/sys/amd64/include/xen/ (props changed) user/imp/tbemd/sys/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/sys/contrib/dev/acpica/ (props changed) user/imp/tbemd/sys/contrib/pf/ (props changed) user/imp/tbemd/sys/contrib/x86emu/ (props changed) user/imp/tbemd/sys/dev/xen/xenpci/ (props changed) user/imp/tbemd/usr.bin/csup/ (props changed) user/imp/tbemd/usr.bin/procstat/ (props changed) user/imp/tbemd/usr.sbin/zic/ (props changed) Modified: user/imp/tbemd/lib/libc/Makefile ============================================================================== --- user/imp/tbemd/lib/libc/Makefile Tue Aug 24 21:28:34 2010 (r211778) +++ user/imp/tbemd/lib/libc/Makefile Tue Aug 24 21:33:32 2010 (r211779) @@ -8,10 +8,10 @@ SHLIBDIR?= /lib # We have to special case powerpc and powerpc64, since they mostly have # the same source implementation. libc is very different due to large # ABI differences. -.if ${LIBC_ARCH} == "powerpc" +.if ${MACHINE_ARCH} == "powerpc" LIBC_ARCH=${MACHINE_ARCH} .else -LIBC_ARCH=${LIBC_ARCH} +LIBC_ARCH=${MACHINE_CPUARCH} .endif # All library objects contain FreeBSD revision strings by default; they may be From owner-svn-src-user@FreeBSD.ORG Tue Aug 24 22:02:47 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6150C1065670; Tue, 24 Aug 2010 22:02:47 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 512388FC08; Tue, 24 Aug 2010 22:02:47 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7OM2lwa089488; Tue, 24 Aug 2010 22:02:47 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7OM2lmk089486; Tue, 24 Aug 2010 22:02:47 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201008242202.o7OM2lmk089486@svn.freebsd.org> From: Edwin Groothuis Date: Tue, 24 Aug 2010 22:02:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211781 - user/edwin/calendar/calendars X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2010 22:02:47 -0000 Author: edwin Date: Tue Aug 24 22:02:47 2010 New Revision: 211781 URL: http://svn.freebsd.org/changeset/base/211781 Log: See if I can make it working with calendars not synced to the Gregorian calendar start. The easiest way is to add a year-field to the calendar and just have a lot of repetition. Modified: user/edwin/calendar/calendars/calendar.judaic Modified: user/edwin/calendar/calendars/calendar.judaic ============================================================================== --- user/edwin/calendar/calendars/calendar.judaic Tue Aug 24 21:38:44 2010 (r211780) +++ user/edwin/calendar/calendars/calendar.judaic Tue Aug 24 22:02:47 2010 (r211781) @@ -13,11 +13,99 @@ #define _calendar_judaic_ /* + * The calendar below has gotten from the port deskutils/hebcal for + * the year of 2010 and for the city of New York. + * This should be updated every year! + */ + +2010/Jan/16 Rosh Chodesh Sh'vat +2010/Jan/30 Tu B'Shvat +2010/Feb/13 Shabbat Shekalim +2010/Feb/14 Rosh Chodesh Adar +2010/Feb/15 Rosh Chodesh Adar +2010/Feb/25 Ta'anit Esther +2010/Feb/27 Shabbat Zachor +2010/Feb/28 Purim +2010/Mar/1 Shushan Purim +2010/Mar/6 Shabbat Parah +2010/Mar/13 Shabbat HaChodesh +2010/Mar/16 Rosh Chodesh Nisan +2010/Mar/27 Shabbat HaGadol +2010/Mar/29 Ta'anit Bechorot +2010/Mar/29 Erev Pesach +2010/Mar/30 Pesach I +2010/Mar/31 Pesach II +2010/Apr/1 Pesach III (CH''M) +2010/Apr/2 Pesach IV (CH''M) +2010/Apr/3 Pesach V (CH''M) +2010/Apr/4 Pesach VI (CH''M) +2010/Apr/5 Pesach VII +2010/Apr/6 Pesach VIII +2010/Apr/11 Yom HaShoah +2010/Apr/14 Rosh Chodesh Iyyar +2010/Apr/15 Rosh Chodesh Iyyar +2010/Apr/19 Yom HaZikaron +2010/Apr/20 Yom HaAtzma'ut +2010/May/2 Lag B'Omer +2010/May/Dec Yom Yerushalayim +2010/May/14 Rosh Chodesh Sivan +2010/May/18 Erev Shavuot +2010/May/19 Shavuot I +2010/May/20 Shavuot II +2010/Jun/Dec Rosh Chodesh Tamuz +2010/Jun/13 Rosh Chodesh Tamuz +2010/Jun/29 Tzom Tammuz +2010/Jul/Dec Rosh Chodesh Av +2010/Jul/17 Shabbat Hazon +2010/Jul/20 Tish'a B'Av +2010/Jul/24 Shabbat Nachamu +2010/Aug/Oct Rosh Chodesh Elul +2010/Aug/11 Rosh Chodesh Elul +2010/Sep/8 Erev Rosh Hashana +2010/Sep/9 Rosh Hashana 5771 +2010/Sep/Oct Rosh Hashana II +2010/Sep/11 Shabbat Shuva +2010/Sep/Dec Tzom Gedaliah +2010/Sep/17 Erev Yom Kippur +2010/Sep/18 Yom Kippur +2010/Sep/22 Erev Sukkot +2010/Sep/23 Sukkot I +2010/Sep/24 Sukkot II +2010/Sep/25 Sukkot III (CH''M) +2010/Sep/26 Sukkot IV (CH''M) +2010/Sep/27 Sukkot V (CH''M) +2010/Sep/28 Sukkot VI (CH''M) +2010/Sep/29 Sukkot VII (Hoshana Raba) +2010/Sep/30 Shmini Atzeret +2010/Oct/1 Simchat Torah +2010/Oct/8 Rosh Chodesh Cheshvan +2010/Oct/9 Rosh Chodesh Cheshvan +2010/Nov/7 Rosh Chodesh Kislev +2010/Nov/8 Rosh Chodesh Kislev +2010/Dec/1 Chanukah: 1 Candle +2010/Dec/2 Chanukah: 2 Candles +2010/Dec/3 Chanukah: 3 Candles +2010/Dec/4 Chanukah: 4 Candles +2010/Dec/5 Chanukah: 5 Candles +2010/Dec/6 Chanukah: 6 Candles +2010/Dec/7 Rosh Chodesh Tevet +2010/Dec/7 Chanukah: 7 Candles +2010/Dec/8 Rosh Chodesh Tevet +2010/Dec/8 Chanukah: 8 Candles +2010/Dec/9 Chanukah: 8th Day +2010/Dec/16 Asara B'Tevet + + +/* + * The calendar data below was for 2007, so it is commented out. + */ + +/* * Jewish calendar for the CE year 2007 * 11 Tevet 5767 - 22 tevet 5768 */ - +/* 01/06* Parshas Vayechi 01/13* Parshas Shemos 01/20* Parshas Vaera @@ -223,5 +311,6 @@ 12/22* Parshas Vayechi 12/29* Parshas Shemos +*/ #endif /* !_calendar_judaic_ */ From owner-svn-src-user@FreeBSD.ORG Tue Aug 24 23:34:13 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C7F461065697; Tue, 24 Aug 2010 23:34:13 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B69AE8FC0A; Tue, 24 Aug 2010 23:34:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7ONYDek093021; Tue, 24 Aug 2010 23:34:13 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7ONYDUj093018; Tue, 24 Aug 2010 23:34:13 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008242334.o7ONYDUj093018@svn.freebsd.org> From: Warner Losh Date: Tue, 24 Aug 2010 23:34:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211787 - in user/imp/tbemd: cddl/contrib/dtracetoolkit contrib/top libexec/rtld-elf share/man/man9 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2010 23:34:14 -0000 Author: imp Date: Tue Aug 24 23:34:13 2010 New Revision: 211787 URL: http://svn.freebsd.org/changeset/base/211787 Log: Loopback changes in head @211786 Replaced: user/imp/tbemd/cddl/contrib/dtracetoolkit/ - copied from r211786, head/cddl/contrib/dtracetoolkit/ Modified: user/imp/tbemd/libexec/rtld-elf/Makefile user/imp/tbemd/share/man/man9/locking.9 Directory Properties: user/imp/tbemd/ (props changed) user/imp/tbemd/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/contrib/bind9/ (props changed) user/imp/tbemd/contrib/ee/ (props changed) user/imp/tbemd/contrib/expat/ (props changed) user/imp/tbemd/contrib/file/ (props changed) user/imp/tbemd/contrib/gdb/ (props changed) user/imp/tbemd/contrib/gdtoa/ (props changed) user/imp/tbemd/contrib/gnu-sort/ (props changed) user/imp/tbemd/contrib/groff/ (props changed) user/imp/tbemd/contrib/less/ (props changed) user/imp/tbemd/contrib/libpcap/ (props changed) user/imp/tbemd/contrib/llvm/ (props changed) user/imp/tbemd/contrib/llvm/tools/clang/ (props changed) user/imp/tbemd/contrib/ncurses/ (props changed) user/imp/tbemd/contrib/netcat/ (props changed) user/imp/tbemd/contrib/ntp/ (props changed) user/imp/tbemd/contrib/one-true-awk/ (props changed) user/imp/tbemd/contrib/openbsm/ (props changed) user/imp/tbemd/contrib/openpam/ (props changed) user/imp/tbemd/contrib/pf/ (props changed) user/imp/tbemd/contrib/sendmail/ (props changed) user/imp/tbemd/contrib/tcpdump/ (props changed) user/imp/tbemd/contrib/tcsh/ (props changed) user/imp/tbemd/contrib/top/ (props changed) user/imp/tbemd/contrib/top/install-sh (props changed) user/imp/tbemd/contrib/tzcode/stdtime/ (props changed) user/imp/tbemd/contrib/tzcode/zic/ (props changed) user/imp/tbemd/contrib/tzdata/ (props changed) user/imp/tbemd/contrib/wpa/ (props changed) user/imp/tbemd/crypto/openssh/ (props changed) user/imp/tbemd/crypto/openssl/ (props changed) user/imp/tbemd/lib/libc/ (props changed) user/imp/tbemd/lib/libc/stdtime/ (props changed) user/imp/tbemd/lib/libutil/ (props changed) user/imp/tbemd/lib/libz/ (props changed) user/imp/tbemd/sbin/ (props changed) user/imp/tbemd/sbin/ipfw/ (props changed) user/imp/tbemd/share/zoneinfo/ (props changed) user/imp/tbemd/sys/ (props changed) user/imp/tbemd/sys/amd64/include/xen/ (props changed) user/imp/tbemd/sys/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/sys/contrib/dev/acpica/ (props changed) user/imp/tbemd/sys/contrib/pf/ (props changed) user/imp/tbemd/sys/contrib/x86emu/ (props changed) user/imp/tbemd/sys/dev/xen/xenpci/ (props changed) user/imp/tbemd/usr.bin/csup/ (props changed) user/imp/tbemd/usr.bin/procstat/ (props changed) user/imp/tbemd/usr.sbin/zic/ (props changed) Modified: user/imp/tbemd/libexec/rtld-elf/Makefile ============================================================================== --- user/imp/tbemd/libexec/rtld-elf/Makefile Tue Aug 24 23:24:43 2010 (r211786) +++ user/imp/tbemd/libexec/rtld-elf/Makefile Tue Aug 24 23:34:13 2010 (r211787) @@ -10,7 +10,12 @@ SRCS= rtld_start.S \ MAN= rtld.1 CSTD?= gnu99 CFLAGS+= -Wall -DFREEBSD_ELF -DIN_RTLD -CFLAGS+= -I${.CURDIR}/${MACHINE_CPUARCH} -I${.CURDIR} +.if exists(${.CURDIR}/${MACHINE_ARCH}) +RTLD_ARCH= ${MACHINE_ARCH} +.else +RTLD_ARCH= ${MACHINE_CPUARCH} +.endif +CFLAGS+= -I${.CURDIR}/${RTLD_ARCH} -I${.CURDIR} .if ${MACHINE_ARCH} == "powerpc64" LDFLAGS+= -nostdlib -e _rtld_start .else @@ -39,15 +44,13 @@ LDFLAGS+= -Wl,--version-script=${VERSION ${PROG}: ${VERSION_MAP} -.if exists(${.CURDIR}/${MACHINE_CPUARCH}/Symbol.map) -SYMBOL_MAPS+= ${.CURDIR}/${MACHINE_CPUARCH}/Symbol.map +.if exists(${.CURDIR}/${RTLD_ARCH}/Symbol.map) +SYMBOL_MAPS+= ${.CURDIR}/${RTLD_ARCH}/Symbol.map .endif .endif .endif -.if exists(${.CURDIR}/${MACHINE_CPUARCH}/Makefile.inc) -.include "${.CURDIR}/${MACHINE_CPUARCH}/Makefile.inc" -.endif +.sinclude "${.CURDIR}/${RTLD_ARCH}/Makefile.inc" # Since moving rtld-elf to /libexec, we need to create a symlink. # Fixup the existing binary that's there so we can symlink over it. @@ -56,7 +59,7 @@ beforeinstall: -chflags noschg ${DESTDIR}/usr/libexec/${PROG} .endif -.PATH: ${.CURDIR}/${MACHINE_CPUARCH} +.PATH: ${.CURDIR}/${RTLD_ARCH} .include .include Modified: user/imp/tbemd/share/man/man9/locking.9 ============================================================================== --- user/imp/tbemd/share/man/man9/locking.9 Tue Aug 24 23:24:43 2010 (r211786) +++ user/imp/tbemd/share/man/man9/locking.9 Tue Aug 24 23:34:13 2010 (r211787) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 15, 2010 +.Dd August 24, 2010 .Dt LOCKING 9 .Os .Sh NAME @@ -334,7 +334,7 @@ At this time this is a rather easy to re .Em "Context:" Ta spin mtx Ta mutex Ta sx Ta rwlock Ta rmlock Ta sleep .Xc .It interrupt filter: Ta \&ok Ta \&no Ta \&no Ta \&no Ta \&no Ta \&no -.It ithread: Ta \&ok Ta \&ok Ta \&no Ta \&ok Ta \&ok Ta \&no +.It interrupt thread: Ta \&ok Ta \&ok Ta \&no Ta \&ok Ta \&ok Ta \&no .It callout: Ta \&ok Ta \&ok Ta \&no Ta \&ok Ta \&no Ta \&no .It syscall: Ta \&ok Ta \&ok Ta \&ok Ta \&ok Ta \&ok Ta \&ok .El From owner-svn-src-user@FreeBSD.ORG Thu Aug 26 07:44:54 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 87A6610656AA; Thu, 26 Aug 2010 07:44:54 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 77B5B8FC1F; Thu, 26 Aug 2010 07:44:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7Q7is2A035400; Thu, 26 Aug 2010 07:44:54 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7Q7is3b035396; Thu, 26 Aug 2010 07:44:54 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201008260744.o7Q7is3b035396@svn.freebsd.org> From: Edwin Groothuis Date: Thu, 26 Aug 2010 07:44:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211834 - in user/edwin/calendar: . calendars X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Aug 2010 07:44:54 -0000 Author: edwin Date: Thu Aug 26 07:44:54 2010 New Revision: 211834 URL: http://svn.freebsd.org/changeset/base/211834 Log: Instead of being able to handle the Judiac Calendar properly (Lunar calendar, so the dates never match the Gregorian calendars), we make calendar(1) support years in the definition in the events. Modified: user/edwin/calendar/calendar.h user/edwin/calendar/calendars/calendar.judaic user/edwin/calendar/parsedata.c Modified: user/edwin/calendar/calendar.h ============================================================================== --- user/edwin/calendar/calendar.h Thu Aug 26 07:09:48 2010 (r211833) +++ user/edwin/calendar/calendar.h Thu Aug 26 07:44:54 2010 (r211834) @@ -80,6 +80,7 @@ extern int EastLongitude; #define F_SEPEQUINOX 0x08000 #define F_JUNSOLSTICE 0x10000 #define F_DECSOLSTICE 0x20000 +#define F_YEAR 0x40000 #define STRING_EASTER "Easter" #define STRING_PASKHA "Paskha" Modified: user/edwin/calendar/calendars/calendar.judaic ============================================================================== --- user/edwin/calendar/calendars/calendar.judaic Thu Aug 26 07:09:48 2010 (r211833) +++ user/edwin/calendar/calendars/calendar.judaic Thu Aug 26 07:44:54 2010 (r211834) @@ -18,83 +18,464 @@ * This should be updated every year! */ -2010/Jan/16 Rosh Chodesh Sh'vat -2010/Jan/30 Tu B'Shvat -2010/Feb/13 Shabbat Shekalim -2010/Feb/14 Rosh Chodesh Adar -2010/Feb/15 Rosh Chodesh Adar -2010/Feb/25 Ta'anit Esther -2010/Feb/27 Shabbat Zachor -2010/Feb/28 Purim -2010/Mar/1 Shushan Purim -2010/Mar/6 Shabbat Parah -2010/Mar/13 Shabbat HaChodesh -2010/Mar/16 Rosh Chodesh Nisan -2010/Mar/27 Shabbat HaGadol -2010/Mar/29 Ta'anit Bechorot -2010/Mar/29 Erev Pesach -2010/Mar/30 Pesach I -2010/Mar/31 Pesach II -2010/Apr/1 Pesach III (CH''M) -2010/Apr/2 Pesach IV (CH''M) -2010/Apr/3 Pesach V (CH''M) -2010/Apr/4 Pesach VI (CH''M) -2010/Apr/5 Pesach VII -2010/Apr/6 Pesach VIII -2010/Apr/11 Yom HaShoah -2010/Apr/14 Rosh Chodesh Iyyar -2010/Apr/15 Rosh Chodesh Iyyar -2010/Apr/19 Yom HaZikaron -2010/Apr/20 Yom HaAtzma'ut -2010/May/2 Lag B'Omer -2010/May/Dec Yom Yerushalayim -2010/May/14 Rosh Chodesh Sivan -2010/May/18 Erev Shavuot -2010/May/19 Shavuot I -2010/May/20 Shavuot II -2010/Jun/Dec Rosh Chodesh Tamuz -2010/Jun/13 Rosh Chodesh Tamuz -2010/Jun/29 Tzom Tammuz -2010/Jul/Dec Rosh Chodesh Av -2010/Jul/17 Shabbat Hazon -2010/Jul/20 Tish'a B'Av -2010/Jul/24 Shabbat Nachamu -2010/Aug/Oct Rosh Chodesh Elul -2010/Aug/11 Rosh Chodesh Elul -2010/Sep/8 Erev Rosh Hashana -2010/Sep/9 Rosh Hashana 5771 -2010/Sep/Oct Rosh Hashana II -2010/Sep/11 Shabbat Shuva -2010/Sep/Dec Tzom Gedaliah -2010/Sep/17 Erev Yom Kippur -2010/Sep/18 Yom Kippur -2010/Sep/22 Erev Sukkot -2010/Sep/23 Sukkot I -2010/Sep/24 Sukkot II -2010/Sep/25 Sukkot III (CH''M) -2010/Sep/26 Sukkot IV (CH''M) -2010/Sep/27 Sukkot V (CH''M) -2010/Sep/28 Sukkot VI (CH''M) -2010/Sep/29 Sukkot VII (Hoshana Raba) -2010/Sep/30 Shmini Atzeret -2010/Oct/1 Simchat Torah -2010/Oct/8 Rosh Chodesh Cheshvan -2010/Oct/9 Rosh Chodesh Cheshvan -2010/Nov/7 Rosh Chodesh Kislev -2010/Nov/8 Rosh Chodesh Kislev -2010/Dec/1 Chanukah: 1 Candle -2010/Dec/2 Chanukah: 2 Candles -2010/Dec/3 Chanukah: 3 Candles -2010/Dec/4 Chanukah: 4 Candles -2010/Dec/5 Chanukah: 5 Candles -2010/Dec/6 Chanukah: 6 Candles -2010/Dec/7 Rosh Chodesh Tevet -2010/Dec/7 Chanukah: 7 Candles -2010/Dec/8 Rosh Chodesh Tevet -2010/Dec/8 Chanukah: 8 Candles -2010/Dec/9 Chanukah: 8th Day -2010/Dec/16 Asara B'Tevet - +2010/Jan/16* Rosh Chodesh Sh'vat +2010/Jan/30* Tu B'Shvat +2010/Feb/13* Shabbat Shekalim +2010/Feb/14* Rosh Chodesh Adar +2010/Feb/15* Rosh Chodesh Adar +2010/Feb/25* Ta'anit Esther +2010/Feb/27* Shabbat Zachor +2010/Feb/28* Purim +2010/Mar/1* Shushan Purim +2010/Mar/6* Shabbat Parah +2010/Mar/13* Shabbat HaChodesh +2010/Mar/16* Rosh Chodesh Nisan +2010/Mar/27* Shabbat HaGadol +2010/Mar/29* Ta'anit Bechorot +2010/Mar/29* Erev Pesach +2010/Mar/30* Pesach I +2010/Mar/31* Pesach II +2010/Apr/1* Pesach III (CH''M) +2010/Apr/2* Pesach IV (CH''M) +2010/Apr/3* Pesach V (CH''M) +2010/Apr/4* Pesach VI (CH''M) +2010/Apr/5* Pesach VII +2010/Apr/6* Pesach VIII +2010/Apr/11* Yom HaShoah +2010/Apr/14* Rosh Chodesh Iyyar +2010/Apr/15* Rosh Chodesh Iyyar +2010/Apr/19* Yom HaZikaron +2010/Apr/20* Yom HaAtzma'ut +2010/May/2* Lag B'Omer +2010/May/Dec* Yom Yerushalayim +2010/May/14* Rosh Chodesh Sivan +2010/May/18* Erev Shavuot +2010/May/19* Shavuot I +2010/May/20* Shavuot II +2010/Jun/Dec* Rosh Chodesh Tamuz +2010/Jun/13* Rosh Chodesh Tamuz +2010/Jun/29* Tzom Tammuz +2010/Jul/Dec* Rosh Chodesh Av +2010/Jul/17* Shabbat Hazon +2010/Jul/20* Tish'a B'Av +2010/Jul/24* Shabbat Nachamu +2010/Aug/Oct* Rosh Chodesh Elul +2010/Aug/11* Rosh Chodesh Elul +2010/Sep/8* Erev Rosh Hashana +2010/Sep/9* Rosh Hashana 5771 +2010/Sep/Oct* Rosh Hashana II +2010/Sep/11* Shabbat Shuva +2010/Sep/Dec* Tzom Gedaliah +2010/Sep/17* Erev Yom Kippur +2010/Sep/18* Yom Kippur +2010/Sep/22* Erev Sukkot +2010/Sep/23* Sukkot I +2010/Sep/24* Sukkot II +2010/Sep/25* Sukkot III (CH''M) +2010/Sep/26* Sukkot IV (CH''M) +2010/Sep/27* Sukkot V (CH''M) +2010/Sep/28* Sukkot VI (CH''M) +2010/Sep/29* Sukkot VII (Hoshana Raba) +2010/Sep/30* Shmini Atzeret +2010/Oct/1* Simchat Torah +2010/Oct/8* Rosh Chodesh Cheshvan +2010/Oct/9* Rosh Chodesh Cheshvan +2010/Nov/7* Rosh Chodesh Kislev +2010/Nov/8* Rosh Chodesh Kislev +2010/Dec/1* Chanukah: 1 Candle +2010/Dec/2* Chanukah: 2 Candles +2010/Dec/3* Chanukah: 3 Candles +2010/Dec/4* Chanukah: 4 Candles +2010/Dec/5* Chanukah: 5 Candles +2010/Dec/6* Chanukah: 6 Candles +2010/Dec/7* Rosh Chodesh Tevet +2010/Dec/7* Chanukah: 7 Candles +2010/Dec/8* Rosh Chodesh Tevet +2010/Dec/8* Chanukah: 8 Candles +2010/Dec/9* Chanukah: 8th Day +2010/Dec/16* Asara B'Tevet +2011/1/6* Rosh Chodesh Sh'vat +2011/1/20* Tu B'Shvat +2011/2/4* Rosh Chodesh Adar I +2011/2/5* Rosh Chodesh Adar I +2011/2/18* Purim Katan +2011/3/5* Shabbat Shekalim +2011/3/6* Rosh Chodesh Adar II +2011/3/7* Rosh Chodesh Adar II +2011/3/17* Ta'anit Esther +2011/3/19* Shabbat Zachor +2011/3/20* Purim +2011/3/21* Shushan Purim +2011/3/26* Shabbat Parah +2011/4/2* Shabbat HaChodesh +2011/4/5* Rosh Chodesh Nisan +2011/4/16* Shabbat HaGadol +2011/4/18* Ta'anit Bechorot +2011/4/18* Erev Pesach +2011/4/19* Pesach I +2011/4/20* Pesach II +2011/4/21* Pesach III (CH''M) +2011/4/22* Pesach IV (CH''M) +2011/4/23* Pesach V (CH''M) +2011/4/24* Pesach VI (CH''M) +2011/4/25* Pesach VII +2011/4/26* Pesach VIII +2011/5/1* Yom HaShoah +2011/5/4* Rosh Chodesh Iyyar +2011/5/5* Rosh Chodesh Iyyar +2011/5/9* Yom HaZikaron +2011/5/10* Yom HaAtzma'ut +2011/5/22* Lag B'Omer +2011/6/1* Yom Yerushalayim +2011/6/3* Rosh Chodesh Sivan +2011/6/7* Erev Shavuot +2011/6/8* Shavuot I +2011/6/9* Shavuot II +2011/7/2* Rosh Chodesh Tamuz +2011/7/3* Rosh Chodesh Tamuz +2011/7/19* Tzom Tammuz +2011/8/1* Rosh Chodesh Av +2011/8/6* Shabbat Hazon +2011/8/9* Tish'a B'Av +2011/8/13* Shabbat Nachamu +2011/8/30* Rosh Chodesh Elul +2011/8/31* Rosh Chodesh Elul +2011/9/28* Erev Rosh Hashana +2011/9/29* Rosh Hashana 5772 +2011/9/30* Rosh Hashana II +2011/10/1* Shabbat Shuva +2011/10/2* Tzom Gedaliah +2011/10/7* Erev Yom Kippur +2011/10/8* Yom Kippur +2011/10/12* Erev Sukkot +2011/10/13* Sukkot I +2011/10/14* Sukkot II +2011/10/15* Sukkot III (CH''M) +2011/10/16* Sukkot IV (CH''M) +2011/10/17* Sukkot V (CH''M) +2011/10/18* Sukkot VI (CH''M) +2011/10/19* Sukkot VII (Hoshana Raba) +2011/10/20* Shmini Atzeret +2011/10/21* Simchat Torah +2011/10/28* Rosh Chodesh Cheshvan +2011/10/29* Rosh Chodesh Cheshvan +2011/11/27* Rosh Chodesh Kislev +2011/12/20* Chanukah: 1 Candle +2011/12/21* Chanukah: 2 Candles +2011/12/22* Chanukah: 3 Candles +2011/12/23* Chanukah: 4 Candles +2011/12/24* Chanukah: 5 Candles +2011/12/25* Chanukah: 6 Candles +2011/12/26* Rosh Chodesh Tevet +2011/12/26* Chanukah: 7 Candles +2011/12/27* Rosh Chodesh Tevet +2011/12/27* Chanukah: 8 Candles +2011/12/28* Chanukah: 8th Day +2012/1/5* Asara B'Tevet +2012/1/25* Rosh Chodesh Sh'vat +2012/2/8* Tu B'Shvat +2012/2/18* Shabbat Shekalim +2012/2/23* Rosh Chodesh Adar +2012/2/24* Rosh Chodesh Adar +2012/3/3* Shabbat Zachor +2012/3/7* Ta'anit Esther +2012/3/8* Purim +2012/3/9* Shushan Purim +2012/3/17* Shabbat Parah +2012/3/24* Rosh Chodesh Nisan +2012/3/24* Shabbat HaChodesh +2012/3/31* Shabbat HaGadol +2012/4/5* Ta'anit Bechorot +2012/4/6* Erev Pesach +2012/4/7* Pesach I +2012/4/8* Pesach II +2012/4/9* Pesach III (CH''M) +2012/4/10* Pesach IV (CH''M) +2012/4/11* Pesach V (CH''M) +2012/4/12* Pesach VI (CH''M) +2012/4/13* Pesach VII +2012/4/14* Pesach VIII +2012/4/19* Yom HaShoah +2012/4/22* Rosh Chodesh Iyyar +2012/4/23* Rosh Chodesh Iyyar +2012/4/25* Yom HaZikaron +2012/4/26* Yom HaAtzma'ut +2012/5/10* Lag B'Omer +2012/5/20* Yom Yerushalayim +2012/5/22* Rosh Chodesh Sivan +2012/5/26* Erev Shavuot +2012/5/27* Shavuot I +2012/5/28* Shavuot II +2012/6/20* Rosh Chodesh Tamuz +2012/6/21* Rosh Chodesh Tamuz +2012/7/8* Tzom Tammuz +2012/7/20* Rosh Chodesh Av +2012/7/28* Shabbat Hazon +2012/7/29* Tish'a B'Av +2012/8/4* Shabbat Nachamu +2012/8/18* Rosh Chodesh Elul +2012/8/19* Rosh Chodesh Elul +2012/9/16* Erev Rosh Hashana +2012/9/17* Rosh Hashana 5773 +2012/9/18* Rosh Hashana II +2012/9/19* Tzom Gedaliah +2012/9/22* Shabbat Shuva +2012/9/25* Erev Yom Kippur +2012/9/26* Yom Kippur +2012/9/30* Erev Sukkot +2012/10/1* Sukkot I +2012/10/2* Sukkot II +2012/10/3* Sukkot III (CH''M) +2012/10/4* Sukkot IV (CH''M) +2012/10/5* Sukkot V (CH''M) +2012/10/6* Sukkot VI (CH''M) +2012/10/7* Sukkot VII (Hoshana Raba) +2012/10/8* Shmini Atzeret +2012/10/9* Simchat Torah +2012/10/16* Rosh Chodesh Cheshvan +2012/10/17* Rosh Chodesh Cheshvan +2012/11/15* Rosh Chodesh Kislev +2012/12/8* Chanukah: 1 Candle +2012/12/9* Chanukah: 2 Candles +2012/12/10* Chanukah: 3 Candles +2012/12/11* Chanukah: 4 Candles +2012/12/12* Chanukah: 5 Candles +2012/12/13* Chanukah: 6 Candles +2012/12/14* Rosh Chodesh Tevet +2012/12/14* Chanukah: 7 Candles +2012/12/15* Chanukah: 8 Candles +2012/12/16* Chanukah: 8th Day +2012/12/23* Asara B'Tevet +2013/1/12* Rosh Chodesh Sh'vat +2013/1/26* Tu B'Shvat +2013/2/9* Shabbat Shekalim +2013/2/10* Rosh Chodesh Adar +2013/2/11* Rosh Chodesh Adar +2013/2/21* Ta'anit Esther +2013/2/23* Shabbat Zachor +2013/2/24* Purim +2013/2/25* Shushan Purim +2013/3/2* Shabbat Parah +2013/3/9* Shabbat HaChodesh +2013/3/12* Rosh Chodesh Nisan +2013/3/23* Shabbat HaGadol +2013/3/25* Ta'anit Bechorot +2013/3/25* Erev Pesach +2013/3/26* Pesach I +2013/3/27* Pesach II +2013/3/28* Pesach III (CH''M) +2013/3/29* Pesach IV (CH''M) +2013/3/30* Pesach V (CH''M) +2013/3/31* Pesach VI (CH''M) +2013/4/1* Pesach VII +2013/4/2* Pesach VIII +2013/4/7* Yom HaShoah +2013/4/10* Rosh Chodesh Iyyar +2013/4/11* Rosh Chodesh Iyyar +2013/4/15* Yom HaZikaron +2013/4/16* Yom HaAtzma'ut +2013/4/28* Lag B'Omer +2013/5/8* Yom Yerushalayim +2013/5/10* Rosh Chodesh Sivan +2013/5/14* Erev Shavuot +2013/5/15* Shavuot I +2013/5/16* Shavuot II +2013/6/8* Rosh Chodesh Tamuz +2013/6/9* Rosh Chodesh Tamuz +2013/6/25* Tzom Tammuz +2013/7/8* Rosh Chodesh Av +2013/7/13* Shabbat Hazon +2013/7/16* Tish'a B'Av +2013/7/20* Shabbat Nachamu +2013/8/6* Rosh Chodesh Elul +2013/8/7* Rosh Chodesh Elul +2013/9/4* Erev Rosh Hashana +2013/9/5* Rosh Hashana 5774 +2013/9/6* Rosh Hashana II +2013/9/7* Shabbat Shuva +2013/9/8* Tzom Gedaliah +2013/9/13* Erev Yom Kippur +2013/9/14* Yom Kippur +2013/9/18* Erev Sukkot +2013/9/19* Sukkot I +2013/9/20* Sukkot II +2013/9/21* Sukkot III (CH''M) +2013/9/22* Sukkot IV (CH''M) +2013/9/23* Sukkot V (CH''M) +2013/9/24* Sukkot VI (CH''M) +2013/9/25* Sukkot VII (Hoshana Raba) +2013/9/26* Shmini Atzeret +2013/9/27* Simchat Torah +2013/10/4* Rosh Chodesh Cheshvan +2013/10/5* Rosh Chodesh Cheshvan +2013/11/3* Rosh Chodesh Kislev +2013/11/4* Rosh Chodesh Kislev +2013/11/27* Chanukah: 1 Candle +2013/11/28* Chanukah: 2 Candles +2013/11/29* Chanukah: 3 Candles +2013/11/30* Chanukah: 4 Candles +2013/12/1* Chanukah: 5 Candles +2013/12/2* Chanukah: 6 Candles +2013/12/3* Rosh Chodesh Tevet +2013/12/3* Chanukah: 7 Candles +2013/12/4* Rosh Chodesh Tevet +2013/12/4* Chanukah: 8 Candles +2013/12/5* Chanukah: 8th Day +2013/12/12* Asara B'Tevet +2014/1/2* Rosh Chodesh Sh'vat +2014/1/16* Tu B'Shvat +2014/1/31* Rosh Chodesh Adar I +2014/2/1* Rosh Chodesh Adar I +2014/2/14* Purim Katan +2014/3/1* Shabbat Shekalim +2014/3/2* Rosh Chodesh Adar II +2014/3/3* Rosh Chodesh Adar II +2014/3/13* Ta'anit Esther +2014/3/15* Shabbat Zachor +2014/3/16* Purim +2014/3/17* Shushan Purim +2014/3/22* Shabbat Parah +2014/3/29* Shabbat HaChodesh +2014/4/1* Rosh Chodesh Nisan +2014/4/12* Shabbat HaGadol +2014/4/14* Ta'anit Bechorot +2014/4/14* Erev Pesach +2014/4/15* Pesach I +2014/4/16* Pesach II +2014/4/17* Pesach III (CH''M) +2014/4/18* Pesach IV (CH''M) +2014/4/19* Pesach V (CH''M) +2014/4/20* Pesach VI (CH''M) +2014/4/21* Pesach VII +2014/4/22* Pesach VIII +2014/4/27* Yom HaShoah +2014/4/30* Rosh Chodesh Iyyar +2014/5/1* Rosh Chodesh Iyyar +2014/5/5* Yom HaZikaron +2014/5/6* Yom HaAtzma'ut +2014/5/18* Lag B'Omer +2014/5/28* Yom Yerushalayim +2014/5/30* Rosh Chodesh Sivan +2014/6/3* Erev Shavuot +2014/6/4* Shavuot I +2014/6/5* Shavuot II +2014/6/28* Rosh Chodesh Tamuz +2014/6/29* Rosh Chodesh Tamuz +2014/7/15* Tzom Tammuz +2014/7/28* Rosh Chodesh Av +2014/8/2* Shabbat Hazon +2014/8/5* Tish'a B'Av +2014/8/9* Shabbat Nachamu +2014/8/26* Rosh Chodesh Elul +2014/8/27* Rosh Chodesh Elul +2014/9/24* Erev Rosh Hashana +2014/9/25* Rosh Hashana 5775 +2014/9/26* Rosh Hashana II +2014/9/27* Shabbat Shuva +2014/9/28* Tzom Gedaliah +2014/10/3* Erev Yom Kippur +2014/10/4* Yom Kippur +2014/10/8* Erev Sukkot +2014/10/9* Sukkot I +2014/10/10* Sukkot II +2014/10/11* Sukkot III (CH''M) +2014/10/12* Sukkot IV (CH''M) +2014/10/13* Sukkot V (CH''M) +2014/10/14* Sukkot VI (CH''M) +2014/10/15* Sukkot VII (Hoshana Raba) +2014/10/16* Shmini Atzeret +2014/10/17* Simchat Torah +2014/10/24* Rosh Chodesh Cheshvan +2014/10/25* Rosh Chodesh Cheshvan +2014/11/23* Rosh Chodesh Kislev +2014/12/16* Chanukah: 1 Candle +2014/12/17* Chanukah: 2 Candles +2014/12/18* Chanukah: 3 Candles +2014/12/19* Chanukah: 4 Candles +2014/12/20* Chanukah: 5 Candles +2014/12/21* Chanukah: 6 Candles +2014/12/22* Rosh Chodesh Tevet +2014/12/22* Chanukah: 7 Candles +2014/12/23* Rosh Chodesh Tevet +2014/12/23* Chanukah: 8 Candles +2014/12/24* Chanukah: 8th Day +2015/1/1* Asara B'Tevet +2015/1/21* Rosh Chodesh Sh'vat +2015/2/4* Tu B'Shvat +2015/2/14* Shabbat Shekalim +2015/2/19* Rosh Chodesh Adar +2015/2/20* Rosh Chodesh Adar +2015/2/28* Shabbat Zachor +2015/3/4* Ta'anit Esther +2015/3/5* Purim +2015/3/6* Shushan Purim +2015/3/14* Shabbat Parah +2015/3/21* Rosh Chodesh Nisan +2015/3/21* Shabbat HaChodesh +2015/3/28* Shabbat HaGadol +2015/4/2* Ta'anit Bechorot +2015/4/3* Erev Pesach +2015/4/4* Pesach I +2015/4/5* Pesach II +2015/4/6* Pesach III (CH''M) +2015/4/7* Pesach IV (CH''M) +2015/4/8* Pesach V (CH''M) +2015/4/9* Pesach VI (CH''M) +2015/4/10* Pesach VII +2015/4/11* Pesach VIII +2015/4/16* Yom HaShoah +2015/4/19* Rosh Chodesh Iyyar +2015/4/20* Rosh Chodesh Iyyar +2015/4/22* Yom HaZikaron +2015/4/23* Yom HaAtzma'ut +2015/5/7* Lag B'Omer +2015/5/17* Yom Yerushalayim +2015/5/19* Rosh Chodesh Sivan +2015/5/23* Erev Shavuot +2015/5/24* Shavuot I +2015/5/25* Shavuot II +2015/6/17* Rosh Chodesh Tamuz +2015/6/18* Rosh Chodesh Tamuz +2015/7/5* Tzom Tammuz +2015/7/17* Rosh Chodesh Av +2015/7/25* Shabbat Hazon +2015/7/26* Tish'a B'Av +2015/8/1* Shabbat Nachamu +2015/8/15* Rosh Chodesh Elul +2015/8/16* Rosh Chodesh Elul +2015/9/13* Erev Rosh Hashana +2015/9/14* Rosh Hashana 5776 +2015/9/15* Rosh Hashana II +2015/9/16* Tzom Gedaliah +2015/9/19* Shabbat Shuva +2015/9/22* Erev Yom Kippur +2015/9/23* Yom Kippur +2015/9/27* Erev Sukkot +2015/9/28* Sukkot I +2015/9/29* Sukkot II +2015/9/30* Sukkot III (CH''M) +2015/10/1* Sukkot IV (CH''M) +2015/10/2* Sukkot V (CH''M) +2015/10/3* Sukkot VI (CH''M) +2015/10/4* Sukkot VII (Hoshana Raba) +2015/10/5* Shmini Atzeret +2015/10/6* Simchat Torah +2015/10/13* Rosh Chodesh Cheshvan +2015/10/14* Rosh Chodesh Cheshvan +2015/11/12* Rosh Chodesh Kislev +2015/11/13* Rosh Chodesh Kislev +2015/12/6* Chanukah: 1 Candle +2015/12/7* Chanukah: 2 Candles +2015/12/8* Chanukah: 3 Candles +2015/12/9* Chanukah: 4 Candles +2015/12/10* Chanukah: 5 Candles +2015/12/11* Chanukah: 6 Candles +2015/12/12* Rosh Chodesh Tevet +2015/12/12* Chanukah: 7 Candles +2015/12/13* Rosh Chodesh Tevet +2015/12/13* Chanukah: 8 Candles +2015/12/14* Chanukah: 8th Day +2015/12/22* Asara B'Tevet /* * The calendar data below was for 2007, so it is commented out. @@ -103,9 +484,7 @@ /* * Jewish calendar for the CE year 2007 * 11 Tevet 5767 - 22 tevet 5768 - */ -/* 01/06* Parshas Vayechi 01/13* Parshas Shemos 01/20* Parshas Vaera Modified: user/edwin/calendar/parsedata.c ============================================================================== --- user/edwin/calendar/parsedata.c Thu Aug 26 07:09:48 2010 (r211833) +++ user/edwin/calendar/parsedata.c Thu Aug 26 07:44:54 2010 (r211834) @@ -87,9 +87,9 @@ static int determinestyle(char *date, int *flags, char *month, int *imonth, char *dayofmonth, int *idayofmonth, char *dayofweek, int *idayofweek, char *modifieroffset, - char *modifierindex, char *specialday) + char *modifierindex, char *specialday, char *year, int *iyear) { - char *p, *p1, *p2; + char *p, *p1, *p2, *py; const char *dow, *pmonth; char pold; size_t len, offset; @@ -97,6 +97,8 @@ determinestyle(char *date, int *flags, *flags = F_NONE; *month = '\0'; *imonth = 0; + *year = '\0'; + *iyear = 0; *dayofmonth = '\0'; *idayofmonth = 0; *dayofweek = '\0'; @@ -191,6 +193,22 @@ determinestyle(char *date, int *flags, p2 = p + 1; /* Now p2 points to the next field and p1 to the first field */ + if ((py = strchr(p2, '/')) != NULL) { + /* We have a year in the string. Now this is getting tricky */ + strcpy(year, p1); + *iyear = (int)strtol(year, NULL, 10); + p1 = p2; + p2 = py + 1; + *py = 0; + *flags |= F_YEAR; + } + + /* + printf("p1: %s\n", p1); + printf("p2: %s\n", p2); + printf("year: %s\n", year); + */ + /* Check if there is a month-string in the date */ if ((checkmonth(p1, &len, &offset, &pmonth) != 0) || (checkmonth(p2, &len, &offset, &pmonth) != 0 && (p2 = p1))) { @@ -323,7 +341,8 @@ remember(int *rememberindex, int *y, int static void debug_determinestyle(int dateonly, char *date, int flags, char *month, int imonth, char *dayofmonth, int idayofmonth, char *dayofweek, - int idayofweek, char *modifieroffset, char *modifierindex, char *specialday) + int idayofweek, char *modifieroffset, char *modifierindex, char *specialday, + char *year, int iyear) { if (dateonly != 0) { @@ -336,6 +355,8 @@ debug_determinestyle(int dateonly, char printf("modifieroffset: |%s|\n", modifieroffset); if (modifierindex[0] != '\0') printf("modifierindex: |%s|\n", modifierindex); + if (year[0] != '\0') + printf("year: |%s| (%d)\n", year, iyear); if (month[0] != '\0') printf("month: |%s| (%d)\n", month, imonth); if (dayofmonth[0] != '\0') @@ -371,8 +392,10 @@ parsedaymonth(char *date, int *yearp, in char **edp) { char month[100], dayofmonth[100], dayofweek[100], modifieroffset[100]; + char syear[100]; char modifierindex[100], specialday[100]; - int idayofweek = -1, imonth = -1, idayofmonth = -1, year, remindex; + int idayofweek = -1, imonth = -1, idayofmonth = -1, iyear = -1; + int year, remindex; int d, m, dow, rm, rd, offset; char *ed; int retvalsign = 1; @@ -394,10 +417,10 @@ parsedaymonth(char *date, int *yearp, in if (debug) debug_determinestyle(1, date, *flags, month, imonth, dayofmonth, idayofmonth, dayofweek, idayofweek, - modifieroffset, modifierindex, specialday); + modifieroffset, modifierindex, specialday, syear, iyear); if (determinestyle(date, flags, month, &imonth, dayofmonth, &idayofmonth, dayofweek, &idayofweek, modifieroffset, - modifierindex, specialday) == 0) { + modifierindex, specialday, syear, &iyear) == 0) { if (debug) printf("Failed!\n"); return (0); @@ -406,10 +429,17 @@ parsedaymonth(char *date, int *yearp, in if (debug) debug_determinestyle(0, date, *flags, month, imonth, dayofmonth, idayofmonth, dayofweek, idayofweek, - modifieroffset, modifierindex, specialday); + modifieroffset, modifierindex, specialday, syear, iyear); remindex = 0; for (year = year1; year <= year2; year++) { + + /* If the year is specified, only do it if it is this year! */ + if ((*flags & F_YEAR) != 0) + if (iyear != year) + continue; + *flags &= ~F_YEAR; + /* Get important dates for this year */ yearinfo = years; while (yearinfo != NULL) { @@ -707,7 +737,7 @@ parsedaymonth(char *date, int *yearp, in printf("Unprocessed:\n"); debug_determinestyle(2, date, *flags, month, imonth, dayofmonth, idayofmonth, dayofweek, idayofweek, - modifieroffset, modifierindex, specialday); + modifieroffset, modifierindex, specialday, syear, iyear); retvalsign = -1; } @@ -723,6 +753,8 @@ showflags(int flags) static char s[1000]; s[0] = '\0'; + if ((flags & F_YEAR) != 0) + strcat(s, "year "); if ((flags & F_MONTH) != 0) strcat(s, "month "); if ((flags & F_DAYOFWEEK) != 0) From owner-svn-src-user@FreeBSD.ORG Thu Aug 26 07:57:46 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4F4F61065673; Thu, 26 Aug 2010 07:57:46 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3F7568FC1F; Thu, 26 Aug 2010 07:57:46 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7Q7vkov035705; Thu, 26 Aug 2010 07:57:46 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7Q7vkRl035702; Thu, 26 Aug 2010 07:57:46 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201008260757.o7Q7vkRl035702@svn.freebsd.org> From: Edwin Groothuis Date: Thu, 26 Aug 2010 07:57:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211835 - user/edwin/calendar X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Aug 2010 07:57:46 -0000 Author: edwin Date: Thu Aug 26 07:57:45 2010 New Revision: 211835 URL: http://svn.freebsd.org/changeset/base/211835 Log: Do only the years once :-) Add a note to the man-page on how to use the years. Modified: user/edwin/calendar/calendar.1 user/edwin/calendar/parsedata.c Modified: user/edwin/calendar/calendar.1 ============================================================================== --- user/edwin/calendar/calendar.1 Thu Aug 26 07:44:54 2010 (r211834) +++ user/edwin/calendar/calendar.1 Thu Aug 26 07:57:45 2010 (r211835) @@ -103,6 +103,7 @@ Print lines from today and the next days (forward, future). Ignore weekends when calculating the number of days. .El +.Sh FILE FORMAT .Pp To handle calendars in your national code table you can specify .Dq LANG= @@ -196,6 +197,7 @@ Jun. 15\fB\et\fRJune 15. Thursday\fB\et\fREvery Thursday. June\fB\et\fREvery June 1st. 15 *\fB\et\fR15th of every month. +2010/4/15\fB\et\fR15 April 2010 May Sun+2\fB\et\fRsecond Sunday in May (Muttertag) 04/SunLast\fB\et\fRlast Sunday in April, Modified: user/edwin/calendar/parsedata.c ============================================================================== --- user/edwin/calendar/parsedata.c Thu Aug 26 07:44:54 2010 (r211834) +++ user/edwin/calendar/parsedata.c Thu Aug 26 07:57:45 2010 (r211835) @@ -434,11 +434,12 @@ parsedaymonth(char *date, int *yearp, in remindex = 0; for (year = year1; year <= year2; year++) { + int lflags = *flags; /* If the year is specified, only do it if it is this year! */ - if ((*flags & F_YEAR) != 0) + if ((lflags & F_YEAR) != 0) if (iyear != year) continue; - *flags &= ~F_YEAR; + lflags &= ~F_YEAR; /* Get important dates for this year */ yearinfo = years; @@ -482,7 +483,7 @@ parsedaymonth(char *date, int *yearp, in } /* Same day every year */ - if (*flags == (F_MONTH | F_DAYOFMONTH)) { + if (lflags == (F_MONTH | F_DAYOFMONTH)) { if (!remember_ymd(year, imonth, idayofmonth)) continue; remember(&remindex, yearp, monthp, dayp, edp, @@ -491,7 +492,7 @@ parsedaymonth(char *date, int *yearp, in } /* XXX Same day every year, but variable */ - if (*flags == (F_MONTH | F_DAYOFMONTH | F_VARIABLE)) { + if (lflags == (F_MONTH | F_DAYOFMONTH | F_VARIABLE)) { if (!remember_ymd(year, imonth, idayofmonth)) continue; remember(&remindex, yearp, monthp, dayp, edp, @@ -500,7 +501,7 @@ parsedaymonth(char *date, int *yearp, in } /* Same day every month */ - if (*flags == (F_ALLMONTH | F_DAYOFMONTH)) { + if (lflags == (F_ALLMONTH | F_DAYOFMONTH)) { for (m = 1; m <= 12; m++) { if (!remember_ymd(year, m, idayofmonth)) continue; @@ -511,7 +512,7 @@ parsedaymonth(char *date, int *yearp, in } /* Every day of a month */ - if (*flags == (F_ALLDAY | F_MONTH)) { + if (lflags == (F_ALLDAY | F_MONTH)) { for (d = 1; d <= yearinfo->mondays[imonth]; d++) { if (!remember_ymd(year, imonth, d)) continue; @@ -522,7 +523,7 @@ parsedaymonth(char *date, int *yearp, in } /* One day of every month */ - if (*flags == (F_ALLMONTH | F_DAYOFWEEK)) { + if (lflags == (F_ALLMONTH | F_DAYOFWEEK)) { for (m = 1; m <= 12; m++) { if (!remember_ymd(year, m, idayofmonth)) continue; @@ -533,7 +534,7 @@ parsedaymonth(char *date, int *yearp, in } /* Every dayofweek of the year */ - if (*flags == (F_DAYOFWEEK | F_VARIABLE)) { + if (lflags == (F_DAYOFWEEK | F_VARIABLE)) { dow = first_dayofweek_of_year(year); d = (idayofweek - dow + 8) % 7; while (d <= 366) { @@ -547,7 +548,7 @@ parsedaymonth(char *date, int *yearp, in } /* A certain dayofweek of a month */ - if (*flags == + if (lflags == (F_MONTH | F_DAYOFWEEK | F_MODIFIERINDEX | F_VARIABLE)) { offset = indextooffset(modifierindex); dow = first_dayofweek_of_month(year, imonth); @@ -583,7 +584,7 @@ parsedaymonth(char *date, int *yearp, in } /* Every dayofweek of the month */ - if (*flags == (F_DAYOFWEEK | F_MONTH | F_VARIABLE)) { + if (lflags == (F_DAYOFWEEK | F_MONTH | F_VARIABLE)) { dow = first_dayofweek_of_month(year, imonth); d = (idayofweek - dow + 8) % 7; while (d <= yearinfo->mondays[imonth]) { @@ -597,10 +598,10 @@ parsedaymonth(char *date, int *yearp, in } /* Easter */ - if ((*flags & ~F_MODIFIEROFFSET) == + if ((lflags & ~F_MODIFIEROFFSET) == (F_SPECIALDAY | F_VARIABLE | F_EASTER)) { offset = 0; - if ((*flags & F_MODIFIEROFFSET) != 0) + if ((lflags & F_MODIFIEROFFSET) != 0) offset = parseoffset(modifieroffset); if (remember_yd(year, yearinfo->ieaster + offset, &rm, &rd)) @@ -610,10 +611,10 @@ parsedaymonth(char *date, int *yearp, in } /* Paskha */ - if ((*flags & ~F_MODIFIEROFFSET) == + if ((lflags & ~F_MODIFIEROFFSET) == (F_SPECIALDAY | F_VARIABLE | F_PASKHA)) { offset = 0; - if ((*flags & F_MODIFIEROFFSET) != 0) + if ((lflags & F_MODIFIEROFFSET) != 0) offset = parseoffset(modifieroffset); if (remember_yd(year, yearinfo->ipaskha + offset, &rm, &rd)) @@ -623,10 +624,10 @@ parsedaymonth(char *date, int *yearp, in } /* Chinese New Year */ - if ((*flags & ~F_MODIFIEROFFSET) == + if ((lflags & ~F_MODIFIEROFFSET) == (F_SPECIALDAY | F_VARIABLE | F_CNY)) { offset = 0; - if ((*flags & F_MODIFIEROFFSET) != 0) + if ((lflags & F_MODIFIEROFFSET) != 0) offset = parseoffset(modifieroffset); if (remember_yd(year, yearinfo->firstcnyday + offset, &rm, &rd)) @@ -636,12 +637,12 @@ parsedaymonth(char *date, int *yearp, in } /* FullMoon */ - if ((*flags & ~F_MODIFIEROFFSET) == + if ((lflags & ~F_MODIFIEROFFSET) == (F_SPECIALDAY | F_VARIABLE | F_FULLMOON)) { int i; offset = 0; - if ((*flags & F_MODIFIEROFFSET) != 0) + if ((lflags & F_MODIFIEROFFSET) != 0) offset = parseoffset(modifieroffset); for (i = 0; yearinfo->ffullmoon[i] > 0; i++) { if (remember_yd(year, @@ -658,12 +659,12 @@ parsedaymonth(char *date, int *yearp, in } /* NewMoon */ - if ((*flags & ~F_MODIFIEROFFSET) == + if ((lflags & ~F_MODIFIEROFFSET) == (F_SPECIALDAY | F_VARIABLE | F_NEWMOON)) { int i; offset = 0; - if ((*flags & F_MODIFIEROFFSET) != 0) + if ((lflags & F_MODIFIEROFFSET) != 0) offset = parseoffset(modifieroffset); for (i = 0; yearinfo->ffullmoon[i] > 0; i++) { if (remember_yd(year, @@ -679,10 +680,10 @@ parsedaymonth(char *date, int *yearp, in } /* (Mar|Sep)Equinox */ - if ((*flags & ~F_MODIFIEROFFSET) == + if ((lflags & ~F_MODIFIEROFFSET) == (F_SPECIALDAY | F_VARIABLE | F_MAREQUINOX)) { offset = 0; - if ((*flags & F_MODIFIEROFFSET) != 0) + if ((lflags & F_MODIFIEROFFSET) != 0) offset = parseoffset(modifieroffset); if (remember_yd(year, yearinfo->equinoxdays[0] + offset, &rm, &rd)) { @@ -692,10 +693,10 @@ parsedaymonth(char *date, int *yearp, in } continue; } - if ((*flags & ~F_MODIFIEROFFSET) == + if ((lflags & ~F_MODIFIEROFFSET) == (F_SPECIALDAY | F_VARIABLE | F_SEPEQUINOX)) { offset = 0; - if ((*flags & F_MODIFIEROFFSET) != 0) + if ((lflags & F_MODIFIEROFFSET) != 0) offset = parseoffset(modifieroffset); if (remember_yd(year, yearinfo->equinoxdays[1] + offset, &rm, &rd)) { @@ -707,10 +708,10 @@ parsedaymonth(char *date, int *yearp, in } /* (Jun|Dec)Solstice */ - if ((*flags & ~F_MODIFIEROFFSET) == + if ((lflags & ~F_MODIFIEROFFSET) == (F_SPECIALDAY | F_VARIABLE | F_JUNSOLSTICE)) { offset = 0; - if ((*flags & F_MODIFIEROFFSET) != 0) + if ((lflags & F_MODIFIEROFFSET) != 0) offset = parseoffset(modifieroffset); if (remember_yd(year, yearinfo->solsticedays[0] + offset, &rm, &rd)) { @@ -720,10 +721,10 @@ parsedaymonth(char *date, int *yearp, in } continue; } - if ((*flags & ~F_MODIFIEROFFSET) == + if ((lflags & ~F_MODIFIEROFFSET) == (F_SPECIALDAY | F_VARIABLE | F_DECSOLSTICE)) { offset = 0; - if ((*flags & F_MODIFIEROFFSET) != 0) + if ((lflags & F_MODIFIEROFFSET) != 0) offset = parseoffset(modifieroffset); if (remember_yd(year, yearinfo->solsticedays[1] + offset, &rm, &rd)) { @@ -735,7 +736,7 @@ parsedaymonth(char *date, int *yearp, in } printf("Unprocessed:\n"); - debug_determinestyle(2, date, *flags, month, imonth, + debug_determinestyle(2, date, lflags, month, imonth, dayofmonth, idayofmonth, dayofweek, idayofweek, modifieroffset, modifierindex, specialday, syear, iyear); retvalsign = -1; From owner-svn-src-user@FreeBSD.ORG Sat Aug 28 18:49:52 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5F1E21065673; Sat, 28 Aug 2010 18:49:52 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4AFAA8FC12; Sat, 28 Aug 2010 18:49:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7SInqIs040538; Sat, 28 Aug 2010 18:49:52 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7SInpX9040498; Sat, 28 Aug 2010 18:49:51 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008281849.o7SInpX9040498@svn.freebsd.org> From: Warner Losh Date: Sat, 28 Aug 2010 18:49:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211945 - in user/imp/tbemd: . bin/pax bin/test cddl/contrib/opensolaris/cmd/zdb cddl/usr.sbin cddl/usr.sbin/dtruss contrib/gcc contrib/top etc/defaults etc/periodic/daily gnu/lib/libgo... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Aug 2010 18:49:52 -0000 Author: imp Date: Sat Aug 28 18:49:51 2010 New Revision: 211945 URL: http://svn.freebsd.org/changeset/base/211945 Log: Merge from head at 211943 Added: user/imp/tbemd/cddl/usr.sbin/dtruss/dtruss.1 - copied unchanged from r211943, head/cddl/usr.sbin/dtruss/dtruss.1 user/imp/tbemd/sys/mips/rmi/fmn.c - copied unchanged from r211943, head/sys/mips/rmi/fmn.c user/imp/tbemd/sys/mips/rmi/xlr_pcmcia.c - copied unchanged from r211943, head/sys/mips/rmi/xlr_pcmcia.c user/imp/tbemd/sys/x86/pci/ - copied from r211943, head/sys/x86/pci/ Deleted: user/imp/tbemd/lib/libthread_db/arch/powerpc64/ user/imp/tbemd/secure/lib/libcrypto/opensslconf-powerpc64.h user/imp/tbemd/sys/mips/rmi/on_chip.c Modified: user/imp/tbemd/Makefile.inc1 user/imp/tbemd/Makefile.mips user/imp/tbemd/bin/pax/tar.c user/imp/tbemd/bin/test/test.1 user/imp/tbemd/cddl/contrib/opensolaris/cmd/zdb/zdb.c user/imp/tbemd/cddl/usr.sbin/Makefile user/imp/tbemd/cddl/usr.sbin/dtruss/Makefile user/imp/tbemd/contrib/gcc/crtstuff.c user/imp/tbemd/etc/defaults/rc.conf user/imp/tbemd/etc/periodic/daily/800.scrub-zfs user/imp/tbemd/gnu/lib/libgomp/Makefile user/imp/tbemd/lib/Makefile user/imp/tbemd/lib/libc/Makefile user/imp/tbemd/lib/libc/net/ethers.3 user/imp/tbemd/lib/libc/net/eui64.3 user/imp/tbemd/lib/libc/net/sctp_send.3 user/imp/tbemd/lib/libc/net/sctp_sendmsg.3 user/imp/tbemd/lib/libc/stdio/printf.3 user/imp/tbemd/lib/libc/stdlib/atexit.c user/imp/tbemd/lib/libc/stdlib/malloc.3 user/imp/tbemd/lib/libc/sys/mmap.2 user/imp/tbemd/lib/libc/sys/semop.2 user/imp/tbemd/lib/libipx/ipx.3 user/imp/tbemd/lib/libkvm/Makefile user/imp/tbemd/lib/libthr/thread/thr_exit.c user/imp/tbemd/lib/libthr/thread/thr_fork.c user/imp/tbemd/lib/libthr/thread/thr_private.h user/imp/tbemd/lib/libthr/thread/thr_rtld.c user/imp/tbemd/lib/libthr/thread/thr_spec.c user/imp/tbemd/lib/msun/Makefile user/imp/tbemd/libexec/ypxfr/ypxfr.8 user/imp/tbemd/sbin/bsdlabel/bsdlabel.c user/imp/tbemd/sbin/hastd/hast.conf.5 user/imp/tbemd/sbin/hastd/hast.h user/imp/tbemd/sbin/hastd/hastd.c user/imp/tbemd/sbin/hastd/hastd.h user/imp/tbemd/sbin/hastd/hooks.c user/imp/tbemd/sbin/hastd/hooks.h user/imp/tbemd/sbin/hastd/parse.y user/imp/tbemd/sbin/hastd/pjdlog.c user/imp/tbemd/sbin/hastd/primary.c user/imp/tbemd/sbin/hastd/proto_tcp4.c user/imp/tbemd/sbin/hastd/secondary.c user/imp/tbemd/sbin/hastd/synch.h user/imp/tbemd/sbin/hastd/token.l user/imp/tbemd/sbin/ipfw/ipfw.8 user/imp/tbemd/secure/lib/libcrypto/Makefile user/imp/tbemd/secure/lib/libcrypto/man/BIO_s_bio.3 user/imp/tbemd/secure/lib/libcrypto/opensslconf-powerpc.h user/imp/tbemd/share/man/man4/ata.4 user/imp/tbemd/share/man/man4/bpf.4 user/imp/tbemd/share/man/man4/netgraph.4 user/imp/tbemd/share/man/man4/ng_hci.4 user/imp/tbemd/share/man/man4/re.4 user/imp/tbemd/share/man/man5/src.conf.5 user/imp/tbemd/share/man/man9/devstat.9 user/imp/tbemd/share/man/man9/ieee80211_node.9 user/imp/tbemd/sys/amd64/amd64/exception.S user/imp/tbemd/sys/amd64/amd64/machdep.c user/imp/tbemd/sys/amd64/amd64/trap.c user/imp/tbemd/sys/amd64/include/segments.h user/imp/tbemd/sys/boot/common/Makefile.inc user/imp/tbemd/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c user/imp/tbemd/sys/cddl/compat/opensolaris/sys/policy.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/Makefile.files user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/rrwlock.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_map.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c user/imp/tbemd/sys/compat/x86bios/x86bios.c user/imp/tbemd/sys/compat/x86bios/x86bios.h user/imp/tbemd/sys/conf/files.amd64 user/imp/tbemd/sys/conf/files.i386 user/imp/tbemd/sys/dev/ahci/ahci.c user/imp/tbemd/sys/dev/ata/ata-pci.h user/imp/tbemd/sys/dev/ata/chipsets/ata-intel.c user/imp/tbemd/sys/dev/e1000/if_em.c user/imp/tbemd/sys/dev/e1000/if_em.h user/imp/tbemd/sys/dev/e1000/if_igb.c user/imp/tbemd/sys/dev/e1000/if_igb.h user/imp/tbemd/sys/dev/e1000/if_lem.c user/imp/tbemd/sys/dev/e1000/if_lem.h user/imp/tbemd/sys/dev/ed/if_ed_novell.c user/imp/tbemd/sys/dev/ed/if_ed_pci.c user/imp/tbemd/sys/dev/fb/vesa.c user/imp/tbemd/sys/dev/ichsmb/ichsmb_pci.c user/imp/tbemd/sys/dev/ichwd/ichwd.c user/imp/tbemd/sys/dev/ichwd/ichwd.h user/imp/tbemd/sys/dev/ixgb/if_ixgb.c user/imp/tbemd/sys/dev/ixgb/if_ixgb.h user/imp/tbemd/sys/dev/ixgbe/ixgbe.c user/imp/tbemd/sys/dev/ixgbe/ixgbe.h user/imp/tbemd/sys/dev/sound/pci/hda/hdac.c user/imp/tbemd/sys/fs/devfs/devfs_vnops.c user/imp/tbemd/sys/fs/unionfs/union_subr.c user/imp/tbemd/sys/geom/eli/g_eli.c user/imp/tbemd/sys/geom/eli/g_eli.h user/imp/tbemd/sys/i386/i386/exception.s user/imp/tbemd/sys/i386/i386/machdep.c user/imp/tbemd/sys/i386/i386/trap.c user/imp/tbemd/sys/i386/include/segments.h user/imp/tbemd/sys/i386/include/vm86.h user/imp/tbemd/sys/kern/kern_umtx.c user/imp/tbemd/sys/kern/subr_taskqueue.c user/imp/tbemd/sys/kern/sys_generic.c user/imp/tbemd/sys/kern/syscalls.master user/imp/tbemd/sys/kern/vfs_default.c user/imp/tbemd/sys/kern/vfs_mount.c user/imp/tbemd/sys/kern/vfs_subr.c user/imp/tbemd/sys/mips/include/atomic.h user/imp/tbemd/sys/mips/include/locore.h user/imp/tbemd/sys/mips/include/memdev.h user/imp/tbemd/sys/mips/include/pcb.h user/imp/tbemd/sys/mips/include/regnum.h user/imp/tbemd/sys/mips/include/ucontext.h user/imp/tbemd/sys/mips/rmi/board.c user/imp/tbemd/sys/mips/rmi/board.h user/imp/tbemd/sys/mips/rmi/files.xlr user/imp/tbemd/sys/mips/rmi/interrupt.h user/imp/tbemd/sys/mips/rmi/intr_machdep.c user/imp/tbemd/sys/mips/rmi/iodi.c user/imp/tbemd/sys/mips/rmi/msgring.h user/imp/tbemd/sys/mips/rmi/pic.h user/imp/tbemd/sys/mips/rmi/tick.c user/imp/tbemd/sys/mips/rmi/xlr_machdep.c user/imp/tbemd/sys/mips/rmi/xlr_pci.c user/imp/tbemd/sys/modules/dtrace/dtrace/Makefile user/imp/tbemd/sys/net/if_epair.c user/imp/tbemd/sys/netinet/tcp_input.c user/imp/tbemd/sys/netinet/tcp_subr.c user/imp/tbemd/sys/nfsserver/nfs_serv.c user/imp/tbemd/sys/powerpc/aim/mmu_oea.c user/imp/tbemd/sys/rpc/replay.c user/imp/tbemd/sys/sys/cdefs.h user/imp/tbemd/sys/sys/dtrace_bsd.h user/imp/tbemd/sys/sys/mman.h user/imp/tbemd/sys/sys/mount.h user/imp/tbemd/sys/sys/param.h user/imp/tbemd/sys/vm/vm_mmap.c user/imp/tbemd/tools/regression/poll/pipepoll.c user/imp/tbemd/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.military (contents, props changed) user/imp/tbemd/usr.bin/truss/Makefile user/imp/tbemd/usr.bin/truss/extern.h user/imp/tbemd/usr.bin/truss/main.c user/imp/tbemd/usr.bin/truss/powerpc-fbsd.c user/imp/tbemd/usr.bin/truss/powerpc64-fbsd.c user/imp/tbemd/usr.sbin/IPXrouted/IPXrouted.8 user/imp/tbemd/usr.sbin/Makefile.mips user/imp/tbemd/usr.sbin/kldxref/Makefile user/imp/tbemd/usr.sbin/ypbind/ypbind.8 Directory Properties: user/imp/tbemd/ (props changed) user/imp/tbemd/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/contrib/bind9/ (props changed) user/imp/tbemd/contrib/ee/ (props changed) user/imp/tbemd/contrib/expat/ (props changed) user/imp/tbemd/contrib/file/ (props changed) user/imp/tbemd/contrib/gdb/ (props changed) user/imp/tbemd/contrib/gdtoa/ (props changed) user/imp/tbemd/contrib/gnu-sort/ (props changed) user/imp/tbemd/contrib/groff/ (props changed) user/imp/tbemd/contrib/less/ (props changed) user/imp/tbemd/contrib/libpcap/ (props changed) user/imp/tbemd/contrib/llvm/ (props changed) user/imp/tbemd/contrib/llvm/tools/clang/ (props changed) user/imp/tbemd/contrib/ncurses/ (props changed) user/imp/tbemd/contrib/netcat/ (props changed) user/imp/tbemd/contrib/ntp/ (props changed) user/imp/tbemd/contrib/one-true-awk/ (props changed) user/imp/tbemd/contrib/openbsm/ (props changed) user/imp/tbemd/contrib/openpam/ (props changed) user/imp/tbemd/contrib/pf/ (props changed) user/imp/tbemd/contrib/sendmail/ (props changed) user/imp/tbemd/contrib/tcpdump/ (props changed) user/imp/tbemd/contrib/tcsh/ (props changed) user/imp/tbemd/contrib/top/ (props changed) user/imp/tbemd/contrib/top/install-sh (props changed) user/imp/tbemd/contrib/tzcode/stdtime/ (props changed) user/imp/tbemd/contrib/tzcode/zic/ (props changed) user/imp/tbemd/contrib/tzdata/ (props changed) user/imp/tbemd/contrib/wpa/ (props changed) user/imp/tbemd/crypto/openssh/ (props changed) user/imp/tbemd/crypto/openssl/ (props changed) user/imp/tbemd/lib/libc/ (props changed) user/imp/tbemd/lib/libc/stdtime/ (props changed) user/imp/tbemd/lib/libutil/ (props changed) user/imp/tbemd/lib/libz/ (props changed) user/imp/tbemd/sbin/ (props changed) user/imp/tbemd/sbin/ipfw/ (props changed) user/imp/tbemd/share/zoneinfo/ (props changed) user/imp/tbemd/sys/ (props changed) user/imp/tbemd/sys/amd64/include/xen/ (props changed) user/imp/tbemd/sys/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/sys/contrib/dev/acpica/ (props changed) user/imp/tbemd/sys/contrib/pf/ (props changed) user/imp/tbemd/sys/contrib/x86emu/ (props changed) user/imp/tbemd/sys/dev/xen/xenpci/ (props changed) user/imp/tbemd/usr.bin/csup/ (props changed) user/imp/tbemd/usr.bin/procstat/ (props changed) user/imp/tbemd/usr.sbin/zic/ (props changed) Modified: user/imp/tbemd/Makefile.inc1 ============================================================================== --- user/imp/tbemd/Makefile.inc1 Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/Makefile.inc1 Sat Aug 28 18:49:51 2010 (r211945) @@ -1133,8 +1133,8 @@ _prereq_libs= gnu/lib/libssp/libssp_nons _startup_libs= gnu/lib/csu .if exists(${.CURDIR}/lib/csu/${MACHINE_ARCH}-elf) _startup_libs+= lib/csu/${MACHINE_ARCH}-elf -.elif exists(${.CURDIR}/lib/csu/${MACHINE_CPUARCH}-elf) -_startup_libs+= lib/csu/${MACHINE_CPUARCH}-elf +.elif exists(${.CURDIR}/lib/csu/${MACHINE_ARCH}) +_startup_libs+= lib/csu/${MACHINE_ARCH} .else _startup_libs+= lib/csu/${MACHINE_CPUARCH} .endif Modified: user/imp/tbemd/Makefile.mips ============================================================================== --- user/imp/tbemd/Makefile.mips Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/Makefile.mips Sat Aug 28 18:49:51 2010 (r211945) @@ -1,2 +1,5 @@ # $FreeBSD$ + +.if defined(TARGET_ABI) && ${TARGET_ABI} == "n64" MK_RESCUE=no +.endif Modified: user/imp/tbemd/bin/pax/tar.c ============================================================================== --- user/imp/tbemd/bin/pax/tar.c Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/bin/pax/tar.c Sat Aug 28 18:49:51 2010 (r211945) @@ -1095,7 +1095,7 @@ name_split(char *name, int len) * to find the biggest piece to fit in the name field (or the smallest * prefix we can find) */ - start = name + len - TNMSZ - 1; + start = name + len - TNMSZ; while ((*start != '\0') && (*start != '/')) ++start; Modified: user/imp/tbemd/bin/test/test.1 ============================================================================== --- user/imp/tbemd/bin/test/test.1 Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/bin/test/test.1 Sat Aug 28 18:49:51 2010 (r211945) @@ -302,7 +302,7 @@ manual page. The .Nm grammar is inherently ambiguous. -In order to assure a degree of consistency, +In order to ensure a degree of consistency, the cases described in the .St -p1003.2 , section D11.2/4.62.4, standard Modified: user/imp/tbemd/cddl/contrib/opensolaris/cmd/zdb/zdb.c ============================================================================== --- user/imp/tbemd/cddl/contrib/opensolaris/cmd/zdb/zdb.c Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/cddl/contrib/opensolaris/cmd/zdb/zdb.c Sat Aug 28 18:49:51 2010 (r211945) @@ -491,35 +491,37 @@ dump_metaslab_stats(metaslab_t *msp) static void dump_metaslab(metaslab_t *msp) { - char freebuf[5]; - space_map_obj_t *smo = &msp->ms_smo; vdev_t *vd = msp->ms_group->mg_vd; spa_t *spa = vd->vdev_spa; + space_map_t *sm = &msp->ms_map; + space_map_obj_t *smo = &msp->ms_smo; + char freebuf[5]; - nicenum(msp->ms_map.sm_size - smo->smo_alloc, freebuf); + nicenum(sm->sm_size - smo->smo_alloc, freebuf); (void) printf( "\tvdev %5llu offset %12llx spacemap %6llu free %5s\n", - (u_longlong_t)vd->vdev_id, (u_longlong_t)msp->ms_map.sm_start, - (u_longlong_t)smo->smo_object, freebuf); + (u_longlong_t)(sm->sm_start / sm->sm_size), + (u_longlong_t)sm->sm_start, (u_longlong_t)smo->smo_object, freebuf); if (dump_opt['m'] > 1) { mutex_enter(&msp->ms_lock); - VERIFY(space_map_load(&msp->ms_map, zfs_metaslab_ops, - SM_FREE, &msp->ms_smo, spa->spa_meta_objset) == 0); + space_map_load_wait(sm); + if (!sm->sm_loaded) + VERIFY(space_map_load(sm, zfs_metaslab_ops, + SM_FREE, smo, spa->spa_meta_objset) == 0); dump_metaslab_stats(msp); - space_map_unload(&msp->ms_map); + space_map_unload(sm); mutex_exit(&msp->ms_lock); } if (dump_opt['d'] > 5 || dump_opt['m'] > 2) { - ASSERT(msp->ms_map.sm_size == (1ULL << vd->vdev_ms_shift)); + ASSERT(sm->sm_size == (1ULL << vd->vdev_ms_shift)); mutex_enter(&msp->ms_lock); - dump_spacemap(spa->spa_meta_objset, smo, &msp->ms_map); + dump_spacemap(spa->spa_meta_objset, smo, sm); mutex_exit(&msp->ms_lock); } - } static void Modified: user/imp/tbemd/cddl/usr.sbin/Makefile ============================================================================== --- user/imp/tbemd/cddl/usr.sbin/Makefile Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/cddl/usr.sbin/Makefile Sat Aug 28 18:49:51 2010 (r211945) @@ -3,6 +3,7 @@ .include SUBDIR= ${_dtrace} \ + ${_dtruss} \ ${_lockstat} \ ${_zdb} @@ -14,6 +15,7 @@ _zdb= zdb .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" _dtrace= dtrace +_dtruss= dtruss _lockstat= lockstat .endif Modified: user/imp/tbemd/cddl/usr.sbin/dtruss/Makefile ============================================================================== --- user/imp/tbemd/cddl/usr.sbin/dtruss/Makefile Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/cddl/usr.sbin/dtruss/Makefile Sat Aug 28 18:49:51 2010 (r211945) @@ -3,6 +3,6 @@ .PATH: ${.CURDIR}/../../../cddl/contrib/dtracetoolkit SCRIPTS=dtruss -NO_MAN= +MAN=dtruss.1 .include Copied: user/imp/tbemd/cddl/usr.sbin/dtruss/dtruss.1 (from r211943, head/cddl/usr.sbin/dtruss/dtruss.1) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/imp/tbemd/cddl/usr.sbin/dtruss/dtruss.1 Sat Aug 28 18:49:51 2010 (r211945, copy of r211943, head/cddl/usr.sbin/dtruss/dtruss.1) @@ -0,0 +1,89 @@ +.\" +.\" Copyright (c) 2010 The FreeBSD Foundation +.\" All rights reserved. +.\" +.\" This software was developed by Rui Paulo 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. +.\" +.\" $FreeBSD$ +.\" +.Dd August 26, 2010 +.Dt DTRUSS 1 +.Os +.Sh NAME +.Nm dtruss +.Nd Trace system calls and userland stacks using DTrace +.Sh SYNOPSIS +.Nm +.Op Fl acdefholLs +.Op Fl t Ar syscall +.Op Fl n Ar name Fl p Ar pid Ar command +.Sh DESCRIPTION +The +.Nm +utility traces system calls and (optionally) userland stack traces for the +specified programs. +.Pp +The following options are available: +.Bl -tag -width indent +.It Fl p Ar pid +Trace the process with PID +.Ar pid . +.It Fl n Ar name +Trace the process with name +.Ar name . +.It Fl t Ar syscall +Trace the specified syscall only. +.It Fl a +Print all details. +.It Fl c +Print syscall counts. +.It Fl d +Print relative times (in microseconds). +.It Fl e +Print elapsed times (in microseconds). +.It Fl f +Follow the children processes. +.It Fl l +Force printing PID / TID. +.It Fl o +Print time spent on CPU. +.It Fl s +Print userland stack backtraces. +.It Fl L +Don't print PID / TID. +.It Fl b Ar bufsize +Specify the DTrace buffer size. +.El +.Sh EXIT STATUS +.Ex -std +.Sh SEE ALSO +.Xr dtrace 1 +.Sh HISTORY +The +.Nm +utility comes from the DTraceToolkit and was first imported into +.Fx 9.0 . +.Sh AUTHORS +.An Brendan Gregg Modified: user/imp/tbemd/contrib/gcc/crtstuff.c ============================================================================== --- user/imp/tbemd/contrib/gcc/crtstuff.c Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/contrib/gcc/crtstuff.c Sat Aug 28 18:49:51 2010 (r211945) @@ -191,11 +191,11 @@ DTOR_LIST_BEGIN; #elif defined(DTORS_SECTION_ASM_OP) asm (DTORS_SECTION_ASM_OP); STATIC func_ptr __DTOR_LIST__[1] - __attribute__ ((aligned(sizeof(func_ptr)))) + __attribute__ ((used, aligned(sizeof(func_ptr)))) = { (func_ptr) (-1) }; #else STATIC func_ptr __DTOR_LIST__[1] - __attribute__((section(".dtors"), aligned(sizeof(func_ptr)))) + __attribute__((used, section(".dtors"), aligned(sizeof(func_ptr)))) = { (func_ptr) (-1) }; #endif /* __DTOR_LIST__ alternatives */ @@ -203,7 +203,7 @@ STATIC func_ptr __DTOR_LIST__[1] /* Stick a label at the beginning of the frame unwind info so we can register and deregister it with the exception handling library code. */ STATIC EH_FRAME_SECTION_CONST char __EH_FRAME_BEGIN__[] - __attribute__((section(EH_FRAME_SECTION_NAME), aligned(4))) + __attribute__((used, section(EH_FRAME_SECTION_NAME), aligned(4))) = { }; #endif /* USE_EH_FRAME_REGISTRY */ @@ -211,7 +211,7 @@ STATIC EH_FRAME_SECTION_CONST char __EH_ /* Stick a label at the beginning of the java class registration info so we can register them properly. */ STATIC void *__JCR_LIST__[] - __attribute__ ((unused, section(JCR_SECTION_NAME), aligned(sizeof(void*)))) + __attribute__ ((used, section(JCR_SECTION_NAME), aligned(sizeof(void*)))) = { }; #endif /* JCR_SECTION_NAME */ @@ -459,11 +459,11 @@ CTOR_LIST_END; static func_ptr force_to_data[1] __attribute__ ((__used__)) = { }; asm (CTORS_SECTION_ASM_OP); STATIC func_ptr __CTOR_END__[1] - __attribute__((aligned(sizeof(func_ptr)))) + __attribute__((used, aligned(sizeof(func_ptr)))) = { (func_ptr) 0 }; #else STATIC func_ptr __CTOR_END__[1] - __attribute__((section(".ctors"), aligned(sizeof(func_ptr)))) + __attribute__((used, section(".ctors"), aligned(sizeof(func_ptr)))) = { (func_ptr) 0 }; #endif @@ -472,11 +472,11 @@ DTOR_LIST_END; #elif defined(DTORS_SECTION_ASM_OP) asm (DTORS_SECTION_ASM_OP); STATIC func_ptr __DTOR_END__[1] - __attribute__ ((unused, aligned(sizeof(func_ptr)))) + __attribute__ ((used, aligned(sizeof(func_ptr)))) = { (func_ptr) 0 }; #else STATIC func_ptr __DTOR_END__[1] - __attribute__((unused, section(".dtors"), aligned(sizeof(func_ptr)))) + __attribute__((used, section(".dtors"), aligned(sizeof(func_ptr)))) = { (func_ptr) 0 }; #endif @@ -493,7 +493,7 @@ typedef short int32; # error "Missing a 4 byte integer" # endif STATIC EH_FRAME_SECTION_CONST int32 __FRAME_END__[] - __attribute__ ((unused, section(EH_FRAME_SECTION_NAME), + __attribute__ ((used, section(EH_FRAME_SECTION_NAME), aligned(sizeof(int32)))) = { 0 }; #endif /* EH_FRAME_SECTION_NAME */ @@ -501,7 +501,7 @@ STATIC EH_FRAME_SECTION_CONST int32 __FR #ifdef JCR_SECTION_NAME /* Null terminate the .jcr section array. */ STATIC void *__JCR_END__[1] - __attribute__ ((unused, section(JCR_SECTION_NAME), + __attribute__ ((used, section(JCR_SECTION_NAME), aligned(sizeof(void *)))) = { 0 }; #endif /* JCR_SECTION_NAME */ Modified: user/imp/tbemd/etc/defaults/rc.conf ============================================================================== --- user/imp/tbemd/etc/defaults/rc.conf Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/etc/defaults/rc.conf Sat Aug 28 18:49:51 2010 (r211945) @@ -216,7 +216,7 @@ ifconfig_lo0="inet 127.0.0.1" # default #ifconfig_ed0_alias0="inet6 2001:db8:2::1 prefixlen 64" # Sample IPv6 alias #ifconfig_fxp0_name="net0" # Change interface name from fxp0 to net0. #vlans_fxp0="101 vlan0" # vlan(4) interfaces for fxp0 device -#create_arg_vlan0="vlan 102" # vlan tag for vlan0 device +#create_args_vlan0="vlan 102" # vlan tag for vlan0 device #wlans_ath0="wlan0" # wlan(4) interfaces for ath0 device #wlandebug_wlan0="scan+auth+assoc" # Set debug flags with wlanddebug(8) #ipv4_addrs_fxp0="192.168.0.1/24 192.168.1.1-5/28" # example IPv4 address entry. Modified: user/imp/tbemd/etc/periodic/daily/800.scrub-zfs ============================================================================== --- user/imp/tbemd/etc/periodic/daily/800.scrub-zfs Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/etc/periodic/daily/800.scrub-zfs Sat Aug 28 18:49:51 2010 (r211945) @@ -53,7 +53,7 @@ case "$daily_scrub_zfs_enable" in # Now minus last scrub (both in seconds) converted to days. _scrub_diff=$(expr -e \( $(date +%s) - \ $(date -j -f %F.%T ${_last_scrub} +%s) \) / 60 / 60 / 24) - if [ ${_scrub_diff} -le ${_pool_threshold} ]; then + if [ ${_scrub_diff} -lt ${_pool_threshold} ]; then echo " skipping scrubbing of pool '${pool}':" echo " last scrubbing is ${_scrub_diff} days ago, threshold is set to ${_pool_threshold} days" continue @@ -65,11 +65,11 @@ case "$daily_scrub_zfs_enable" in echo " scrubbing of pool '${pool}' already in progress, skipping:" ;; *"none requested"*) - echo " starting first scrubbing (after reboot) of pool '${pool}':" + echo " starting first scrub (since reboot) of pool '${pool}':" zpool scrub ${pool} ;; *) - echo " starting scrubbing of pool '${pool}':" + echo " starting scrub of pool '${pool}':" zpool scrub ${pool} ;; esac Modified: user/imp/tbemd/gnu/lib/libgomp/Makefile ============================================================================== --- user/imp/tbemd/gnu/lib/libgomp/Makefile Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/gnu/lib/libgomp/Makefile Sat Aug 28 18:49:51 2010 (r211945) @@ -24,7 +24,7 @@ VERSION_MAP= ${SRCDIR}/libgomp.map # Target-specific OpenMP configuration .if ${MACHINE_CPUARCH} == arm || ${MACHINE_CPUARCH} == i386 || \ - ${MACHINE_CPUARCH} == powerpc || \ + ${MACHINE_ARCH} == powerpc || \ (${MACHINE_CPUARCH} == mips && \ (!defined(TARGET_ABI) || ${TARGET_ABI} != "n64")) OMP_LOCK_ALIGN = 4 Modified: user/imp/tbemd/lib/Makefile ============================================================================== --- user/imp/tbemd/lib/Makefile Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/lib/Makefile Sat Aug 28 18:49:51 2010 (r211945) @@ -114,8 +114,8 @@ SUBDIR= ${SUBDIR_ORDERED} \ .if exists(${.CURDIR}/csu/${MACHINE_ARCH}-elf) _csu=csu/${MACHINE_ARCH}-elf -.elif exists(${.CURDIR}/csu/${MACHINE_CPUARCH}-elf) -_csu=csu/${MACHINE_CPUARCH}-elf +.elif exists(${.CURDIR}/csu/${MACHINE_ARCH}) +_csu=csu/${MACHINE_ARCH} .elif exists(${.CURDIR}/csu/${MACHINE_CPUARCH}/Makefile) _csu=csu/${MACHINE_CPUARCH} .else Modified: user/imp/tbemd/lib/libc/Makefile ============================================================================== --- user/imp/tbemd/lib/libc/Makefile Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/lib/libc/Makefile Sat Aug 28 18:49:51 2010 (r211945) @@ -5,10 +5,11 @@ SHLIBDIR?= /lib .include -# We have to special case powerpc and powerpc64, since they mostly have -# the same source implementation. libc is very different due to large -# ABI differences. -.if ${MACHINE_ARCH} == "powerpc" +# Pick the current architecture directory for libc. In general, this is +# named MACHINE_CPUARCH, but some ABIs are different enough to require +# their own libc, so allow a directory named MACHINE_ARCH to override this. + +.if exists(${.CURDIR}/${MACHINE_ARCH}) LIBC_ARCH=${MACHINE_ARCH} .else LIBC_ARCH=${MACHINE_CPUARCH} Modified: user/imp/tbemd/lib/libc/net/ethers.3 ============================================================================== --- user/imp/tbemd/lib/libc/net/ethers.3 Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/lib/libc/net/ethers.3 Sat Aug 28 18:49:51 2010 (r211945) @@ -189,7 +189,7 @@ unable to find a match in the .Pa /etc/ethers database. .Sh NOTES -The user must insure that the hostname strings passed to the +The user must ensure that the hostname strings passed to the .Fn ether_line , .Fn ether_ntohost and Modified: user/imp/tbemd/lib/libc/net/eui64.3 ============================================================================== --- user/imp/tbemd/lib/libc/net/eui64.3 Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/lib/libc/net/eui64.3 Sat Aug 28 18:49:51 2010 (r211945) @@ -189,7 +189,7 @@ unable to find a match in the .Pa /etc/eui64 database. .Sh NOTES -The user must insure that the hostname strings passed to the +The user must ensure that the hostname strings passed to the .\" .Fn eui64_line , .Fn eui64_ntohost and Modified: user/imp/tbemd/lib/libc/net/sctp_send.3 ============================================================================== --- user/imp/tbemd/lib/libc/net/sctp_send.3 Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/lib/libc/net/sctp_send.3 Sat Aug 28 18:49:51 2010 (r211945) @@ -191,7 +191,7 @@ If that many milliseconds elapse and the peer has not acknowledged the data, the data will be skipped and no longer transmitted. Note that this policy does -not even assure that the data will ever be sent. +not even ensure that the data will ever be sent. In times of a congestion with large amounts of data being queued, the .Fa sinfo->sinfo_timetolive @@ -218,7 +218,7 @@ policy transforms the .Fa sinfo->sinfo_timetolive into a number of retransmissions to allow. This policy -always assures that at a minimum one send attempt is +always ensures that at a minimum one send attempt is made of the data. After which no more than .Fa sinfo->sinfo_timetolive Modified: user/imp/tbemd/lib/libc/net/sctp_sendmsg.3 ============================================================================== --- user/imp/tbemd/lib/libc/net/sctp_sendmsg.3 Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/lib/libc/net/sctp_sendmsg.3 Sat Aug 28 18:49:51 2010 (r211945) @@ -203,7 +203,7 @@ If that many milliseconds elapse and the peer has not acknowledged the data, the data will be skipped and no longer transmitted. Note that this policy does -not even assure that the data will ever be sent. +not even ensure that the data will ever be sent. In times of a congestion with large amounts of data being queued, the .Fa timetolive @@ -230,7 +230,7 @@ policy transforms the .Fa timetolive into a number of retransmissions to allow. This policy -always assures that at a minimum one send attempt is +always ensures that at a minimum one send attempt is made of the data. After which no more than .Fa timetolive Modified: user/imp/tbemd/lib/libc/stdio/printf.3 ============================================================================== --- user/imp/tbemd/lib/libc/stdio/printf.3 Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/lib/libc/stdio/printf.3 Sat Aug 28 18:49:51 2010 (r211945) @@ -849,7 +849,7 @@ and .Fn vsprintf assume an infinitely long string, callers must be careful not to overflow the actual space; -this is often hard to assure. +this is often hard to ensure. For safety, programmers should use the .Fn snprintf interface instead. Modified: user/imp/tbemd/lib/libc/stdlib/atexit.c ============================================================================== --- user/imp/tbemd/lib/libc/stdlib/atexit.c Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/lib/libc/stdlib/atexit.c Sat Aug 28 18:49:51 2010 (r211945) @@ -200,6 +200,6 @@ __cxa_finalize(void *dso) if (dso == NULL) _MUTEX_DESTROY(&atexit_mutex); - if (&__pthread_cxa_finalize != NULL) + if (has_phdr && &__pthread_cxa_finalize != NULL) __pthread_cxa_finalize(&phdr_info); } Modified: user/imp/tbemd/lib/libc/stdlib/malloc.3 ============================================================================== --- user/imp/tbemd/lib/libc/stdlib/malloc.3 Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/lib/libc/stdlib/malloc.3 Sat Aug 28 18:49:51 2010 (r211945) @@ -266,7 +266,7 @@ options are enabled, the allocator prefe but allocation only fails if memory cannot be acquired via either method. If neither option is enabled, then the .Dq M -option is implicitly enabled in order to assure that there is a method for +option is implicitly enabled in order to ensure that there is a method for acquiring memory. .It N Double/halve the number of arenas. @@ -437,7 +437,7 @@ rounded up to the nearest multiple of th .Pp Allocations are packed tightly together, which can be an issue for multi-threaded applications. -If you need to assure that allocations do not suffer from cacheline sharing, +If you need to ensure that allocations do not suffer from cacheline sharing, round your allocation requests up to the nearest multiple of the cacheline size. .Sh DEBUGGING MALLOC PROBLEMS Modified: user/imp/tbemd/lib/libc/sys/mmap.2 ============================================================================== --- user/imp/tbemd/lib/libc/sys/mmap.2 Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/lib/libc/sys/mmap.2 Sat Aug 28 18:49:51 2010 (r211945) @@ -28,7 +28,7 @@ .\" @(#)mmap.2 8.4 (Berkeley) 5/11/95 .\" $FreeBSD$ .\" -.Dd November 6, 2009 +.Dd August 28, 2010 .Dt MMAP 2 .Os .Sh NAME @@ -211,6 +211,19 @@ implements a coherent file system buffer However, it may be used to associate dirty VM pages with file system buffers and thus cause them to be flushed to physical media sooner rather than later. +.It Dv MAP_PREFAULT_READ +Immediately update the calling process's lowest-level virtual address +translation structures, such as its page table, so that every memory +resident page within the region is mapped for read access. +Ordinarily these structures are updated lazily. +The effect of this option is to eliminate any soft faults that would +otherwise occur on the initial read accesses to the region. +Although this option does not preclude +.Fa prot +from including +.Dv PROT_WRITE , +it does not eliminate soft faults on the initial write accesses to the +region. .It Dv MAP_PRIVATE Modifications are private. .It Dv MAP_SHARED Modified: user/imp/tbemd/lib/libc/sys/semop.2 ============================================================================== --- user/imp/tbemd/lib/libc/sys/semop.2 Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/lib/libc/sys/semop.2 Sat Aug 28 18:49:51 2010 (r211945) @@ -222,7 +222,7 @@ When a process exits, either voluntarily or involuntarily, the adjust on exit value for each semaphore is added to the semaphore's value. This can -be used to insure that a resource is released if a process terminates +be used to ensure that a resource is released if a process terminates unexpectedly. .Sh RETURN VALUES .Rv -std semop Modified: user/imp/tbemd/lib/libipx/ipx.3 ============================================================================== --- user/imp/tbemd/lib/libipx/ipx.3 Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/lib/libipx/ipx.3 Sat Aug 28 18:49:51 2010 (r211945) @@ -70,7 +70,7 @@ trailing .Ql H appended. .Pp -An effort has been made to insure that +An effort has been made to ensure that .Fn ipx_addr be compatible with most formats in common use. It will first separate an address into 1 to 3 fields using a single delimiter Modified: user/imp/tbemd/lib/libkvm/Makefile ============================================================================== --- user/imp/tbemd/lib/libkvm/Makefile Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/lib/libkvm/Makefile Sat Aug 28 18:49:51 2010 (r211945) @@ -9,13 +9,19 @@ CFLAGS+=-DLIBC_SCCS -I${.CURDIR} CFLAGS+=-DSUN4V .endif +.if exists(${.CURDIR}/kvm_${MACHINE_ARCH}.c) +KVM_ARCH=${MACHINE_ARCH} +.else +KVM_ARCH=${MACHINE_CPUARCH} +.endif + WARNS?= 0 -SRCS= kvm.c kvm_${MACHINE_CPUARCH}.c kvm_cptime.c kvm_file.c kvm_getloadavg.c \ +SRCS= kvm.c kvm_${KVM_ARCH}.c kvm_cptime.c kvm_file.c kvm_getloadavg.c \ kvm_getswapinfo.c kvm_pcpu.c kvm_proc.c kvm_vnet.c .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" || \ ${MACHINE_CPUARCH} == "arm" -SRCS+= kvm_minidump_${MACHINE_CPUARCH}.c +SRCS+= kvm_minidump_${KVM_ARCH}.c .endif INCS= kvm.h Modified: user/imp/tbemd/lib/libthr/thread/thr_exit.c ============================================================================== --- user/imp/tbemd/lib/libthr/thread/thr_exit.c Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/lib/libthr/thread/thr_exit.c Sat Aug 28 18:49:51 2010 (r211945) @@ -55,16 +55,6 @@ _thread_exit(const char *fname, int line abort(); } -/* - * Only called when a thread is cancelled. It may be more useful - * to call it from pthread_exit() if other ways of asynchronous or - * abnormal thread termination can be found. - */ -void -_thr_exit_cleanup(void) -{ -} - void _pthread_exit(void *status) { @@ -84,8 +74,6 @@ _pthread_exit(void *status) curthread->cancel_enable = 0; curthread->cancel_async = 0; - _thr_exit_cleanup(); - /* Save the return value: */ curthread->ret = status; while (curthread->cleanup != NULL) { Modified: user/imp/tbemd/lib/libthr/thread/thr_fork.c ============================================================================== --- user/imp/tbemd/lib/libthr/thread/thr_fork.c Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/lib/libthr/thread/thr_fork.c Sat Aug 28 18:49:51 2010 (r211945) @@ -114,6 +114,7 @@ __pthread_cxa_finalize(struct dl_phdr_in } } THR_UMUTEX_UNLOCK(curthread, &_thr_atfork_lock); + _thr_tsd_unload(phdr_info); } __weak_reference(_fork, fork); Modified: user/imp/tbemd/lib/libthr/thread/thr_private.h ============================================================================== --- user/imp/tbemd/lib/libthr/thread/thr_private.h Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/lib/libthr/thread/thr_private.h Sat Aug 28 18:49:51 2010 (r211945) @@ -623,7 +623,6 @@ void _mutex_fork(struct pthread *curthre void _libpthread_init(struct pthread *) __hidden; struct pthread *_thr_alloc(struct pthread *) __hidden; void _thread_exit(const char *, int, const char *) __hidden __dead2; -void _thr_exit_cleanup(void) __hidden; int _thr_ref_add(struct pthread *, struct pthread *, int) __hidden; void _thr_ref_delete(struct pthread *, struct pthread *) __hidden; void _thr_ref_delete_unlocked(struct pthread *, struct pthread *) __hidden; @@ -635,7 +634,6 @@ void _thr_stack_free(struct pthread_attr void _thr_free(struct pthread *, struct pthread *) __hidden; void _thr_gc(struct pthread *) __hidden; void _thread_cleanupspecific(void) __hidden; -void _thread_dump_info(void) __hidden; void _thread_printf(int, const char *, ...) __hidden; void _thr_spinlock_init(void) __hidden; void _thr_cancel_enter(struct pthread *) __hidden; @@ -671,9 +669,6 @@ int _schedparam_to_rtp(int policy, const void _thread_bp_create(void); void _thread_bp_death(void); int _sched_yield(void); -void _thr_sem_prefork(void); -void _thr_sem_postfork(void); -void _thr_sem_child_postfork(void); void _pthread_cleanup_push(void (*)(void *), void *); void _pthread_cleanup_pop(int); @@ -744,6 +739,7 @@ _thr_check_init(void) struct dl_phdr_info; void __pthread_cxa_finalize(struct dl_phdr_info *phdr_info); +void _thr_tsd_unload(struct dl_phdr_info *phdr_info) __hidden; __END_DECLS Modified: user/imp/tbemd/lib/libthr/thread/thr_rtld.c ============================================================================== --- user/imp/tbemd/lib/libthr/thread/thr_rtld.c Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/lib/libthr/thread/thr_rtld.c Sat Aug 28 18:49:51 2010 (r211945) @@ -81,8 +81,11 @@ static void _thr_rtld_lock_destroy(void *lock) { int locki; + size_t i; locki = (struct rtld_lock *)lock - &lock_place[0]; + for (i = 0; i < sizeof(struct rtld_lock); ++i) + ((char *)lock)[i] = 0; busy_places &= ~(1 << locki); } @@ -149,8 +152,8 @@ _thr_rtld_lock_release(void *lock) state = l->lock.rw_state; if (_thr_rwlock_unlock(&l->lock) == 0) { - curthread->rdlock_count--; if ((state & URWLOCK_WRITE_OWNER) == 0) { + curthread->rdlock_count--; THR_CRITICAL_LEAVE(curthread); } else { _thr_signal_unblock(curthread); Modified: user/imp/tbemd/lib/libthr/thread/thr_spec.c ============================================================================== --- user/imp/tbemd/lib/libthr/thread/thr_spec.c Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/lib/libthr/thread/thr_spec.c Sat Aug 28 18:49:51 2010 (r211945) @@ -36,6 +36,7 @@ #include #include #include "un-namespace.h" +#include "libc_private.h" #include "thr_private.h" @@ -235,3 +236,23 @@ _pthread_getspecific(pthread_key_t key) data = NULL; return (__DECONST(void *, data)); } + +void +_thr_tsd_unload(struct dl_phdr_info *phdr_info) +{ + struct pthread *curthread = _get_curthread(); + void (*destructor)(void *); + int key; + + THR_LOCK_ACQUIRE(curthread, &_keytable_lock); + for (key = 0; key < PTHREAD_KEYS_MAX; key++) { + if (_thread_keytable[key].allocated) { + destructor = _thread_keytable[key].destructor; + if (destructor != NULL) { + if (__elf_phdr_match_addr(phdr_info, destructor)) + _thread_keytable[key].destructor = NULL; + } + } + } + THR_LOCK_RELEASE(curthread, &_keytable_lock); +} Modified: user/imp/tbemd/lib/msun/Makefile ============================================================================== --- user/imp/tbemd/lib/msun/Makefile Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/lib/msun/Makefile Sat Aug 28 18:49:51 2010 (r211945) @@ -75,8 +75,13 @@ COMMON_SRCS= b_exp.c b_log.c b_tgamma.c # Location of fpmath.h and _fpmath.h LIBCDIR= ${.CURDIR}/../libc +.if exists(${LIBCDIR}/${MACHINE_ARCH}) +LIBC_ARCH=${MACHINE_ARCH} +.else +LIBC_ARCH=${MACHINE_CPUARCH} +.endif CFLAGS+= -I${.CURDIR}/src -I${LIBCDIR}/include \ - -I${LIBCDIR}/${MACHINE_CPUARCH} + -I${LIBCDIR}/${LIBC_ARCH} SYM_MAPS+= ${.CURDIR}/Symbol.map VERSION_DEF= ${LIBCDIR}/Versions.def Modified: user/imp/tbemd/libexec/ypxfr/ypxfr.8 ============================================================================== --- user/imp/tbemd/libexec/ypxfr/ypxfr.8 Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/libexec/ypxfr/ypxfr.8 Sat Aug 28 18:49:51 2010 (r211945) @@ -234,7 +234,7 @@ Specify the name of the host from which .Tn NIS maps. This option -is used to insure that +is used to ensure that .Nm only copies maps from the .Tn NIS Modified: user/imp/tbemd/sbin/bsdlabel/bsdlabel.c ============================================================================== --- user/imp/tbemd/sbin/bsdlabel/bsdlabel.c Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/sbin/bsdlabel/bsdlabel.c Sat Aug 28 18:49:51 2010 (r211945) @@ -80,6 +80,7 @@ __FBSDID("$FreeBSD$"); #include "pathnames.h" static void makelabel(const char *, struct disklabel *); +static int geom_bsd_available(void); static int writelabel(void); static int readlabel(int flag); static void display(FILE *, const struct disklabel *); @@ -379,10 +380,33 @@ readboot(void) } static int +geom_bsd_available(void) +{ + struct gclass *class; + struct gmesh mesh; + int error; + + error = geom_gettree(&mesh); + if (error != 0) + errc(1, error, "Cannot get GEOM tree"); + + LIST_FOREACH(class, &mesh.lg_class, lg_class) { + if (strcmp(class->lg_name, "BSD") == 0) { + geom_deletetree(&mesh); + return (1); + } + } + + geom_deletetree(&mesh); + + return (0); +} + +static int writelabel(void) { uint64_t *p, sum; - int i, fd; + int i, fd, serrno; struct gctl_req *grq; char const *errstr; struct disklabel *lp = &lab; @@ -416,6 +440,13 @@ writelabel(void) if (is_file) { warn("cannot open file %s for writing label", specname); return(1); + } else + serrno = errno; + + /* Give up if GEOM_BSD is not available. */ + if (geom_bsd_available() == 0) { + warnc(serrno, "%s", specname); + return (1); } grq = gctl_get_handle(); Modified: user/imp/tbemd/sbin/hastd/hast.conf.5 ============================================================================== --- user/imp/tbemd/sbin/hastd/hast.conf.5 Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/sbin/hastd/hast.conf.5 Sat Aug 28 18:49:51 2010 (r211945) @@ -1,4 +1,5 @@ .\" Copyright (c) 2010 The FreeBSD Foundation +.\" Copyright (c) 2010 Pawel Jakub Dawidek .\" All rights reserved. .\" .\" This software was developed by Pawel Jakub Dawidek under sponsorship from @@ -27,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 5, 2010 +.Dd August 27, 2010 .Dt HAST.CONF 5 .Os .Sh NAME @@ -59,6 +60,7 @@ control listen replication timeout +exec on { # Node section @@ -78,6 +80,7 @@ resource { name local timeout + exec on { # Resource-node section @@ -203,6 +206,41 @@ replication mode is currently not implem Connection timeout in seconds. The default value is .Va 5 . +.It Ic exec Aq path +.Pp +Execute the given program on various HAST events. +Below is the list of currently implemented events and arguments the given +program is executed with: +.Bl -tag -width ".Ic xxxx" +.It Ic " syncstart " +.Pp +Executed on primary node when synchronization process of secondary node is +started. +.Pp +.It Ic " syncdone " +.Pp +Executed on primary node when synchronization process of secondary node is +completed successfully. +.Pp +.It Ic " syncintr " +.Pp +Executed on primary node when synchronization process of secondary node is +interrupted, most likely due to secondary node outage or connection failure +between the nodes. +.Pp +.El +The +.Aq path +argument should contain full path to executable program. +If the given program exits with code different than +.Va 0 , +.Nm hastd +will log it as an error. +.Pp +The +.Aq resource +argument is resource name from the configuration file. +.Pp .It Ic name Aq name .Pp GEOM provider name that will appear as Modified: user/imp/tbemd/sbin/hastd/hast.h ============================================================================== --- user/imp/tbemd/sbin/hastd/hast.h Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/sbin/hastd/hast.h Sat Aug 28 18:49:51 2010 (r211945) @@ -48,7 +48,12 @@ #include "proto.h" -#define HAST_PROTO_VERSION 0 +/* + * Version history: + * 0 - initial version + * 1 - HIO_KEEPALIVE added + */ +#define HAST_PROTO_VERSION 1 #define EHAST_OK 0 #define EHAST_NOENTRY 1 @@ -74,6 +79,7 @@ #define HIO_WRITE 2 #define HIO_DELETE 3 #define HIO_FLUSH 4 +#define HIO_KEEPALIVE 5 #define HAST_TIMEOUT 5 #define HAST_CONFIG "/etc/hast.conf" @@ -121,6 +127,8 @@ struct hast_resource { int hr_extentsize; /* Maximum number of extents that are kept dirty. */ int hr_keepdirty; + /* Path to a program to execute on various events. */ + char hr_exec[PATH_MAX]; /* Path to local component. */ char hr_localpath[PATH_MAX]; Modified: user/imp/tbemd/sbin/hastd/hastd.c ============================================================================== --- user/imp/tbemd/sbin/hastd/hastd.c Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/sbin/hastd/hastd.c Sat Aug 28 18:49:51 2010 (r211945) @@ -62,7 +62,7 @@ const char *cfgpath = HAST_CONFIG; /* Hastd configuration. */ static struct hastd_config *cfg; /* Was SIGCHLD signal received? */ -static bool sigchld_received = false; +bool sigchld_received = false; /* Was SIGHUP signal received? */ bool sighup_received = false; /* Was SIGINT or SIGTERM signal received? */ @@ -82,6 +82,10 @@ sighandler(int sig) { switch (sig) { + case SIGINT: + case SIGTERM: + sigexit_received = true; + break; case SIGCHLD: sigchld_received = true; break; @@ -189,6 +193,8 @@ resource_needs_restart(const struct hast return (true); if (res0->hr_timeout != res1->hr_timeout) return (true); + if (strcmp(res0->hr_exec, res1->hr_exec) != 0) + return (true); } return (false); } @@ -211,6 +217,8 @@ resource_needs_reload(const struct hast_ return (true); if (res0->hr_timeout != res1->hr_timeout) return (true); + if (strcmp(res0->hr_exec, res1->hr_exec) != 0) + return (true); return (false); } @@ -370,6 +378,25 @@ failed: } static void +terminate_workers(void) +{ + struct hast_resource *res; + + pjdlog_info("Termination signal received, exiting."); + TAILQ_FOREACH(res, &cfg->hc_resources, hr_next) { + if (res->hr_workerpid == 0) + continue; + pjdlog_info("Terminating worker process (resource=%s, role=%s, pid=%u).", + res->hr_name, role2str(res->hr_role), res->hr_workerpid); + if (kill(res->hr_workerpid, SIGTERM) == 0) + continue; + pjdlog_errno(LOG_WARNING, + "Unable to send signal to worker process (resource=%s, role=%s, pid=%u).", + res->hr_name, role2str(res->hr_role), res->hr_workerpid); + } +} + +static void listen_accept(void) { struct hast_resource *res; @@ -595,6 +622,11 @@ main_loop(void) int cfd, lfd, maxfd, ret; for (;;) { + if (sigexit_received) { + sigexit_received = false; + terminate_workers(); + exit(EX_OK); + } if (sigchld_received) { sigchld_received = false; child_exit(); @@ -688,6 +720,8 @@ main(int argc, char *argv[]) cfg = yy_config_parse(cfgpath, true); assert(cfg != NULL); + signal(SIGINT, sighandler); + signal(SIGTERM, sighandler); signal(SIGHUP, sighandler); signal(SIGCHLD, sighandler); Modified: user/imp/tbemd/sbin/hastd/hastd.h ============================================================================== --- user/imp/tbemd/sbin/hastd/hastd.h Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/sbin/hastd/hastd.h Sat Aug 28 18:49:51 2010 (r211945) @@ -40,7 +40,7 @@ #include "hast.h" extern const char *cfgpath; -extern bool sigexit_received, sighup_received; +extern bool sigchld_received, sigexit_received, sighup_received; extern struct pidfh *pfh; void hastd_primary(struct hast_resource *res); Modified: user/imp/tbemd/sbin/hastd/hooks.c ============================================================================== --- user/imp/tbemd/sbin/hastd/hooks.c Sat Aug 28 17:59:51 2010 (r211944) +++ user/imp/tbemd/sbin/hastd/hooks.c Sat Aug 28 18:49:51 2010 (r211945) @@ -1,5 +1,6 @@ /*- * Copyright (c) 2010 The FreeBSD Foundation + * Copyright (c) 2010 Pawel Jakub Dawidek * All rights reserved. * * This software was developed by Pawel Jakub Dawidek under sponsorship from @@ -31,21 +32,55 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include +#include #include +#include +#include +#include +#include *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sat Aug 28 22:14:25 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1ACAE10656A7; Sat, 28 Aug 2010 22:14:25 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 096388FC17; Sat, 28 Aug 2010 22:14:25 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o7SMEOYI044960; Sat, 28 Aug 2010 22:14:24 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o7SMEOqe044946; Sat, 28 Aug 2010 22:14:24 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201008282214.o7SMEOqe044946@svn.freebsd.org> From: Warner Losh Date: Sat, 28 Aug 2010 22:14:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r211952 - in user/imp/tbemd: contrib/top sys/cddl/contrib/opensolaris/uts/common sys/cddl/contrib/opensolaris/uts/common/fs/zfs sys/fs/nfs sys/fs/nfsserver sys/mips/rmi sys/mips/rmi/dev... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Aug 2010 22:14:25 -0000 Author: imp Date: Sat Aug 28 22:14:24 2010 New Revision: 211952 URL: http://svn.freebsd.org/changeset/base/211952 Log: Merge from head at 211951 Added: user/imp/tbemd/sys/mips/rmi/dev/nlge/ - copied from r211951, head/sys/mips/rmi/dev/nlge/ Modified: user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/Makefile.files user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/rrwlock.c user/imp/tbemd/sys/fs/nfs/nfs_commonsubs.c user/imp/tbemd/sys/fs/nfs/nfs_var.h user/imp/tbemd/sys/fs/nfsserver/nfs_nfsdsocket.c user/imp/tbemd/sys/fs/nfsserver/nfs_nfsdstate.c user/imp/tbemd/sys/mips/rmi/board.c user/imp/tbemd/sys/mips/rmi/board.h user/imp/tbemd/sys/mips/rmi/files.xlr user/imp/tbemd/sys/mips/rmi/iodi.c user/imp/tbemd/sys/netinet/sctp.h user/imp/tbemd/sys/netinet/sctp_cc_functions.c user/imp/tbemd/sys/netinet/sctp_indata.c user/imp/tbemd/sys/netinet/sctp_input.c user/imp/tbemd/sys/netinet/sctp_output.c user/imp/tbemd/sys/netinet/sctp_pcb.c user/imp/tbemd/sys/netinet/sctp_pcb.h user/imp/tbemd/sys/netinet/sctp_peeloff.c user/imp/tbemd/sys/netinet/sctp_timer.c user/imp/tbemd/sys/netinet/sctp_usrreq.c user/imp/tbemd/sys/netinet/sctputil.c user/imp/tbemd/sys/netinet6/sctp6_usrreq.c Directory Properties: user/imp/tbemd/ (props changed) user/imp/tbemd/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/contrib/bind9/ (props changed) user/imp/tbemd/contrib/ee/ (props changed) user/imp/tbemd/contrib/expat/ (props changed) user/imp/tbemd/contrib/file/ (props changed) user/imp/tbemd/contrib/gdb/ (props changed) user/imp/tbemd/contrib/gdtoa/ (props changed) user/imp/tbemd/contrib/gnu-sort/ (props changed) user/imp/tbemd/contrib/groff/ (props changed) user/imp/tbemd/contrib/less/ (props changed) user/imp/tbemd/contrib/libpcap/ (props changed) user/imp/tbemd/contrib/llvm/ (props changed) user/imp/tbemd/contrib/llvm/tools/clang/ (props changed) user/imp/tbemd/contrib/ncurses/ (props changed) user/imp/tbemd/contrib/netcat/ (props changed) user/imp/tbemd/contrib/ntp/ (props changed) user/imp/tbemd/contrib/one-true-awk/ (props changed) user/imp/tbemd/contrib/openbsm/ (props changed) user/imp/tbemd/contrib/openpam/ (props changed) user/imp/tbemd/contrib/pf/ (props changed) user/imp/tbemd/contrib/sendmail/ (props changed) user/imp/tbemd/contrib/tcpdump/ (props changed) user/imp/tbemd/contrib/tcsh/ (props changed) user/imp/tbemd/contrib/top/ (props changed) user/imp/tbemd/contrib/top/install-sh (props changed) user/imp/tbemd/contrib/tzcode/stdtime/ (props changed) user/imp/tbemd/contrib/tzcode/zic/ (props changed) user/imp/tbemd/contrib/tzdata/ (props changed) user/imp/tbemd/contrib/wpa/ (props changed) user/imp/tbemd/crypto/openssh/ (props changed) user/imp/tbemd/crypto/openssl/ (props changed) user/imp/tbemd/lib/libc/ (props changed) user/imp/tbemd/lib/libc/stdtime/ (props changed) user/imp/tbemd/lib/libutil/ (props changed) user/imp/tbemd/lib/libz/ (props changed) user/imp/tbemd/sbin/ (props changed) user/imp/tbemd/sbin/ipfw/ (props changed) user/imp/tbemd/share/zoneinfo/ (props changed) user/imp/tbemd/sys/ (props changed) user/imp/tbemd/sys/amd64/include/xen/ (props changed) user/imp/tbemd/sys/cddl/contrib/opensolaris/ (props changed) user/imp/tbemd/sys/contrib/dev/acpica/ (props changed) user/imp/tbemd/sys/contrib/pf/ (props changed) user/imp/tbemd/sys/contrib/x86emu/ (props changed) user/imp/tbemd/sys/dev/xen/xenpci/ (props changed) user/imp/tbemd/usr.bin/csup/ (props changed) user/imp/tbemd/usr.bin/procstat/ (props changed) user/imp/tbemd/usr.sbin/zic/ (props changed) Modified: user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/Makefile.files ============================================================================== --- user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/Makefile.files Sat Aug 28 21:41:18 2010 (r211951) +++ user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/Makefile.files Sat Aug 28 22:14:24 2010 (r211952) @@ -19,9 +19,6 @@ # CDDL HEADER END # -ZUT_OBJS += \ - zut.o - # # Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. @@ -109,3 +106,6 @@ ZFS_OBJS += \ zfs_vfsops.o \ zfs_vnops.o \ zvol.o + +ZUT_OBJS += \ + zut.o Modified: user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/rrwlock.c ============================================================================== --- user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/rrwlock.c Sat Aug 28 21:41:18 2010 (r211951) +++ user/imp/tbemd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/rrwlock.c Sat Aug 28 22:14:24 2010 (r211952) @@ -82,7 +82,7 @@ rrn_find(rrwlock_t *rrl) rrw_node_t *rn; if (refcount_count(&rrl->rr_linked_rcount) == 0) - return (B_FALSE); + return (NULL); for (rn = tsd_get(rrw_tsd_key); rn != NULL; rn = rn->rn_next) { if (rn->rn_rrl == rrl) Modified: user/imp/tbemd/sys/fs/nfs/nfs_commonsubs.c ============================================================================== --- user/imp/tbemd/sys/fs/nfs/nfs_commonsubs.c Sat Aug 28 21:41:18 2010 (r211951) +++ user/imp/tbemd/sys/fs/nfs/nfs_commonsubs.c Sat Aug 28 22:14:24 2010 (r211952) @@ -1824,6 +1824,21 @@ nfsv4_getref(struct nfsv4lock *lp, int * } /* + * Get a reference as above, but return failure instead of sleeping if + * an exclusive lock is held. + */ +APPLESTATIC int +nfsv4_getref_nonblock(struct nfsv4lock *lp) +{ + + if ((lp->nfslock_lock & NFSV4LOCK_LOCK) != 0) + return (0); + + lp->nfslock_usecnt++; + return (1); +} + +/* * Test for a lock. Return 1 if locked, 0 otherwise. */ APPLESTATIC int Modified: user/imp/tbemd/sys/fs/nfs/nfs_var.h ============================================================================== --- user/imp/tbemd/sys/fs/nfs/nfs_var.h Sat Aug 28 21:41:18 2010 (r211951) +++ user/imp/tbemd/sys/fs/nfs/nfs_var.h Sat Aug 28 22:14:24 2010 (r211952) @@ -251,6 +251,7 @@ int nfsv4_lock(struct nfsv4lock *, int, void nfsv4_unlock(struct nfsv4lock *, int); void nfsv4_relref(struct nfsv4lock *); void nfsv4_getref(struct nfsv4lock *, int *, void *); +int nfsv4_getref_nonblock(struct nfsv4lock *); int nfsv4_testlock(struct nfsv4lock *); int nfsrv_mtostr(struct nfsrv_descript *, char *, int); int nfsrv_checkutf8(u_int8_t *, int); Modified: user/imp/tbemd/sys/fs/nfsserver/nfs_nfsdsocket.c ============================================================================== --- user/imp/tbemd/sys/fs/nfsserver/nfs_nfsdsocket.c Sat Aug 28 21:41:18 2010 (r211951) +++ user/imp/tbemd/sys/fs/nfsserver/nfs_nfsdsocket.c Sat Aug 28 22:14:24 2010 (r211952) @@ -533,8 +533,6 @@ nfsrvd_compound(struct nfsrv_descript *n NFSV4ROOTLOCKMUTEXPTR); NFSUNLOCKV4ROOTMUTEX(); if (igotlock) { - NFSLOCKSTATE(); /* to avoid a race with */ - NFSUNLOCKSTATE(); /* nfsrv_servertimer() */ /* * If I got the lock, I can update the stable storage file. * Done when the grace period is over or a client has long Modified: user/imp/tbemd/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- user/imp/tbemd/sys/fs/nfsserver/nfs_nfsdstate.c Sat Aug 28 21:41:18 2010 (r211951) +++ user/imp/tbemd/sys/fs/nfsserver/nfs_nfsdstate.c Sat Aug 28 22:14:24 2010 (r211952) @@ -164,8 +164,6 @@ nfsrv_setclient(struct nfsrv_descript *n NFSV4ROOTLOCKMUTEXPTR); } while (!igotlock); NFSUNLOCKV4ROOTMUTEX(); - NFSLOCKSTATE(); /* to avoid a race with */ - NFSUNLOCKSTATE(); /* nfsrv_servertimer() */ /* * Search for a match in the client list. @@ -416,8 +414,6 @@ nfsrv_getclient(nfsquad_t clientid, int NFSV4ROOTLOCKMUTEXPTR); } while (!igotlock); NFSUNLOCKV4ROOTMUTEX(); - NFSLOCKSTATE(); /* to avoid a race with */ - NFSUNLOCKSTATE(); /* nfsrv_servertimer() */ } else if (opflags != CLOPS_RENEW) { NFSLOCKSTATE(); } @@ -547,8 +543,6 @@ nfsrv_adminrevoke(struct nfsd_clid *revo NFSV4ROOTLOCKMUTEXPTR); } while (!igotlock); NFSUNLOCKV4ROOTMUTEX(); - NFSLOCKSTATE(); /* to avoid a race with */ - NFSUNLOCKSTATE(); /* nfsrv_servertimer() */ /* * Search for a match in the client list. @@ -824,11 +818,8 @@ nfsrv_dumplocks(vnode_t vp, struct nfsd_ /* * Server timer routine. It can scan any linked list, so long - * as it holds the spin lock and there is no exclusive lock on + * as it holds the spin/mutex lock and there is no exclusive lock on * nfsv4rootfs_lock. - * Must be called by a kernel thread and not a timer interrupt, - * so that it only runs when the nfsd threads are sleeping on a - * uniprocessor and uses the State spin lock for an SMP system. * (For OpenBSD, a kthread is ok. For FreeBSD, I think it is ok * to do this from a callout, since the spin locks work. For * Darwin, I'm not sure what will work correctly yet.) @@ -839,7 +830,7 @@ nfsrv_servertimer(void) { struct nfsclient *clp, *nclp; struct nfsstate *stp, *nstp; - int i; + int got_ref, i; /* * Make sure nfsboottime is set. This is used by V3 as well @@ -867,13 +858,14 @@ nfsrv_servertimer(void) } /* - * Return now if an nfsd thread has the exclusive lock on - * nfsv4rootfs_lock. The dirty trick here is that we have - * the spin lock already and the nfsd threads do a: - * NFSLOCKSTATE, NFSUNLOCKSTATE after getting the exclusive - * lock, so they won't race with code after this check. + * Try and get a reference count on the nfsv4rootfs_lock so that + * no nfsd thread can acquire an exclusive lock on it before this + * call is done. If it is already exclusively locked, just return. */ - if (nfsv4rootfs_lock.nfslock_lock & NFSV4LOCK_LOCK) { + NFSLOCKV4ROOTMUTEX(); + got_ref = nfsv4_getref_nonblock(&nfsv4rootfs_lock); + NFSUNLOCKV4ROOTMUTEX(); + if (got_ref == 0) { NFSUNLOCKSTATE(); return; } @@ -945,6 +937,9 @@ nfsrv_servertimer(void) } } NFSUNLOCKSTATE(); + NFSLOCKV4ROOTMUTEX(); + nfsv4_relref(&nfsv4rootfs_lock); + NFSUNLOCKV4ROOTMUTEX(); } /* @@ -4224,8 +4219,6 @@ nfsrv_clientconflict(struct nfsclient *c NFSV4ROOTLOCKMUTEXPTR); } while (!gotlock); NFSUNLOCKV4ROOTMUTEX(); - NFSLOCKSTATE(); /* to avoid a race with */ - NFSUNLOCKSTATE(); /* nfsrv_servertimer() */ *haslockp = 1; NFSVOPLOCK(vp, LK_EXCLUSIVE | LK_RETRY, p); return (1); @@ -4390,8 +4383,6 @@ nfsrv_delegconflict(struct nfsstate *stp NFSV4ROOTLOCKMUTEXPTR); } while (!gotlock); NFSUNLOCKV4ROOTMUTEX(); - NFSLOCKSTATE(); /* to avoid a race with */ - NFSUNLOCKSTATE(); /* nfsrv_servertimer() */ *haslockp = 1; NFSVOPLOCK(vp, LK_EXCLUSIVE | LK_RETRY, p); return (-1); Modified: user/imp/tbemd/sys/mips/rmi/board.c ============================================================================== --- user/imp/tbemd/sys/mips/rmi/board.c Sat Aug 28 21:41:18 2010 (r211951) +++ user/imp/tbemd/sys/mips/rmi/board.c Sat Aug 28 22:14:24 2010 (r211952) @@ -78,13 +78,12 @@ static int xls_rxstn_to_txstn_map[128] = [120 ... 127] = TX_STN_SAE }; -struct stn_cc *xlr_core_cc_configs[] = {&cc_table_cpu_0, &cc_table_cpu_1, - &cc_table_cpu_2, &cc_table_cpu_3, - &cc_table_cpu_4, &cc_table_cpu_5, -&cc_table_cpu_6, &cc_table_cpu_7}; +struct stn_cc *xlr_core_cc_configs[] = { &cc_table_cpu_0, &cc_table_cpu_1, + &cc_table_cpu_2, &cc_table_cpu_3, &cc_table_cpu_4, &cc_table_cpu_5, + &cc_table_cpu_6, &cc_table_cpu_7}; -struct stn_cc *xls_core_cc_configs[] = {&xls_cc_table_cpu_0, &xls_cc_table_cpu_1, -&xls_cc_table_cpu_2, &xls_cc_table_cpu_3}; +struct stn_cc *xls_core_cc_configs[] = { &xls_cc_table_cpu_0, &xls_cc_table_cpu_1, + &xls_cc_table_cpu_2, &xls_cc_table_cpu_3 }; struct xlr_board_info xlr_board_info; @@ -98,6 +97,174 @@ xlr_pcmcia_present(void) return ((resetconf & 0x4000) != 0); } +static void +xlr_board_specific_overrides(struct xlr_board_info* board) +{ + struct xlr_gmac_block_t *blk1, *blk2; + + blk1 = &board->gmac_block[1]; + blk2 = &board->gmac_block[2]; + + switch (xlr_boot1_info.board_major_version) { + case RMI_XLR_BOARD_ARIZONA_I: + /* ATX-I has SPI-4, not XGMAC */ + blk1->type = XLR_SPI4; + blk1->enabled = 0; /* nlge does not + support SPI-4 */ + blk2->type = XLR_SPI4; + blk2->enabled = 0; + break; + + case RMI_XLR_BOARD_ARIZONA_II: + /* XGMII_A --> VSC7281, XGMII_B --> VSC7281 */ + blk1->enabled = 1; + blk1->num_ports = 1; + blk1->gmac_port[0].valid = 1; + + blk2->enabled = 1; + blk2->num_ports = 1; + blk2->gmac_port[0].valid = 1; + default: + break; + } +} + +static int +quad0_xaui(void) +{ + xlr_reg_t *gpio_mmio = + (unsigned int *)(DEFAULT_XLR_IO_BASE + XLR_IO_GPIO_OFFSET); + uint32_t bit24; + + bit24 = (xlr_read_reg(gpio_mmio, 0x15) >> 24) & 0x1; + return (bit24); +} + +static int +quad1_xaui(void) +{ + xlr_reg_t *gpio_mmio = + (unsigned int *)(DEFAULT_XLR_IO_BASE + XLR_IO_GPIO_OFFSET); + uint32_t bit25; + + bit25 = (xlr_read_reg(gpio_mmio, 0x15) >> 25) & 0x1; + return (bit25); +} + +static void +xls_board_specific_overrides(struct xlr_board_info* board) +{ + struct xlr_gmac_block_t *blk0, *blk1; + int i; + + blk0 = &board->gmac_block[0]; + blk1 = &board->gmac_block[1]; + + switch (xlr_boot1_info.board_major_version) { + case RMI_XLR_BOARD_ARIZONA_VI: + blk0->mode = XLR_PORT0_RGMII; + blk0->gmac_port[0].type = XLR_RGMII; + blk0->gmac_port[0].phy_addr = 0; + blk0->gmac_port[0].mii_addr = XLR_IO_GMAC_4_OFFSET; + /* Because of the Octal PHY, SGMII Quad1 is MII is also bound + * to the PHY attached to SGMII0_MDC/MDIO/MDINT. */ + for (i = 0; i < 4; i++) { + blk1->gmac_port[i].mii_addr = XLR_IO_GMAC_0_OFFSET; + blk1->gmac_port[i].serdes_addr = XLR_IO_GMAC_0_OFFSET; + } + blk1->gmac_port[1].mii_addr = XLR_IO_GMAC_0_OFFSET; + blk1->gmac_port[2].mii_addr = XLR_IO_GMAC_0_OFFSET; + blk1->gmac_port[3].mii_addr = XLR_IO_GMAC_0_OFFSET; + + blk1->gmac_port[1].serdes_addr = XLR_IO_GMAC_0_OFFSET; + blk1->gmac_port[2].serdes_addr = XLR_IO_GMAC_0_OFFSET; + blk1->gmac_port[3].serdes_addr = XLR_IO_GMAC_0_OFFSET; + + /* RGMII MDIO interrupt is thru NA1 and SGMII MDIO + * interrupts for ports in blk1 are from NA0 */ + blk0->gmac_port[0].mdint_id = 1; + + blk1->gmac_port[0].mdint_id = 0; + blk1->gmac_port[1].mdint_id = 0; + blk1->gmac_port[2].mdint_id = 0; + blk1->gmac_port[3].mdint_id = 0; + break; + + case RMI_XLR_BOARD_ARIZONA_VIII: + /* There is just one Octal PHY on the board and it is + * connected to the MII interface for NA Quad 0. */ + blk1->gmac_port[0].mii_addr = XLR_IO_GMAC_0_OFFSET; + blk1->gmac_port[1].mii_addr = XLR_IO_GMAC_0_OFFSET; + blk1->gmac_port[2].mii_addr = XLR_IO_GMAC_0_OFFSET; + blk1->gmac_port[3].mii_addr = XLR_IO_GMAC_0_OFFSET; + + /* Board 8.3 (Lite) has XLS108 */ + if (xlr_boot1_info.board_minor_version == 3) { + /* NA0 has 3 ports */ + blk0->gmac_port[3].valid = 1; + blk0->num_ports--; + /* NA1 is completely disabled */ + blk1->enabled = 0; + } + + break; + + case RMI_XLR_BOARD_ARIZONA_XI: + case RMI_XLR_BOARD_ARIZONA_XII: + if (quad0_xaui()) { /* GMAC ports 0-3 are set to XAUI */ + /* only GMAC0 is active i.e, the 0-th port on this quad. + * Disable all the other 7 possible ports. */ + for (i = 1; i < MAX_NA_PORTS; i++) { + memset(&blk0->gmac_port[i], 0, + sizeof(blk0->gmac_port[i])); + } + /* Setup for XAUI on N/w Acc0: gmac0 */ + blk0->type = XLR_XGMAC; + blk0->mode = XLR_XAUI; + blk0->num_ports = 1; + blk0->gmac_port[0].type = XLR_XAUI; + blk1->gmac_port[0].phy_addr = 16; + blk0->gmac_port[0].tx_bucket_id = blk0->station_txbase; + /* Other addresses etc need not be modified as XAUI_0 + * shares its addresses with SGMII GMAC_0, which was + * set in the caller. */ + } + else { + blk0->num_ports = 1; /* only 1 RGMII port */ + blk0->mode = XLR_PORT0_RGMII; + blk0->gmac_port[0].type = XLR_RGMII; + blk0->gmac_port[0].phy_addr = 0; + blk0->gmac_port[0].mii_addr = XLR_IO_GMAC_0_OFFSET; + } + + if (quad1_xaui()) { /* GMAC ports 4-7 are used for XAUI */ + /* only GMAC4 is active i.e, the 0-th port on this quad. + * Disable all the other 7 possible ports. */ + for (i = 1; i < MAX_NA_PORTS; i++) { + memset(&blk1->gmac_port[i], 0, + sizeof(blk1->gmac_port[i])); + } + /* Setup for XAUI on N/w Acc1: gmac4 */ + blk1->type = XLR_XGMAC; + blk1->mode = XLR_XAUI; + blk1->num_ports = 1; + /* XAUI and SGMII ports share FMN buckets on N/w Acc 1; + so, station_txbase, station_rfr need not be + patched up. */ + blk1->gmac_port[0].type = XLR_XAUI; + blk1->gmac_port[0].phy_addr = 16; + blk1->gmac_port[0].tx_bucket_id = blk1->station_txbase; + /* Other addresses etc need not be modified as XAUI_1 + * shares its addresses with SGMII GMAC_4, which was + * set in the caller. */ + } + break; + + default: + break; + } +} + /* * All our knowledge of chip and board that cannot be detected by probing * at run-time goes here @@ -105,6 +272,57 @@ xlr_pcmcia_present(void) int xlr_board_info_setup() { + struct xlr_gmac_block_t *blk0, *blk1, *blk2; + int i; + + /* This setup code is long'ish because the same base driver + * (if_nlge.c) is used for different: + * - CPUs (XLR/XLS) + * - boards (for each CPU, multiple board configs are possible + * and available). + * + * At the time of writing, there are atleast 12 boards, 4 with XLR + * and 8 with XLS. This means that the base driver needs to work with + * 12 different configurations, with varying levels of differences. + * To accomodate the different configs, the xlr_board_info struct + * has various attributes for paramters that could be different. + * These attributes are setup here and can be used directly in the + * base driver. + * It was seen that the setup code is not entirely trivial and + * it is possible to organize it in different ways. In the following, + * we choose an approach that sacrifices code-compactness/speed for + * readability. This is because configuration code executes once + * per reboot and hence has a minimal performance impact. + * On the other hand, driver debugging/enhancements require + * that different engineers can quickly comprehend the setup + * sequence. Hence, readability is seen as the key requirement for + * this code. It is for the reader to decide how much of this + * requirement is met with the current code organization !! + * + * The initialization is organized thus: + * + * if (CPU is XLS) { + * // initialize per XLS architecture + * // default inits (per chip spec) + * // board-specific overrides + * } else if (CPU is XLR) { + * // initialize per XLR architecture + * // default inits (per chip spec) + * // board-specific overrides + * } + * + * Within each CPU-specific initialization, all the default + * initializations are done first. This is followed up with + * board specific overrides. + */ + + /* start with a clean slate */ + memset(&xlr_board_info, 0, sizeof(xlr_board_info)); + xlr_board_info.ata = xlr_pcmcia_present(); + + blk0 = &xlr_board_info.gmac_block[0]; + blk1 = &xlr_board_info.gmac_block[1]; + blk2 = &xlr_board_info.gmac_block[2]; if (xlr_is_xls()) { xlr_board_info.is_xls = 1; @@ -113,98 +331,154 @@ xlr_board_info_setup() /* Board version 8 has NAND flash */ xlr_board_info.cfi = (xlr_boot1_info.board_major_version != RMI_XLR_BOARD_ARIZONA_VIII); - xlr_board_info.ata = xlr_pcmcia_present(); xlr_board_info.pci_irq = 0; xlr_board_info.credit_configs = xls_core_cc_configs; - xlr_board_info.bucket_sizes = &xls_bucket_sizes; - xlr_board_info.msgmap = xls_rxstn_to_txstn_map; - xlr_board_info.gmacports = 8; - - /* network block 0 */ - xlr_board_info.gmac_block[0].type = XLR_GMAC; - xlr_board_info.gmac_block[0].enabled = 0xf; - xlr_board_info.gmac_block[0].credit_config = &xls_cc_table_gmac0; - xlr_board_info.gmac_block[0].station_txbase = MSGRNG_STNID_GMACTX0; - xlr_board_info.gmac_block[0].station_rfr = MSGRNG_STNID_GMACRFR_0; - if (xlr_boot1_info.board_major_version == RMI_XLR_BOARD_ARIZONA_VI || - xlr_boot1_info.board_major_version == RMI_XLR_BOARD_ARIZONA_XI || - xlr_boot1_info.board_major_version == RMI_XLR_BOARD_ARIZONA_XII) - xlr_board_info.gmac_block[0].mode = XLR_PORT0_RGMII; - else - xlr_board_info.gmac_block[0].mode = XLR_SGMII; - xlr_board_info.gmac_block[0].baseaddr = XLR_IO_GMAC_0_OFFSET; - xlr_board_info.gmac_block[0].baseirq = PIC_GMAC_0_IRQ; - xlr_board_info.gmac_block[0].baseinst = 0; - - /* network block 1 */ - xlr_board_info.gmac_block[1].type = XLR_GMAC; - xlr_board_info.gmac_block[1].enabled = xlr_is_xls1xx() ? 0 : 0xf; - if (xlr_is_xls4xx_lite()) { - xlr_reg_t *mmio = xlr_io_mmio(XLR_IO_GPIO_OFFSET); - uint32_t tmp; - - /* some ports are not enabled on the condor 4xx, figure this - out from the GPIO fuse bank */ - tmp = xlr_read_reg(mmio, 35); - if (tmp & (1<<28)) - xlr_board_info.gmac_block[1].enabled &= ~0x8; - if (tmp & (1<<29)) - xlr_board_info.gmac_block[1].enabled &= ~0x4; - } - xlr_board_info.gmac_block[1].credit_config = &xls_cc_table_gmac1; - xlr_board_info.gmac_block[1].station_txbase = MSGRNG_STNID_GMAC1_TX0; - xlr_board_info.gmac_block[1].station_rfr = MSGRNG_STNID_GMAC1_FR_0; - xlr_board_info.gmac_block[1].mode = XLR_SGMII; - xlr_board_info.gmac_block[1].baseaddr = XLR_IO_GMAC_4_OFFSET; - xlr_board_info.gmac_block[1].baseirq = PIC_XGS_0_IRQ; - xlr_board_info.gmac_block[1].baseinst = 4; - - /* network block 2 */ - xlr_board_info.gmac_block[2].enabled = 0; /* disabled on XLS */ - } else { + xlr_board_info.bucket_sizes = &xls_bucket_sizes; + xlr_board_info.msgmap = xls_rxstn_to_txstn_map; + xlr_board_info.gmacports = MAX_NA_PORTS; + + /* ---------------- Network Acc 0 ---------------- */ + + blk0->type = XLR_GMAC; + blk0->enabled = 0xf; + blk0->credit_config = &xls_cc_table_gmac0; + blk0->station_id = TX_STN_GMAC0; + blk0->station_txbase = MSGRNG_STNID_GMACTX0; + blk0->station_rfr = MSGRNG_STNID_GMACRFR_0; + blk0->mode = XLR_SGMII; + blk0->baseaddr = XLR_IO_GMAC_0_OFFSET; + blk0->baseirq = PIC_GMAC_0_IRQ; + blk0->baseinst = 0; + + /* By default, assume SGMII is setup. But this can change based + on board-specific or setting-specific info. */ + for (i = 0; i < 4; i++) { + blk0->gmac_port[i].valid = 1; + blk0->gmac_port[i].instance = i + blk0->baseinst; + blk0->gmac_port[i].type = XLR_SGMII; + blk0->gmac_port[i].phy_addr = i + 16; + blk0->gmac_port[i].tx_bucket_id = + blk0->station_txbase + i; + blk0->gmac_port[i].mdint_id = 0; + blk0->num_ports++; + blk0->gmac_port[i].base_addr = XLR_IO_GMAC_0_OFFSET + i * 0x1000; + blk0->gmac_port[i].mii_addr = XLR_IO_GMAC_0_OFFSET; + blk0->gmac_port[i].pcs_addr = XLR_IO_GMAC_0_OFFSET; + blk0->gmac_port[i].serdes_addr = XLR_IO_GMAC_0_OFFSET; + } + + /* ---------------- Network Acc 1 ---------------- */ + blk1->type = XLR_GMAC; + blk1->enabled = 0xf; + blk1->credit_config = &xls_cc_table_gmac1; + blk1->station_id = TX_STN_GMAC1; + blk1->station_txbase = MSGRNG_STNID_GMAC1_TX0; + blk1->station_rfr = MSGRNG_STNID_GMAC1_FR_0; + blk1->mode = XLR_SGMII; + blk1->baseaddr = XLR_IO_GMAC_4_OFFSET; + blk1->baseirq = PIC_XGS_0_IRQ; + blk1->baseinst = 4; + + for (i = 0; i < 4; i++) { + blk1->gmac_port[i].valid = 1; + blk1->gmac_port[i].instance = i + blk1->baseinst; + blk1->gmac_port[i].type = XLR_SGMII; + blk1->gmac_port[i].phy_addr = i + 20; + blk1->gmac_port[i].tx_bucket_id = + blk1->station_txbase + i; + blk1->gmac_port[i].mdint_id = 1; + blk1->num_ports++; + blk1->gmac_port[i].base_addr = XLR_IO_GMAC_4_OFFSET + i * 0x1000; + blk1->gmac_port[i].mii_addr = XLR_IO_GMAC_4_OFFSET; + blk1->gmac_port[i].pcs_addr = XLR_IO_GMAC_4_OFFSET; + blk1->gmac_port[i].serdes_addr = XLR_IO_GMAC_0_OFFSET; + } + + /* ---------------- Network Acc 2 ---------------- */ + xlr_board_info.gmac_block[2].enabled = 0; /* disabled on XLS */ + + xls_board_specific_overrides(&xlr_board_info); + + } else { /* XLR */ xlr_board_info.is_xls = 0; xlr_board_info.nr_cpus = 32; xlr_board_info.usb = 0; xlr_board_info.cfi = 1; - xlr_board_info.ata = xlr_pcmcia_present(); xlr_board_info.pci_irq = 0; xlr_board_info.credit_configs = xlr_core_cc_configs; - xlr_board_info.bucket_sizes = &bucket_sizes; - xlr_board_info.msgmap = xlr_rxstn_to_txstn_map; - xlr_board_info.gmacports = 4; - - /* GMAC0 */ - xlr_board_info.gmac_block[0].type = XLR_GMAC; - xlr_board_info.gmac_block[0].enabled = 0xf; - xlr_board_info.gmac_block[0].credit_config = &cc_table_gmac; - xlr_board_info.gmac_block[0].station_txbase = MSGRNG_STNID_GMACTX0; - xlr_board_info.gmac_block[0].station_rfr = MSGRNG_STNID_GMACRFR_0; - xlr_board_info.gmac_block[0].mode = XLR_RGMII; - xlr_board_info.gmac_block[0].baseaddr = XLR_IO_GMAC_0_OFFSET; - xlr_board_info.gmac_block[0].baseirq = PIC_GMAC_0_IRQ; - xlr_board_info.gmac_block[0].baseinst = 0; - - /* XGMAC0 */ - xlr_board_info.gmac_block[1].type = XLR_XGMAC; - xlr_board_info.gmac_block[1].enabled = 1; - xlr_board_info.gmac_block[1].credit_config = &cc_table_xgs_0; - xlr_board_info.gmac_block[1].station_txbase = MSGRNG_STNID_XGS0_TX; - xlr_board_info.gmac_block[1].station_rfr = MSGRNG_STNID_XGS0FR; - xlr_board_info.gmac_block[1].mode = -1; - xlr_board_info.gmac_block[1].baseaddr = XLR_IO_XGMAC_0_OFFSET; - xlr_board_info.gmac_block[1].baseirq = PIC_XGS_0_IRQ; - xlr_board_info.gmac_block[1].baseinst = 4; - - /* XGMAC1 */ - xlr_board_info.gmac_block[2].type = XLR_XGMAC; - xlr_board_info.gmac_block[2].enabled = 1; - xlr_board_info.gmac_block[2].credit_config = &cc_table_xgs_1; - xlr_board_info.gmac_block[2].station_txbase = MSGRNG_STNID_XGS1_TX; - xlr_board_info.gmac_block[2].station_rfr = MSGRNG_STNID_XGS1FR; - xlr_board_info.gmac_block[2].mode = -1; - xlr_board_info.gmac_block[2].baseaddr = XLR_IO_XGMAC_1_OFFSET; - xlr_board_info.gmac_block[2].baseirq = PIC_XGS_1_IRQ; - xlr_board_info.gmac_block[2].baseinst = 5; - } - return 0; + xlr_board_info.bucket_sizes = &bucket_sizes; + xlr_board_info.msgmap = xlr_rxstn_to_txstn_map; + xlr_board_info.gmacports = 4; + + /* ---------------- GMAC0 ---------------- */ + blk0->type = XLR_GMAC; + blk0->enabled = 0xf; + blk0->credit_config = &cc_table_gmac; + blk0->station_id = TX_STN_GMAC; + blk0->station_txbase = MSGRNG_STNID_GMACTX0; + blk0->station_rfr = MSGRNG_STNID_GMACRFR_0; + blk0->mode = XLR_RGMII; + blk0->baseaddr = XLR_IO_GMAC_0_OFFSET; + blk0->baseirq = PIC_GMAC_0_IRQ; + blk0->baseinst = 0; + + /* first, do the common/easy stuff for all the ports */ + for (i = 0; i < 4; i++) { + blk0->gmac_port[i].valid = 1; + blk0->gmac_port[i].instance = i + blk0->baseinst; + blk0->gmac_port[i].type = XLR_RGMII; + blk0->gmac_port[i].phy_addr = i; + blk0->gmac_port[i].tx_bucket_id = + blk0->station_txbase + i; + blk0->gmac_port[i].mdint_id = 0; + blk0->gmac_port[i].base_addr = XLR_IO_GMAC_0_OFFSET + i * 0x1000; + blk0->gmac_port[i].mii_addr = XLR_IO_GMAC_0_OFFSET; + /* RGMII ports, no PCS/SERDES */ + blk0->num_ports++; + } + + /* ---------------- XGMAC0 ---------------- */ + blk1->type = XLR_XGMAC; + blk1->mode = XLR_XGMII; + blk1->enabled = 0; + blk1->credit_config = &cc_table_xgs_0; + blk1->station_txbase = MSGRNG_STNID_XGS0_TX; + blk1->station_rfr = MSGRNG_STNID_XMAC0RFR; + blk1->station_id = TX_STN_XGS_0; /* TBD: is this correct ? */ + blk1->baseaddr = XLR_IO_XGMAC_0_OFFSET; + blk1->baseirq = PIC_XGS_0_IRQ; + blk1->baseinst = 4; + + blk1->gmac_port[0].type = XLR_XGMII; + blk1->gmac_port[0].instance = 0; + blk1->gmac_port[0].phy_addr = 0; + blk1->gmac_port[0].base_addr = XLR_IO_XGMAC_0_OFFSET; + blk1->gmac_port[0].mii_addr = XLR_IO_XGMAC_0_OFFSET; + blk1->gmac_port[0].tx_bucket_id = blk1->station_txbase; + blk1->gmac_port[0].mdint_id = 1; + + /* ---------------- XGMAC1 ---------------- */ + blk2->type = XLR_XGMAC; + blk2->mode = XLR_XGMII; + blk2->enabled = 0; + blk2->credit_config = &cc_table_xgs_1; + blk2->station_txbase = MSGRNG_STNID_XGS1_TX; + blk2->station_rfr = MSGRNG_STNID_XMAC1RFR; + blk2->station_id = TX_STN_XGS_1; /* TBD: is this correct ? */ + blk2->baseaddr = XLR_IO_XGMAC_1_OFFSET; + blk2->baseirq = PIC_XGS_1_IRQ; + blk2->baseinst = 5; + + blk2->gmac_port[0].type = XLR_XGMII; + blk2->gmac_port[0].instance = 0; + blk2->gmac_port[0].phy_addr = 0; + blk2->gmac_port[0].base_addr = XLR_IO_XGMAC_1_OFFSET; + blk2->gmac_port[0].mii_addr = XLR_IO_XGMAC_1_OFFSET; + blk2->gmac_port[0].tx_bucket_id = blk2->station_txbase; + blk2->gmac_port[0].mdint_id = 2; + + /* Done with default setup. Now do board-specific tweaks. */ + xlr_board_specific_overrides(&xlr_board_info); + } + return 0; } Modified: user/imp/tbemd/sys/mips/rmi/board.h ============================================================================== --- user/imp/tbemd/sys/mips/rmi/board.h Sat Aug 28 21:41:18 2010 (r211951) +++ user/imp/tbemd/sys/mips/rmi/board.h Sat Aug 28 22:14:24 2010 (r211952) @@ -132,41 +132,53 @@ xlr_is_xls4xx_lite(void) uint32_t chipid = xlr_processor_id(); return (chipid == 0x88 || chipid == 0x8c); -} + } + +/* SPI-4 --> 8 ports, 1G MAC --> 4 ports and 10G MAC --> 1 port */ +#define MAX_NA_PORTS 8 /* all our knowledge of chip and board that cannot be detected run-time goes here */ -enum gmac_block_types { - XLR_GMAC, XLR_XGMAC, XLR_SPI4 -}; - -enum gmac_block_modes { - XLR_RGMII, XLR_SGMII, XLR_PORT0_RGMII -}; +enum gmac_block_types { XLR_GMAC, XLR_XGMAC, XLR_SPI4}; +enum gmac_port_types { XLR_RGMII, XLR_SGMII, XLR_PORT0_RGMII, XLR_XGMII, XLR_XAUI }; struct xlr_board_info { int is_xls; int nr_cpus; - int usb; /* usb enabled ? */ - int cfi; /* NOR flash */ - int ata; /* PCMCIA/compactflash driver */ + int usb; /* usb enabled ? */ + int cfi; /* compact flash driver for NOR? */ + int ata; /* ata driver */ int pci_irq; - struct stn_cc **credit_configs; /* pointer to Core station credits */ - struct bucket_size *bucket_sizes; /* pointer to Core station - * bucket */ - int *msgmap; /* mapping of message station to devices */ - int gmacports; /* number of gmac ports on the board */ - struct xlr_gmac_block_t { - int type; /* see enum gmac_block_types */ - unsigned int enabled; /* mask of ports enabled */ - struct stn_cc *credit_config; /* credit configuration */ - int station_txbase; /* station id for tx */ - int station_rfr;/* free desc bucket */ - int mode; /* see gmac_block_modes */ - uint32_t baseaddr; /* IO base */ - int baseirq; /* first irq for this block, the rest are in - * sequence */ - int baseinst; /* the first rge unit for this block */ - } gmac_block[3]; + struct stn_cc **credit_configs; /* pointer to Core station credits */ + struct bucket_size *bucket_sizes; /* pointer to Core station bucket */ + int *msgmap; /* mapping of message station to devices */ + int gmacports; /* number of gmac ports on the board */ + struct xlr_gmac_block_t { /* refers to the set of GMACs controlled by a + network accelarator */ + int type; /* see enum gmac_block_types */ + unsigned int enabled; /* mask of ports enabled */ + struct stn_cc *credit_config; /* credit configuration */ + int station_id; /* station id for sending msgs */ + int station_txbase; /* station id for tx */ + int station_rfr; /* free desc bucket */ + int mode; /* see gmac_block_modes */ + uint32_t baseaddr; /* IO base */ + int baseirq; /* first irq for this block, the rest are in sequence */ + int baseinst; /* the first rge unit for this block */ + int num_ports; + struct xlr_gmac_port { + int valid; + int type; /* see enum gmac_port_types */ + uint32_t instance; /* identifies the GMAC to which + this port is bound to. */ + uint32_t phy_addr; + uint32_t base_addr; + uint32_t mii_addr; + uint32_t pcs_addr; + uint32_t serdes_addr; + uint32_t tx_bucket_id; + uint32_t mdint_id; + } gmac_port[MAX_NA_PORTS]; + } gmac_block [3]; }; extern struct xlr_board_info xlr_board_info; Modified: user/imp/tbemd/sys/mips/rmi/files.xlr ============================================================================== --- user/imp/tbemd/sys/mips/rmi/files.xlr Sat Aug 28 21:41:18 2010 (r211951) +++ user/imp/tbemd/sys/mips/rmi/files.xlr Sat Aug 28 22:14:24 2010 (r211952) @@ -21,6 +21,7 @@ mips/rmi/bus_space_rmi_pci.c standard mips/rmi/dev/sec/rmisec.c optional rmisec mips/rmi/dev/sec/rmilib.c optional rmisec mips/rmi/dev/xlr/rge.c optional rge +mips/rmi/dev/nlge/if_nlge.c optional nlge dev/iicbus/xlr_rtc.c optional xlr_rtc dev/iicbus/xlr_temperature.c optional xlr_temperature dev/iicbus/xlr_eeprom.c optional xlr_eeprom Modified: user/imp/tbemd/sys/mips/rmi/iodi.c ============================================================================== --- user/imp/tbemd/sys/mips/rmi/iodi.c Sat Aug 28 21:41:18 2010 (r211951) +++ user/imp/tbemd/sys/mips/rmi/iodi.c Sat Aug 28 22:14:24 2010 (r211952) @@ -108,13 +108,14 @@ iodi_setup_intr(device_t dev, device_t c struct resource *ires, int flags, driver_filter_t * filt, driver_intr_t *intr, void *arg, void **cookiep) { + const char *name = device_get_name(child); - if (strcmp(device_get_name(child), "uart") == 0) { + if (strcmp(name, "uart") == 0) { /* FIXME uart 1? */ cpu_establish_hardintr("uart", filt, intr, arg, PIC_UART_0_IRQ, flags, cookiep); pic_setup_intr(PIC_IRT_UART_0_INDEX, PIC_UART_0_IRQ, 0x1, 0); - } else if (strcmp(device_get_name(child), "rge") == 0) { + } else if (strcmp(name, "rge") == 0 || strcmp(name, "nlge") == 0) { int irq; /* This is a hack to pass in the irq */ @@ -122,16 +123,15 @@ iodi_setup_intr(device_t dev, device_t c cpu_establish_hardintr("rge", filt, intr, arg, irq, flags, cookiep); pic_setup_intr(irq - PIC_IRQ_BASE, irq, 0x1, 0); - } else if (strcmp(device_get_name(child), "ehci") == 0) { + } else if (strcmp(name, "ehci") == 0) { cpu_establish_hardintr("ehci", filt, intr, arg, PIC_USB_IRQ, flags, cookiep); pic_setup_intr(PIC_USB_IRQ - PIC_IRQ_BASE, PIC_USB_IRQ, 0x1, 0); - } else if (strcmp(device_get_name(child), "ata") == 0) { + } else if (strcmp(name, "ata") == 0) { xlr_establish_intr("ata", filt, intr, arg, PIC_PCMCIA_IRQ, flags, cookiep, bridge_pcmcia_ack); pic_setup_intr(PIC_PCMCIA_IRQ - PIC_IRQ_BASE, PIC_PCMCIA_IRQ, 0x1, 0); } - return (0); } @@ -194,6 +194,7 @@ iodi_activate_resource(device_t bus, dev /* prototypes */ static int iodi_probe(device_t); static int iodi_attach(device_t); +static int iodi_detach(device_t); static void iodi_identify(driver_t *, device_t); int @@ -213,6 +214,7 @@ int iodi_attach(device_t dev) { device_t tmpd; + int i; /* * Attach each devices @@ -268,17 +270,47 @@ iodi_attach(device_t dev) tmpd = device_add_child(dev, "rge", 5); device_set_ivars(tmpd, &xlr_board_info.gmac_block[1]); #endif - } else - device_printf(dev, "Unknown type of gmac 1\n"); + } else + device_printf(dev, "Unknown type of gmac 1\n"); + } + + /* This is to add the new GMAC driver. The above adds the old driver, + which has been retained for now as the new driver is stabilized. + The new driver is enabled with "option nlge". Make sure that only + one of rge or nlge is enabled in the conf file. */ + for (i = 0; i < 3; i++) { + if (xlr_board_info.gmac_block[i].enabled == 0) + continue; + tmpd = device_add_child(dev, "nlna", i); + device_set_ivars(tmpd, &xlr_board_info.gmac_block[i]); } bus_generic_probe(dev); bus_generic_attach(dev); return 0; } +int +iodi_detach(device_t dev) +{ + device_t nlna_dev; + int error, i, ret; + + error = 0; + ret = 0; + for (i = 0; i < 3; i++) { + nlna_dev = device_find_child(dev, "nlna", i); + if (nlna_dev != NULL) + error = bus_generic_detach(nlna_dev); + if (error) + ret = error; + } + return ret; +} + static device_method_t iodi_methods[] = { DEVMETHOD(device_probe, iodi_probe), DEVMETHOD(device_attach, iodi_attach), + DEVMETHOD(device_detach, iodi_detach), DEVMETHOD(device_identify, iodi_identify), DEVMETHOD(bus_alloc_resource, iodi_alloc_resource), DEVMETHOD(bus_activate_resource, iodi_activate_resource), Modified: user/imp/tbemd/sys/netinet/sctp.h ============================================================================== --- user/imp/tbemd/sys/netinet/sctp.h Sat Aug 28 21:41:18 2010 (r211951) +++ user/imp/tbemd/sys/netinet/sctp.h Sat Aug 28 22:14:24 2010 (r211952) @@ -155,10 +155,8 @@ struct sctp_paramhdr { /* CMT ON/OFF socket option */ #define SCTP_CMT_ON_OFF 0x00001200 #define SCTP_CMT_USE_DAC 0x00001201 -/* EY - NR_SACK on/off socket option */ -#define SCTP_NR_SACK_ON_OFF 0x00001300 /* JRS - Pluggable Congestion Control Socket option */ -#define SCTP_PLUGGABLE_CC 0x00001202 +#define SCTP_PLUGGABLE_CC 0x00001202 /* read only */ #define SCTP_GET_SNDBUF_USE 0x00001101 Modified: user/imp/tbemd/sys/netinet/sctp_cc_functions.c ============================================================================== --- user/imp/tbemd/sys/netinet/sctp_cc_functions.c Sat Aug 28 21:41:18 2010 (r211951) +++ user/imp/tbemd/sys/netinet/sctp_cc_functions.c Sat Aug 28 22:14:24 2010 (r211952) @@ -71,7 +71,8 @@ sctp_cwnd_update_after_fr(struct sctp_tc * (net->fast_retran_loss_recovery == 0))) */ TAILQ_FOREACH(net, &asoc->nets, sctp_next) { - if ((asoc->fast_retran_loss_recovery == 0) || (SCTP_BASE_SYSCTL(sctp_cmt_on_off) == 1)) { + if ((asoc->fast_retran_loss_recovery == 0) || + (asoc->sctp_cmt_on_off == 1)) { /* out of a RFC2582 Fast recovery window? */ if (net->net_ack > 0) { /* @@ -232,11 +233,11 @@ sctp_cwnd_update_after_sack(struct sctp_ * * Should we stop any running T3 timer here? */ - if (SCTP_BASE_SYSCTL(sctp_cmt_on_off) && - SCTP_BASE_SYSCTL(sctp_cmt_pf) && + if ((asoc->sctp_cmt_on_off == 1) && + (asoc->sctp_cmt_pf > 0) && ((net->dest_state & SCTP_ADDR_PF) == SCTP_ADDR_PF)) { net->dest_state &= ~SCTP_ADDR_PF; - net->cwnd = net->mtu * SCTP_BASE_SYSCTL(sctp_cmt_pf); + net->cwnd = net->mtu * asoc->sctp_cmt_pf; SCTPDBG(SCTP_DEBUG_INDATA1, "Destination %p moved from PF to reachable with cwnd %d.\n", net, net->cwnd); /* @@ -260,7 +261,9 @@ sctp_cwnd_update_after_sack(struct sctp_ */ #endif - if (asoc->fast_retran_loss_recovery && will_exit == 0 && SCTP_BASE_SYSCTL(sctp_cmt_on_off) == 0) { + if (asoc->fast_retran_loss_recovery && + (will_exit == 0) && + (asoc->sctp_cmt_on_off == 0)) { /* * If we are in loss recovery we skip any cwnd * update @@ -271,7 +274,8 @@ sctp_cwnd_update_after_sack(struct sctp_ * CMT: CUC algorithm. Update cwnd if pseudo-cumack has * moved. */ - if (accum_moved || (SCTP_BASE_SYSCTL(sctp_cmt_on_off) && net->new_pseudo_cumack)) { + if (accum_moved || + ((asoc->sctp_cmt_on_off == 1) && net->new_pseudo_cumack)) { /* If the cumulative ack moved we can proceed */ if (net->cwnd <= net->ssthresh) { /* We are in slow start */ @@ -697,7 +701,8 @@ sctp_hs_cwnd_update_after_fr(struct sctp * (net->fast_retran_loss_recovery == 0))) */ TAILQ_FOREACH(net, &asoc->nets, sctp_next) { - if ((asoc->fast_retran_loss_recovery == 0) || (SCTP_BASE_SYSCTL(sctp_cmt_on_off) == 1)) { + if ((asoc->fast_retran_loss_recovery == 0) || + (asoc->sctp_cmt_on_off == 1)) { /* out of a RFC2582 Fast recovery window? */ if (net->net_ack > 0) { /* @@ -850,11 +855,11 @@ sctp_hs_cwnd_update_after_sack(struct sc * * Should we stop any running T3 timer here? */ - if (SCTP_BASE_SYSCTL(sctp_cmt_on_off) && - SCTP_BASE_SYSCTL(sctp_cmt_pf) && + if ((asoc->sctp_cmt_on_off == 1) && + (asoc->sctp_cmt_pf > 0) && ((net->dest_state & SCTP_ADDR_PF) == SCTP_ADDR_PF)) { net->dest_state &= ~SCTP_ADDR_PF; - net->cwnd = net->mtu * SCTP_BASE_SYSCTL(sctp_cmt_pf); + net->cwnd = net->mtu * asoc->sctp_cmt_pf; SCTPDBG(SCTP_DEBUG_INDATA1, "Destination %p moved from PF to reachable with cwnd %d.\n", net, net->cwnd); /* @@ -878,7 +883,9 @@ sctp_hs_cwnd_update_after_sack(struct sc */ #endif - if (asoc->fast_retran_loss_recovery && will_exit == 0 && SCTP_BASE_SYSCTL(sctp_cmt_on_off) == 0) { + if (asoc->fast_retran_loss_recovery && + (will_exit == 0) && + (asoc->sctp_cmt_on_off == 0)) { /* * If we are in loss recovery we skip any cwnd * update @@ -889,7 +896,8 @@ sctp_hs_cwnd_update_after_sack(struct sc * CMT: CUC algorithm. Update cwnd if pseudo-cumack has * moved. */ - if (accum_moved || (SCTP_BASE_SYSCTL(sctp_cmt_on_off) && net->new_pseudo_cumack)) { + if (accum_moved || + ((asoc->sctp_cmt_on_off == 1) && net->new_pseudo_cumack)) { /* If the cumulative ack moved we can proceed */ if (net->cwnd <= net->ssthresh) { /* We are in slow start */ @@ -1333,11 +1341,11 @@ sctp_htcp_cwnd_update_after_sack(struct * * Should we stop any running T3 timer here? */ - if (SCTP_BASE_SYSCTL(sctp_cmt_on_off) && - SCTP_BASE_SYSCTL(sctp_cmt_pf) && + if ((asoc->sctp_cmt_on_off == 1) && + (asoc->sctp_cmt_pf > 0) && ((net->dest_state & SCTP_ADDR_PF) == SCTP_ADDR_PF)) { net->dest_state &= ~SCTP_ADDR_PF; - net->cwnd = net->mtu * SCTP_BASE_SYSCTL(sctp_cmt_pf); + net->cwnd = net->mtu * asoc->sctp_cmt_pf; SCTPDBG(SCTP_DEBUG_INDATA1, "Destination %p moved from PF to reachable with cwnd %d.\n", net, net->cwnd); /* @@ -1361,7 +1369,9 @@ sctp_htcp_cwnd_update_after_sack(struct */ #endif - if (asoc->fast_retran_loss_recovery && will_exit == 0 && SCTP_BASE_SYSCTL(sctp_cmt_on_off) == 0) { + if (asoc->fast_retran_loss_recovery && + will_exit == 0 && + (asoc->sctp_cmt_on_off == 0)) { /* *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***