From owner-svn-src-projects@FreeBSD.ORG Sun Jan 20 11:28:25 2013 Return-Path: Delivered-To: svn-src-projects@FreeBSD.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D6BC7D67; Sun, 20 Jan 2013 11:28:25 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail06.syd.optusnet.com.au (mail06.syd.optusnet.com.au [211.29.132.187]) by mx1.freebsd.org (Postfix) with ESMTP id 4F9C9D62; Sun, 20 Jan 2013 11:28:24 +0000 (UTC) Received: from c211-30-173-106.carlnfd1.nsw.optusnet.com.au (c211-30-173-106.carlnfd1.nsw.optusnet.com.au [211.30.173.106]) by mail06.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id r0KBSFOq021314 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 20 Jan 2013 22:28:17 +1100 Date: Sun, 20 Jan 2013 22:28:15 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Gleb Smirnoff Subject: Re: svn commit: r245671 - projects/counters/sys/sys In-Reply-To: <201301191622.r0JGMgb2003548@svn.freebsd.org> Message-ID: <20130120222715.O984@besplex.bde.org> References: <201301191622.r0JGMgb2003548@svn.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.0 cv=Zty1sKHG c=1 sm=1 a=QopXLkFxChEA:10 a=kj9zAlcOel0A:10 a=PO7r1zJSAAAA:8 a=JzwRw_2MAAAA:8 a=xN2cEY_IiMIA:10 a=myCqAverP6VsIzOL6CAA:9 a=CjuIK1q_8ugA:10 a=TEtd8y5WR3g2ypngnwZWYw==:117 Cc: svn-src-projects@FreeBSD.org, src-committers@FreeBSD.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Jan 2013 11:28:25 -0000 On Sat, 19 Jan 2013, Gleb Smirnoff wrote: > Log: > Need systm.h to declare critical(9). > > Modified: > projects/counters/sys/sys/counter.h > > Modified: projects/counters/sys/sys/counter.h > ============================================================================== > --- projects/counters/sys/sys/counter.h Sat Jan 19 16:21:32 2013 (r245670) > +++ projects/counters/sys/sys/counter.h Sat Jan 19 16:22:41 2013 (r245671) Header file. > @@ -30,6 +30,7 @@ > #define __SYS_COUNTER_H__ > > #include Gross namespace pollution. > +#include Further gross namespace pollution. > > typedef uint64_t *counter_u64_t; > > Bruce From owner-svn-src-projects@FreeBSD.ORG Mon Jan 21 06:42:57 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id EB58FC0F; Mon, 21 Jan 2013 06:42:57 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C7095D7B; Mon, 21 Jan 2013 06:42:57 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0L6gv62093957; Mon, 21 Jan 2013 06:42:57 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0L6gvHH093953; Mon, 21 Jan 2013 06:42:57 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301210642.r0L6gvHH093953@svn.freebsd.org> From: Bryan Venteicher Date: Mon, 21 Jan 2013 06:42:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245709 - in projects/virtio/sys/dev/virtio: . pci X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jan 2013 06:42:58 -0000 Author: bryanv Date: Mon Jan 21 06:42:56 2013 New Revision: 245709 URL: http://svnweb.freebsd.org/changeset/base/245709 Log: virtio: Add support for ithread(9) Each VirtIO device was scheduling its own taskqueue(9) to do the off-level interrupt handling. ithreads(9) is the more nature way to do this. The primary motivation for this work to better support network multiqueue. Currently, the ithreads are just scheduling the device's taskqueue as before. The taskqueues in each driver will be removed in subsequent commits. Approved by: grehan (implicit) Modified: projects/virtio/sys/dev/virtio/pci/virtio_pci.c projects/virtio/sys/dev/virtio/virtio_if.m projects/virtio/sys/dev/virtio/virtqueue.c projects/virtio/sys/dev/virtio/virtqueue.h Modified: projects/virtio/sys/dev/virtio/pci/virtio_pci.c ============================================================================== --- projects/virtio/sys/dev/virtio/pci/virtio_pci.c Mon Jan 21 04:06:04 2013 (r245708) +++ projects/virtio/sys/dev/virtio/pci/virtio_pci.c Mon Jan 21 06:42:56 2013 (r245709) @@ -160,10 +160,12 @@ static void vtpci_reset(struct vtpci_sof static void vtpci_select_virtqueue(struct vtpci_softc *, int); -static int vtpci_legacy_intr(void *); -static int vtpci_vq_shared_intr(void *); -static int vtpci_vq_intr(void *); -static int vtpci_config_intr(void *); +static void vtpci_legacy_intr(void *); +static int vtpci_vq_shared_intr_filter(void *); +static void vtpci_vq_shared_intr(void *); +static int vtpci_vq_intr_filter(void *); +static void vtpci_vq_intr(void *); +static void vtpci_config_intr(void *); #define vtpci_setup_msi_interrupt vtpci_setup_legacy_interrupt @@ -932,7 +934,7 @@ vtpci_setup_legacy_interrupt(struct vtpc dev = sc->vtpci_dev; ires = &sc->vtpci_intr_res[0]; - error = bus_setup_intr(dev, ires->irq, type, vtpci_legacy_intr, NULL, + error = bus_setup_intr(dev, ires->irq, type, NULL, vtpci_legacy_intr, sc, &ires->intrhand); return (error); @@ -949,11 +951,11 @@ vtpci_setup_msix_interrupts(struct vtpci dev = sc->vtpci_dev; /* - * The first resource is used for configuration changed interrupts. + * The first MSIX vector is used for configuration changed interrupts. */ ires = &sc->vtpci_intr_res[0]; - error = bus_setup_intr(dev, ires->irq, type, vtpci_config_intr, - NULL, sc, &ires->intrhand); + error = bus_setup_intr(dev, ires->irq, type, NULL, vtpci_config_intr, + sc, &ires->intrhand); if (error) return (error); @@ -961,13 +963,9 @@ vtpci_setup_msix_interrupts(struct vtpci ires = &sc->vtpci_intr_res[1]; error = bus_setup_intr(dev, ires->irq, type, - vtpci_vq_shared_intr, NULL, sc, &ires->intrhand); - if (error) - return (error); + vtpci_vq_shared_intr_filter, vtpci_vq_shared_intr, sc, + &ires->intrhand); } else { - /* - * Each remaining resource is assigned to a specific virtqueue. - */ for (i = 0; i < sc->vtpci_nvqs; i++) { vqx = &sc->vtpci_vqx[i]; if (vqx->ires_idx < 1) @@ -975,17 +973,17 @@ vtpci_setup_msix_interrupts(struct vtpci ires = &sc->vtpci_intr_res[vqx->ires_idx]; error = bus_setup_intr(dev, ires->irq, type, - vtpci_vq_intr, NULL, vqx->vq, &ires->intrhand); + vtpci_vq_intr_filter, vtpci_vq_intr, vqx->vq, + &ires->intrhand); if (error) - return (error); + break; } } - error = vtpci_set_host_msix_vectors(sc); - if (error) - return (error); + if (error == 0) + error = vtpci_set_host_msix_vectors(sc); - return (0); + return (error); } static int @@ -1191,7 +1189,7 @@ vtpci_select_virtqueue(struct vtpci_soft vtpci_write_config_2(sc, VIRTIO_PCI_QUEUE_SEL, idx); } -static int +static void vtpci_legacy_intr(void *xsc) { struct vtpci_softc *sc; @@ -1208,15 +1206,14 @@ vtpci_legacy_intr(void *xsc) if (isr & VIRTIO_PCI_ISR_CONFIG) vtpci_config_intr(sc); - if (isr & VIRTIO_PCI_ISR_INTR) + if (isr & VIRTIO_PCI_ISR_INTR) { for (i = 0; i < sc->vtpci_nvqs; i++, vqx++) virtqueue_intr(vqx->vq); - - return (isr ? FILTER_HANDLED : FILTER_STRAY); + } } static int -vtpci_vq_shared_intr(void *xsc) +vtpci_vq_shared_intr_filter(void *xsc) { struct vtpci_softc *sc; struct vtpci_virtqueue *vqx; @@ -1227,36 +1224,55 @@ vtpci_vq_shared_intr(void *xsc) vqx = &sc->vtpci_vqx[0]; for (i = 0; i < sc->vtpci_nvqs; i++, vqx++) - rc |= virtqueue_intr(vqx->vq); + rc |= virtqueue_intr_filter(vqx->vq); + + return (rc ? FILTER_SCHEDULE_THREAD : FILTER_STRAY); +} + +static void +vtpci_vq_shared_intr(void *xsc) +{ + struct vtpci_softc *sc; + struct vtpci_virtqueue *vqx; + int i; + + sc = xsc; + vqx = &sc->vtpci_vqx[0]; - return (rc ? FILTER_HANDLED : FILTER_STRAY); + for (i = 0; i < sc->vtpci_nvqs; i++, vqx++) + virtqueue_intr(vqx->vq); } static int -vtpci_vq_intr(void *xvq) +vtpci_vq_intr_filter(void *xvq) { struct virtqueue *vq; int rc; vq = xvq; - rc = virtqueue_intr(vq); + rc = virtqueue_intr_filter(vq); - return (rc ? FILTER_HANDLED : FILTER_STRAY); + return (rc ? FILTER_SCHEDULE_THREAD : FILTER_STRAY); } -static int +static void +vtpci_vq_intr(void *xvq) +{ + struct virtqueue *vq; + + vq = xvq; + virtqueue_intr(vq); +} + +static void vtpci_config_intr(void *xsc) { struct vtpci_softc *sc; device_t child; - int rc; - rc = 0; sc = xsc; child = sc->vtpci_child_dev; if (child != NULL) - rc = VIRTIO_CONFIG_CHANGE(child); - - return (rc ? FILTER_HANDLED : FILTER_STRAY); + VIRTIO_CONFIG_CHANGE(child); } Modified: projects/virtio/sys/dev/virtio/virtio_if.m ============================================================================== --- projects/virtio/sys/dev/virtio/virtio_if.m Mon Jan 21 04:06:04 2013 (r245708) +++ projects/virtio/sys/dev/virtio/virtio_if.m Mon Jan 21 06:42:56 2013 (r245709) @@ -33,8 +33,7 @@ CODE { static int virtio_default_config_change(device_t dev) { - /* Return that we've handled the change. */ - return (1); + return (0); } }; Modified: projects/virtio/sys/dev/virtio/virtqueue.c ============================================================================== --- projects/virtio/sys/dev/virtio/virtqueue.c Mon Jan 21 04:06:04 2013 (r245708) +++ projects/virtio/sys/dev/virtio/virtqueue.c Mon Jan 21 06:42:56 2013 (r245709) @@ -414,18 +414,27 @@ virtqueue_nused(struct virtqueue *vq) } int -virtqueue_intr(struct virtqueue *vq) +virtqueue_intr_filter(struct virtqueue *vq) { - if (vq->vq_intrhand == NULL || - vq->vq_used_cons_idx == vq->vq_ring.used->idx) + if (__predict_false(vq->vq_intrhand == NULL)) + return (0); + if (vq->vq_used_cons_idx == vq->vq_ring.used->idx) return (0); - vq->vq_intrhand(vq->vq_intrhand_arg); + virtqueue_disable_intr(vq); return (1); } +void +virtqueue_intr(struct virtqueue *vq) +{ + + if (__predict_true(vq->vq_intrhand != NULL)) + vq->vq_intrhand(vq->vq_intrhand_arg); +} + int virtqueue_enable_intr(struct virtqueue *vq) { Modified: projects/virtio/sys/dev/virtio/virtqueue.h ============================================================================== --- projects/virtio/sys/dev/virtio/virtqueue.h Mon Jan 21 04:06:04 2013 (r245708) +++ projects/virtio/sys/dev/virtio/virtqueue.h Mon Jan 21 06:42:56 2013 (r245709) @@ -70,7 +70,8 @@ void *virtqueue_drain(struct virtqueue * void virtqueue_free(struct virtqueue *vq); int virtqueue_reinit(struct virtqueue *vq, uint16_t size); -int virtqueue_intr(struct virtqueue *vq); +int virtqueue_intr_filter(struct virtqueue *vq); +void virtqueue_intr(struct virtqueue *vq); int virtqueue_enable_intr(struct virtqueue *vq); int virtqueue_postpone_intr(struct virtqueue *vq); void virtqueue_disable_intr(struct virtqueue *vq); From owner-svn-src-projects@FreeBSD.ORG Mon Jan 21 06:45:02 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id B21FAD3A; Mon, 21 Jan 2013 06:45:02 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A5709D8A; Mon, 21 Jan 2013 06:45:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0L6j26l094324; Mon, 21 Jan 2013 06:45:02 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0L6j1xN094317; Mon, 21 Jan 2013 06:45:01 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301210645.r0L6j1xN094317@svn.freebsd.org> From: Bryan Venteicher Date: Mon, 21 Jan 2013 06:45:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245710 - in projects/virtio/sys/dev/virtio: . balloon block network scsi X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jan 2013 06:45:02 -0000 Author: bryanv Date: Mon Jan 21 06:45:01 2013 New Revision: 245710 URL: http://svnweb.freebsd.org/changeset/base/245710 Log: virtio: Change virtqueue intr handlers to return void Approved by: grehan (implicit) Modified: projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c projects/virtio/sys/dev/virtio/block/virtio_blk.c projects/virtio/sys/dev/virtio/network/if_vtnet.c projects/virtio/sys/dev/virtio/scsi/virtio_scsi.c projects/virtio/sys/dev/virtio/virtqueue.h Modified: projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c ============================================================================== --- projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c Mon Jan 21 06:42:56 2013 (r245709) +++ projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c Mon Jan 21 06:45:01 2013 (r245710) @@ -90,7 +90,7 @@ static int vtballoon_config_change(devic static void vtballoon_negotiate_features(struct vtballoon_softc *); static int vtballoon_alloc_virtqueues(struct vtballoon_softc *); -static int vtballoon_vq_intr(void *); +static void vtballoon_vq_intr(void *); static void vtballoon_inflate(struct vtballoon_softc *, int); static void vtballoon_deflate(struct vtballoon_softc *, int); @@ -300,7 +300,7 @@ vtballoon_alloc_virtqueues(struct vtball return (virtio_alloc_virtqueues(dev, 0, nvqs, vq_info)); } -static int +static void vtballoon_vq_intr(void *xsc) { struct vtballoon_softc *sc; @@ -310,8 +310,6 @@ vtballoon_vq_intr(void *xsc) VTBALLOON_LOCK(sc); wakeup_one(sc); VTBALLOON_UNLOCK(sc); - - return (1); } static void Modified: projects/virtio/sys/dev/virtio/block/virtio_blk.c ============================================================================== --- projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 06:42:56 2013 (r245709) +++ projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 06:45:01 2013 (r245710) @@ -136,7 +136,7 @@ static struct vtblk_request * vtblk_bio_ static int vtblk_execute_request(struct vtblk_softc *, struct vtblk_request *); -static int vtblk_vq_intr(void *); +static void vtblk_vq_intr(void *); static void vtblk_intr_task(void *, int); static void vtblk_stop(struct vtblk_softc *); @@ -808,7 +808,7 @@ vtblk_execute_request(struct vtblk_softc return (virtqueue_enqueue(sc->vtblk_vq, req, sg, readable, writable)); } -static int +static void vtblk_vq_intr(void *xsc) { struct vtblk_softc *sc; @@ -817,8 +817,6 @@ vtblk_vq_intr(void *xsc) virtqueue_disable_intr(sc->vtblk_vq); taskqueue_enqueue_fast(sc->vtblk_tq, &sc->vtblk_intr_task); - - return (1); } static void Modified: projects/virtio/sys/dev/virtio/network/if_vtnet.c ============================================================================== --- projects/virtio/sys/dev/virtio/network/if_vtnet.c Mon Jan 21 06:42:56 2013 (r245709) +++ projects/virtio/sys/dev/virtio/network/if_vtnet.c Mon Jan 21 06:45:01 2013 (r245710) @@ -124,7 +124,7 @@ static int vtnet_rx_csum(struct vtnet_so static int vtnet_rxeof_merged(struct vtnet_softc *, struct mbuf *, int); static int vtnet_rxeof(struct vtnet_softc *, int, int *); static void vtnet_rx_intr_task(void *, int); -static int vtnet_rx_vq_intr(void *); +static void vtnet_rx_vq_intr(void *); static void vtnet_txeof(struct vtnet_softc *); static struct mbuf * vtnet_tx_offload(struct vtnet_softc *, struct mbuf *, @@ -136,7 +136,7 @@ static void vtnet_start_locked(struct if static void vtnet_start(struct ifnet *); static void vtnet_tick(void *); static void vtnet_tx_intr_task(void *, int); -static int vtnet_tx_vq_intr(void *); +static void vtnet_tx_vq_intr(void *); static void vtnet_stop(struct vtnet_softc *); static int vtnet_reinit(struct vtnet_softc *); @@ -1744,7 +1744,7 @@ vtnet_rx_intr_task(void *arg, int pendin } } -static int +static void vtnet_rx_vq_intr(void *xsc) { struct vtnet_softc *sc; @@ -1753,8 +1753,6 @@ vtnet_rx_vq_intr(void *xsc) vtnet_disable_rx_intr(sc); taskqueue_enqueue_fast(sc->vtnet_tq, &sc->vtnet_rx_intr_task); - - return (1); } static void @@ -2116,7 +2114,7 @@ vtnet_tx_intr_task(void *arg, int pendin VTNET_UNLOCK(sc); } -static int +static void vtnet_tx_vq_intr(void *xsc) { struct vtnet_softc *sc; @@ -2125,8 +2123,6 @@ vtnet_tx_vq_intr(void *xsc) vtnet_disable_tx_intr(sc); taskqueue_enqueue_fast(sc->vtnet_tq, &sc->vtnet_tx_intr_task); - - return (1); } static void Modified: projects/virtio/sys/dev/virtio/scsi/virtio_scsi.c ============================================================================== --- projects/virtio/sys/dev/virtio/scsi/virtio_scsi.c Mon Jan 21 06:42:56 2013 (r245709) +++ projects/virtio/sys/dev/virtio/scsi/virtio_scsi.c Mon Jan 21 06:45:01 2013 (r245710) @@ -176,9 +176,9 @@ static void vtscsi_control_vq_task(void static void vtscsi_event_vq_task(void *, int); static void vtscsi_request_vq_task(void *, int); -static int vtscsi_control_vq_intr(void *); -static int vtscsi_event_vq_intr(void *); -static int vtscsi_request_vq_intr(void *); +static void vtscsi_control_vq_intr(void *); +static void vtscsi_event_vq_intr(void *); +static void vtscsi_request_vq_intr(void *); static void vtscsi_disable_vqs_intr(struct vtscsi_softc *); static void vtscsi_enable_vqs_intr(struct vtscsi_softc *); @@ -2222,7 +2222,7 @@ vtscsi_request_vq_task(void *arg, int pe VTSCSI_UNLOCK(sc); } -static int +static void vtscsi_control_vq_intr(void *xsc) { struct vtscsi_softc *sc; @@ -2232,11 +2232,9 @@ vtscsi_control_vq_intr(void *xsc) virtqueue_disable_intr(sc->vtscsi_control_vq); taskqueue_enqueue_fast(sc->vtscsi_tq, &sc->vtscsi_control_intr_task); - - return (1); } -static int +static void vtscsi_event_vq_intr(void *xsc) { struct vtscsi_softc *sc; @@ -2246,11 +2244,9 @@ vtscsi_event_vq_intr(void *xsc) virtqueue_disable_intr(sc->vtscsi_event_vq); taskqueue_enqueue_fast(sc->vtscsi_tq, &sc->vtscsi_event_intr_task); - - return (1); } -static int +static void vtscsi_request_vq_intr(void *xsc) { struct vtscsi_softc *sc; @@ -2260,8 +2256,6 @@ vtscsi_request_vq_intr(void *xsc) virtqueue_disable_intr(sc->vtscsi_request_vq); taskqueue_enqueue_fast(sc->vtscsi_tq, &sc->vtscsi_request_intr_task); - - return (1); } static void Modified: projects/virtio/sys/dev/virtio/virtqueue.h ============================================================================== --- projects/virtio/sys/dev/virtio/virtqueue.h Mon Jan 21 06:42:56 2013 (r245709) +++ projects/virtio/sys/dev/virtio/virtqueue.h Mon Jan 21 06:45:01 2013 (r245710) @@ -39,7 +39,7 @@ struct sglist; #define VIRTIO_RING_F_EVENT_IDX (1 << 29) /* Device callback for a virtqueue interrupt. */ -typedef int virtqueue_intr_t(void *); +typedef void virtqueue_intr_t(void *); #define VIRTQUEUE_MAX_NAME_SZ 32 From owner-svn-src-projects@FreeBSD.ORG Mon Jan 21 06:46:18 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 5500FE5C; Mon, 21 Jan 2013 06:46:18 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 26360D94; Mon, 21 Jan 2013 06:46:18 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0L6kIx3094516; Mon, 21 Jan 2013 06:46:18 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0L6kInM094515; Mon, 21 Jan 2013 06:46:18 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301210646.r0L6kInM094515@svn.freebsd.org> From: Bryan Venteicher Date: Mon, 21 Jan 2013 06:46:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245711 - projects/virtio/sys/dev/virtio/block X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jan 2013 06:46:18 -0000 Author: bryanv Date: Mon Jan 21 06:46:17 2013 New Revision: 245711 URL: http://svnweb.freebsd.org/changeset/base/245711 Log: virtio_blk: Remove interrupt taskqueue Interrupts are now serviced in an ithread. Approved by: grehan (implicit) Modified: projects/virtio/sys/dev/virtio/block/virtio_blk.c Modified: projects/virtio/sys/dev/virtio/block/virtio_blk.c ============================================================================== --- projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 06:45:01 2013 (r245710) +++ projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 06:46:17 2013 (r245711) @@ -39,7 +39,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include @@ -83,9 +82,6 @@ struct vtblk_softc { TAILQ_HEAD(, vtblk_request) vtblk_req_ready; - struct taskqueue *vtblk_tq; - struct task vtblk_intr_task; - int vtblk_max_nsegs; int vtblk_request_count; @@ -137,7 +133,6 @@ static int vtblk_execute_request(struct struct vtblk_request *); static void vtblk_vq_intr(void *); -static void vtblk_intr_task(void *, int); static void vtblk_stop(struct vtblk_softc *); @@ -330,24 +325,12 @@ vtblk_attach(device_t dev) vtblk_alloc_disk(sc, &blkcfg); - TASK_INIT(&sc->vtblk_intr_task, 0, vtblk_intr_task, sc); - sc->vtblk_tq = taskqueue_create_fast("vtblk_taskq", M_NOWAIT, - taskqueue_thread_enqueue, &sc->vtblk_tq); - if (sc->vtblk_tq == NULL) { - error = ENOMEM; - device_printf(dev, "cannot allocate taskqueue\n"); - goto fail; - } - error = virtio_setup_intr(dev, INTR_TYPE_BIO | INTR_ENTROPY); if (error) { device_printf(dev, "cannot setup virtqueue interrupt\n"); goto fail; } - taskqueue_start_threads(&sc->vtblk_tq, 1, PI_DISK, "%s taskq", - device_get_nameunit(dev)); - vtblk_create_disk(sc); virtqueue_enable_intr(sc->vtblk_vq); @@ -372,12 +355,6 @@ vtblk_detach(device_t dev) vtblk_stop(sc); VTBLK_UNLOCK(sc); - if (sc->vtblk_tq != NULL) { - taskqueue_drain(sc->vtblk_tq, &sc->vtblk_intr_task); - taskqueue_free(sc->vtblk_tq); - sc->vtblk_tq = NULL; - } - vtblk_drain(sc); if (sc->vtblk_disk != NULL) { @@ -812,22 +789,12 @@ static void vtblk_vq_intr(void *xsc) { struct vtblk_softc *sc; - - sc = xsc; - - virtqueue_disable_intr(sc->vtblk_vq); - taskqueue_enqueue_fast(sc->vtblk_tq, &sc->vtblk_intr_task); -} - -static void -vtblk_intr_task(void *arg, int pending) -{ - struct vtblk_softc *sc; struct virtqueue *vq; - sc = arg; + sc = xsc; vq = sc->vtblk_vq; +again: VTBLK_LOCK(sc); if (sc->vtblk_flags & VTBLK_FLAG_DETACH) { VTBLK_UNLOCK(sc); @@ -844,9 +811,7 @@ vtblk_intr_task(void *arg, int pending) if (virtqueue_enable_intr(vq) != 0) { virtqueue_disable_intr(vq); VTBLK_UNLOCK(sc); - taskqueue_enqueue_fast(sc->vtblk_tq, - &sc->vtblk_intr_task); - return; + goto again; } VTBLK_UNLOCK(sc); From owner-svn-src-projects@FreeBSD.ORG Mon Jan 21 06:47:28 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 7501E203; Mon, 21 Jan 2013 06:47:28 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 68913DAB; Mon, 21 Jan 2013 06:47:28 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0L6lSrO094739; Mon, 21 Jan 2013 06:47:28 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0L6lSPk094738; Mon, 21 Jan 2013 06:47:28 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301210647.r0L6lSPk094738@svn.freebsd.org> From: Bryan Venteicher Date: Mon, 21 Jan 2013 06:47:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245713 - projects/virtio/sys/dev/virtio/block X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jan 2013 06:47:28 -0000 Author: bryanv Date: Mon Jan 21 06:47:27 2013 New Revision: 245713 URL: http://svnweb.freebsd.org/changeset/base/245713 Log: virtio_blk: Replace __FUNCTION__ with __func__ Approved by: grehan (implicit) Modified: projects/virtio/sys/dev/virtio/block/virtio_blk.c Modified: projects/virtio/sys/dev/virtio/block/virtio_blk.c ============================================================================== --- projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 06:47:06 2013 (r245712) +++ projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 06:47:27 2013 (r245713) @@ -739,8 +739,7 @@ vtblk_bio_request(struct vtblk_softc *sc req->vbr_hdr.sector = bp->bio_offset / 512; break; default: - panic("%s: bio with unhandled cmd: %d", __FUNCTION__, - bp->bio_cmd); + panic("%s: bio with unhandled cmd: %d", __func__, bp->bio_cmd); } if (bp->bio_flags & BIO_ORDERED) @@ -763,14 +762,13 @@ vtblk_execute_request(struct vtblk_softc VTBLK_LOCK_ASSERT(sc); sglist_reset(sg); - sglist_append(sg, &req->vbr_hdr, sizeof(struct virtio_blk_outhdr)); if (bp->bio_cmd == BIO_READ || bp->bio_cmd == BIO_WRITE) { error = sglist_append(sg, bp->bio_data, bp->bio_bcount); if (error || sg->sg_nseg == sg->sg_maxseg) panic("%s: data buffer too big bio:%p error:%d", - __FUNCTION__, bp, error); + __func__, bp, error); /* BIO_READ means the host writes into our buffer. */ if (bp->bio_cmd == BIO_READ) @@ -960,7 +958,7 @@ vtblk_poll_request(struct vtblk_softc *s error = vtblk_request_error(req); if (error && bootverbose) { device_printf(sc->vtblk_dev, - "%s: IO error: %d\n", __FUNCTION__, error); + "%s: IO error: %d\n", __func__, error); } return (error); @@ -1092,7 +1090,7 @@ vtblk_free_requests(struct vtblk_softc * } KASSERT(sc->vtblk_request_count == 0, - ("leaked requests: %d", sc->vtblk_request_count)); + ("%s: leaked %d requests", __func__, sc->vtblk_request_count)); } static struct vtblk_request * From owner-svn-src-projects@FreeBSD.ORG Mon Jan 21 06:49:01 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 24C8C3FF; Mon, 21 Jan 2013 06:49:01 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 0E6D7DCE; Mon, 21 Jan 2013 06:49:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0L6n0H3094993; Mon, 21 Jan 2013 06:49:00 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0L6n0GZ094992; Mon, 21 Jan 2013 06:49:00 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301210649.r0L6n0GZ094992@svn.freebsd.org> From: Bryan Venteicher Date: Mon, 21 Jan 2013 06:49:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245714 - projects/virtio/sys/dev/virtio/block X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jan 2013 06:49:01 -0000 Author: bryanv Date: Mon Jan 21 06:49:00 2013 New Revision: 245714 URL: http://svnweb.freebsd.org/changeset/base/245714 Log: virtio_blk: Use more consistent mutex name Approved by: grehan (implicit) Modified: projects/virtio/sys/dev/virtio/block/virtio_blk.c Modified: projects/virtio/sys/dev/virtio/block/virtio_blk.c ============================================================================== --- projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 06:47:27 2013 (r245713) +++ projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 06:49:00 2013 (r245714) @@ -178,7 +178,7 @@ TUNABLE_INT("hw.vtblk.no_ident", &vtblk_ #define VTBLK_MTX(_sc) &(_sc)->vtblk_mtx #define VTBLK_LOCK_INIT(_sc, _name) \ mtx_init(VTBLK_MTX((_sc)), (_name), \ - "VTBLK Lock", MTX_DEF) + "VirtIO Block Lock", MTX_DEF) #define VTBLK_LOCK(_sc) mtx_lock(VTBLK_MTX((_sc))) #define VTBLK_UNLOCK(_sc) mtx_unlock(VTBLK_MTX((_sc))) #define VTBLK_LOCK_DESTROY(_sc) mtx_destroy(VTBLK_MTX((_sc))) From owner-svn-src-projects@FreeBSD.ORG Mon Jan 21 06:50:10 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 0D1C454C; Mon, 21 Jan 2013 06:50:10 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id F06F1DD7; Mon, 21 Jan 2013 06:50:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0L6o9hO096734; Mon, 21 Jan 2013 06:50:09 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0L6o9xY096733; Mon, 21 Jan 2013 06:50:09 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301210650.r0L6o9xY096733@svn.freebsd.org> From: Bryan Venteicher Date: Mon, 21 Jan 2013 06:50:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245715 - projects/virtio/sys/dev/virtio/block X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jan 2013 06:50:10 -0000 Author: bryanv Date: Mon Jan 21 06:50:09 2013 New Revision: 245715 URL: http://svnweb.freebsd.org/changeset/base/245715 Log: virtio_blk: Print device name too if failed to reinit during dump Approved by: grehan (implicit) Modified: projects/virtio/sys/dev/virtio/block/virtio_blk.c Modified: projects/virtio/sys/dev/virtio/block/virtio_blk.c ============================================================================== --- projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 06:49:00 2013 (r245714) +++ projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 06:50:09 2013 (r245715) @@ -884,8 +884,10 @@ vtblk_prepare_dump(struct vtblk_softc *s */ vtblk_drain_vq(sc, 1); - if (virtio_reinit(dev, sc->vtblk_features) != 0) - panic("cannot reinit VirtIO block device during dump"); + if (virtio_reinit(dev, sc->vtblk_features) != 0) { + panic("%s: cannot reinit VirtIO block device during dump", + device_get_nameunit(dev)); + } virtqueue_disable_intr(vq); virtio_reinit_complete(dev); From owner-svn-src-projects@FreeBSD.ORG Mon Jan 21 06:52:01 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id DB220696; Mon, 21 Jan 2013 06:52:01 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id CE560DE6; Mon, 21 Jan 2013 06:52:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0L6q1DX097021; Mon, 21 Jan 2013 06:52:01 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0L6q1nZ097020; Mon, 21 Jan 2013 06:52:01 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301210652.r0L6q1nZ097020@svn.freebsd.org> From: Bryan Venteicher Date: Mon, 21 Jan 2013 06:52:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245716 - projects/virtio/sys/dev/virtio/block X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jan 2013 06:52:01 -0000 Author: bryanv Date: Mon Jan 21 06:52:01 2013 New Revision: 245716 URL: http://svnweb.freebsd.org/changeset/base/245716 Log: virtio_blk: Remove an unuseful ASSERT Approved by: grehan (implicit) Modified: projects/virtio/sys/dev/virtio/block/virtio_blk.c Modified: projects/virtio/sys/dev/virtio/block/virtio_blk.c ============================================================================== --- projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 06:50:09 2013 (r245715) +++ projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 06:52:01 2013 (r245716) @@ -940,7 +940,6 @@ static int vtblk_poll_request(struct vtblk_softc *sc, struct vtblk_request *req) { struct virtqueue *vq; - struct vtblk_request *r; int error; vq = sc->vtblk_vq; @@ -953,9 +952,7 @@ vtblk_poll_request(struct vtblk_softc *s return (error); virtqueue_notify(vq); - - r = virtqueue_poll(vq, NULL); - KASSERT(r == req, ("unexpected request response: %p/%p", r, req)); + virtqueue_poll(vq, NULL); error = vtblk_request_error(req); if (error && bootverbose) { From owner-svn-src-projects@FreeBSD.ORG Mon Jan 21 06:53:19 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 0A7BD7B8; Mon, 21 Jan 2013 06:53:19 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id CF748DEE; Mon, 21 Jan 2013 06:53:18 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0L6rInJ097210; Mon, 21 Jan 2013 06:53:18 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0L6rIoA097209; Mon, 21 Jan 2013 06:53:18 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301210653.r0L6rIoA097209@svn.freebsd.org> From: Bryan Venteicher Date: Mon, 21 Jan 2013 06:53:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245717 - projects/virtio/sys/dev/virtio/balloon X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jan 2013 06:53:19 -0000 Author: bryanv Date: Mon Jan 21 06:53:18 2013 New Revision: 245717 URL: http://svnweb.freebsd.org/changeset/base/245717 Log: virtio_balloon: Make the softc lock a regular mutex Since the interrupt hanlder is an ithread, we do not require a spin lock anymore. Approved by: grehan (implicit) Modified: projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c Modified: projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c ============================================================================== --- projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c Mon Jan 21 06:52:01 2013 (r245716) +++ projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c Mon Jan 21 06:53:18 2013 (r245717) @@ -127,9 +127,9 @@ CTASSERT(VTBALLOON_PAGES_PER_REQUEST * s #define VTBALLOON_MTX(_sc) &(_sc)->vtballoon_mtx #define VTBALLOON_LOCK_INIT(_sc, _name) mtx_init(VTBALLOON_MTX((_sc)), _name, \ - "VirtIO Balloon Lock", MTX_SPIN) -#define VTBALLOON_LOCK(_sc) mtx_lock_spin(VTBALLOON_MTX((_sc))) -#define VTBALLOON_UNLOCK(_sc) mtx_unlock_spin(VTBALLOON_MTX((_sc))) + "VirtIO Balloon Lock", MTX_DEF) +#define VTBALLOON_LOCK(_sc) mtx_lock(VTBALLOON_MTX((_sc))) +#define VTBALLOON_UNLOCK(_sc) mtx_unlock(VTBALLOON_MTX((_sc))) #define VTBALLOON_LOCK_DESTROY(_sc) mtx_destroy(VTBALLOON_MTX((_sc))) static device_method_t vtballoon_methods[] = { @@ -234,8 +234,7 @@ vtballoon_detach(device_t dev) VTBALLOON_LOCK(sc); sc->vtballoon_flags |= VTBALLOON_FLAG_DETACH; wakeup_one(sc); - msleep_spin(sc->vtballoon_kproc, VTBALLOON_MTX(sc), - "vtbdth", 0); + msleep(sc->vtballoon_kproc, VTBALLOON_MTX(sc), 0, "vtbdth", 0); VTBALLOON_UNLOCK(sc); sc->vtballoon_kproc = NULL; @@ -411,7 +410,7 @@ vtballoon_send_page_frames(struct vtball */ VTBALLOON_LOCK(sc); while ((c = virtqueue_dequeue(vq, NULL)) == NULL) - msleep_spin(sc, VTBALLOON_MTX(sc), "vtbspf", 0); + msleep(sc, VTBALLOON_MTX(sc), 0, "vtbspf", 0); VTBALLOON_UNLOCK(sc); KASSERT(c == vq, ("unexpected balloon operation response")); @@ -510,7 +509,7 @@ vtballoon_sleep(struct vtballoon_softc * if (current < desired && timeout == 0) break; - msleep_spin(sc, VTBALLOON_MTX(sc), "vtbslp", timeout); + msleep(sc, VTBALLOON_MTX(sc), 0, "vtbslp", timeout); } VTBALLOON_UNLOCK(sc); From owner-svn-src-projects@FreeBSD.ORG Mon Jan 21 06:54:34 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 3EFEB8EB; Mon, 21 Jan 2013 06:54:34 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 2D429DFF; Mon, 21 Jan 2013 06:54:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0L6sYPw097428; Mon, 21 Jan 2013 06:54:34 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0L6sY1N097427; Mon, 21 Jan 2013 06:54:34 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301210654.r0L6sY1N097427@svn.freebsd.org> From: Bryan Venteicher Date: Mon, 21 Jan 2013 06:54:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245718 - projects/virtio/sys/dev/virtio/balloon X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jan 2013 06:54:34 -0000 Author: bryanv Date: Mon Jan 21 06:54:33 2013 New Revision: 245718 URL: http://svnweb.freebsd.org/changeset/base/245718 Log: virtio_balloon: Remove two unuseful ASSERTs These functions are never called when the balloon does not need to be resized. Approved by: grehan (implicit) Modified: projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c Modified: projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c ============================================================================== --- projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c Mon Jan 21 06:53:18 2013 (r245717) +++ projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c Mon Jan 21 06:54:33 2013 (r245718) @@ -323,7 +323,6 @@ vtballoon_inflate(struct vtballoon_softc if (npages > VTBALLOON_PAGES_PER_REQUEST) npages = VTBALLOON_PAGES_PER_REQUEST; - KASSERT(npages > 0, ("balloon doesn't need inflating?")); for (i = 0; i < npages; i++) { if ((m = vtballoon_alloc_page(sc)) == NULL) @@ -356,7 +355,6 @@ vtballoon_deflate(struct vtballoon_softc if (npages > VTBALLOON_PAGES_PER_REQUEST) npages = VTBALLOON_PAGES_PER_REQUEST; - KASSERT(npages > 0, ("balloon doesn't need deflating?")); for (i = 0; i < npages; i++) { m = TAILQ_FIRST(&sc->vtballoon_pages); From owner-svn-src-projects@FreeBSD.ORG Mon Jan 21 06:55:52 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 251F0A16; Mon, 21 Jan 2013 06:55:52 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 18C78E0F; Mon, 21 Jan 2013 06:55:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0L6tpsB097651; Mon, 21 Jan 2013 06:55:51 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0L6tpAq097650; Mon, 21 Jan 2013 06:55:51 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301210655.r0L6tpAq097650@svn.freebsd.org> From: Bryan Venteicher Date: Mon, 21 Jan 2013 06:55:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245719 - projects/virtio/sys/dev/virtio/balloon X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jan 2013 06:55:52 -0000 Author: bryanv Date: Mon Jan 21 06:55:51 2013 New Revision: 245719 URL: http://svnweb.freebsd.org/changeset/base/245719 Log: virtio_balloon: More verbose ASSERT messages Approved by: grehan (implicit) Modified: projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c Modified: projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c ============================================================================== --- projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c Mon Jan 21 06:54:33 2013 (r245718) +++ projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c Mon Jan 21 06:55:51 2013 (r245719) @@ -331,7 +331,8 @@ vtballoon_inflate(struct vtballoon_softc sc->vtballoon_page_frames[i] = VM_PAGE_TO_PHYS(m) >> VIRTIO_BALLOON_PFN_SHIFT; - KASSERT(m->queue == PQ_NONE, ("allocated page on queue")); + KASSERT(m->queue == PQ_NONE, + ("%s: allocated page %p on queue", __func__, m)); TAILQ_INSERT_TAIL(&sc->vtballoon_pages, m, pageq); } @@ -358,7 +359,7 @@ vtballoon_deflate(struct vtballoon_softc for (i = 0; i < npages; i++) { m = TAILQ_FIRST(&sc->vtballoon_pages); - KASSERT(m != NULL, ("no more pages to deflate")); + KASSERT(m != NULL, ("%s: no more pages to deflate", __func__)); sc->vtballoon_page_frames[i] = VM_PAGE_TO_PHYS(m) >> VIRTIO_BALLOON_PFN_SHIFT; @@ -380,7 +381,9 @@ vtballoon_deflate(struct vtballoon_softc KASSERT((TAILQ_EMPTY(&sc->vtballoon_pages) && sc->vtballoon_current_npages == 0) || (!TAILQ_EMPTY(&sc->vtballoon_pages) && - sc->vtballoon_current_npages != 0), ("balloon empty?")); + sc->vtballoon_current_npages != 0), + ("%s: bogus page count %d", __func__, + sc->vtballoon_current_npages)); } static void From owner-svn-src-projects@FreeBSD.ORG Mon Jan 21 06:57:32 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 6BD2FB3F; Mon, 21 Jan 2013 06:57:32 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 48D2CE1A; Mon, 21 Jan 2013 06:57:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0L6vWor097900; Mon, 21 Jan 2013 06:57:32 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0L6vWLQ097899; Mon, 21 Jan 2013 06:57:32 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301210657.r0L6vWLQ097899@svn.freebsd.org> From: Bryan Venteicher Date: Mon, 21 Jan 2013 06:57:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245720 - projects/virtio/sys/dev/virtio/balloon X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jan 2013 06:57:32 -0000 Author: bryanv Date: Mon Jan 21 06:57:31 2013 New Revision: 245720 URL: http://svnweb.freebsd.org/changeset/base/245720 Log: virtio_balloon: Simplify lowmem handling in vtballoon_inflate() Approved by: grehan (implicit) Modified: projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c Modified: projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c ============================================================================== --- projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c Mon Jan 21 06:55:51 2013 (r245719) +++ projects/virtio/sys/dev/virtio/balloon/virtio_balloon.c Mon Jan 21 06:57:31 2013 (r245720) @@ -319,14 +319,15 @@ vtballoon_inflate(struct vtballoon_softc int i; vq = sc->vtballoon_inflate_vq; - m = NULL; if (npages > VTBALLOON_PAGES_PER_REQUEST) npages = VTBALLOON_PAGES_PER_REQUEST; for (i = 0; i < npages; i++) { - if ((m = vtballoon_alloc_page(sc)) == NULL) + if ((m = vtballoon_alloc_page(sc)) == NULL) { + sc->vtballoon_timeout = VTBALLOON_LOWMEM_TIMEOUT; break; + } sc->vtballoon_page_frames[i] = VM_PAGE_TO_PHYS(m) >> VIRTIO_BALLOON_PFN_SHIFT; @@ -338,9 +339,6 @@ vtballoon_inflate(struct vtballoon_softc if (i > 0) vtballoon_send_page_frames(sc, vq, i); - - if (m == NULL) - sc->vtballoon_timeout = VTBALLOON_LOWMEM_TIMEOUT; } static void From owner-svn-src-projects@FreeBSD.ORG Mon Jan 21 06:59:02 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 2A995C63; Mon, 21 Jan 2013 06:59:02 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 06B00E24; Mon, 21 Jan 2013 06:59:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0L6x1hw098133; Mon, 21 Jan 2013 06:59:01 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0L6x1Se098132; Mon, 21 Jan 2013 06:59:01 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301210659.r0L6x1Se098132@svn.freebsd.org> From: Bryan Venteicher Date: Mon, 21 Jan 2013 06:59:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245721 - projects/virtio/sys/dev/virtio/network X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jan 2013 06:59:02 -0000 Author: bryanv Date: Mon Jan 21 06:59:01 2013 New Revision: 245721 URL: http://svnweb.freebsd.org/changeset/base/245721 Log: vtnet: Remove interrupt taskqueue Interrupts are now serviced by an ithread. This is the first step - more interrupt related work is coming in future commits. Approved by: grehan (implicit) Modified: projects/virtio/sys/dev/virtio/network/if_vtnet.c Modified: projects/virtio/sys/dev/virtio/network/if_vtnet.c ============================================================================== --- projects/virtio/sys/dev/virtio/network/if_vtnet.c Mon Jan 21 06:57:31 2013 (r245720) +++ projects/virtio/sys/dev/virtio/network/if_vtnet.c Mon Jan 21 06:59:01 2013 (r245721) @@ -42,7 +42,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include @@ -97,7 +96,6 @@ static void vtnet_set_hwaddr(struct vtne static int vtnet_is_link_up(struct vtnet_softc *); static void vtnet_update_link_status(struct vtnet_softc *); static void vtnet_watchdog(struct vtnet_softc *); -static void vtnet_config_change_task(void *, int); static int vtnet_change_mtu(struct vtnet_softc *, int); static int vtnet_ioctl(struct ifnet *, u_long, caddr_t); @@ -123,7 +121,6 @@ static int vtnet_rx_csum(struct vtnet_so struct virtio_net_hdr *); static int vtnet_rxeof_merged(struct vtnet_softc *, struct mbuf *, int); static int vtnet_rxeof(struct vtnet_softc *, int, int *); -static void vtnet_rx_intr_task(void *, int); static void vtnet_rx_vq_intr(void *); static void vtnet_txeof(struct vtnet_softc *); @@ -135,7 +132,6 @@ static int vtnet_encap(struct vtnet_soft static void vtnet_start_locked(struct ifnet *); static void vtnet_start(struct ifnet *); static void vtnet_tick(void *); -static void vtnet_tx_intr_task(void *, int); static void vtnet_tx_vq_intr(void *); static void vtnet_stop(struct vtnet_softc *); @@ -427,19 +423,6 @@ vtnet_attach(device_t dev) ifp->if_capabilities |= IFCAP_POLLING; #endif - TASK_INIT(&sc->vtnet_rx_intr_task, 0, vtnet_rx_intr_task, sc); - TASK_INIT(&sc->vtnet_tx_intr_task, 0, vtnet_tx_intr_task, sc); - TASK_INIT(&sc->vtnet_cfgchg_task, 0, vtnet_config_change_task, sc); - - sc->vtnet_tq = taskqueue_create_fast("vtnet_taskq", M_NOWAIT, - taskqueue_thread_enqueue, &sc->vtnet_tq); - if (sc->vtnet_tq == NULL) { - error = ENOMEM; - device_printf(dev, "cannot allocate taskqueue\n"); - ether_ifdetach(ifp); - goto fail; - } - error = virtio_setup_intr(dev, INTR_TYPE_NET); if (error) { device_printf(dev, "cannot setup virtqueue interrupts\n"); @@ -447,9 +430,6 @@ vtnet_attach(device_t dev) goto fail; } - taskqueue_start_threads(&sc->vtnet_tq, 1, PI_NET, "%s taskq", - device_get_nameunit(dev)); - /* * Device defaults to promiscuous mode for backwards * compatibility. Turn it off if possible. @@ -495,18 +475,10 @@ vtnet_detach(device_t dev) VTNET_UNLOCK(sc); callout_drain(&sc->vtnet_tick_ch); - taskqueue_drain(taskqueue_fast, &sc->vtnet_cfgchg_task); ether_ifdetach(ifp); } - if (sc->vtnet_tq != NULL) { - taskqueue_drain(sc->vtnet_tq, &sc->vtnet_rx_intr_task); - taskqueue_drain(sc->vtnet_tq, &sc->vtnet_tx_intr_task); - taskqueue_free(sc->vtnet_tq); - sc->vtnet_tq = NULL; - } - if (sc->vtnet_vlan_attach != NULL) { EVENTHANDLER_DEREGISTER(vlan_config, sc->vtnet_vlan_attach); sc->vtnet_vlan_attach = NULL; @@ -590,9 +562,11 @@ vtnet_config_change(device_t dev) sc = device_get_softc(dev); - taskqueue_enqueue_fast(taskqueue_fast, &sc->vtnet_cfgchg_task); + VTNET_LOCK(sc); + vtnet_update_link_status(sc); + VTNET_UNLOCK(sc); - return (1); + return (0); } static void @@ -788,18 +762,6 @@ vtnet_watchdog(struct vtnet_softc *sc) vtnet_init_locked(sc); } -static void -vtnet_config_change_task(void *arg, int pending) -{ - struct vtnet_softc *sc; - - sc = arg; - - VTNET_LOCK(sc); - vtnet_update_link_status(sc); - VTNET_UNLOCK(sc); -} - static int vtnet_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) { @@ -1705,15 +1667,16 @@ vtnet_rxeof(struct vtnet_softc *sc, int } static void -vtnet_rx_intr_task(void *arg, int pending) +vtnet_rx_vq_intr(void *xsc) { struct vtnet_softc *sc; struct ifnet *ifp; int more; - sc = arg; + sc = xsc; ifp = sc->vtnet_ifp; +again: VTNET_LOCK(sc); #ifdef DEVICE_POLLING @@ -1730,29 +1693,15 @@ vtnet_rx_intr_task(void *arg, int pendin } more = vtnet_rxeof(sc, sc->vtnet_rx_process_limit, NULL); - if (!more && vtnet_enable_rx_intr(sc) != 0) { - vtnet_disable_rx_intr(sc); - more = 1; - } - - VTNET_UNLOCK(sc); - - if (more) { + if (more || vtnet_enable_rx_intr(sc) != 0) { + if (!more) + vtnet_disable_rx_intr(sc); sc->vtnet_stats.rx_task_rescheduled++; - taskqueue_enqueue_fast(sc->vtnet_tq, - &sc->vtnet_rx_intr_task); + VTNET_UNLOCK(sc); + goto again; } -} - -static void -vtnet_rx_vq_intr(void *xsc) -{ - struct vtnet_softc *sc; - - sc = xsc; - vtnet_disable_rx_intr(sc); - taskqueue_enqueue_fast(sc->vtnet_tq, &sc->vtnet_rx_intr_task); + VTNET_UNLOCK(sc); } static void @@ -2075,14 +2024,15 @@ vtnet_tick(void *xsc) } static void -vtnet_tx_intr_task(void *arg, int pending) +vtnet_tx_vq_intr(void *xsc) { struct vtnet_softc *sc; struct ifnet *ifp; - sc = arg; + sc = xsc; ifp = sc->vtnet_ifp; +again: VTNET_LOCK(sc); #ifdef DEVICE_POLLING @@ -2107,25 +2057,13 @@ vtnet_tx_intr_task(void *arg, int pendin vtnet_disable_tx_intr(sc); sc->vtnet_stats.tx_task_rescheduled++; VTNET_UNLOCK(sc); - taskqueue_enqueue_fast(sc->vtnet_tq, &sc->vtnet_tx_intr_task); - return; + goto again; } VTNET_UNLOCK(sc); } static void -vtnet_tx_vq_intr(void *xsc) -{ - struct vtnet_softc *sc; - - sc = xsc; - - vtnet_disable_tx_intr(sc); - taskqueue_enqueue_fast(sc->vtnet_tq, &sc->vtnet_tx_intr_task); -} - -static void vtnet_stop(struct vtnet_softc *sc) { device_t dev; From owner-svn-src-projects@FreeBSD.ORG Mon Jan 21 07:00:44 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id BD854D93; Mon, 21 Jan 2013 07:00:44 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 99DE0E36; Mon, 21 Jan 2013 07:00:44 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0L70iA0000122; Mon, 21 Jan 2013 07:00:44 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0L70ibI000119; Mon, 21 Jan 2013 07:00:44 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301210700.r0L70ibI000119@svn.freebsd.org> From: Bryan Venteicher Date: Mon, 21 Jan 2013 07:00:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245722 - projects/virtio/sys/dev/virtio/scsi X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jan 2013 07:00:44 -0000 Author: bryanv Date: Mon Jan 21 07:00:43 2013 New Revision: 245722 URL: http://svnweb.freebsd.org/changeset/base/245722 Log: virtio_scsi: Remove interrupt taskqueue Interrupts are now serviced by an ithread. Approved by: grehan (implicit) Modified: projects/virtio/sys/dev/virtio/scsi/virtio_scsi.c projects/virtio/sys/dev/virtio/scsi/virtio_scsivar.h Modified: projects/virtio/sys/dev/virtio/scsi/virtio_scsi.c ============================================================================== --- projects/virtio/sys/dev/virtio/scsi/virtio_scsi.c Mon Jan 21 06:59:01 2013 (r245721) +++ projects/virtio/sys/dev/virtio/scsi/virtio_scsi.c Mon Jan 21 07:00:43 2013 (r245722) @@ -40,7 +40,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include @@ -172,9 +171,6 @@ static struct vtscsi_request * vtscsi_de static void vtscsi_complete_request(struct vtscsi_request *); static void vtscsi_complete_vq(struct vtscsi_softc *, struct virtqueue *); -static void vtscsi_control_vq_task(void *, int); -static void vtscsi_event_vq_task(void *, int); -static void vtscsi_request_vq_task(void *, int); static void vtscsi_control_vq_intr(void *); static void vtscsi_event_vq_intr(void *); @@ -333,30 +329,12 @@ vtscsi_attach(device_t dev) goto fail; } - TASK_INIT(&sc->vtscsi_control_intr_task, 0, - vtscsi_control_vq_task, sc); - TASK_INIT(&sc->vtscsi_event_intr_task, 0, - vtscsi_event_vq_task, sc); - TASK_INIT(&sc->vtscsi_request_intr_task, 0, - vtscsi_request_vq_task, sc); - - sc->vtscsi_tq = taskqueue_create_fast("vtscsi_taskq", M_NOWAIT, - taskqueue_thread_enqueue, &sc->vtscsi_tq); - if (sc->vtscsi_tq == NULL) { - error = ENOMEM; - device_printf(dev, "cannot allocate taskqueue\n"); - goto fail; - } - error = virtio_setup_intr(dev, INTR_TYPE_CAM); if (error) { device_printf(dev, "cannot setup virtqueue interrupts\n"); goto fail; } - taskqueue_start_threads(&sc->vtscsi_tq, 1, PI_DISK, "%s taskq", - device_get_nameunit(dev)); - vtscsi_enable_vqs_intr(sc); /* @@ -389,14 +367,6 @@ vtscsi_detach(device_t dev) vtscsi_stop(sc); VTSCSI_UNLOCK(sc); - if (sc->vtscsi_tq != NULL) { - taskqueue_drain(sc->vtscsi_tq, &sc->vtscsi_control_intr_task); - taskqueue_drain(sc->vtscsi_tq, &sc->vtscsi_event_intr_task); - taskqueue_drain(sc->vtscsi_tq, &sc->vtscsi_request_intr_task); - taskqueue_free(sc->vtscsi_tq); - sc->vtscsi_tq = NULL; - } - vtscsi_complete_vqs(sc); vtscsi_drain_vqs(sc); @@ -2149,14 +2119,15 @@ vtscsi_complete_vq(struct vtscsi_softc * } static void -vtscsi_control_vq_task(void *arg, int pending) +vtscsi_control_vq_intr(void *xsc) { struct vtscsi_softc *sc; struct virtqueue *vq; - sc = arg; + sc = xsc; vq = sc->vtscsi_control_vq; +again: VTSCSI_LOCK(sc); vtscsi_complete_vq(sc, sc->vtscsi_control_vq); @@ -2164,24 +2135,23 @@ vtscsi_control_vq_task(void *arg, int pe if (virtqueue_enable_intr(vq) != 0) { virtqueue_disable_intr(vq); VTSCSI_UNLOCK(sc); - taskqueue_enqueue_fast(sc->vtscsi_tq, - &sc->vtscsi_control_intr_task); - return; + goto again; } VTSCSI_UNLOCK(sc); } static void -vtscsi_event_vq_task(void *arg, int pending) +vtscsi_event_vq_intr(void *xsc) { struct vtscsi_softc *sc; struct virtqueue *vq; struct virtio_scsi_event *event; - sc = arg; + sc = xsc; vq = sc->vtscsi_event_vq; +again: VTSCSI_LOCK(sc); while ((event = virtqueue_dequeue(vq, NULL)) != NULL) @@ -2190,23 +2160,22 @@ vtscsi_event_vq_task(void *arg, int pend if (virtqueue_enable_intr(vq) != 0) { virtqueue_disable_intr(vq); VTSCSI_UNLOCK(sc); - taskqueue_enqueue_fast(sc->vtscsi_tq, - &sc->vtscsi_control_intr_task); - return; + goto again; } VTSCSI_UNLOCK(sc); } static void -vtscsi_request_vq_task(void *arg, int pending) +vtscsi_request_vq_intr(void *xsc) { struct vtscsi_softc *sc; struct virtqueue *vq; - sc = arg; + sc = xsc; vq = sc->vtscsi_request_vq; +again: VTSCSI_LOCK(sc); vtscsi_complete_vq(sc, sc->vtscsi_request_vq); @@ -2214,51 +2183,13 @@ vtscsi_request_vq_task(void *arg, int pe if (virtqueue_enable_intr(vq) != 0) { virtqueue_disable_intr(vq); VTSCSI_UNLOCK(sc); - taskqueue_enqueue_fast(sc->vtscsi_tq, - &sc->vtscsi_request_intr_task); - return; + goto again; } VTSCSI_UNLOCK(sc); } static void -vtscsi_control_vq_intr(void *xsc) -{ - struct vtscsi_softc *sc; - - sc = xsc; - - virtqueue_disable_intr(sc->vtscsi_control_vq); - taskqueue_enqueue_fast(sc->vtscsi_tq, - &sc->vtscsi_control_intr_task); -} - -static void -vtscsi_event_vq_intr(void *xsc) -{ - struct vtscsi_softc *sc; - - sc = xsc; - - virtqueue_disable_intr(sc->vtscsi_event_vq); - taskqueue_enqueue_fast(sc->vtscsi_tq, - &sc->vtscsi_event_intr_task); -} - -static void -vtscsi_request_vq_intr(void *xsc) -{ - struct vtscsi_softc *sc; - - sc = xsc; - - virtqueue_disable_intr(sc->vtscsi_request_vq); - taskqueue_enqueue_fast(sc->vtscsi_tq, - &sc->vtscsi_request_intr_task); -} - -static void vtscsi_disable_vqs_intr(struct vtscsi_softc *sc) { Modified: projects/virtio/sys/dev/virtio/scsi/virtio_scsivar.h ============================================================================== --- projects/virtio/sys/dev/virtio/scsi/virtio_scsivar.h Mon Jan 21 06:59:01 2013 (r245721) +++ projects/virtio/sys/dev/virtio/scsi/virtio_scsivar.h Mon Jan 21 07:00:43 2013 (r245722) @@ -62,11 +62,6 @@ struct vtscsi_softc { struct virtqueue *vtscsi_event_vq; struct virtqueue *vtscsi_request_vq; - struct taskqueue *vtscsi_tq; - struct task vtscsi_control_intr_task; - struct task vtscsi_event_intr_task; - struct task vtscsi_request_intr_task; - struct cam_sim *vtscsi_sim; struct cam_path *vtscsi_path; From owner-svn-src-projects@FreeBSD.ORG Mon Jan 21 07:01:33 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 38E4EEB8; Mon, 21 Jan 2013 07:01:33 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 28455E42; Mon, 21 Jan 2013 07:01:33 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0L71XCx000324; Mon, 21 Jan 2013 07:01:33 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0L71XIR000323; Mon, 21 Jan 2013 07:01:33 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301210701.r0L71XIR000323@svn.freebsd.org> From: Bryan Venteicher Date: Mon, 21 Jan 2013 07:01:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245723 - projects/virtio/sys/dev/virtio/block X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jan 2013 07:01:33 -0000 Author: bryanv Date: Mon Jan 21 07:01:32 2013 New Revision: 245723 URL: http://svnweb.freebsd.org/changeset/base/245723 Log: virtio_blk: Record the vendor and device information Approved by: grehan (implicit) Modified: projects/virtio/sys/dev/virtio/block/virtio_blk.c Modified: projects/virtio/sys/dev/virtio/block/virtio_blk.c ============================================================================== --- projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 07:00:43 2013 (r245722) +++ projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 07:01:32 2013 (r245723) @@ -595,6 +595,10 @@ vtblk_alloc_disk(struct vtblk_softc *sc, dp->d_name = VTBLK_DISK_NAME; dp->d_unit = device_get_unit(dev); dp->d_drv1 = sc; + dp->d_hba_vendor = virtio_get_vendor(dev); + dp->d_hba_device = virtio_get_device(dev); + dp->d_hba_subvendor = virtio_get_subvendor(dev); + dp->d_hba_subdevice = virtio_get_subdevice(dev); if ((sc->vtblk_flags & VTBLK_FLAG_READONLY) == 0) dp->d_dump = vtblk_dump; From owner-svn-src-projects@FreeBSD.ORG Mon Jan 21 07:02:22 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 8F4ADFD6; Mon, 21 Jan 2013 07:02:22 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 660E2E49; Mon, 21 Jan 2013 07:02:22 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0L72MWZ000511; Mon, 21 Jan 2013 07:02:22 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0L72MRg000510; Mon, 21 Jan 2013 07:02:22 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301210702.r0L72MRg000510@svn.freebsd.org> From: Bryan Venteicher Date: Mon, 21 Jan 2013 07:02:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245724 - projects/virtio/sys/dev/virtio/block X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jan 2013 07:02:22 -0000 Author: bryanv Date: Mon Jan 21 07:02:21 2013 New Revision: 245724 URL: http://svnweb.freebsd.org/changeset/base/245724 Log: virtio_blk: Add resize support Approved by: grehan (implicit) Modified: projects/virtio/sys/dev/virtio/block/virtio_blk.c Modified: projects/virtio/sys/dev/virtio/block/virtio_blk.c ============================================================================== --- projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 07:01:32 2013 (r245723) +++ projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 07:02:21 2013 (r245724) @@ -110,6 +110,7 @@ static int vtblk_detach(device_t); static int vtblk_suspend(device_t); static int vtblk_resume(device_t); static int vtblk_shutdown(device_t); +static int vtblk_config_change(device_t); static int vtblk_open(struct disk *); static int vtblk_close(struct disk *); @@ -122,6 +123,7 @@ static void vtblk_negotiate_features(str static int vtblk_maximum_segments(struct vtblk_softc *, struct virtio_blk_config *); static int vtblk_alloc_virtqueue(struct vtblk_softc *); +static void vtblk_resize_disk(struct vtblk_softc *, uint64_t); static void vtblk_alloc_disk(struct vtblk_softc *, struct virtio_blk_config *); static void vtblk_create_disk(struct vtblk_softc *); @@ -204,6 +206,9 @@ static device_method_t vtblk_methods[] = DEVMETHOD(device_resume, vtblk_resume), DEVMETHOD(device_shutdown, vtblk_shutdown), + /* VirtIO methods. */ + DEVMETHOD(virtio_config_change, vtblk_config_change), + DEVMETHOD_END }; @@ -415,6 +420,27 @@ vtblk_shutdown(device_t dev) } static int +vtblk_config_change(device_t dev) +{ + struct vtblk_softc *sc; + struct virtio_blk_config blkcfg; + uint64_t capacity; + + sc = device_get_softc(dev); + + virtio_read_device_config(dev, 0, &blkcfg, + sizeof(struct virtio_blk_config)); + + /* Capacity is always in 512-byte units. */ + capacity = blkcfg.capacity * 512; + + if (sc->vtblk_disk->d_mediasize != capacity) + vtblk_resize_disk(sc, capacity); + + return (0); +} + +static int vtblk_open(struct disk *dp) { struct vtblk_softc *sc; @@ -580,6 +606,31 @@ vtblk_alloc_virtqueue(struct vtblk_softc } static void +vtblk_resize_disk(struct vtblk_softc *sc, uint64_t new_capacity) +{ + device_t dev; + struct disk *dp; + int error; + + dev = sc->vtblk_dev; + dp = sc->vtblk_disk; + + dp->d_mediasize = new_capacity; + if (bootverbose) { + device_printf(dev, "resized %juMB (%ju %u byte sectors)\n", + (uintmax_t) dp->d_mediasize >> 20, + (uintmax_t) dp->d_mediasize / dp->d_sectorsize, + dp->d_sectorsize); + } + + error = disk_resize(dp, M_NOWAIT); + if (error) { + device_printf(dev, + "disk_resize(9) failed, error: %d\n", error); + } +} + +static void vtblk_alloc_disk(struct vtblk_softc *sc, struct virtio_blk_config *blkcfg) { device_t dev; From owner-svn-src-projects@FreeBSD.ORG Mon Jan 21 07:03:14 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 3B0BB439; Mon, 21 Jan 2013 07:03:14 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 2DEFBE5D; Mon, 21 Jan 2013 07:03:14 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0L73E0N000766; Mon, 21 Jan 2013 07:03:14 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0L73E9C000765; Mon, 21 Jan 2013 07:03:14 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301210703.r0L73E9C000765@svn.freebsd.org> From: Bryan Venteicher Date: Mon, 21 Jan 2013 07:03:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245726 - projects/virtio/sys/dev/virtio/block X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jan 2013 07:03:14 -0000 Author: bryanv Date: Mon Jan 21 07:03:13 2013 New Revision: 245726 URL: http://svnweb.freebsd.org/changeset/base/245726 Log: virtio_blk: More verbose ASSERT messages Approved by: grehan (implicit) Modified: projects/virtio/sys/dev/virtio/block/virtio_blk.c Modified: projects/virtio/sys/dev/virtio/block/virtio_blk.c ============================================================================== --- projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 07:02:41 2013 (r245725) +++ projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 07:03:13 2013 (r245726) @@ -541,8 +541,8 @@ vtblk_strategy(struct bio *bp) max_nsegs = sc->vtblk_max_nsegs - VTBLK_MIN_SEGMENTS; KASSERT(nsegs <= max_nsegs, - ("bio %p spanned too many segments: %d, max: %d", - bp, nsegs, max_nsegs)); + ("%s: bio %p spanned too many segments: %d, max: %d", + __func__, bp, nsegs, max_nsegs)); } #endif @@ -1136,7 +1136,7 @@ vtblk_free_requests(struct vtblk_softc * struct vtblk_request *req; KASSERT(TAILQ_EMPTY(&sc->vtblk_req_ready), - ("ready requests left on queue")); + ("%s: ready requests left on queue", __func__)); while ((req = vtblk_dequeue_request(sc)) != NULL) { sc->vtblk_request_count--; From owner-svn-src-projects@FreeBSD.ORG Mon Jan 21 07:19:02 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id C47B8A9B; Mon, 21 Jan 2013 07:19:02 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A0B4AEF3; Mon, 21 Jan 2013 07:19:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0L7J2do004962; Mon, 21 Jan 2013 07:19:02 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0L7J2pj004961; Mon, 21 Jan 2013 07:19:02 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301210719.r0L7J2pj004961@svn.freebsd.org> From: Bryan Venteicher Date: Mon, 21 Jan 2013 07:19:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245730 - projects/virtio/sys/dev/virtio/block X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jan 2013 07:19:02 -0000 Author: bryanv Date: Mon Jan 21 07:19:02 2013 New Revision: 245730 URL: http://svnweb.freebsd.org/changeset/base/245730 Log: virtio_blk: Tweak resize announcement message Submitted by: trasz Approved by: grehan (implicit) Modified: projects/virtio/sys/dev/virtio/block/virtio_blk.c Modified: projects/virtio/sys/dev/virtio/block/virtio_blk.c ============================================================================== --- projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 07:16:29 2013 (r245729) +++ projects/virtio/sys/dev/virtio/block/virtio_blk.c Mon Jan 21 07:19:02 2013 (r245730) @@ -617,7 +617,7 @@ vtblk_resize_disk(struct vtblk_softc *sc dp->d_mediasize = new_capacity; if (bootverbose) { - device_printf(dev, "resized %juMB (%ju %u byte sectors)\n", + device_printf(dev, "resized to %juMB (%ju %u byte sectors)\n", (uintmax_t) dp->d_mediasize >> 20, (uintmax_t) dp->d_mediasize / dp->d_sectorsize, dp->d_sectorsize); From owner-svn-src-projects@FreeBSD.ORG Mon Jan 21 07:45:26 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id AF85EA83; Mon, 21 Jan 2013 07:45:26 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 98AA767; Mon, 21 Jan 2013 07:45:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0L7jQaZ013569; Mon, 21 Jan 2013 07:45:26 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0L7jQlB013568; Mon, 21 Jan 2013 07:45:26 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301210745.r0L7jQlB013568@svn.freebsd.org> From: Bryan Venteicher Date: Mon, 21 Jan 2013 07:45:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245738 - projects/virtio/share/man/man4 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jan 2013 07:45:26 -0000 Author: bryanv Date: Mon Jan 21 07:45:25 2013 New Revision: 245738 URL: http://svnweb.freebsd.org/changeset/base/245738 Log: virtio: Minor man page tweaks virtio_pci does not have its own man page and use .Nm for self-reference. Obtained from: DragonflyBSD Approved by: grehan (implicit) Modified: projects/virtio/share/man/man4/virtio.4 Modified: projects/virtio/share/man/man4/virtio.4 ============================================================================== --- projects/virtio/share/man/man4/virtio.4 Mon Jan 21 07:41:27 2013 (r245737) +++ projects/virtio/share/man/man4/virtio.4 Mon Jan 21 07:45:25 2013 (r245738) @@ -53,10 +53,10 @@ This emulation is often inefficient. .Pp VirtIO defines an interface for efficient I/O between the hypervisor and VM. The -.Xr virtio 4 +.Nm module provides a shared memory transport called a virtqueue. The -.Xr virtio_pci 4 +.Xr virtio_pci device driver represents an emulated PCI device that the hypervisor makes available to the VM. This device provides the probing, configuration, and From owner-svn-src-projects@FreeBSD.ORG Mon Jan 21 20:15:50 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 185A154F; Mon, 21 Jan 2013 20:15:50 +0000 (UTC) (envelope-from bryanv@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 0A08EAC2; Mon, 21 Jan 2013 20:15:50 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0LKFn9c045239; Mon, 21 Jan 2013 20:15:49 GMT (envelope-from bryanv@svn.freebsd.org) Received: (from bryanv@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0LKFn6K045238; Mon, 21 Jan 2013 20:15:49 GMT (envelope-from bryanv@svn.freebsd.org) Message-Id: <201301212015.r0LKFn6K045238@svn.freebsd.org> From: Bryan Venteicher Date: Mon, 21 Jan 2013 20:15:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245747 - projects/virtio/sys/dev/virtio/network X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jan 2013 20:15:50 -0000 Author: bryanv Date: Mon Jan 21 20:15:49 2013 New Revision: 245747 URL: http://svnweb.freebsd.org/changeset/base/245747 Log: vtnet: Remove taskqueue fields missed in r245721 Approved by: grehan (implicit) Modified: projects/virtio/sys/dev/virtio/network/if_vtnetvar.h Modified: projects/virtio/sys/dev/virtio/network/if_vtnetvar.h ============================================================================== --- projects/virtio/sys/dev/virtio/network/if_vtnetvar.h Mon Jan 21 20:15:35 2013 (r245746) +++ projects/virtio/sys/dev/virtio/network/if_vtnetvar.h Mon Jan 21 20:15:49 2013 (r245747) @@ -79,11 +79,6 @@ struct vtnet_softc { int vtnet_watchdog_timer; uint64_t vtnet_features; - struct taskqueue *vtnet_tq; - struct task vtnet_rx_intr_task; - struct task vtnet_tx_intr_task; - struct task vtnet_cfgchg_task; - struct vtnet_statistics vtnet_stats; struct callout vtnet_tick_ch; From owner-svn-src-projects@FreeBSD.ORG Tue Jan 22 06:20:43 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id BE88BAE7; Tue, 22 Jan 2013 06:20:43 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9A05777B; Tue, 22 Jan 2013 06:20:43 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0M6KhAQ036476; Tue, 22 Jan 2013 06:20:43 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0M6KhQL036475; Tue, 22 Jan 2013 06:20:43 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201301220620.r0M6KhQL036475@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 22 Jan 2013 06:20:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245769 - projects/counters/sys/contrib/ipfilter/netinet X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jan 2013 06:20:43 -0000 Author: glebius Date: Tue Jan 22 06:20:43 2013 New Revision: 245769 URL: http://svnweb.freebsd.org/changeset/base/245769 Log: Forcibly defining _KERNEL is bad idea. Toss some code so that ip_var.h isn't included with forced _KERNEL define. Modified: projects/counters/sys/contrib/ipfilter/netinet/ip_auth.c Modified: projects/counters/sys/contrib/ipfilter/netinet/ip_auth.c ============================================================================== --- projects/counters/sys/contrib/ipfilter/netinet/ip_auth.c Tue Jan 22 05:41:34 2013 (r245768) +++ projects/counters/sys/contrib/ipfilter/netinet/ip_auth.c Tue Jan 22 06:20:43 2013 (r245769) @@ -70,14 +70,14 @@ struct file; #include #include #include +#if !defined(linux) +# include +#endif #if !defined(_KERNEL) && !defined(__osf__) && !defined(__sgi) # define KERNEL # define _KERNEL # define NOT_KERNEL #endif -#if !defined(linux) -# include -#endif #ifdef NOT_KERNEL # undef _KERNEL # undef KERNEL From owner-svn-src-projects@FreeBSD.ORG Tue Jan 22 06:21:45 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 83F76CE3; Tue, 22 Jan 2013 06:21:45 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 76C54787; Tue, 22 Jan 2013 06:21:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0M6Lj2m038145; Tue, 22 Jan 2013 06:21:45 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0M6LjEh038144; Tue, 22 Jan 2013 06:21:45 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201301220621.r0M6LjEh038144@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 22 Jan 2013 06:21:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245770 - projects/counters/usr.bin/netstat X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jan 2013 06:21:45 -0000 Author: glebius Date: Tue Jan 22 06:21:44 2013 New Revision: 245770 URL: http://svnweb.freebsd.org/changeset/base/245770 Log: Since ipstat fields grew to uint64_t fix their formatting. Modified: projects/counters/usr.bin/netstat/inet.c Modified: projects/counters/usr.bin/netstat/inet.c ============================================================================== --- projects/counters/usr.bin/netstat/inet.c Tue Jan 22 06:20:43 2013 (r245769) +++ projects/counters/usr.bin/netstat/inet.c Tue Jan 22 06:21:44 2013 (r245770) @@ -858,43 +858,43 @@ ip_stats(u_long off, const char *name, i printf("%s:\n", name); #define p(f, m) if (ipstat.f || sflag <= 1) \ - printf(m, ipstat.f, plural(ipstat.f)) + printf(m, (uintmax_t )ipstat.f, plural(ipstat.f)) #define p1a(f, m) if (ipstat.f || sflag <= 1) \ - printf(m, ipstat.f) + printf(m, (uintmax_t )ipstat.f) - p(ips_total, "\t%lu total packet%s received\n"); - p(ips_badsum, "\t%lu bad header checksum%s\n"); - p1a(ips_toosmall, "\t%lu with size smaller than minimum\n"); - p1a(ips_tooshort, "\t%lu with data size < data length\n"); - p1a(ips_toolong, "\t%lu with ip length > max ip packet size\n"); - p1a(ips_badhlen, "\t%lu with header length < data size\n"); - p1a(ips_badlen, "\t%lu with data length < header length\n"); - p1a(ips_badoptions, "\t%lu with bad options\n"); - p1a(ips_badvers, "\t%lu with incorrect version number\n"); - p(ips_fragments, "\t%lu fragment%s received\n"); - p(ips_fragdropped, "\t%lu fragment%s dropped (dup or out of space)\n"); - p(ips_fragtimeout, "\t%lu fragment%s dropped after timeout\n"); - p(ips_reassembled, "\t%lu packet%s reassembled ok\n"); - p(ips_delivered, "\t%lu packet%s for this host\n"); - p(ips_noproto, "\t%lu packet%s for unknown/unsupported protocol\n"); - p(ips_forward, "\t%lu packet%s forwarded"); - p(ips_fastforward, " (%lu packet%s fast forwarded)"); + p(ips_total, "\t%ju total packet%s received\n"); + p(ips_badsum, "\t%ju bad header checksum%s\n"); + p1a(ips_toosmall, "\t%ju with size smaller than minimum\n"); + p1a(ips_tooshort, "\t%ju with data size < data length\n"); + p1a(ips_toolong, "\t%ju with ip length > max ip packet size\n"); + p1a(ips_badhlen, "\t%ju with header length < data size\n"); + p1a(ips_badlen, "\t%ju with data length < header length\n"); + p1a(ips_badoptions, "\t%ju with bad options\n"); + p1a(ips_badvers, "\t%ju with incorrect version number\n"); + p(ips_fragments, "\t%ju fragment%s received\n"); + p(ips_fragdropped, "\t%ju fragment%s dropped (dup or out of space)\n"); + p(ips_fragtimeout, "\t%ju fragment%s dropped after timeout\n"); + p(ips_reassembled, "\t%ju packet%s reassembled ok\n"); + p(ips_delivered, "\t%ju packet%s for this host\n"); + p(ips_noproto, "\t%ju packet%s for unknown/unsupported protocol\n"); + p(ips_forward, "\t%ju packet%s forwarded"); + p(ips_fastforward, " (%ju packet%s fast forwarded)"); if (ipstat.ips_forward || sflag <= 1) putchar('\n'); - p(ips_cantforward, "\t%lu packet%s not forwardable\n"); + p(ips_cantforward, "\t%ju packet%s not forwardable\n"); p(ips_notmember, - "\t%lu packet%s received for unknown multicast group\n"); - p(ips_redirectsent, "\t%lu redirect%s sent\n"); - p(ips_localout, "\t%lu packet%s sent from this host\n"); - p(ips_rawout, "\t%lu packet%s sent with fabricated ip header\n"); + "\t%ju packet%s received for unknown multicast group\n"); + p(ips_redirectsent, "\t%ju redirect%s sent\n"); + p(ips_localout, "\t%ju packet%s sent from this host\n"); + p(ips_rawout, "\t%ju packet%s sent with fabricated ip header\n"); p(ips_odropped, - "\t%lu output packet%s dropped due to no bufs, etc.\n"); - p(ips_noroute, "\t%lu output packet%s discarded due to no route\n"); - p(ips_fragmented, "\t%lu output datagram%s fragmented\n"); - p(ips_ofragments, "\t%lu fragment%s created\n"); - p(ips_cantfrag, "\t%lu datagram%s that can't be fragmented\n"); - p(ips_nogif, "\t%lu tunneling packet%s that can't find gif\n"); - p(ips_badaddr, "\t%lu datagram%s with bad address in header\n"); + "\t%ju output packet%s dropped due to no bufs, etc.\n"); + p(ips_noroute, "\t%ju output packet%s discarded due to no route\n"); + p(ips_fragmented, "\t%ju output datagram%s fragmented\n"); + p(ips_ofragments, "\t%ju fragment%s created\n"); + p(ips_cantfrag, "\t%ju datagram%s that can't be fragmented\n"); + p(ips_nogif, "\t%ju tunneling packet%s that can't find gif\n"); + p(ips_badaddr, "\t%ju datagram%s with bad address in header\n"); #undef p #undef p1a } From owner-svn-src-projects@FreeBSD.ORG Tue Jan 22 06:22:41 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 74F73E04; Tue, 22 Jan 2013 06:22:41 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 51BD0791; Tue, 22 Jan 2013 06:22:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0M6MfCU038331; Tue, 22 Jan 2013 06:22:41 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0M6MfWW038329; Tue, 22 Jan 2013 06:22:41 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201301220622.r0M6MfWW038329@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 22 Jan 2013 06:22:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245771 - in projects/counters/sys: kern sys X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jan 2013 06:22:41 -0000 Author: glebius Date: Tue Jan 22 06:22:40 2013 New Revision: 245771 URL: http://svnweb.freebsd.org/changeset/base/245771 Log: Remove namespace pollution. Noticed by: bde Modified: projects/counters/sys/kern/subr_counter.c projects/counters/sys/sys/counter.h Modified: projects/counters/sys/kern/subr_counter.c ============================================================================== --- projects/counters/sys/kern/subr_counter.c Tue Jan 22 06:21:44 2013 (r245770) +++ projects/counters/sys/kern/subr_counter.c Tue Jan 22 06:22:40 2013 (r245771) @@ -28,6 +28,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include #include Modified: projects/counters/sys/sys/counter.h ============================================================================== --- projects/counters/sys/sys/counter.h Tue Jan 22 06:21:44 2013 (r245770) +++ projects/counters/sys/sys/counter.h Tue Jan 22 06:22:40 2013 (r245771) @@ -29,9 +29,6 @@ #ifndef __SYS_COUNTER_H__ #define __SYS_COUNTER_H__ -#include -#include - typedef uint64_t *counter_u64_t; #include From owner-svn-src-projects@FreeBSD.ORG Tue Jan 22 06:23:19 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 5EE86F2A; Tue, 22 Jan 2013 06:23:19 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 2FCE479C; Tue, 22 Jan 2013 06:23:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0M6NJc8038450; Tue, 22 Jan 2013 06:23:19 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0M6NJSK038449; Tue, 22 Jan 2013 06:23:19 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201301220623.r0M6NJSK038449@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 22 Jan 2013 06:23:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245772 - projects/counters/sys/pc98/include X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jan 2013 06:23:19 -0000 Author: glebius Date: Tue Jan 22 06:23:18 2013 New Revision: 245772 URL: http://svnweb.freebsd.org/changeset/base/245772 Log: Supply counter.h for pc98. Added: projects/counters/sys/pc98/include/counter.h (contents, props changed) Added: projects/counters/sys/pc98/include/counter.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/counters/sys/pc98/include/counter.h Tue Jan 22 06:23:18 2013 (r245772) @@ -0,0 +1,6 @@ +/*- + * This file is in the public domain. + */ +/* $FreeBSD$ */ + +#include From owner-svn-src-projects@FreeBSD.ORG Tue Jan 22 06:32:49 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 02BF422B; Tue, 22 Jan 2013 06:32:49 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id CA6477D4; Tue, 22 Jan 2013 06:32:48 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0M6Wm3a041253; Tue, 22 Jan 2013 06:32:48 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0M6WlCD041241; Tue, 22 Jan 2013 06:32:47 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201301220632.r0M6WlCD041241@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 22 Jan 2013 06:32:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245773 - in projects/counters/sys: amd64/include arm/include i386/include ia64/include mips/include powerpc/include sparc64/include sys X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jan 2013 06:32:49 -0000 Author: glebius Date: Tue Jan 22 06:32:46 2013 New Revision: 245773 URL: http://svnweb.freebsd.org/changeset/base/245773 Log: To reduce memory waste in UMA_ZONE_PCPU zones, pad struct pcpu on all architectures so that sizeof(struct pcpu) is denominator of PAGE_SIZE. Provide CTASSERT() that would force that. Since struct pcpu is CACHE_SIZE aligned, the padding size was chosen to be just +1 byte to a multiple of CACHE_SIZE. This allows future growing of MD pcpu fields without recalculating padding size. However, once it grows beyond CACHE_SIZE, the assert will fail and someone will need to reconsider padding size. Modified: projects/counters/sys/amd64/include/pcpu.h projects/counters/sys/arm/include/pcpu.h projects/counters/sys/i386/include/pcpu.h projects/counters/sys/ia64/include/pcpu.h projects/counters/sys/mips/include/pcpu.h projects/counters/sys/powerpc/include/pcpu.h projects/counters/sys/sparc64/include/pcpu.h projects/counters/sys/sys/pcpu.h Modified: projects/counters/sys/amd64/include/pcpu.h ============================================================================== --- projects/counters/sys/amd64/include/pcpu.h Tue Jan 22 06:23:18 2013 (r245772) +++ projects/counters/sys/amd64/include/pcpu.h Tue Jan 22 06:32:46 2013 (r245773) @@ -77,7 +77,9 @@ /* Pointer to the CPU TSS descriptor */ \ struct system_segment_descriptor *pc_tss; \ u_int pc_cmci_mask /* MCx banks for CMCI */ \ - PCPU_XEN_FIELDS + PCPU_XEN_FIELDS; \ + char __pad[293] /* be divisor of PAGE_SIZE \ + after cache alignment */ #ifdef _KERNEL Modified: projects/counters/sys/arm/include/pcpu.h ============================================================================== --- projects/counters/sys/arm/include/pcpu.h Tue Jan 22 06:23:18 2013 (r245772) +++ projects/counters/sys/arm/include/pcpu.h Tue Jan 22 06:32:46 2013 (r245773) @@ -48,12 +48,13 @@ struct vmspace; unsigned int pc_vfpmvfr0; \ unsigned int pc_vfpmvfr1; \ struct thread *pc_vfpcthread; \ - struct pmap *pc_curpmap; + struct pmap *pc_curpmap; \ + char __pad[133] #else -#define PCPU_MD_FIELDS +#define PCPU_MD_FIELDS \ + char __pad[157] #endif - #ifdef _KERNEL struct pcb; Modified: projects/counters/sys/i386/include/pcpu.h ============================================================================== --- projects/counters/sys/i386/include/pcpu.h Tue Jan 22 06:23:18 2013 (r245772) +++ projects/counters/sys/i386/include/pcpu.h Tue Jan 22 06:32:46 2013 (r245773) @@ -74,18 +74,22 @@ struct shadow_time_info { int pc_resched_irq; \ int pc_callfunc_irq; \ int pc_virq_to_irq[NR_VIRQS]; \ - int pc_ipi_to_irq[NR_IPIS] + int pc_ipi_to_irq[NR_IPIS]; \ + char __pad[77] #elif defined(XENHVM) #define PCPU_XEN_FIELDS \ ; \ unsigned int pc_last_processed_l1i; \ - unsigned int pc_last_processed_l2i + unsigned int pc_last_processed_l2i; \ + char __pad[229] #else /* !XEN && !XENHVM */ -#define PCPU_XEN_FIELDS +#define PCPU_XEN_FIELDS \ + ; \ + char __pad[237] #endif Modified: projects/counters/sys/ia64/include/pcpu.h ============================================================================== --- projects/counters/sys/ia64/include/pcpu.h Tue Jan 22 06:23:18 2013 (r245772) +++ projects/counters/sys/ia64/include/pcpu.h Tue Jan 22 06:32:46 2013 (r245773) @@ -64,7 +64,8 @@ struct pcpu_md { #define PCPU_MD_FIELDS \ uint32_t pc_acpi_id; /* ACPI CPU id. */ \ - struct pcpu_md pc_md /* MD fields. */ + struct pcpu_md pc_md; /* MD fields. */ \ + char __pad[1265] #ifdef _KERNEL Modified: projects/counters/sys/mips/include/pcpu.h ============================================================================== --- projects/counters/sys/mips/include/pcpu.h Tue Jan 22 06:23:18 2013 (r245772) +++ projects/counters/sys/mips/include/pcpu.h Tue Jan 22 06:32:46 2013 (r245773) @@ -33,13 +33,29 @@ #include -#define PCPU_MD_FIELDS \ +#define PCPU_MD_COMMON_FIELDS \ pd_entry_t *pc_segbase; /* curthread segbase */ \ struct pmap *pc_curpmap; /* pmap of curthread */ \ u_int32_t pc_next_asid; /* next ASID to alloc */ \ u_int32_t pc_asid_generation; /* current ASID generation */ \ u_int pc_pending_ipis; /* IPIs pending to this CPU */ +#ifdef __mips_n64 +#define PCPU_MD_MIPS64_FIELDS \ + PCPU_MD_COMMON_FIELDS \ + char __pad[61] +#else +#define PCPU_MD_MIPS32_FIELDS \ + PCPU_MD_COMMON_FIELDS \ + char __pad[133] +#endif + +#ifdef __mips_n64 +#define PCPU_MD_FIELDS PCPU_MD_MIPS64_FIELDS +#else +#define PCPU_MD_FIELDS PCPU_MD_MIPS32_FIELDS +#endif + #ifdef _KERNEL extern char pcpu_space[MAXCPU][PAGE_SIZE * 2]; Modified: projects/counters/sys/powerpc/include/pcpu.h ============================================================================== --- projects/counters/sys/powerpc/include/pcpu.h Tue Jan 22 06:23:18 2013 (r245772) +++ projects/counters/sys/powerpc/include/pcpu.h Tue Jan 22 06:32:46 2013 (r245773) @@ -51,13 +51,15 @@ struct pmap; register_t pc_disisave[CPUSAVE_LEN]; \ register_t pc_dbsave[CPUSAVE_LEN]; -#define PCPU_MD_AIM32_FIELDS +#define PCPU_MD_AIM32_FIELDS \ + char __pad[0] /* no pad for now */ #define PCPU_MD_AIM64_FIELDS \ struct slb pc_slb[64]; \ struct slb **pc_userslb; \ register_t pc_slbsave[18]; \ - uint8_t pc_slbstack[1024]; + uint8_t pc_slbstack[1024]; \ + char __pad[1137] #ifdef __powerpc64__ #define PCPU_MD_AIM_FIELDS PCPU_MD_AIM64_FIELDS @@ -76,7 +78,8 @@ struct pmap; register_t pc_booke_tlbsave[BOOKE_TLBSAVE_LEN]; \ register_t pc_booke_tlb_level; \ uint32_t *pc_booke_tlb_lock; \ - int pc_tid_next; + int pc_tid_next; \ + char __pad[173] /* Definitions for register offsets within the exception tmp save areas */ #define CPUSAVE_R27 0 /* where r27 gets saved */ Modified: projects/counters/sys/sparc64/include/pcpu.h ============================================================================== --- projects/counters/sys/sparc64/include/pcpu.h Tue Jan 22 06:23:18 2013 (r245772) +++ projects/counters/sys/sparc64/include/pcpu.h Tue Jan 22 06:32:46 2013 (r245773) @@ -60,7 +60,8 @@ struct pmap; u_int pc_node; \ u_int pc_tlb_ctx; \ u_int pc_tlb_ctx_max; \ - u_int pc_tlb_ctx_min + u_int pc_tlb_ctx_min; \ + char __pad[405] #ifdef _KERNEL Modified: projects/counters/sys/sys/pcpu.h ============================================================================== --- projects/counters/sys/sys/pcpu.h Tue Jan 22 06:23:18 2013 (r245772) +++ projects/counters/sys/sys/pcpu.h Tue Jan 22 06:32:46 2013 (r245773) @@ -180,6 +180,14 @@ struct pcpu { PCPU_MD_FIELDS; } __aligned(CACHE_LINE_SIZE); +#ifdef CTASSERT +/* + * To minimize memory waste in per-cpu UMA zones, size of struct pcpu + * should be denominator of PAGE_SIZE. + */ +CTASSERT((PAGE_SIZE / sizeof(struct pcpu)) * sizeof(struct pcpu) == PAGE_SIZE); +#endif + #ifdef _KERNEL STAILQ_HEAD(cpuhead, pcpu); From owner-svn-src-projects@FreeBSD.ORG Tue Jan 22 07:57:23 2013 Return-Path: Delivered-To: svn-src-projects@FreeBSD.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 1755C277; Tue, 22 Jan 2013 07:57:23 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail36.syd.optusnet.com.au (mail36.syd.optusnet.com.au [211.29.133.76]) by mx1.freebsd.org (Postfix) with ESMTP id 8A455AF8; Tue, 22 Jan 2013 07:57:22 +0000 (UTC) Received: from c211-30-173-106.carlnfd1.nsw.optusnet.com.au (c211-30-173-106.carlnfd1.nsw.optusnet.com.au [211.30.173.106]) by mail36.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id r0M7vDfb000443 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 22 Jan 2013 18:57:14 +1100 Date: Tue, 22 Jan 2013 18:57:13 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Gleb Smirnoff Subject: Re: svn commit: r245771 - in projects/counters/sys: kern sys In-Reply-To: <201301220622.r0M6MfWW038329@svn.freebsd.org> Message-ID: <20130122184626.W1395@besplex.bde.org> References: <201301220622.r0M6MfWW038329@svn.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.0 cv=Zty1sKHG c=1 sm=1 a=JMI7aLafToIA:10 a=kj9zAlcOel0A:10 a=PO7r1zJSAAAA:8 a=JzwRw_2MAAAA:8 a=7fsZw-ljgJ4A:10 a=PH8yd__uTiLABNZVN70A:9 a=CjuIK1q_8ugA:10 a=TEtd8y5WR3g2ypngnwZWYw==:117 Cc: svn-src-projects@FreeBSD.org, src-committers@FreeBSD.org X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jan 2013 07:57:23 -0000 On Tue, 22 Jan 2013, Gleb Smirnoff wrote: > Log: > Remove namespace pollution. > > Noticed by: bde > > Modified: > projects/counters/sys/kern/subr_counter.c > projects/counters/sys/sys/counter.h > > ... > Modified: projects/counters/sys/sys/counter.h > ============================================================================== > --- projects/counters/sys/sys/counter.h Tue Jan 22 06:21:44 2013 (r245770) > +++ projects/counters/sys/sys/counter.h Tue Jan 22 06:22:40 2013 (r245771) > @@ -29,9 +29,6 @@ > #ifndef __SYS_COUNTER_H__ > #define __SYS_COUNTER_H__ > > -#include > -#include > - > typedef uint64_t *counter_u64_t; > > #include Thanks. There are several other headers in in -current that include sys/param.h: acl.h:#include fail.h:#include ktr.h:#include malloc.h:#include pmckern.h:#include posix4.h:#include procfs.h:#include ptrace.h:#include tty.h:#include In FreeBSD-[3-5], procfs.h was the only one of these. posix4.h also had it, but wasn't in . Bruce From owner-svn-src-projects@FreeBSD.ORG Tue Jan 22 08:07:15 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id D18C9AA4; Tue, 22 Jan 2013 08:07:15 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C33D9B9E; Tue, 22 Jan 2013 08:07:15 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0M87FCm069305; Tue, 22 Jan 2013 08:07:15 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0M87FsS069304; Tue, 22 Jan 2013 08:07:15 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201301220807.r0M87FsS069304@svn.freebsd.org> From: Mark Linimon Date: Tue, 22 Jan 2013 08:07:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245780 - projects/portbuild/scripts X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jan 2013 08:07:15 -0000 Author: linimon (doc,ports committer) Date: Tue Jan 22 08:07:15 2013 New Revision: 245780 URL: http://svnweb.freebsd.org/changeset/base/245780 Log: Restore the ability to list -exp runs. Modified: projects/portbuild/scripts/dopackagestats Modified: projects/portbuild/scripts/dopackagestats ============================================================================== --- projects/portbuild/scripts/dopackagestats Tue Jan 22 07:40:38 2013 (r245779) +++ projects/portbuild/scripts/dopackagestats Tue Jan 22 08:07:15 2013 (r245780) @@ -365,7 +365,8 @@ for arch in ${SUPPORTED_ARCHS}; do sort -n` if [ ! -z "$branches" ]; then for branch in $branches; do - builds=`ls -d $branch* | \ + builds=`cd ${pbd}/${arch} 2> /dev/null && \ + ls -d $branch* 2> /dev/null | \ grep -v "${SRC_BRANCHES_PATTERN}$" | \ sort` if [ ! -z "$builds" ]; then From owner-svn-src-projects@FreeBSD.ORG Tue Jan 22 08:08:13 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id E929DBCF; Tue, 22 Jan 2013 08:08:13 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id C64A3BE1; Tue, 22 Jan 2013 08:08:13 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0M88DF8069497; Tue, 22 Jan 2013 08:08:13 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0M88Dq9069496; Tue, 22 Jan 2013 08:08:13 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201301220808.r0M88Dq9069496@svn.freebsd.org> From: Mark Linimon Date: Tue, 22 Jan 2013 08:08:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245781 - projects/portbuild/conf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jan 2013 08:08:14 -0000 Author: linimon (doc,ports committer) Date: Tue Jan 22 08:08:13 2013 New Revision: 245781 URL: http://svnweb.freebsd.org/changeset/base/245781 Log: Fix SRC_BRANCHES_PATTERN. I don't know how this got broken. Modified: projects/portbuild/conf/server.conf Modified: projects/portbuild/conf/server.conf ============================================================================== --- projects/portbuild/conf/server.conf Tue Jan 22 08:07:15 2013 (r245780) +++ projects/portbuild/conf/server.conf Tue Jan 22 08:08:13 2013 (r245781) @@ -18,7 +18,7 @@ SUPPORTED_ARCHS="amd64 arm i386 ia64 mips powerpc sparc64" SRC_BRANCHES="7 8 9 10" -SRC_BRANCHES_PATTERN="^[0-9]*" +SRC_BRANCHES_PATTERN="^[0-9]" SRC_BRANCH_7_SUBDIR=releng/7.4/ SRC_BRANCH_8_SUBDIR=releng/8.3/ SRC_BRANCH_9_SUBDIR=releng/9.0/ From owner-svn-src-projects@FreeBSD.ORG Tue Jan 22 08:09:44 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 95CD3D66; Tue, 22 Jan 2013 08:09:44 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 88FE4C00; Tue, 22 Jan 2013 08:09:44 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0M89iCS069826; Tue, 22 Jan 2013 08:09:44 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0M89iP0069825; Tue, 22 Jan 2013 08:09:44 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201301220809.r0M89iP0069825@svn.freebsd.org> From: Mark Linimon Date: Tue, 22 Jan 2013 08:09:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245782 - projects/portbuild/conf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jan 2013 08:09:44 -0000 Author: linimon (doc,ports committer) Date: Tue Jan 22 08:09:43 2013 New Revision: 245782 URL: http://svnweb.freebsd.org/changeset/base/245782 Log: Remove stale comment. Modified: projects/portbuild/conf/server.conf Modified: projects/portbuild/conf/server.conf ============================================================================== --- projects/portbuild/conf/server.conf Tue Jan 22 08:08:13 2013 (r245781) +++ projects/portbuild/conf/server.conf Tue Jan 22 08:09:43 2013 (r245782) @@ -33,7 +33,7 @@ ZFS_VOLUME=a # zfs mount point ZFS_MOUNTPOINT=/a # zfs permission set. this delegates all permissions except "allow" and -# "receive". (see zfsadmin) +# "receive". ZFS_PERMISSIONSET=clone,create,destroy,mount,promote,rename,rollback,send,share,snapshot # portbuild subtree. holds portbuild codebase plus all architectures. From owner-svn-src-projects@FreeBSD.ORG Tue Jan 22 10:22:21 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 393ACE8F; Tue, 22 Jan 2013 10:22:21 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 2854B79F; Tue, 22 Jan 2013 10:22:21 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0MAMLgZ011301; Tue, 22 Jan 2013 10:22:21 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0MAMDxs011248; Tue, 22 Jan 2013 10:22:13 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201301221022.r0MAMDxs011248@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 22 Jan 2013 10:22:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245784 - in projects/counters: . bin/sh contrib/libcxxrt etc gnu/usr.bin/gdb/kgdb gnu/usr.bin/grep lib/libc/sys lib/libvmmapi release share/info share/man/man4 share/man/man5 share/man... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jan 2013 10:22:21 -0000 Author: glebius Date: Tue Jan 22 10:22:12 2013 New Revision: 245784 URL: http://svnweb.freebsd.org/changeset/base/245784 Log: Merge head r243428 through r245783. Added: projects/counters/usr.sbin/bsdinstall/partedit/scripted.c - copied unchanged from r245783, head/usr.sbin/bsdinstall/partedit/scripted.c projects/counters/usr.sbin/bsdinstall/scripts/script - copied unchanged from r245783, head/usr.sbin/bsdinstall/scripts/script Modified: projects/counters/Makefile.inc1 projects/counters/bin/sh/TOUR projects/counters/bin/sh/eval.c projects/counters/bin/sh/init.h projects/counters/bin/sh/input.c projects/counters/bin/sh/main.c projects/counters/bin/sh/mkinit.c projects/counters/bin/sh/sh.1 projects/counters/bin/sh/var.c projects/counters/contrib/libcxxrt/exception.cc projects/counters/etc/Makefile projects/counters/gnu/usr.bin/gdb/kgdb/main.c projects/counters/gnu/usr.bin/grep/grep.c projects/counters/lib/libc/sys/kqueue.2 projects/counters/release/rc.local projects/counters/share/info/Makefile projects/counters/share/man/man4/Makefile projects/counters/share/man/man5/make.conf.5 projects/counters/share/man/man9/VFS_SET.9 projects/counters/share/mk/bsd.incs.mk projects/counters/share/mk/bsd.info.mk projects/counters/share/mk/bsd.lib.mk projects/counters/share/mk/bsd.links.mk projects/counters/share/mk/bsd.man.mk projects/counters/share/mk/bsd.own.mk projects/counters/sys/amd64/include/vmm.h (contents, props changed) projects/counters/sys/amd64/include/vmm_dev.h (contents, props changed) projects/counters/sys/amd64/vmm/vmm.c (contents, props changed) projects/counters/sys/boot/arm/uboot/Makefile projects/counters/sys/boot/fdt/dts/beaglebone.dts projects/counters/sys/boot/i386/efi/Makefile projects/counters/sys/boot/sparc64/loader/main.c projects/counters/sys/conf/Makefile.arm projects/counters/sys/conf/files.amd64 projects/counters/sys/conf/files.i386 projects/counters/sys/conf/ldscript.arm projects/counters/sys/contrib/dev/acpica/include/acglobal.h projects/counters/sys/contrib/octeon-sdk/cvmx-helper-board.c projects/counters/sys/dev/ath/if_ath_tx.c projects/counters/sys/dev/ath/if_athvar.h projects/counters/sys/dev/hpt27xx/hpt27xx_config.c projects/counters/sys/dev/hpt27xx/os_bsd.h projects/counters/sys/dev/hpt27xx/osm_bsd.c projects/counters/sys/dev/mmc/mmc.c projects/counters/sys/dev/mmc/mmcreg.h projects/counters/sys/dev/usb/quirk/usb_quirk.c projects/counters/sys/dev/usb/usbdevs projects/counters/sys/modules/hpt27xx/Makefile projects/counters/sys/net/if_lagg.c projects/counters/sys/netinet/tcp_input.c projects/counters/tools/install.sh projects/counters/usr.bin/grep/grep.c projects/counters/usr.bin/tr/tr.c projects/counters/usr.sbin/bhyve/bhyverun.c (contents, props changed) projects/counters/usr.sbin/bhyve/pci_emul.h (contents, props changed) projects/counters/usr.sbin/bhyve/pci_passthru.c (contents, props changed) projects/counters/usr.sbin/bhyvectl/bhyvectl.c (contents, props changed) projects/counters/usr.sbin/bsdconfig/share/script.subr projects/counters/usr.sbin/bsdinstall/bsdinstall.8 projects/counters/usr.sbin/bsdinstall/partedit/Makefile projects/counters/usr.sbin/bsdinstall/partedit/diskeditor.c projects/counters/usr.sbin/bsdinstall/partedit/part_wizard.c projects/counters/usr.sbin/bsdinstall/partedit/partedit.c projects/counters/usr.sbin/bsdinstall/partedit/partedit.h projects/counters/usr.sbin/bsdinstall/scripts/Makefile projects/counters/usr.sbin/inetd/inetd.c Directory Properties: projects/counters/ (props changed) projects/counters/contrib/libcxxrt/ (props changed) projects/counters/gnu/usr.bin/gdb/ (props changed) projects/counters/lib/libc/ (props changed) projects/counters/lib/libvmmapi/ (props changed) projects/counters/lib/libvmmapi/Makefile (props changed) projects/counters/lib/libvmmapi/vmmapi.c (props changed) projects/counters/lib/libvmmapi/vmmapi.h (props changed) projects/counters/lib/libvmmapi/vmmapi_freebsd.c (props changed) projects/counters/share/man/man4/ (props changed) projects/counters/sys/ (props changed) projects/counters/sys/amd64/vmm/ (props changed) projects/counters/sys/amd64/vmm/amd/amdv.c (props changed) projects/counters/sys/amd64/vmm/intel/ept.c (props changed) projects/counters/sys/amd64/vmm/intel/ept.h (props changed) projects/counters/sys/amd64/vmm/intel/vmcs.c (props changed) projects/counters/sys/amd64/vmm/intel/vmcs.h (props changed) projects/counters/sys/amd64/vmm/intel/vmx.c (props changed) projects/counters/sys/amd64/vmm/intel/vmx.h (props changed) projects/counters/sys/amd64/vmm/intel/vmx_controls.h (props changed) projects/counters/sys/amd64/vmm/intel/vmx_cpufunc.h (props changed) projects/counters/sys/amd64/vmm/intel/vmx_genassym.c (props changed) projects/counters/sys/amd64/vmm/intel/vmx_msr.c (props changed) projects/counters/sys/amd64/vmm/intel/vmx_msr.h (props changed) projects/counters/sys/amd64/vmm/intel/vmx_support.S (props changed) projects/counters/sys/amd64/vmm/intel/vtd.c (props changed) projects/counters/sys/amd64/vmm/io/iommu.c (props changed) projects/counters/sys/amd64/vmm/io/iommu.h (props changed) projects/counters/sys/amd64/vmm/io/ppt.c (props changed) projects/counters/sys/amd64/vmm/io/ppt.h (props changed) projects/counters/sys/amd64/vmm/io/vdev.c (props changed) projects/counters/sys/amd64/vmm/io/vdev.h (props changed) projects/counters/sys/amd64/vmm/io/vlapic.c (props changed) projects/counters/sys/amd64/vmm/io/vlapic.h (props changed) projects/counters/sys/amd64/vmm/vmm_dev.c (props changed) projects/counters/sys/amd64/vmm/vmm_ipi.c (props changed) projects/counters/sys/amd64/vmm/vmm_ipi.h (props changed) projects/counters/sys/amd64/vmm/vmm_ktr.h (props changed) projects/counters/sys/amd64/vmm/vmm_lapic.c (props changed) projects/counters/sys/amd64/vmm/vmm_lapic.h (props changed) projects/counters/sys/amd64/vmm/vmm_mem.c (props changed) projects/counters/sys/amd64/vmm/vmm_mem.h (props changed) projects/counters/sys/amd64/vmm/vmm_msr.c (props changed) projects/counters/sys/amd64/vmm/vmm_msr.h (props changed) projects/counters/sys/amd64/vmm/vmm_stat.c (props changed) projects/counters/sys/amd64/vmm/vmm_stat.h (props changed) projects/counters/sys/amd64/vmm/vmm_support.S (props changed) projects/counters/sys/amd64/vmm/vmm_util.c (props changed) projects/counters/sys/amd64/vmm/vmm_util.h (props changed) projects/counters/sys/amd64/vmm/x86.c (props changed) projects/counters/sys/amd64/vmm/x86.h (props changed) projects/counters/sys/boot/ (props changed) projects/counters/sys/boot/i386/efi/ (props changed) projects/counters/sys/conf/ (props changed) projects/counters/sys/contrib/dev/acpica/ (props changed) projects/counters/sys/contrib/dev/acpica/include/ (props changed) projects/counters/sys/contrib/octeon-sdk/ (props changed) projects/counters/sys/dev/blackhole/ (props changed) projects/counters/sys/dev/blackhole/blackhole.c (props changed) projects/counters/sys/dev/bvm/ (props changed) projects/counters/sys/dev/bvm/bvm_console.c (props changed) projects/counters/sys/dev/bvm/bvm_dbg.c (props changed) projects/counters/sys/modules/blackhole/ (props changed) projects/counters/sys/modules/blackhole/Makefile (props changed) projects/counters/sys/modules/vmm/ (props changed) projects/counters/sys/modules/vmm/Makefile (props changed) projects/counters/usr.sbin/bhyve/ (props changed) projects/counters/usr.sbin/bhyve/Makefile (props changed) projects/counters/usr.sbin/bhyve/atpic.c (props changed) projects/counters/usr.sbin/bhyve/bhyverun.h (props changed) projects/counters/usr.sbin/bhyve/consport.c (props changed) projects/counters/usr.sbin/bhyve/dbgport.c (props changed) projects/counters/usr.sbin/bhyve/dbgport.h (props changed) projects/counters/usr.sbin/bhyve/elcr.c (props changed) projects/counters/usr.sbin/bhyve/inout.c (props changed) projects/counters/usr.sbin/bhyve/inout.h (props changed) projects/counters/usr.sbin/bhyve/mevent.c (props changed) projects/counters/usr.sbin/bhyve/mevent.h (props changed) projects/counters/usr.sbin/bhyve/mevent_test.c (props changed) projects/counters/usr.sbin/bhyve/mptbl.c (props changed) projects/counters/usr.sbin/bhyve/pci_emul.c (props changed) projects/counters/usr.sbin/bhyve/pci_hostbridge.c (props changed) projects/counters/usr.sbin/bhyve/pci_virtio_block.c (props changed) projects/counters/usr.sbin/bhyve/pci_virtio_net.c (props changed) projects/counters/usr.sbin/bhyve/pit_8254.c (props changed) projects/counters/usr.sbin/bhyve/pit_8254.h (props changed) projects/counters/usr.sbin/bhyve/post.c (props changed) projects/counters/usr.sbin/bhyve/rtc.c (props changed) projects/counters/usr.sbin/bhyve/uart.c (props changed) projects/counters/usr.sbin/bhyve/virtio.h (props changed) projects/counters/usr.sbin/bhyve/xmsr.c (props changed) projects/counters/usr.sbin/bhyve/xmsr.h (props changed) projects/counters/usr.sbin/bhyvectl/ (props changed) projects/counters/usr.sbin/bhyvectl/Makefile (props changed) Modified: projects/counters/Makefile.inc1 ============================================================================== --- projects/counters/Makefile.inc1 Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/Makefile.inc1 Tue Jan 22 10:22:12 2013 (r245784) @@ -12,7 +12,6 @@ # -DNO_KERNELOBJ do not run ${MAKE} obj in ${MAKE} buildkernel # -DNO_PORTSUPDATE do not update ports in ${MAKE} update # -DNO_DOCUPDATE do not update doc in ${MAKE} update -# -DNO_WWWUPDATE do not update www in ${MAKE} update # -DDB_FROM_SRC use the user/group databases in src/etc instead of # the system database when installing. # -DNO_CTF do not run the DTrace CTF conversion tools on built objects @@ -968,6 +967,13 @@ update: @echo "--------------------------------------------------------------" @echo ">>> Running ${SUP}" @echo "--------------------------------------------------------------" + @echo "!! WARNING WARNING WARNING WARNING WARNING WARNING WARNING !!" + @echo "!! Update methods with ${SUP} are deprecated." + @echo "!! Please see http://www.freebsd.org/handbook/svn.html" + @echo "!! and convert your update method to SVN_UPDATE or" + @echo "!! freebsd-update(8)." + @echo "!! WARNING WARNING WARNING WARNING WARNING WARNING WARNING !!" + @sleep 5 .if defined(SUPFILE) @${SUP} ${SUPFLAGS} ${SUPFILE} .endif @@ -983,9 +989,6 @@ update: .if defined(DOCSUPFILE) && !defined(NO_DOCUPDATE) @${SUP} ${SUPFLAGS} ${DOCSUPFILE} .endif -.if defined(WWWSUPFILE) && !defined(NO_WWWUPDATE) - @${SUP} ${SUPFLAGS} ${WWWSUPFILE} -.endif .endif .if defined(CVS_UPDATE) @cd ${.CURDIR} ; \ @@ -993,6 +996,13 @@ update: echo "--------------------------------------------------------------" ; \ echo ">>> Updating ${.CURDIR} from CVS repository" ${CVSROOT} ; \ echo "--------------------------------------------------------------" ; \ + echo "!! WARNING WARNING WARNING WARNING WARNING WARNING WARNING !!" ; \ + echo "!! Update methods with ${SUP} are deprecated." ; \ + echo "!! Please see http://www.freebsd.org/handbook/svn.html" ; \ + echo "!! and convert your update method to SVN_UPDATE or" ; \ + echo "!! freebsd-update(8)." ; \ + echo "!! WARNING WARNING WARNING WARNING WARNING WARNING WARNING !!" ; \ + sleep 5 ; \ echo ${CVS} -R -q update ${CVSFLAGS} ; \ ${CVS} -R -q update ${CVSFLAGS} ; \ fi @@ -1072,7 +1082,7 @@ _lex= usr.bin/lex _yacc= usr.bin/yacc .endif -.if defined(DB_FROM_SRC) && ${BOOTSTRAPPING} < 1000026 +.if ${BOOTSTRAPPING} < 1000026 _nmtree= lib/libnetbsd \ usr.sbin/nmtree .endif Modified: projects/counters/bin/sh/TOUR ============================================================================== --- projects/counters/bin/sh/TOUR Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/bin/sh/TOUR Tue Jan 22 10:22:12 2013 (r245784) @@ -33,10 +33,6 @@ programs is: There are undoubtedly too many of these. Mkinit searches all the C source files for entries looking like: - INIT { - x = 1; /* executed during initialization */ - } - RESET { x = 2; /* executed when the shell does a longjmp back to the main command loop */ Modified: projects/counters/bin/sh/eval.c ============================================================================== --- projects/counters/bin/sh/eval.c Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/bin/sh/eval.c Tue Jan 22 10:22:12 2013 (r245784) @@ -193,7 +193,9 @@ evaltree(union node *n, int flags) { int do_etest; union node *next; + struct stackmark smark; + setstackmark(&smark); do_etest = 0; if (n == NULL) { TRACE(("evaltree(NULL) called\n")); @@ -292,8 +294,10 @@ evaltree(union node *n, int flags) break; } n = next; + popstackmark(&smark); } while (n != NULL); out: + popstackmark(&smark); if (pendingsigs) dotrap(); if (eflag && exitstatus != 0 && do_etest) @@ -347,10 +351,8 @@ evalfor(union node *n, int flags) struct arglist arglist; union node *argp; struct strlist *sp; - struct stackmark smark; int status; - setstackmark(&smark); arglist.lastp = &arglist.list; for (argp = n->nfor.args ; argp ; argp = argp->narg.next) { oexitstatus = exitstatus; @@ -375,7 +377,6 @@ evalfor(union node *n, int flags) } } loopnest--; - popstackmark(&smark); exitstatus = status; } @@ -392,16 +393,13 @@ evalcase(union node *n) union node *cp; union node *patp; struct arglist arglist; - struct stackmark smark; - setstackmark(&smark); arglist.lastp = &arglist.list; oexitstatus = exitstatus; expandarg(n->ncase.expr, &arglist, EXP_TILDE); for (cp = n->ncase.cases ; cp ; cp = cp->nclist.next) { for (patp = cp->nclist.pattern ; patp ; patp = patp->narg.next) { if (casematch(patp, arglist.list->text)) { - popstackmark(&smark); while (cp->nclist.next && cp->type == NCLISTFALLTHRU && cp->nclist.body == NULL) @@ -415,7 +413,6 @@ evalcase(union node *n) } } } - popstackmark(&smark); exitstatus = 0; return (NULL); } @@ -610,7 +607,7 @@ evalbackcmd(union node *n, struct backcm { int pip[2]; struct job *jp; - struct stackmark smark; /* unnecessary */ + struct stackmark smark; struct jmploc jmploc; struct jmploc *savehandler; struct localvar *savelocalvars; @@ -751,7 +748,6 @@ safe_builtin(int idx, int argc, char **a static void evalcommand(union node *cmd, int flags, struct backcmd *backcmd) { - struct stackmark smark; union node *argp; struct arglist arglist; struct arglist varlist; @@ -778,7 +774,6 @@ evalcommand(union node *cmd, int flags, /* First expand the arguments. */ TRACE(("evalcommand(%p, %d) called\n", (void *)cmd, flags)); - setstackmark(&smark); arglist.lastp = &arglist.list; varlist.lastp = &varlist.list; varflag = 1; @@ -1149,7 +1144,6 @@ out: setvar("_", lastarg, 0); if (do_clearcmdentry) clearcmdentry(); - popstackmark(&smark); } Modified: projects/counters/bin/sh/init.h ============================================================================== --- projects/counters/bin/sh/init.h Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/bin/sh/init.h Tue Jan 22 10:22:12 2013 (r245784) @@ -33,5 +33,4 @@ * $FreeBSD$ */ -void init(void); void reset(void); Modified: projects/counters/bin/sh/input.c ============================================================================== --- projects/counters/bin/sh/input.c Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/bin/sh/input.c Tue Jan 22 10:22:12 2013 (r245784) @@ -64,7 +64,6 @@ __FBSDID("$FreeBSD$"); #define EOF_NLEFT -99 /* value of parsenleft when EOF pushed back */ -MKINIT struct strpush { struct strpush *prev; /* preceding string on stack */ char *prevstring; @@ -78,7 +77,6 @@ struct strpush { * contains information about the current file being read. */ -MKINIT struct parsefile { struct parsefile *prev; /* preceding file on stack */ int linno; /* current line */ @@ -96,8 +94,11 @@ int plinno = 1; /* input line number * int parsenleft; /* copy of parsefile->nleft */ MKINIT int parselleft; /* copy of parsefile->lleft */ char *parsenextc; /* copy of parsefile->nextc */ -MKINIT struct parsefile basepf; /* top level input file */ -char basebuf[BUFSIZ + 1]; /* buffer for top level input file */ +static char basebuf[BUFSIZ + 1];/* buffer for top level input file */ +static struct parsefile basepf = { /* top level input file */ + .nextc = basebuf, + .buf = basebuf +}; static struct parsefile *parsefile = &basepf; /* current input file */ int whichprompt; /* 1 == PS1, 2 == PS2 */ @@ -111,12 +112,6 @@ static void popstring(void); INCLUDE "input.h" INCLUDE "error.h" -MKINIT char basebuf[]; - -INIT { - basepf.nextc = basepf.buf = basebuf; -} - RESET { popallfiles(); parselleft = parsenleft = 0; /* clear input buffer */ Modified: projects/counters/bin/sh/main.c ============================================================================== --- projects/counters/bin/sh/main.c Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/bin/sh/main.c Tue Jan 22 10:22:12 2013 (r245784) @@ -139,7 +139,7 @@ main(int argc, char *argv[]) #endif rootpid = getpid(); rootshell = 1; - init(); + initvar(); setstackmark(&smark); setstackmark(&smark2); procargs(argc, argv); Modified: projects/counters/bin/sh/mkinit.c ============================================================================== --- projects/counters/bin/sh/mkinit.c Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/bin/sh/mkinit.c Tue Jan 22 10:22:12 2013 (r245784) @@ -101,7 +101,7 @@ struct block { */ struct event { - const char *name; /* name of event (e.g. INIT) */ + const char *name; /* name of event (e.g. RESET) */ const char *routine; /* name of routine called on event */ const char *comment; /* comment describing routine */ struct text code; /* code for handling event */ @@ -114,11 +114,6 @@ char writer[] = "\ */\n\ \n"; -char init[] = "\ -/*\n\ - * Initialization code.\n\ - */\n"; - char reset[] = "\ /*\n\ * This routine is called when an error or an interrupt occurs in an\n\ @@ -127,7 +122,6 @@ char reset[] = "\ struct event event[] = { - { "INIT", "init", init, { NULL, 0, NULL, NULL } }, { "RESET", "reset", reset, { NULL, 0, NULL, NULL } }, { NULL, NULL, NULL, { NULL, 0, NULL, NULL } } }; Modified: projects/counters/bin/sh/sh.1 ============================================================================== --- projects/counters/bin/sh/sh.1 Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/bin/sh/sh.1 Tue Jan 22 10:22:12 2013 (r245784) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd January 14, 2013 +.Dd January 20, 2013 .Dt SH 1 .Os .Sh NAME @@ -138,10 +138,10 @@ variable to some file by placing the fol .Pa .profile in the home directory, substituting for -.Pa .shinit +.Pa .shrc the filename desired: .Pp -.Dl "ENV=$HOME/.shinit; export ENV" +.Dl "ENV=$HOME/.shrc; export ENV" .Pp The first non-option argument specified on the command line will be treated as the Modified: projects/counters/bin/sh/var.c ============================================================================== --- projects/counters/bin/sh/var.c Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/bin/sh/var.c Tue Jan 22 10:22:12 2013 (r245784) @@ -146,29 +146,11 @@ static int varequal(const char *, const static struct var *find_var(const char *, struct var ***, int *); static int localevar(const char *); -/* - * Initialize the variable symbol tables and import the environment. - */ - -#ifdef mkinit -INCLUDE "var.h" -MKINIT char **environ; -INIT { - char **envp; - - initvar(); - for (envp = environ ; *envp ; envp++) { - if (strchr(*envp, '=')) { - setvareq(*envp, VEXPORT|VTEXTFIXED); - } - } -} -#endif - +extern char **environ; /* - * This routine initializes the builtin variables. It is called when the - * shell is initialized. + * This routine initializes the builtin variables and imports the environment. + * It is called when the shell is initialized. */ void @@ -178,6 +160,7 @@ initvar(void) const struct varinit *ip; struct var *vp; struct var **vpp; + char **envp; for (ip = varinit ; (vp = ip->var) != NULL ; ip++) { if (find_var(ip->text, &vpp, &vp->name_len) != NULL) @@ -201,6 +184,11 @@ initvar(void) fmtstr(ppid, sizeof(ppid), "%d", (int)getppid()); setvarsafe("PPID", ppid, 0); } + for (envp = environ ; *envp ; envp++) { + if (strchr(*envp, '=')) { + setvareq(*envp, VEXPORT|VTEXTFIXED); + } + } } /* @@ -356,7 +344,7 @@ setvareq(char *s, int flags) * a regular variable function callback, but why bother? * * Note: this assumes iflag is not set to 1 initially. - * As part of init(), this is called before arguments + * As part of initvar(), this is called before arguments * are looked at. */ if ((vp == &vmpath || (vp == &vmail && ! mpathset())) && Modified: projects/counters/contrib/libcxxrt/exception.cc ============================================================================== --- projects/counters/contrib/libcxxrt/exception.cc Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/contrib/libcxxrt/exception.cc Tue Jan 22 10:22:12 2013 (r245784) @@ -801,7 +801,7 @@ extern "C" void __cxa_decrement_exceptio */ extern "C" void __cxa_rethrow() { - __cxa_thread_info *ti = thread_info_fast(); + __cxa_thread_info *ti = thread_info(); __cxa_eh_globals *globals = &ti->globals; // Note: We don't remove this from the caught list here, because // __cxa_end_catch will be called when we unwind out of the try block. We Modified: projects/counters/etc/Makefile ============================================================================== --- projects/counters/etc/Makefile Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/etc/Makefile Tue Jan 22 10:22:12 2013 (r245784) @@ -324,26 +324,29 @@ distrib-dirs: -f $$m -p $$d; \ ${MTREE_CMD} -deU ${MTREE_FOLLOWS_SYMLINKS} -f $$m -p $$d; \ done; true - ln -sfh usr/src/sys ${DESTDIR}/sys + ${INSTALL_SYMLINK} usr/src/sys ${DESTDIR}/sys cd ${DESTDIR}/usr/share/man; \ for mandir in man*; do \ - ln -sfh ../$$mandir ${DESTDIR}/usr/share/man/en.ISO8859-1/; \ - ln -sfh ../$$mandir ${DESTDIR}/usr/share/man/en.UTF-8/; \ + ${INSTALL_SYMLINK} ../$$mandir \ + ${DESTDIR}/usr/share/man/en.ISO8859-1/; \ + ${INSTALL_SYMLINK} ../$$mandir \ + ${DESTDIR}/usr/share/man/en.UTF-8/; \ done cd ${DESTDIR}/usr/share/openssl/man; \ for mandir in man*; do \ - ln -sfh ../$$mandir \ + ${INSTALL_SYMLINK} ../$$mandir \ ${DESTDIR}/usr/share/openssl/man/en.ISO8859-1/; \ done set - `grep "^[a-zA-Z]" ${.CURDIR}/man.alias`; \ while [ $$# -gt 0 ] ; do \ - ln -sfh "$$2" "${DESTDIR}/usr/share/man/$$1"; \ - ln -sfh "$$2" "${DESTDIR}/usr/share/openssl/man/$$1"; \ + ${INSTALL_SYMLINK} "$$2" "${DESTDIR}/usr/share/man/$$1"; \ + ${INSTALL_SYMLINK} "$$2" \ + "${DESTDIR}/usr/share/openssl/man/$$1"; \ shift; shift; \ done set - `grep "^[a-zA-Z]" ${.CURDIR}/nls.alias`; \ while [ $$# -gt 0 ] ; do \ - ln -sfh "$$2" "${DESTDIR}/usr/share/nls/$$1"; \ + ${INSTALL_SYMLINK} "$$2" "${DESTDIR}/usr/share/nls/$$1"; \ shift; shift; \ done Modified: projects/counters/gnu/usr.bin/gdb/kgdb/main.c ============================================================================== --- projects/counters/gnu/usr.bin/gdb/kgdb/main.c Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/gnu/usr.bin/gdb/kgdb/main.c Tue Jan 22 10:22:12 2013 (r245784) @@ -333,11 +333,24 @@ main(int argc, char *argv[]) args.argv = malloc(sizeof(char *)); args.argv[0] = argv[0]; - while ((ch = getopt(argc, argv, "ac:d:fn:qr:vw")) != -1) { + while ((ch = getopt(argc, argv, "ab:c:d:fn:qr:vw")) != -1) { switch (ch) { case 'a': annotation_level++; break; + case 'b': + { + int i; + char *p; + + i = strtol (optarg, &p, 0); + if (i == 0 && p == optarg) + warnx("warning: could not set baud rate to `%s'.\n", + optarg); + else + baud_rate = i; + } + break; case 'c': /* use given core file. */ if (vmcore != NULL) { warnx("option %c: can only be specified once", Modified: projects/counters/gnu/usr.bin/grep/grep.c ============================================================================== --- projects/counters/gnu/usr.bin/grep/grep.c Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/gnu/usr.bin/grep/grep.c Tue Jan 22 10:22:12 2013 (r245784) @@ -304,7 +304,7 @@ reset (int fd, char const *file, struct if (directories == SKIP_DIRECTORIES && S_ISDIR (stats->stat.st_mode)) return 0; #ifndef DJGPP - if (devices == SKIP_DEVICES && (S_ISCHR(stats->stat.st_mode) || S_ISBLK(stats->stat.st_mode) || S_ISSOCK(stats->stat.st_mode))) + if (devices == SKIP_DEVICES && (S_ISCHR(stats->stat.st_mode) || S_ISBLK(stats->stat.st_mode) || S_ISSOCK(stats->stat.st_mode) || S_ISFIFO(stats->stat.st_mode))) #else if (devices == SKIP_DEVICES && (S_ISCHR(stats->stat.st_mode) || S_ISBLK(stats->stat.st_mode))) #endif @@ -942,6 +942,7 @@ grepfile (char const *file, struct stats int desc; int count; int status; + int flags; if (! file) { @@ -950,7 +951,7 @@ grepfile (char const *file, struct stats } else { - while ((desc = open (file, O_RDONLY)) < 0 && errno == EINTR) + while ((desc = open (file, O_RDONLY | O_NONBLOCK)) < 0 && errno == EINTR) continue; if (desc < 0) @@ -990,6 +991,9 @@ grepfile (char const *file, struct stats return 1; } + flags = fcntl(desc, F_GETFL); + flags &= ~O_NONBLOCK; + fcntl(desc, F_SETFL, flags); filename = file; } Modified: projects/counters/lib/libc/sys/kqueue.2 ============================================================================== --- projects/counters/lib/libc/sys/kqueue.2 Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/lib/libc/sys/kqueue.2 Tue Jan 22 10:22:12 2013 (r245784) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 15, 2012 +.Dd January 21, 2013 .Dt KQUEUE 2 .Os .Sh NAME @@ -417,7 +417,9 @@ and facilities, and has a lower precedence. The filter will record all attempts to deliver a signal to a process, even if the signal has -been marked as SIG_IGN. +been marked as SIG_IGN, except for the +.Dv SIGCHLD +signal, which, if ignored, won't be recorded by the filter. Event notification happens after normal signal delivery processing. .Va data Modified: projects/counters/release/rc.local ============================================================================== --- projects/counters/release/rc.local Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/release/rc.local Tue Jan 22 10:22:12 2013 (r245784) @@ -45,6 +45,16 @@ else fi export TERM +if [ -f /etc/installerconfig ]; then + if bsdinstall script /etc/installerconfig; then + dialog --backtitle "FreeBSD Installer" --title "Complete" --no-cancel --ok-label "Reboot" --pause "Installation of FreeBSD complete! Rebooting in 10 seconds" 10 30 10 + reboot + else + dialog --backtitle "FreeBSD Installer" --title "Error" --textbox /tmp/bsdinstall_log 0 0 + fi + exit +fi + dialog --backtitle "FreeBSD Installer" --title "Welcome" --extra-button --extra-label "Shell" --ok-label "Install" --cancel-label "Live CD" --yesno "Welcome to FreeBSD! Would you like to begin an installation or use the live CD?" 0 0 case $? in Modified: projects/counters/share/info/Makefile ============================================================================== --- projects/counters/share/info/Makefile Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/share/info/Makefile Tue Jan 22 10:22:12 2013 (r245784) @@ -17,6 +17,6 @@ beforeinstall: @exit 3; .endif .if !exists(${DESTDIR}${INFODIR}/dir) - ${INSTALL} -o ${INFOOWN} -g ${INFOGRP} -m ${INFOMODE} \ + ${INSTALL} -o ${INFOOWN} -g ${INFOGRP} -m 644 \ dir-tmpl ${DESTDIR}${INFODIR}/dir .endif Modified: projects/counters/share/man/man4/Makefile ============================================================================== --- projects/counters/share/man/man4/Makefile Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/share/man/man4/Makefile Tue Jan 22 10:22:12 2013 (r245784) @@ -70,6 +70,7 @@ MAN= aac.4 \ bce.4 \ bfe.4 \ bge.4 \ + ${_bhyve.4} \ bktr.4 \ blackhole.4 \ bpf.4 \ @@ -784,6 +785,7 @@ MLINKS+=lindev.4 full.4 .endif .if ${MACHINE_CPUARCH} == "amd64" +_bhyve.4= bhyve.4 _qlxgb.4= qlxgb.4 _sfxge.4= sfxge.4 Modified: projects/counters/share/man/man5/make.conf.5 ============================================================================== --- projects/counters/share/man/man5/make.conf.5 Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/share/man/man5/make.conf.5 Tue Jan 22 10:22:12 2013 (r245784) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 14, 2012 +.Dd January 21, 2013 .Dt MAKE.CONF 5 .Os .Sh NAME @@ -255,10 +255,6 @@ Set this to not update the doc tree duri .Pq Vt bool Set this to not update the ports tree during .Dq Li "make update" . -.It Va NO_WWWUPDATE -.Pq Vt bool -Set this to not update the www tree during -.Dq Li "make update" . .It Va SUP .Pq Vt str The location of the @@ -309,6 +305,11 @@ and .Pa ports trees with .Dq Li "make update" . +This option is deprecated. +Please use +.Va SVN_UPDATE +or +.Xr freebsd-update 8 . .It Va SVN_UPDATE .Pq Vt bool Set this to use Modified: projects/counters/share/man/man9/VFS_SET.9 ============================================================================== --- projects/counters/share/man/man9/VFS_SET.9 Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/share/man/man9/VFS_SET.9 Tue Jan 22 10:22:12 2013 (r245784) @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 5, 2007 +.Dd January 22, 2012 .Dt VFS_SET 9 .Os .Sh NAME @@ -87,23 +87,13 @@ sysctl is set to * fill in the ones we use, and use the vfs_std for the rest. */ static struct vfsops myfs_vfsops = { - myfs_mount, - vfs_stdstart, - myfs_unmount, - myfs_root, - vfs_stdquotactl, - myfs_statfs, - vfs_stdsync, - vfs_stdvget, - vfs_stdfhtovp, - vfs_stdcheckexp, - vfs_stdvptofh, - vfs_stdinit, - vfs_stduninit, - vfs_stdextattrctl, + .vfs_mount = myfs_mount, + .vfs_root = myfs_root, + .vfs_statfs = myfs_statfs, + .vfs_unmount = myfs_unmount, }; -VFS_SET(myfs_vfsops, skelfs, 0); +VFS_SET(myfs_vfsops, myfs, 0); .Ed .Sh SEE ALSO .Xr jail 2 , Modified: projects/counters/share/mk/bsd.incs.mk ============================================================================== --- projects/counters/share/mk/bsd.incs.mk Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/share/mk/bsd.incs.mk Tue Jan 22 10:22:12 2013 (r245784) @@ -73,7 +73,7 @@ installincludes: t=${DESTDIR}$$1; \ shift; \ ${ECHO} $$t -\> $$l; \ - ln -fs $$l $$t; \ + ${INSTALL_SYMLINK} $$l $$t; \ done; true .endif .endif # !target(installincludes) Modified: projects/counters/share/mk/bsd.info.mk ============================================================================== --- projects/counters/share/mk/bsd.info.mk Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/share/mk/bsd.info.mk Tue Jan 22 10:22:12 2013 (r245784) @@ -113,7 +113,7 @@ DVIPS2ASCII?= dvips2ascii .info.html: ${INFO2HTML} ${.IMPSRC} - ln -f ${.TARGET:R}.info.Top.html ${.TARGET} + ${INSTALL_LINK} ${.TARGET:R}.info.Top.html ${.TARGET} .PATH: ${.CURDIR} ${SRCDIR} Modified: projects/counters/share/mk/bsd.lib.mk ============================================================================== --- projects/counters/share/mk/bsd.lib.mk Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/share/mk/bsd.lib.mk Tue Jan 22 10:22:12 2013 (r245784) @@ -184,7 +184,7 @@ ${SHLIB_NAME_FULL}: ${SOBJS} @${ECHO} building shared library ${SHLIB_NAME} @rm -f ${SHLIB_NAME} ${SHLIB_LINK} .if defined(SHLIB_LINK) - @ln -fs ${SHLIB_NAME} ${SHLIB_LINK} + @${INSTALL_SYMLINK} ${SHLIB_NAME} ${SHLIB_LINK} .endif .if !defined(NM) @${CC} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \ @@ -309,9 +309,9 @@ _libinstall: ${_INSTALLFLAGS} lib${LIB}.ld ${DESTDIR}${LIBDIR}/${SHLIB_LINK} .else .if ${SHLIBDIR} == ${LIBDIR} - ln -fs ${SHLIB_NAME} ${DESTDIR}${LIBDIR}/${SHLIB_LINK} + ${INSTALL_SYMLINK} ${SHLIB_NAME} ${DESTDIR}${LIBDIR}/${SHLIB_LINK} .else - ln -fs ${_SHLIBDIRPREFIX}${SHLIBDIR}/${SHLIB_NAME} \ + ${INSTALL_SYMLINK} ${_SHLIBDIRPREFIX}${SHLIBDIR}/${SHLIB_NAME} \ ${DESTDIR}${LIBDIR}/${SHLIB_LINK} .if exists(${DESTDIR}${LIBDIR}/${SHLIB_NAME}) -chflags noschg ${DESTDIR}${LIBDIR}/${SHLIB_NAME} Modified: projects/counters/share/mk/bsd.links.mk ============================================================================== --- projects/counters/share/mk/bsd.links.mk Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/share/mk/bsd.links.mk Tue Jan 22 10:22:12 2013 (r245784) @@ -15,7 +15,7 @@ _installlinks: t=${DESTDIR}$$1; \ shift; \ ${ECHO} $$t -\> $$l; \ - ln -f $$l $$t; \ + ${INSTALL_LINK} $$l $$t; \ done; true .endif .if defined(SYMLINKS) && !empty(SYMLINKS) @@ -26,6 +26,6 @@ _installlinks: t=${DESTDIR}$$1; \ shift; \ ${ECHO} $$t -\> $$l; \ - ln -fs $$l $$t; \ + ${INSTALL_SYMLINK} $$l $$t; \ done; true .endif Modified: projects/counters/share/mk/bsd.man.mk ============================================================================== --- projects/counters/share/mk/bsd.man.mk Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/share/mk/bsd.man.mk Tue Jan 22 10:22:12 2013 (r245784) @@ -216,7 +216,7 @@ _maninstall: ${MAN} t=${DESTDIR}${MANDIR}$${sect}${MANSUBDIR}/$$name; \ ${ECHO} $${t}${ZEXT} -\> $${l}${ZEXT}; \ rm -f $${t} $${t}${MCOMPRESS_EXT}; \ - ln $${l}${ZEXT} $${t}${ZEXT}; \ + ${INSTALL_LINK} $${l}${ZEXT} $${t}${ZEXT}; \ done .if defined(MANBUILDCAT) && !empty(MANBUILDCAT) @set ${MLINKS:C/\.([^.]*)$/.\1 \1/}; \ @@ -231,7 +231,7 @@ _maninstall: ${MAN} t=${DESTDIR}${CATDIR}$${sect}${MANSUBDIR}/$$name; \ ${ECHO} $${t}${ZEXT} -\> $${l}${ZEXT}; \ rm -f $${t} $${t}${MCOMPRESS_EXT}; \ - ln $${l}${ZEXT} $${t}${ZEXT}; \ + ${INSTALL_LINK} $${l}${ZEXT} $${t}${ZEXT}; \ done .endif .endif Modified: projects/counters/share/mk/bsd.own.mk ============================================================================== --- projects/counters/share/mk/bsd.own.mk Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/share/mk/bsd.own.mk Tue Jan 22 10:22:12 2013 (r245784) @@ -181,6 +181,15 @@ NLSMODE?= ${NOBINMODE} INCLUDEDIR?= /usr/include +# +# install(1) parameters. +# +HRDLINK?= -l h +SYMLINK?= -l s + +INSTALL_LINK?= ${INSTALL} ${HRDLINK} +INSTALL_SYMLINK?= ${INSTALL} ${SYMLINK} + # Common variables .if !defined(DEBUG_FLAGS) STRIP?= -s Modified: projects/counters/sys/amd64/include/vmm.h ============================================================================== --- projects/counters/sys/amd64/include/vmm.h Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/sys/amd64/include/vmm.h Tue Jan 22 10:22:12 2013 (r245784) @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: vmm.h 482 2011-05-09 21:22:43Z grehan $ + * $FreeBSD$ */ #ifndef _VMM_H_ Modified: projects/counters/sys/amd64/include/vmm_dev.h ============================================================================== --- projects/counters/sys/amd64/include/vmm_dev.h Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/sys/amd64/include/vmm_dev.h Tue Jan 22 10:22:12 2013 (r245784) @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: vmm_dev.h 482 2011-05-09 21:22:43Z grehan $ + * $FreeBSD$ */ #ifndef _VMM_DEV_H_ Modified: projects/counters/sys/amd64/vmm/vmm.c ============================================================================== --- projects/counters/sys/amd64/vmm/vmm.c Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/sys/amd64/vmm/vmm.c Tue Jan 22 10:22:12 2013 (r245784) @@ -249,11 +249,15 @@ static moduledata_t vmm_kmod = { }; /* - * Execute the module load handler after the pci passthru driver has had - * a chance to claim devices. We need this information at the time we do - * iommu initialization. + * vmm initialization has the following dependencies: + * + * - iommu initialization must happen after the pci passthru driver has had + * a chance to attach to any passthru devices (after SI_SUB_CONFIGURE). + * + * - VT-x initialization requires smp_rendezvous() and therefore must happen + * after SMP is fully functional (after SI_SUB_SMP). */ -DECLARE_MODULE(vmm, vmm_kmod, SI_SUB_CONFIGURE + 1, SI_ORDER_ANY); +DECLARE_MODULE(vmm, vmm_kmod, SI_SUB_SMP + 1, SI_ORDER_ANY); MODULE_VERSION(vmm, 1); SYSCTL_NODE(_hw, OID_AUTO, vmm, CTLFLAG_RW, NULL, NULL); Modified: projects/counters/sys/boot/arm/uboot/Makefile ============================================================================== --- projects/counters/sys/boot/arm/uboot/Makefile Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/sys/boot/arm/uboot/Makefile Tue Jan 22 10:22:12 2013 (r245784) @@ -112,8 +112,8 @@ CFLAGS+= -I${.CURDIR}/../../../../lib/li # clang doesn't understand %D as a specifier to printf NO_WERROR.clang= -DPADD= ${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBSTAND} -LDADD= ${LIBFICL} ${LIBUBOOT} ${LIBFDT} -lstand +DPADD= ${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBSTAND} ${LIBGCC} +LDADD= ${LIBFICL} ${LIBUBOOT} ${LIBFDT} -lstand -lgcc vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT} Modified: projects/counters/sys/boot/fdt/dts/beaglebone.dts ============================================================================== --- projects/counters/sys/boot/fdt/dts/beaglebone.dts Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/sys/boot/fdt/dts/beaglebone.dts Tue Jan 22 10:22:12 2013 (r245784) @@ -161,7 +161,7 @@ #address-cells = <1>; #size-cells = <1>; compatible = "ti,cpsw"; - reg = <0x4A100000 0x3000>; + reg = <0x4A100000 0x4000>; interrupts = <40 41 42 43>; interrupt-parent = <&AINTC>; phy-handle = <&phy0>; Modified: projects/counters/sys/boot/i386/efi/Makefile ============================================================================== --- projects/counters/sys/boot/i386/efi/Makefile Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/sys/boot/i386/efi/Makefile Tue Jan 22 10:22:12 2013 (r245784) @@ -36,7 +36,7 @@ FILES= loader.efi FILESMODE_loader.efi= ${BINMODE} LDSCRIPT= ${.CURDIR}/ldscript.i386 -LDFLAGS= -Wl,-T${LDSCRIPT} -shared -symbolic +LDFLAGS= -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared ${PROG}: ${LDSCRIPT} Modified: projects/counters/sys/boot/sparc64/loader/main.c ============================================================================== --- projects/counters/sys/boot/sparc64/loader/main.c Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/sys/boot/sparc64/loader/main.c Tue Jan 22 10:22:12 2013 (r245784) @@ -142,6 +142,10 @@ static vm_offset_t heapva; static char bootpath[64]; static phandle_t root; +#ifdef LOADER_ZFS_SUPPORT +static struct zfs_devdesc zfs_currdev; +#endif + /* * Machine dependent structures that the machine independent * loader part uses. @@ -732,7 +736,6 @@ static void sparc64_zfs_probe(void) { struct vtoc8 vtoc; - struct zfs_devdesc zfs_currdev; char alias[64], devname[sizeof(alias) + sizeof(":x") - 1]; char type[sizeof("device_type")]; char *bdev, *dev, *odev; @@ -805,9 +808,6 @@ sparc64_zfs_probe(void) zfs_currdev.root_guid = 0; zfs_currdev.d_dev = &zfs_dev; zfs_currdev.d_type = zfs_currdev.d_dev->dv_type; - (void)strncpy(bootpath, zfs_fmtdev(&zfs_currdev), - sizeof(bootpath) - 1); - bootpath[sizeof(bootpath) - 1] = '\0'; } } #endif /* LOADER_ZFS_SUPPORT */ @@ -878,10 +878,14 @@ main(int (*openfirm)(void *)) if ((*dp)->dv_init != 0) (*dp)->dv_init(); - /* - * Now that sparc64_zfs_probe() might have altered bootpath, - * export it. - */ +#ifdef LOADER_ZFS_SUPPORT + if (zfs_currdev.pool_guid != 0) { + (void)strncpy(bootpath, zfs_fmtdev(&zfs_currdev), + sizeof(bootpath) - 1); + bootpath[sizeof(bootpath) - 1] = '\0'; + } +#endif + env_setenv("currdev", EV_VOLATILE, bootpath, ofw_setcurrdev, env_nounset); env_setenv("loaddev", EV_VOLATILE, bootpath, Modified: projects/counters/sys/conf/Makefile.arm ============================================================================== --- projects/counters/sys/conf/Makefile.arm Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/sys/conf/Makefile.arm Tue Jan 22 10:22:12 2013 (r245784) @@ -41,6 +41,8 @@ STRIP_FLAGS = -S .if empty(DDB_ENABLED) CFLAGS += -mno-apcs-frame +.elif defined(WITH_ARM_EABI) +CFLAGS += -funwind-tables .endif SYSTEM_LD_ = ${LD} -Bdynamic -T ldscript.$M.noheader ${LDFLAGS} \ Modified: projects/counters/sys/conf/files.amd64 ============================================================================== --- projects/counters/sys/conf/files.amd64 Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/sys/conf/files.amd64 Tue Jan 22 10:22:12 2013 (r245784) @@ -190,8 +190,7 @@ dev/fdc/fdc_acpi.c optional fdc dev/fdc/fdc_isa.c optional fdc isa dev/fdc/fdc_pccard.c optional fdc pccard dev/hpt27xx/os_bsd.c optional hpt27xx -dev/hpt27xx/osm_bsd.c optional hpt27xx \ - compile-with "${NORMAL_C} ${NO_WFORMAT_SECURITY}" +dev/hpt27xx/osm_bsd.c optional hpt27xx dev/hpt27xx/hpt27xx_config.c optional hpt27xx dev/hptmv/entry.c optional hptmv dev/hptmv/mv.c optional hptmv Modified: projects/counters/sys/conf/files.i386 ============================================================================== --- projects/counters/sys/conf/files.i386 Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/sys/conf/files.i386 Tue Jan 22 10:22:12 2013 (r245784) @@ -181,8 +181,7 @@ dev/glxiic/glxiic.c optional glxiic dev/glxsb/glxsb.c optional glxsb dev/glxsb/glxsb_hash.c optional glxsb dev/hpt27xx/os_bsd.c optional hpt27xx -dev/hpt27xx/osm_bsd.c optional hpt27xx \ - compile-with "${NORMAL_C} ${NO_WFORMAT_SECURITY}" +dev/hpt27xx/osm_bsd.c optional hpt27xx dev/hpt27xx/hpt27xx_config.c optional hpt27xx dev/hptmv/entry.c optional hptmv dev/hptmv/mv.c optional hptmv Modified: projects/counters/sys/conf/ldscript.arm ============================================================================== --- projects/counters/sys/conf/ldscript.arm Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/sys/conf/ldscript.arm Tue Jan 22 10:22:12 2013 (r245784) @@ -56,6 +56,18 @@ SECTIONS .init : { *(.init) } =0x9090 .plt : { *(.plt) } + _extab_start = .; + PROVIDE(extab_start = .); + .ARM.extab : { *(.ARM.extab) } + _extab.end = .; + PROVIDE(extab_end = .); + + _exidx_start = .; + PROVIDE(exidx_start = .); + .ARM.exidx : { *(.ARM.exidx) } + _exidx_end = .; + PROVIDE(exidx_end = .); + /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = ALIGN(0x1000) + (. & (0x1000 - 1)) ; Modified: projects/counters/sys/contrib/dev/acpica/include/acglobal.h ============================================================================== --- projects/counters/sys/contrib/dev/acpica/include/acglobal.h Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/sys/contrib/dev/acpica/include/acglobal.h Tue Jan 22 10:22:12 2013 (r245784) @@ -420,7 +420,7 @@ ACPI_EXTERN UINT8 #ifdef ACPI_DISASSEMBLER -BOOLEAN ACPI_INIT_GLOBAL (AcpiGbl_IgnoreNoopOperator, FALSE); +ACPI_EXTERN BOOLEAN ACPI_INIT_GLOBAL (AcpiGbl_IgnoreNoopOperator, FALSE); ACPI_EXTERN BOOLEAN AcpiGbl_DbOpt_disasm; ACPI_EXTERN BOOLEAN AcpiGbl_DbOpt_verbose; Modified: projects/counters/sys/contrib/octeon-sdk/cvmx-helper-board.c ============================================================================== --- projects/counters/sys/contrib/octeon-sdk/cvmx-helper-board.c Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/sys/contrib/octeon-sdk/cvmx-helper-board.c Tue Jan 22 10:22:12 2013 (r245784) @@ -1394,6 +1394,21 @@ int __cvmx_helper_board_hardware_enable( } } } +#if defined(OCTEON_VENDOR_UBIQUITI) + else if (cvmx_sysinfo_get()->board_type == CVMX_BOARD_TYPE_CUST_UBIQUITI_E100) + { + /* Configure ASX cloks for all ports on interface 0. */ + if (interface == 0) + { + int port; + + for (port = 0; port < 3; port++) { + cvmx_write_csr(CVMX_ASXX_TX_CLK_SETX(port, interface), 16); + cvmx_write_csr(CVMX_ASXX_RX_CLK_SETX(port, interface), 0); + } + } + } +#endif return 0; } Modified: projects/counters/sys/dev/ath/if_ath_tx.c ============================================================================== --- projects/counters/sys/dev/ath/if_ath_tx.c Tue Jan 22 09:44:21 2013 (r245783) +++ projects/counters/sys/dev/ath/if_ath_tx.c Tue Jan 22 10:22:12 2013 (r245784) @@ -1397,12 +1397,13 @@ static void ath_tx_update_clrdmask(struct ath_softc *sc, struct ath_tid *tid, struct ath_buf *bf) { + struct ath_node *an = ATH_NODE(bf->bf_node); ATH_TX_LOCK_ASSERT(sc); - if (tid->clrdmask == 1) { + if (an->clrdmask == 1) { bf->bf_state.bfs_txflags |= HAL_TXDESC_CLRDMASK; - tid->clrdmask = 0; + an->clrdmask = 0; } } @@ -2888,6 +2889,29 @@ ath_tx_swq(struct ath_softc *sc, struct } /* + * Only set the clrdmask bit if none of the nodes are currently + * filtered. + * + * XXX TODO: go through all the callers and check to see + * which are being called in the context of looping over all + * TIDs (eg, if all tids are being paused, resumed, etc.) + * That'll avoid O(n^2) complexity here. + */ +static void +ath_tx_set_clrdmask(struct ath_softc *sc, struct ath_node *an) +{ + int i; + + ATH_TX_LOCK_ASSERT(sc); + + for (i = 0; i < IEEE80211_TID_SIZE; i++) { + if (an->an_tid[i].isfiltered == 1) + return; + } + an->clrdmask = 1; +} + +/* * Configure the per-TID node state. * * This likely belongs in if_ath_node.c but I can't think of anywhere @@ -2918,12 +2942,12 @@ ath_tx_tid_init(struct ath_softc *sc, st atid->sched = 0; atid->hwq_depth = 0; atid->cleanup_inprogress = 0; - atid->clrdmask = 1; /* Always start by setting this bit */ if (i == IEEE80211_NONQOS_TID) atid->ac = ATH_NONQOS_TID_AC; else atid->ac = TID_TO_WME_AC(i); } + an->clrdmask = 1; /* Always start by setting this bit */ } /* @@ -2949,7 +2973,6 @@ ath_tx_tid_pause(struct ath_softc *sc, s static void ath_tx_tid_resume(struct ath_softc *sc, struct ath_tid *tid) { *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue Jan 22 16:52:13 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 692333E3; Tue, 22 Jan 2013 16:52:13 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 52B502A3; Tue, 22 Jan 2013 16:52:13 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0MGqDdU036161; Tue, 22 Jan 2013 16:52:13 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0MGq5NX036110; Tue, 22 Jan 2013 16:52:05 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201301221652.r0MGq5NX036110@svn.freebsd.org> From: Brooks Davis Date: Tue, 22 Jan 2013 16:52:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245794 - in projects/mtree: . bin/ps bin/sh contrib/compiler-rt contrib/compiler-rt/lib contrib/compiler-rt/lib/arm contrib/libcxxrt gnu/usr.bin/gdb/kgdb gnu/usr.bin/grep lib lib/libc/... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jan 2013 16:52:13 -0000 Author: brooks Date: Tue Jan 22 16:52:04 2013 New Revision: 245794 URL: http://svnweb.freebsd.org/changeset/base/245794 Log: MFH @ r245793 Added: projects/mtree/lib/libc/arm/Symbol_oabi.map - copied unchanged from r245793, head/lib/libc/arm/Symbol_oabi.map projects/mtree/lib/libc/arm/aeabi/ - copied from r245793, head/lib/libc/arm/aeabi/ - copied from r245793, head/lib/libvmmapi/ - copied unchanged from r245793, head/share/man/man4/bhyve.4 - copied unchanged from r245793, head/sys/amd64/include/vmm.h - copied unchanged from r245793, head/sys/amd64/include/vmm_dev.h - copied unchanged from r245793, head/sys/amd64/include/vmm_instruction_emul.h - copied from r245793, head/sys/amd64/vmm/ - copied from r245793, head/sys/dev/blackhole/ - copied from r245793, head/sys/dev/bvm/ - copied from r245793, head/sys/modules/blackhole/ - copied from r245793, head/sys/modules/vmm/ - copied from r245793, head/usr.sbin/bhyve/ - copied from r245793, head/usr.sbin/bhyvectl/ - copied from r245793, head/usr.sbin/bhyveload/ projects/mtree/usr.sbin/bsdinstall/partedit/scripted.c - copied unchanged from r245793, head/usr.sbin/bsdinstall/partedit/scripted.c projects/mtree/usr.sbin/bsdinstall/scripts/script - copied unchanged from r245793, head/usr.sbin/bsdinstall/scripts/script Directory Properties: projects/mtree/lib/libvmmapi/ (props changed) projects/mtree/share/man/man4/bhyve.4 (props changed) projects/mtree/sys/amd64/include/vmm.h (props changed) projects/mtree/sys/amd64/include/vmm_dev.h (props changed) projects/mtree/sys/amd64/include/vmm_instruction_emul.h (props changed) projects/mtree/sys/amd64/vmm/ (props changed) projects/mtree/sys/dev/blackhole/ (props changed) projects/mtree/sys/dev/bvm/ (props changed) projects/mtree/sys/modules/blackhole/ (props changed) projects/mtree/sys/modules/vmm/ (props changed) projects/mtree/usr.sbin/bhyve/ (props changed) projects/mtree/usr.sbin/bhyvectl/ (props changed) projects/mtree/usr.sbin/bhyveload/ (props changed) Deleted: projects/mtree/usr.sbin/makefs/getid.c Modified: projects/mtree/Makefile.inc1 projects/mtree/bin/ps/fmt.c projects/mtree/bin/ps/ps.c projects/mtree/bin/sh/TOUR projects/mtree/bin/sh/eval.c projects/mtree/bin/sh/init.h projects/mtree/bin/sh/input.c projects/mtree/bin/sh/main.c projects/mtree/bin/sh/mkinit.c projects/mtree/bin/sh/sh.1 projects/mtree/bin/sh/var.c projects/mtree/contrib/compiler-rt/LICENSE.TXT projects/mtree/contrib/compiler-rt/lib/arm/aeabi_uldivmod.S projects/mtree/contrib/compiler-rt/lib/arm/divsi3.S projects/mtree/contrib/compiler-rt/lib/arm/udivsi3.S projects/mtree/contrib/compiler-rt/lib/cmpdi2.c projects/mtree/contrib/compiler-rt/lib/fixsfdi.c projects/mtree/contrib/compiler-rt/lib/int_endianness.h projects/mtree/contrib/compiler-rt/lib/int_lib.h projects/mtree/contrib/compiler-rt/lib/ucmpdi2.c projects/mtree/contrib/libcxxrt/exception.cc projects/mtree/gnu/usr.bin/gdb/kgdb/main.c projects/mtree/gnu/usr.bin/grep/grep.c projects/mtree/lib/Makefile projects/mtree/lib/libc/arm/Makefile.inc projects/mtree/lib/libc/arm/SYS.h projects/mtree/lib/libc/arm/Symbol.map projects/mtree/lib/libc/arm/gen/Makefile.inc projects/mtree/lib/libc/quad/Makefile.inc projects/mtree/lib/libc/sys/kqueue.2 projects/mtree/lib/libcompiler_rt/Makefile projects/mtree/lib/libthr/thread/thr_init.c projects/mtree/lib/libthr/thread/thr_kern.c projects/mtree/libexec/rtld-elf/Makefile projects/mtree/release/rc.local projects/mtree/sbin/newfs_msdos/newfs_msdos.c projects/mtree/share/man/man4/Makefile projects/mtree/share/man/man5/make.conf.5 projects/mtree/share/man/man9/VFS_SET.9 projects/mtree/share/mk/bsd.libnames.mk projects/mtree/sys/amd64/amd64/pmap.c projects/mtree/sys/arm/arm/intr.c projects/mtree/sys/arm/arm/machdep.c projects/mtree/sys/arm/include/intr.h projects/mtree/sys/arm/ti/ti_scm.c projects/mtree/sys/boot/arm/uboot/Makefile projects/mtree/sys/boot/fdt/dts/beaglebone.dts projects/mtree/sys/boot/i386/efi/Makefile projects/mtree/sys/boot/sparc64/loader/main.c projects/mtree/sys/cam/scsi/scsi_all.c projects/mtree/sys/conf/Makefile.arm projects/mtree/sys/conf/files.amd64 projects/mtree/sys/conf/files.i386 projects/mtree/sys/conf/ldscript.arm projects/mtree/sys/contrib/dev/acpica/components/disassembler/dmresrc.c projects/mtree/sys/contrib/dev/acpica/include/acglobal.h projects/mtree/sys/contrib/octeon-sdk/cvmx-helper-board.c projects/mtree/sys/dev/ath/if_ath_tx.c projects/mtree/sys/dev/ath/if_athvar.h projects/mtree/sys/dev/hpt27xx/hpt27xx_config.c projects/mtree/sys/dev/hpt27xx/os_bsd.h projects/mtree/sys/dev/hpt27xx/osm_bsd.c projects/mtree/sys/dev/mmc/mmc.c projects/mtree/sys/dev/mmc/mmcreg.h projects/mtree/sys/dev/usb/quirk/usb_quirk.c projects/mtree/sys/dev/usb/storage/umass.c projects/mtree/sys/dev/usb/usbdevs projects/mtree/sys/i386/i386/pmap.c projects/mtree/sys/modules/Makefile projects/mtree/sys/modules/hpt27xx/Makefile projects/mtree/sys/net/if_lagg.c projects/mtree/sys/netinet/tcp_input.c projects/mtree/tools/install.sh projects/mtree/usr.bin/grep/grep.c projects/mtree/usr.bin/tr/tr.c projects/mtree/usr.bin/w/w.c projects/mtree/usr.bin/xinstall/install.1 projects/mtree/usr.bin/xinstall/xinstall.c projects/mtree/usr.sbin/Makefile.amd64 projects/mtree/usr.sbin/bsdconfig/share/script.subr projects/mtree/usr.sbin/bsdinstall/bsdinstall.8 projects/mtree/usr.sbin/bsdinstall/partedit/Makefile projects/mtree/usr.sbin/bsdinstall/partedit/diskeditor.c projects/mtree/usr.sbin/bsdinstall/partedit/part_wizard.c projects/mtree/usr.sbin/bsdinstall/partedit/partedit.c projects/mtree/usr.sbin/bsdinstall/partedit/partedit.h projects/mtree/usr.sbin/bsdinstall/scripts/Makefile projects/mtree/usr.sbin/inetd/inetd.c projects/mtree/usr.sbin/makefs/Makefile projects/mtree/usr.sbin/makefs/makefs.h Directory Properties: projects/mtree/ (props changed) projects/mtree/contrib/compiler-rt/ (props changed) projects/mtree/contrib/libcxxrt/ (props changed) projects/mtree/gnu/usr.bin/gdb/ (props changed) projects/mtree/lib/libc/ (props changed) projects/mtree/sbin/ (props changed) projects/mtree/share/man/man4/ (props changed) projects/mtree/sys/ (props changed) projects/mtree/sys/boot/ (props changed) projects/mtree/sys/boot/i386/efi/ (props changed) projects/mtree/sys/conf/ (props changed) projects/mtree/sys/contrib/dev/acpica/ (props changed) projects/mtree/sys/contrib/dev/acpica/components/disassembler/ (props changed) projects/mtree/sys/contrib/dev/acpica/include/ (props changed) projects/mtree/sys/contrib/octeon-sdk/ (props changed) Modified: projects/mtree/Makefile.inc1 ============================================================================== --- projects/mtree/Makefile.inc1 Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/Makefile.inc1 Tue Jan 22 16:52:04 2013 (r245794) @@ -15,7 +15,6 @@ # -DNO_PORTSUPDATE do not update ports in ${MAKE} update # -DNO_ROOT install without using root privilege # -DNO_DOCUPDATE do not update doc in ${MAKE} update -# -DNO_WWWUPDATE do not update www in ${MAKE} update # -DNO_CTF do not run the DTrace CTF conversion tools on built objects # LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list # LOCAL_LIB_DIRS="list of dirs" to add additional dirs to libraries target @@ -696,6 +695,8 @@ EXTRA_DISTRIBUTIONS+= games EXTRA_DISTRIBUTIONS+= lib32 .endif +MTREE_MAGIC?= "#mtree 2.0" + distributeworld installworld: installcheck mkdir -p ${INSTALLTMP} progs=$$(for prog in ${ITOOLS}; do \ @@ -719,7 +720,7 @@ distributeworld installworld: installche cp $$libs $$progs ${INSTALLTMP} cp -R $${PATH_LOCALE:-"/usr/share/locale"} ${INSTALLTMP}/locale .if defined(NO_ROOT) - echo "#mtree v2.0" > ${METALOG} + echo "${MTREE_MAGIC}" > ${METALOG} .endif .if make(distributeworld) .for dist in ${EXTRA_DISTRIBUTIONS} @@ -759,7 +760,7 @@ distributeworld installworld: installche @# the relevent mtree line. cd ${DESTDIR}/${DISTDIR}; \ find ./${dist} | sort -u ${METALOG} - | \ - awk 'BEGIN { print "#mtree 2.0" } !/ type=/ { file = $$1 } / type=/ { if ($$1 == file) { sub(/^\.\/${dist}\//, "./"); print } }' > \ + awk 'BEGIN { print "${MTREE_MAGIC}" } !/ type=/ { file = $$1 } / type=/ { if ($$1 == file) { sub(/^\.\/${dist}\//, "./"); print } }' > \ ${DESTDIR}/${DISTDIR}/${dist}.meta .endfor .endif @@ -1013,6 +1014,13 @@ update: @echo "--------------------------------------------------------------" @echo ">>> Running ${SUP}" @echo "--------------------------------------------------------------" + @echo "!! WARNING WARNING WARNING WARNING WARNING WARNING WARNING !!" + @echo "!! Update methods with ${SUP} are deprecated." + @echo "!! Please see http://www.freebsd.org/handbook/svn.html" + @echo "!! and convert your update method to SVN_UPDATE or" + @echo "!! freebsd-update(8)." + @echo "!! WARNING WARNING WARNING WARNING WARNING WARNING WARNING !!" + @sleep 5 .if defined(SUPFILE) @${SUP} ${SUPFLAGS} ${SUPFILE} .endif @@ -1028,9 +1036,6 @@ update: .if defined(DOCSUPFILE) && !defined(NO_DOCUPDATE) @${SUP} ${SUPFLAGS} ${DOCSUPFILE} .endif -.if defined(WWWSUPFILE) && !defined(NO_WWWUPDATE) - @${SUP} ${SUPFLAGS} ${WWWSUPFILE} -.endif .endif .if defined(CVS_UPDATE) @cd ${.CURDIR} ; \ @@ -1038,6 +1043,13 @@ update: echo "--------------------------------------------------------------" ; \ echo ">>> Updating ${.CURDIR} from CVS repository" ${CVSROOT} ; \ echo "--------------------------------------------------------------" ; \ + echo "!! WARNING WARNING WARNING WARNING WARNING WARNING WARNING !!" ; \ + echo "!! Update methods with ${SUP} are deprecated." ; \ + echo "!! Please see http://www.freebsd.org/handbook/svn.html" ; \ + echo "!! and convert your update method to SVN_UPDATE or" ; \ + echo "!! freebsd-update(8)." ; \ + echo "!! WARNING WARNING WARNING WARNING WARNING WARNING WARNING !!" ; \ + sleep 5 ; \ echo ${CVS} -R -q update ${CVSFLAGS} ; \ ${CVS} -R -q update ${CVSFLAGS} ; \ fi @@ -1117,7 +1129,7 @@ _lex= usr.bin/lex _yacc= usr.bin/yacc .endif -.if defined(DB_FROM_SRC) && ${BOOTSTRAPPING} < 1000026 +.if ${BOOTSTRAPPING} < 1000026 _nmtree= lib/libnetbsd \ usr.sbin/nmtree .endif Modified: projects/mtree/bin/ps/fmt.c ============================================================================== --- projects/mtree/bin/ps/fmt.c Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/bin/ps/fmt.c Tue Jan 22 16:52:04 2013 (r245794) @@ -123,7 +123,7 @@ fmt_argv(char **argv, char *cmd, char *t if (cp == NULL) errx(1, "malloc failed"); if (ap == NULL) { - if (showthreads && thread != NULL) { + if (thread != NULL) { asprintf(&ap, "%s/%s", cmd, thread); sprintf(cp, "[%.*s]", (int)maxlen, ap); free(ap); Modified: projects/mtree/bin/ps/ps.c ============================================================================== --- projects/mtree/bin/ps/ps.c Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/bin/ps/ps.c Tue Jan 22 16:52:04 2013 (r245794) @@ -1168,7 +1168,7 @@ fmt(char **(*fn)(kvm_t *, const struct k const char *s; s = fmt_argv((*fn)(kd, ki->ki_p, termwidth), comm, - ki->ki_p->ki_numthreads > 1 ? thread : NULL, maxlen); + showthreads && ki->ki_p->ki_numthreads > 1 ? thread : NULL, maxlen); return (s); } Modified: projects/mtree/bin/sh/TOUR ============================================================================== --- projects/mtree/bin/sh/TOUR Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/bin/sh/TOUR Tue Jan 22 16:52:04 2013 (r245794) @@ -33,10 +33,6 @@ programs is: There are undoubtedly too many of these. Mkinit searches all the C source files for entries looking like: - INIT { - x = 1; /* executed during initialization */ - } - RESET { x = 2; /* executed when the shell does a longjmp back to the main command loop */ Modified: projects/mtree/bin/sh/eval.c ============================================================================== --- projects/mtree/bin/sh/eval.c Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/bin/sh/eval.c Tue Jan 22 16:52:04 2013 (r245794) @@ -193,7 +193,9 @@ evaltree(union node *n, int flags) { int do_etest; union node *next; + struct stackmark smark; + setstackmark(&smark); do_etest = 0; if (n == NULL) { TRACE(("evaltree(NULL) called\n")); @@ -292,8 +294,10 @@ evaltree(union node *n, int flags) break; } n = next; + popstackmark(&smark); } while (n != NULL); out: + popstackmark(&smark); if (pendingsigs) dotrap(); if (eflag && exitstatus != 0 && do_etest) @@ -347,10 +351,8 @@ evalfor(union node *n, int flags) struct arglist arglist; union node *argp; struct strlist *sp; - struct stackmark smark; int status; - setstackmark(&smark); arglist.lastp = &arglist.list; for (argp = n->nfor.args ; argp ; argp = argp->narg.next) { oexitstatus = exitstatus; @@ -375,7 +377,6 @@ evalfor(union node *n, int flags) } } loopnest--; - popstackmark(&smark); exitstatus = status; } @@ -392,16 +393,13 @@ evalcase(union node *n) union node *cp; union node *patp; struct arglist arglist; - struct stackmark smark; - setstackmark(&smark); arglist.lastp = &arglist.list; oexitstatus = exitstatus; expandarg(n->ncase.expr, &arglist, EXP_TILDE); for (cp = n->ncase.cases ; cp ; cp = cp->nclist.next) { for (patp = cp->nclist.pattern ; patp ; patp = patp->narg.next) { if (casematch(patp, arglist.list->text)) { - popstackmark(&smark); while (cp->nclist.next && cp->type == NCLISTFALLTHRU && cp->nclist.body == NULL) @@ -415,7 +413,6 @@ evalcase(union node *n) } } } - popstackmark(&smark); exitstatus = 0; return (NULL); } @@ -610,7 +607,7 @@ evalbackcmd(union node *n, struct backcm { int pip[2]; struct job *jp; - struct stackmark smark; /* unnecessary */ + struct stackmark smark; struct jmploc jmploc; struct jmploc *savehandler; struct localvar *savelocalvars; @@ -751,7 +748,6 @@ safe_builtin(int idx, int argc, char **a static void evalcommand(union node *cmd, int flags, struct backcmd *backcmd) { - struct stackmark smark; union node *argp; struct arglist arglist; struct arglist varlist; @@ -778,7 +774,6 @@ evalcommand(union node *cmd, int flags, /* First expand the arguments. */ TRACE(("evalcommand(%p, %d) called\n", (void *)cmd, flags)); - setstackmark(&smark); arglist.lastp = &arglist.list; varlist.lastp = &varlist.list; varflag = 1; @@ -1149,7 +1144,6 @@ out: setvar("_", lastarg, 0); if (do_clearcmdentry) clearcmdentry(); - popstackmark(&smark); } Modified: projects/mtree/bin/sh/init.h ============================================================================== --- projects/mtree/bin/sh/init.h Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/bin/sh/init.h Tue Jan 22 16:52:04 2013 (r245794) @@ -33,5 +33,4 @@ * $FreeBSD$ */ -void init(void); void reset(void); Modified: projects/mtree/bin/sh/input.c ============================================================================== --- projects/mtree/bin/sh/input.c Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/bin/sh/input.c Tue Jan 22 16:52:04 2013 (r245794) @@ -64,7 +64,6 @@ __FBSDID("$FreeBSD$"); #define EOF_NLEFT -99 /* value of parsenleft when EOF pushed back */ -MKINIT struct strpush { struct strpush *prev; /* preceding string on stack */ char *prevstring; @@ -78,7 +77,6 @@ struct strpush { * contains information about the current file being read. */ -MKINIT struct parsefile { struct parsefile *prev; /* preceding file on stack */ int linno; /* current line */ @@ -96,8 +94,11 @@ int plinno = 1; /* input line number * int parsenleft; /* copy of parsefile->nleft */ MKINIT int parselleft; /* copy of parsefile->lleft */ char *parsenextc; /* copy of parsefile->nextc */ -MKINIT struct parsefile basepf; /* top level input file */ -char basebuf[BUFSIZ + 1]; /* buffer for top level input file */ +static char basebuf[BUFSIZ + 1];/* buffer for top level input file */ +static struct parsefile basepf = { /* top level input file */ + .nextc = basebuf, + .buf = basebuf +}; static struct parsefile *parsefile = &basepf; /* current input file */ int whichprompt; /* 1 == PS1, 2 == PS2 */ @@ -111,12 +112,6 @@ static void popstring(void); INCLUDE "input.h" INCLUDE "error.h" -MKINIT char basebuf[]; - -INIT { - basepf.nextc = basepf.buf = basebuf; -} - RESET { popallfiles(); parselleft = parsenleft = 0; /* clear input buffer */ Modified: projects/mtree/bin/sh/main.c ============================================================================== --- projects/mtree/bin/sh/main.c Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/bin/sh/main.c Tue Jan 22 16:52:04 2013 (r245794) @@ -139,7 +139,7 @@ main(int argc, char *argv[]) #endif rootpid = getpid(); rootshell = 1; - init(); + initvar(); setstackmark(&smark); setstackmark(&smark2); procargs(argc, argv); Modified: projects/mtree/bin/sh/mkinit.c ============================================================================== --- projects/mtree/bin/sh/mkinit.c Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/bin/sh/mkinit.c Tue Jan 22 16:52:04 2013 (r245794) @@ -101,7 +101,7 @@ struct block { */ struct event { - const char *name; /* name of event (e.g. INIT) */ + const char *name; /* name of event (e.g. RESET) */ const char *routine; /* name of routine called on event */ const char *comment; /* comment describing routine */ struct text code; /* code for handling event */ @@ -114,11 +114,6 @@ char writer[] = "\ */\n\ \n"; -char init[] = "\ -/*\n\ - * Initialization code.\n\ - */\n"; - char reset[] = "\ /*\n\ * This routine is called when an error or an interrupt occurs in an\n\ @@ -127,7 +122,6 @@ char reset[] = "\ struct event event[] = { - { "INIT", "init", init, { NULL, 0, NULL, NULL } }, { "RESET", "reset", reset, { NULL, 0, NULL, NULL } }, { NULL, NULL, NULL, { NULL, 0, NULL, NULL } } }; Modified: projects/mtree/bin/sh/sh.1 ============================================================================== --- projects/mtree/bin/sh/sh.1 Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/bin/sh/sh.1 Tue Jan 22 16:52:04 2013 (r245794) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd January 14, 2013 +.Dd January 20, 2013 .Dt SH 1 .Os .Sh NAME @@ -138,10 +138,10 @@ variable to some file by placing the fol .Pa .profile in the home directory, substituting for -.Pa .shinit +.Pa .shrc the filename desired: .Pp -.Dl "ENV=$HOME/.shinit; export ENV" +.Dl "ENV=$HOME/.shrc; export ENV" .Pp The first non-option argument specified on the command line will be treated as the Modified: projects/mtree/bin/sh/var.c ============================================================================== --- projects/mtree/bin/sh/var.c Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/bin/sh/var.c Tue Jan 22 16:52:04 2013 (r245794) @@ -146,29 +146,11 @@ static int varequal(const char *, const static struct var *find_var(const char *, struct var ***, int *); static int localevar(const char *); -/* - * Initialize the variable symbol tables and import the environment. - */ - -#ifdef mkinit -INCLUDE "var.h" -MKINIT char **environ; -INIT { - char **envp; - - initvar(); - for (envp = environ ; *envp ; envp++) { - if (strchr(*envp, '=')) { - setvareq(*envp, VEXPORT|VTEXTFIXED); - } - } -} -#endif - +extern char **environ; /* - * This routine initializes the builtin variables. It is called when the - * shell is initialized. + * This routine initializes the builtin variables and imports the environment. + * It is called when the shell is initialized. */ void @@ -178,6 +160,7 @@ initvar(void) const struct varinit *ip; struct var *vp; struct var **vpp; + char **envp; for (ip = varinit ; (vp = ip->var) != NULL ; ip++) { if (find_var(ip->text, &vpp, &vp->name_len) != NULL) @@ -201,6 +184,11 @@ initvar(void) fmtstr(ppid, sizeof(ppid), "%d", (int)getppid()); setvarsafe("PPID", ppid, 0); } + for (envp = environ ; *envp ; envp++) { + if (strchr(*envp, '=')) { + setvareq(*envp, VEXPORT|VTEXTFIXED); + } + } } /* @@ -356,7 +344,7 @@ setvareq(char *s, int flags) * a regular variable function callback, but why bother? * * Note: this assumes iflag is not set to 1 initially. - * As part of init(), this is called before arguments + * As part of initvar(), this is called before arguments * are looked at. */ if ((vp == &vmpath || (vp == &vmail && ! mpathset())) && Modified: projects/mtree/contrib/compiler-rt/LICENSE.TXT ============================================================================== --- projects/mtree/contrib/compiler-rt/LICENSE.TXT Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/contrib/compiler-rt/LICENSE.TXT Tue Jan 22 16:52:04 2013 (r245794) @@ -14,7 +14,7 @@ Full text of the relevant licenses is in University of Illinois/NCSA Open Source License -Copyright (c) 2009-2012 by the contributors listed in CREDITS.TXT +Copyright (c) 2009-2013 by the contributors listed in CREDITS.TXT All rights reserved. @@ -55,7 +55,7 @@ SOFTWARE. ============================================================================== -Copyright (c) 2009-2012 by the contributors listed in CREDITS.TXT +Copyright (c) 2009-2013 by the contributors listed in CREDITS.TXT Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal Modified: projects/mtree/contrib/compiler-rt/lib/arm/aeabi_uldivmod.S ============================================================================== --- projects/mtree/contrib/compiler-rt/lib/arm/aeabi_uldivmod.S Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/contrib/compiler-rt/lib/arm/aeabi_uldivmod.S Tue Jan 22 16:52:04 2013 (r245794) @@ -27,4 +27,5 @@ DEFINE_COMPILERRT_FUNCTION(__aeabi_uldiv ldr r2, [sp, #8] ldr r3, [sp, #12] add sp, sp, #16 - pop {r11, pc} \ No newline at end of file + pop {r11, pc} + Modified: projects/mtree/contrib/compiler-rt/lib/arm/divsi3.S ============================================================================== --- projects/mtree/contrib/compiler-rt/lib/arm/divsi3.S Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/contrib/compiler-rt/lib/arm/divsi3.S Tue Jan 22 16:52:04 2013 (r245794) @@ -25,7 +25,16 @@ // Ok, APCS and AAPCS agree on 32 bit args, so it's safe to use the same routine. DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_idiv, __divsi3) DEFINE_COMPILERRT_FUNCTION(__divsi3) - ESTABLISH_FRAME +#if __ARM_ARCH_7S__ + tst r1,r1 + beq LOCAL_LABEL(divzero) + sdiv r0, r0, r1 + bx lr +LOCAL_LABEL(divzero): + mov r0,#0 + bx lr +#else +ESTABLISH_FRAME // Set aside the sign of the quotient. eor r4, r0, r1 // Take absolute value of a and b via abs(x) = (x^(x >> 31)) - (x >> 31). @@ -39,3 +48,4 @@ DEFINE_COMPILERRT_FUNCTION(__divsi3) eor r0, r0, r4, asr #31 sub r0, r0, r4, asr #31 CLEAR_FRAME_AND_RETURN +#endif Modified: projects/mtree/contrib/compiler-rt/lib/arm/udivsi3.S ============================================================================== --- projects/mtree/contrib/compiler-rt/lib/arm/udivsi3.S Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/contrib/compiler-rt/lib/arm/udivsi3.S Tue Jan 22 16:52:04 2013 (r245794) @@ -33,6 +33,15 @@ // Ok, APCS and AAPCS agree on 32 bit args, so it's safe to use the same routine. DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_uidiv, __udivsi3) DEFINE_COMPILERRT_FUNCTION(__udivsi3) +#if __ARM_ARCH_7S__ + tst r1,r1 + beq LOCAL_LABEL(divzero) + udiv r0, r0, r1 + bx lr + LOCAL_LABEL(divzero): + mov r0,#0 + bx lr +#else // We use a simple digit by digit algorithm; before we get into the actual // divide loop, we must calculate the left-shift amount necessary to align // the MSB of the divisor with that of the dividend (If this shift is @@ -78,3 +87,4 @@ LOCAL_LABEL(return): // Move the quotient to r0 and return. mov r0, q CLEAR_FRAME_AND_RETURN +#endif Modified: projects/mtree/contrib/compiler-rt/lib/cmpdi2.c ============================================================================== --- projects/mtree/contrib/compiler-rt/lib/cmpdi2.c Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/contrib/compiler-rt/lib/cmpdi2.c Tue Jan 22 16:52:04 2013 (r245794) @@ -36,3 +36,16 @@ __cmpdi2(di_int a, di_int b) return 2; return 1; } + +#ifdef __ARM_EABI__ +/* Returns: if (a < b) returns -1 +* if (a == b) returns 0 +* if (a > b) returns 1 +*/ +COMPILER_RT_ABI si_int +__aeabi_lcmp(di_int a, di_int b) +{ + return __cmpdi2(a, b) - 1; +} +#endif + Modified: projects/mtree/contrib/compiler-rt/lib/fixsfdi.c ============================================================================== --- projects/mtree/contrib/compiler-rt/lib/fixsfdi.c Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/contrib/compiler-rt/lib/fixsfdi.c Tue Jan 22 16:52:04 2013 (r245794) @@ -23,7 +23,7 @@ /* seee eeee emmm mmmm mmmm mmmm mmmm mmmm */ -ARM_EABI_FNALIAS(d2lz, fixsfdi) +ARM_EABI_FNALIAS(f2lz, fixsfdi) COMPILER_RT_ABI di_int __fixsfdi(float a) Modified: projects/mtree/contrib/compiler-rt/lib/int_endianness.h ============================================================================== --- projects/mtree/contrib/compiler-rt/lib/int_endianness.h Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/contrib/compiler-rt/lib/int_endianness.h Tue Jan 22 16:52:04 2013 (r245794) @@ -31,7 +31,7 @@ /* .. */ -#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__minix) +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__minix) #include #if _BYTE_ORDER == _BIG_ENDIAN @@ -44,6 +44,19 @@ #endif /* *BSD */ +#if defined(__OpenBSD__) || defined(__Bitrig__) +#include + +#if _BYTE_ORDER == _BIG_ENDIAN +#define _YUGA_LITTLE_ENDIAN 0 +#define _YUGA_BIG_ENDIAN 1 +#elif _BYTE_ORDER == _LITTLE_ENDIAN +#define _YUGA_LITTLE_ENDIAN 1 +#define _YUGA_BIG_ENDIAN 0 +#endif /* _BYTE_ORDER */ + +#endif /* OpenBSD and Bitrig. */ + /* .. */ /* Mac OSX has __BIG_ENDIAN__ or __LITTLE_ENDIAN__ automatically set by the compiler (at least with GCC) */ Modified: projects/mtree/contrib/compiler-rt/lib/int_lib.h ============================================================================== --- projects/mtree/contrib/compiler-rt/lib/int_lib.h Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/contrib/compiler-rt/lib/int_lib.h Tue Jan 22 16:52:04 2013 (r245794) @@ -25,7 +25,15 @@ #if __ARM_EABI__ # define ARM_EABI_FNALIAS(aeabi_name, name) \ void __aeabi_##aeabi_name() __attribute__((alias("__" #name))); -# define COMPILER_RT_ABI __attribute__((pcs("aapcs"))) + +# if !defined(__clang__) && defined(__GNUC__) && \ + (__GNUC__ < 4 || __GNUC__ == 4 && __GNUC_MINOR__ < 5) +/* The pcs attribute was introduced in GCC 4.5.0 */ +# define COMPILER_RT_ABI +# else +# define COMPILER_RT_ABI __attribute__((pcs("aapcs"))) +# endif + #else # define ARM_EABI_FNALIAS(aeabi_name, name) # define COMPILER_RT_ABI Modified: projects/mtree/contrib/compiler-rt/lib/ucmpdi2.c ============================================================================== --- projects/mtree/contrib/compiler-rt/lib/ucmpdi2.c Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/contrib/compiler-rt/lib/ucmpdi2.c Tue Jan 22 16:52:04 2013 (r245794) @@ -36,3 +36,16 @@ __ucmpdi2(du_int a, du_int b) return 2; return 1; } + +#ifdef __ARM_EABI__ +/* Returns: if (a < b) returns -1 +* if (a == b) returns 0 +* if (a > b) returns 1 +*/ +COMPILER_RT_ABI si_int +__aeabi_ulcmp(di_int a, di_int b) +{ + return __ucmpdi2(a, b) - 1; +} +#endif + Modified: projects/mtree/contrib/libcxxrt/exception.cc ============================================================================== --- projects/mtree/contrib/libcxxrt/exception.cc Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/contrib/libcxxrt/exception.cc Tue Jan 22 16:52:04 2013 (r245794) @@ -801,7 +801,7 @@ extern "C" void __cxa_decrement_exceptio */ extern "C" void __cxa_rethrow() { - __cxa_thread_info *ti = thread_info_fast(); + __cxa_thread_info *ti = thread_info(); __cxa_eh_globals *globals = &ti->globals; // Note: We don't remove this from the caught list here, because // __cxa_end_catch will be called when we unwind out of the try block. We Modified: projects/mtree/gnu/usr.bin/gdb/kgdb/main.c ============================================================================== --- projects/mtree/gnu/usr.bin/gdb/kgdb/main.c Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/gnu/usr.bin/gdb/kgdb/main.c Tue Jan 22 16:52:04 2013 (r245794) @@ -333,11 +333,24 @@ main(int argc, char *argv[]) args.argv = malloc(sizeof(char *)); args.argv[0] = argv[0]; - while ((ch = getopt(argc, argv, "ac:d:fn:qr:vw")) != -1) { + while ((ch = getopt(argc, argv, "ab:c:d:fn:qr:vw")) != -1) { switch (ch) { case 'a': annotation_level++; break; + case 'b': + { + int i; + char *p; + + i = strtol (optarg, &p, 0); + if (i == 0 && p == optarg) + warnx("warning: could not set baud rate to `%s'.\n", + optarg); + else + baud_rate = i; + } + break; case 'c': /* use given core file. */ if (vmcore != NULL) { warnx("option %c: can only be specified once", Modified: projects/mtree/gnu/usr.bin/grep/grep.c ============================================================================== --- projects/mtree/gnu/usr.bin/grep/grep.c Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/gnu/usr.bin/grep/grep.c Tue Jan 22 16:52:04 2013 (r245794) @@ -304,7 +304,7 @@ reset (int fd, char const *file, struct if (directories == SKIP_DIRECTORIES && S_ISDIR (stats->stat.st_mode)) return 0; #ifndef DJGPP - if (devices == SKIP_DEVICES && (S_ISCHR(stats->stat.st_mode) || S_ISBLK(stats->stat.st_mode) || S_ISSOCK(stats->stat.st_mode))) + if (devices == SKIP_DEVICES && (S_ISCHR(stats->stat.st_mode) || S_ISBLK(stats->stat.st_mode) || S_ISSOCK(stats->stat.st_mode) || S_ISFIFO(stats->stat.st_mode))) #else if (devices == SKIP_DEVICES && (S_ISCHR(stats->stat.st_mode) || S_ISBLK(stats->stat.st_mode))) #endif @@ -942,6 +942,7 @@ grepfile (char const *file, struct stats int desc; int count; int status; + int flags; if (! file) { @@ -950,7 +951,7 @@ grepfile (char const *file, struct stats } else { - while ((desc = open (file, O_RDONLY)) < 0 && errno == EINTR) + while ((desc = open (file, O_RDONLY | O_NONBLOCK)) < 0 && errno == EINTR) continue; if (desc < 0) @@ -990,6 +991,9 @@ grepfile (char const *file, struct stats return 1; } + flags = fcntl(desc, F_GETFL); + flags &= ~O_NONBLOCK; + fcntl(desc, F_SETFL, flags); filename = file; } Modified: projects/mtree/lib/Makefile ============================================================================== --- projects/mtree/lib/Makefile Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/lib/Makefile Tue Jan 22 16:52:04 2013 (r245794) @@ -115,6 +115,7 @@ SUBDIR= ${SUBDIR_ORDERED} \ ${_libusbhid} \ ${_libusb} \ ${_libvgl} \ + ${_libvmmapi} \ libwrap \ liby \ libz \ @@ -198,6 +199,10 @@ _libproc= libproc _librtld_db= librtld_db .endif +.if ${MACHINE_CPUARCH} == "amd64" +_libvmmapi= libvmmapi +.endif + .if ${MACHINE_CPUARCH} == "ia64" _libefi= libefi .endif Modified: projects/mtree/lib/libc/arm/Makefile.inc ============================================================================== --- projects/mtree/lib/libc/arm/Makefile.inc Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/lib/libc/arm/Makefile.inc Tue Jan 22 16:52:04 2013 (r245794) @@ -8,3 +8,11 @@ SOFTFLOAT_BITS=32 # Long double is just double precision. MDSRCS+=machdep_ldisd.c SYM_MAPS+=${.CURDIR}/arm/Symbol.map + +.if ${MK_ARM_EABI} == "no" +# This contains the symbols that were removed when moving to the ARM EABI +SYM_MAPS+=${.CURDIR}/arm/Symbol_oabi.map +.else +.include "${.CURDIR}/arm/aeabi/Makefile.inc" +.endif + Modified: projects/mtree/lib/libc/arm/SYS.h ============================================================================== --- projects/mtree/lib/libc/arm/SYS.h Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/lib/libc/arm/SYS.h Tue Jan 22 16:52:04 2013 (r245794) @@ -39,7 +39,15 @@ #include #include +#ifdef __ARM_EABI__ +#define SYSTRAP(x) \ + mov ip, r7; \ + ldr r7, =SYS_ ## x; \ + swi 0; \ + mov r7, ip +#else #define SYSTRAP(x) swi 0 | SYS_ ## x +#endif #define CERROR _C_LABEL(cerror) #define CURBRK _C_LABEL(curbrk) Modified: projects/mtree/lib/libc/arm/Symbol.map ============================================================================== --- projects/mtree/lib/libc/arm/Symbol.map Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/lib/libc/arm/Symbol.map Tue Jan 22 16:52:04 2013 (r245794) @@ -46,10 +46,6 @@ FBSDprivate_1.0 { _set_tp; __aeabi_read_tp; ___longjmp; - __umodsi3; - __modsi3; - __udivsi3; - __divsi3; __makecontext; __longjmp; signalcontext; Copied: projects/mtree/lib/libc/arm/Symbol_oabi.map (from r245793, head/lib/libc/arm/Symbol_oabi.map) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mtree/lib/libc/arm/Symbol_oabi.map Tue Jan 22 16:52:04 2013 (r245794, copy of r245793, head/lib/libc/arm/Symbol_oabi.map) @@ -0,0 +1,16 @@ +/* + * $FreeBSD$ + */ + +/* + * This only needs to contain symbols that are not listed in + * symbol maps from other parts of libc (i.e., not found in + * stdlib/Symbol.map, string/Symbol.map, sys/Symbol.map, ...) + * and are not used in the ARM EABI. + */ +FBSDprivate_1.0 { + __umodsi3; + __modsi3; + __udivsi3; + __divsi3; +}; Modified: projects/mtree/lib/libc/arm/gen/Makefile.inc ============================================================================== --- projects/mtree/lib/libc/arm/gen/Makefile.inc Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/lib/libc/arm/gen/Makefile.inc Tue Jan 22 16:52:04 2013 (r245794) @@ -3,4 +3,8 @@ SRCS+= _ctx_start.S _setjmp.S _set_tp.c alloca.S fabs.c \ getcontextx.c infinity.c ldexp.c makecontext.c \ - __aeabi_read_tp.S setjmp.S signalcontext.c sigsetjmp.S divsi3.S flt_rounds.c + __aeabi_read_tp.S setjmp.S signalcontext.c sigsetjmp.S flt_rounds.c + +.if ${MK_ARM_EABI} == "no" +SRCS+= divsi3.S +.endif Modified: projects/mtree/lib/libc/quad/Makefile.inc ============================================================================== --- projects/mtree/lib/libc/quad/Makefile.inc Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/lib/libc/quad/Makefile.inc Tue Jan 22 16:52:04 2013 (r245794) @@ -8,6 +8,10 @@ SRCS+= cmpdi2.c divdi3.c moddi3.c qdivrem.c ucmpdi2.c udivdi3.c umoddi3.c +.elif ${LIBC_ARCH} == "arm" && ${MK_ARM_EABI} != "no" + +SRCS+= adddi3.c anddi3.c floatunsdidf.c iordi3.c lshldi3.c notdi2.c \ + qdivrem.c subdi3.c xordi3.c .else SRCS+= adddi3.c anddi3.c ashldi3.c ashrdi3.c cmpdi2.c divdi3.c fixdfdi.c \ Modified: projects/mtree/lib/libc/sys/kqueue.2 ============================================================================== --- projects/mtree/lib/libc/sys/kqueue.2 Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/lib/libc/sys/kqueue.2 Tue Jan 22 16:52:04 2013 (r245794) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 15, 2012 +.Dd January 21, 2013 .Dt KQUEUE 2 .Os .Sh NAME @@ -417,7 +417,9 @@ and facilities, and has a lower precedence. The filter will record all attempts to deliver a signal to a process, even if the signal has -been marked as SIG_IGN. +been marked as SIG_IGN, except for the +.Dv SIGCHLD +signal, which, if ignored, won't be recorded by the filter. Event notification happens after normal signal delivery processing. .Va data Modified: projects/mtree/lib/libcompiler_rt/Makefile ============================================================================== --- projects/mtree/lib/libcompiler_rt/Makefile Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/lib/libcompiler_rt/Makefile Tue Jan 22 16:52:04 2013 (r245794) @@ -136,18 +136,22 @@ SRCF+= adddf3 \ addsf3 \ divdf3 \ divsf3 \ - divsi3 \ extendsfdf2 \ fixdfsi \ fixsfsi \ floatsidf \ floatsisf \ - modsi3 \ muldf3 \ mulsf3 \ subdf3 \ subsf3 \ - truncdfsf2 \ + truncdfsf2 +.endif + +.if ${MACHINE_CPUARCH} != "mips" && \ + (${MACHINE_CPUARCH} != "arm" || ${MK_ARM_EABI} != "no") +SRCF+= divsi3 \ + modsi3 \ udivsi3 \ umodsi3 .endif @@ -181,6 +185,13 @@ SRCS+= ${file}.c . endif .endfor +.if ${MACHINE_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no" +SRCS+= aeabi_idivmod.S \ + aeabi_ldivmod.S \ + aeabi_uidivmod.S \ + aeabi_uldivmod.S +.endif + .if ${MACHINE_CPUARCH} != "mips" . if ${MK_INSTALLLIB} != "no" SYMLINKS+=libcompiler_rt.a ${LIBDIR}/libgcc.a Modified: projects/mtree/lib/libthr/thread/thr_init.c ============================================================================== --- projects/mtree/lib/libthr/thread/thr_init.c Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/lib/libthr/thread/thr_init.c Tue Jan 22 16:52:04 2013 (r245794) @@ -363,6 +363,12 @@ _libpthread_init(struct pthread *curthre _thr_signal_init(); if (_thread_event_mask & TD_CREATE) _thr_report_creation(curthread, curthread); + /* + * Always use our rtld lock implementation. + * It is faster because it postpones signal handlers + * instead of calling sigprocmask(2). + */ + _thr_rtld_init(); } } Modified: projects/mtree/lib/libthr/thread/thr_kern.c ============================================================================== --- projects/mtree/lib/libthr/thread/thr_kern.c Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/lib/libthr/thread/thr_kern.c Tue Jan 22 16:52:04 2013 (r245794) @@ -57,11 +57,6 @@ _thr_setthreaded(int threaded) return (0); __isthreaded = threaded; - if (threaded != 0) { - _thr_rtld_init(); - } else { - _thr_rtld_fini(); - } return (0); } Modified: projects/mtree/libexec/rtld-elf/Makefile ============================================================================== --- projects/mtree/libexec/rtld-elf/Makefile Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/libexec/rtld-elf/Makefile Tue Jan 22 16:52:04 2013 (r245794) @@ -42,6 +42,16 @@ LDFLAGS+= -shared -Wl,-Bsymbolic DPADD= ${LIBC_PIC} LDADD= -lc_pic +.if ${MACHINE_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no" +# Some of the required math functions (div & mod) are implemented in libgcc +# on ARM. The library also needs to be placed first to be correctly linked. +# As some of the functions are used before we have shared libraries. +DPADD+= ${LIBGCC} +LDADD+= -lgcc +.endif + + + .if ${MK_SYMVER} == "yes" LIBCDIR= ${TOPSRCDIR}/lib/libc VERSION_DEF= ${LIBCDIR}/Versions.def Modified: projects/mtree/release/rc.local ============================================================================== --- projects/mtree/release/rc.local Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/release/rc.local Tue Jan 22 16:52:04 2013 (r245794) @@ -45,6 +45,16 @@ else fi export TERM +if [ -f /etc/installerconfig ]; then + if bsdinstall script /etc/installerconfig; then + dialog --backtitle "FreeBSD Installer" --title "Complete" --no-cancel --ok-label "Reboot" --pause "Installation of FreeBSD complete! Rebooting in 10 seconds" 10 30 10 + reboot + else + dialog --backtitle "FreeBSD Installer" --title "Error" --textbox /tmp/bsdinstall_log 0 0 + fi + exit +fi + dialog --backtitle "FreeBSD Installer" --title "Welcome" --extra-button --extra-label "Shell" --ok-label "Install" --cancel-label "Live CD" --yesno "Welcome to FreeBSD! Would you like to begin an installation or use the live CD?" 0 0 case $? in Modified: projects/mtree/sbin/newfs_msdos/newfs_msdos.c ============================================================================== --- projects/mtree/sbin/newfs_msdos/newfs_msdos.c Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/sbin/newfs_msdos/newfs_msdos.c Tue Jan 22 16:52:04 2013 (r245794) @@ -808,7 +808,7 @@ getdiskinfo(int fd, const char *fname, c struct stat st; if (fstat(fd, &st)) - err(1, "Cannot get disk size"); + err(1, "cannot get disk size"); /* create a fake geometry for a file image */ ms = st.st_size; dlp.d_secsize = 512; @@ -832,18 +832,18 @@ getdiskinfo(int fd, const char *fname, c if (ioctl(fd, DIOCGDINFO, &dlp) == -1) { if (bpb->bpbBytesPerSec == 0 && ioctl(fd, DIOCGSECTORSIZE, &dlp.d_secsize) == -1) - errx(1, "Cannot get sector size, %s", strerror(errno)); + err(1, "cannot get sector size"); dlp.d_secperunit = ms / dlp.d_secsize; if (bpb->bpbSecPerTrack == 0 && ioctl(fd, DIOCGFWSECTORS, &dlp.d_nsectors) == -1) { - warnx("Cannot get number of sectors per track, %s", strerror(errno)); + warn("cannot get number of sectors per track"); dlp.d_nsectors = 63; } if (bpb->bpbHeads == 0 && ioctl(fd, DIOCGFWHEADS, &dlp.d_ntracks) == -1) { - warnx("Cannot get number of heads, %s", strerror(errno)); + warn("cannot get number of heads"); if (dlp.d_secperunit <= 63*1*1024) dlp.d_ntracks = 1; else if (dlp.d_secperunit <= 63*16*1024) Modified: projects/mtree/share/man/man4/Makefile ============================================================================== --- projects/mtree/share/man/man4/Makefile Tue Jan 22 16:23:08 2013 (r245793) +++ projects/mtree/share/man/man4/Makefile Tue Jan 22 16:52:04 2013 (r245794) @@ -70,6 +70,7 @@ MAN= aac.4 \ bce.4 \ bfe.4 \ bge.4 \ + ${_bhyve.4} \ bktr.4 \ blackhole.4 \ bpf.4 \ @@ -784,6 +785,7 @@ MLINKS+=lindev.4 full.4 .endif .if ${MACHINE_CPUARCH} == "amd64" +_bhyve.4= bhyve.4 _qlxgb.4= qlxgb.4 _sfxge.4= sfxge.4 Copied: projects/mtree/share/man/man4/bhyve.4 (from r245793, head/share/man/man4/bhyve.4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mtree/share/man/man4/bhyve.4 Tue Jan 22 16:52:04 2013 (r245794, copy of r245793, head/share/man/man4/bhyve.4) @@ -0,0 +1,68 @@ +.\" +.\" Copyright (c) 2012 NetApp Inc +.\" 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$ +.\" +.Dd January 5, 2013 +.Dt BHYVE 4 +.Os +.Sh NAME +.Nm bhyve +.Nd virtual machine monitor +.Sh SYNOPSIS +.Cd "/usr/sbin/bhyve" +.Cd "/usr/sbin/bhyveload" +.Cd "/usr/sbin/bhyvectl" +.Cd "/boot/kernel/vmm.ko" +.Sh DESCRIPTION +.Nm +is a virtual machine monitor that is hosted by FreeBSD. It is used to host +unmodified guest operating systems on top of FreeBSD. +.Pp +.Nm +relies heavily on hardware assist provided by the CPU and chipset to virtualize +processor and memory resources. +.Sh SEE ALSO +.Xr bhyve 8 , +.Xr bhyveload 8 , *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue Jan 22 18:14:36 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 3DED7CB3; Tue, 22 Jan 2013 18:14:36 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 168EFA80; Tue, 22 Jan 2013 18:14:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0MIEZN7061853; Tue, 22 Jan 2013 18:14:35 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0MIEZDU061852; Tue, 22 Jan 2013 18:14:35 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201301221814.r0MIEZDU061852@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 22 Jan 2013 18:14:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245808 - projects/counters/sys/netinet X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jan 2013 18:14:36 -0000 Author: glebius Date: Tue Jan 22 18:14:35 2013 New Revision: 245808 URL: http://svnweb.freebsd.org/changeset/base/245808 Log: Instead of initializing/freeing/zeroing members of struct ipstat_p name by name, use a cycle, that relies on that all fields of struct ipstat_p are counter_u64_t, and all fields of struct ipstat are uint64_t. This reduces code bloat significantly, although requires more attention, when editing structures in future. Modified: projects/counters/sys/netinet/ip_input.c Modified: projects/counters/sys/netinet/ip_input.c ============================================================================== --- projects/counters/sys/netinet/ip_input.c Tue Jan 22 18:12:31 2013 (r245807) +++ projects/counters/sys/netinet/ip_input.c Tue Jan 22 18:14:35 2013 (r245808) @@ -214,74 +214,17 @@ static void ip_freef(struct ipqhead *, s VNET_DEFINE(struct ipstat_p, ipstatp); static void -ipstat_zero(void) -{ - counter_u64_zero(V_ipstatp.ips_total); - counter_u64_zero(V_ipstatp.ips_badsum); - counter_u64_zero(V_ipstatp.ips_tooshort); - counter_u64_zero(V_ipstatp.ips_toosmall); - counter_u64_zero(V_ipstatp.ips_badhlen); - counter_u64_zero(V_ipstatp.ips_badlen); - counter_u64_zero(V_ipstatp.ips_fragments); - counter_u64_zero(V_ipstatp.ips_fragdropped); - counter_u64_zero(V_ipstatp.ips_fragtimeout); - counter_u64_zero(V_ipstatp.ips_forward); - counter_u64_zero(V_ipstatp.ips_fastforward); - counter_u64_zero(V_ipstatp.ips_cantforward); - counter_u64_zero(V_ipstatp.ips_redirectsent); - counter_u64_zero(V_ipstatp.ips_noproto); - counter_u64_zero(V_ipstatp.ips_delivered); - counter_u64_zero(V_ipstatp.ips_localout); - counter_u64_zero(V_ipstatp.ips_odropped); - counter_u64_zero(V_ipstatp.ips_reassembled); - counter_u64_zero(V_ipstatp.ips_fragmented); - counter_u64_zero(V_ipstatp.ips_ofragments); - counter_u64_zero(V_ipstatp.ips_cantfrag); - counter_u64_zero(V_ipstatp.ips_badoptions); - counter_u64_zero(V_ipstatp.ips_noroute); - counter_u64_zero(V_ipstatp.ips_badvers); - counter_u64_zero(V_ipstatp.ips_rawout); - counter_u64_zero(V_ipstatp.ips_toolong); - counter_u64_zero(V_ipstatp.ips_notmember); - counter_u64_zero(V_ipstatp.ips_nogif); - counter_u64_zero(V_ipstatp.ips_badaddr); -} - -static void vnet_ipstatp_init(const void *unused) { + counter_u64_t *c; + int i; - V_ipstatp.ips_total = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_badsum = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_tooshort = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_toosmall = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_badhlen = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_badlen = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_fragments = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_fragdropped = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_fragtimeout = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_forward = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_fastforward = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_cantforward = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_redirectsent = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_noproto = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_delivered = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_localout = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_odropped = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_reassembled = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_fragmented = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_ofragments = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_cantfrag = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_badoptions = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_noroute = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_badvers = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_rawout = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_toolong = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_notmember = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_nogif = counter_u64_alloc(M_WAITOK); - V_ipstatp.ips_badaddr = counter_u64_alloc(M_WAITOK); - - ipstat_zero(); + for (i = 0, c = (counter_u64_t *)&V_ipstatp; + i < sizeof(V_ipstatp) / sizeof(counter_u64_t); + i++, c++) { + *c = counter_u64_alloc(M_WAITOK); + counter_u64_zero(*c); + } } VNET_SYSINIT(vnet_ipstatp_init, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY, vnet_ipstatp_init, NULL); @@ -290,36 +233,13 @@ VNET_SYSINIT(vnet_ipstatp_init, SI_SUB_P static void vnet_ipstatp_uninit(const void *unused) { + counter_u64_t *c; + int i; - counter_u64_free(V_ipstatp.ips_total); - counter_u64_free(V_ipstatp.ips_badsum); - counter_u64_free(V_ipstatp.ips_tooshort); - counter_u64_free(V_ipstatp.ips_toosmall); - counter_u64_free(V_ipstatp.ips_badhlen); - counter_u64_free(V_ipstatp.ips_badlen); - counter_u64_free(V_ipstatp.ips_fragments); - counter_u64_free(V_ipstatp.ips_fragdropped); - counter_u64_free(V_ipstatp.ips_fragtimeout); - counter_u64_free(V_ipstatp.ips_forward); - counter_u64_free(V_ipstatp.ips_fastforward); - counter_u64_free(V_ipstatp.ips_cantforward); - counter_u64_free(V_ipstatp.ips_redirectsent); - counter_u64_free(V_ipstatp.ips_noproto); - counter_u64_free(V_ipstatp.ips_delivered); - counter_u64_free(V_ipstatp.ips_localout); - counter_u64_free(V_ipstatp.ips_odropped); - counter_u64_free(V_ipstatp.ips_reassembled); - counter_u64_free(V_ipstatp.ips_fragmented); - counter_u64_free(V_ipstatp.ips_ofragments); - counter_u64_free(V_ipstatp.ips_cantfrag); - counter_u64_free(V_ipstatp.ips_badoptions); - counter_u64_free(V_ipstatp.ips_noroute); - counter_u64_free(V_ipstatp.ips_badvers); - counter_u64_free(V_ipstatp.ips_rawout); - counter_u64_free(V_ipstatp.ips_toolong); - counter_u64_free(V_ipstatp.ips_notmember); - counter_u64_free(V_ipstatp.ips_nogif); - counter_u64_free(V_ipstatp.ips_badaddr); + for (i = 0, c = (counter_u64_t *)&V_ipstatp; + i < sizeof(V_ipstatp) / sizeof(counter_u64_t); + i++, c++) + counter_u64_free(*c); } VNET_SYSUNINIT(vnet_ipstatp_uninit, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY, vnet_ipstatp_uninit, NULL); @@ -329,54 +249,33 @@ static int ipstat_sysctl(SYSCTL_HANDLER_ARGS) { struct ipstat ipstat; + counter_u64_t *c; + uint64_t *v; + int i; - ipstat.ips_total = counter_u64_fetch(V_ipstatp.ips_total); - ipstat.ips_badsum = counter_u64_fetch(V_ipstatp.ips_badsum); - ipstat.ips_tooshort = counter_u64_fetch(V_ipstatp.ips_tooshort); - ipstat.ips_toosmall = counter_u64_fetch(V_ipstatp.ips_toosmall); - ipstat.ips_badhlen = counter_u64_fetch(V_ipstatp.ips_badhlen); - ipstat.ips_badlen = counter_u64_fetch(V_ipstatp.ips_badlen); - ipstat.ips_fragments = counter_u64_fetch(V_ipstatp.ips_fragments); - ipstat.ips_fragdropped = counter_u64_fetch(V_ipstatp.ips_fragdropped); - ipstat.ips_fragtimeout = counter_u64_fetch(V_ipstatp.ips_fragtimeout); - ipstat.ips_forward = counter_u64_fetch(V_ipstatp.ips_forward); - ipstat.ips_fastforward = counter_u64_fetch(V_ipstatp.ips_fastforward); - ipstat.ips_cantforward = counter_u64_fetch(V_ipstatp.ips_cantforward); - ipstat.ips_redirectsent = counter_u64_fetch(V_ipstatp.ips_redirectsent); - ipstat.ips_noproto = counter_u64_fetch(V_ipstatp.ips_noproto); - ipstat.ips_delivered = counter_u64_fetch(V_ipstatp.ips_delivered); - ipstat.ips_localout = counter_u64_fetch(V_ipstatp.ips_localout); - ipstat.ips_odropped = counter_u64_fetch(V_ipstatp.ips_odropped); - ipstat.ips_reassembled = counter_u64_fetch(V_ipstatp.ips_reassembled); - ipstat.ips_fragmented = counter_u64_fetch(V_ipstatp.ips_fragmented); - ipstat.ips_ofragments = counter_u64_fetch(V_ipstatp.ips_ofragments); - ipstat.ips_cantfrag = counter_u64_fetch(V_ipstatp.ips_cantfrag); - ipstat.ips_badoptions = counter_u64_fetch(V_ipstatp.ips_badoptions); - ipstat.ips_noroute = counter_u64_fetch(V_ipstatp.ips_noroute); - ipstat.ips_badvers = counter_u64_fetch(V_ipstatp.ips_badvers); - ipstat.ips_rawout = counter_u64_fetch(V_ipstatp.ips_rawout); - ipstat.ips_toolong = counter_u64_fetch(V_ipstatp.ips_toolong); - ipstat.ips_notmember = counter_u64_fetch(V_ipstatp.ips_notmember); - ipstat.ips_nogif = counter_u64_fetch(V_ipstatp.ips_nogif); - ipstat.ips_badaddr = counter_u64_fetch(V_ipstatp.ips_badaddr); - - /* - * Old interface allowed to rewrite 'struct ipstat', and netstat(1) - * used it to zero the structure. To keep compatibility with old - * netstat(1) we will zero out statistics on every write attempt, - * however we no longer support writing arbitrary fake values to - * the statistics. - */ - if (req->newptr) - ipstat_zero(); + for (i = 0, c = (counter_u64_t *)&V_ipstatp, v = (uint64_t *)&ipstat; + i < sizeof(V_ipstatp) / sizeof(counter_u64_t); + i++, c++, v++) { + *v = counter_u64_fetch(*c); + /* + * Old interface allowed to rewrite 'struct ipstat', and + * netstat(1) used it to zero the structure. To keep + * compatibility with old netstat(1) we will zero out + * statistics on every write attempt, however we no longer + * support writing arbitrary fake values to the statistics. + */ + if (req->newptr) + counter_u64_zero(*c); + } return (SYSCTL_OUT(req, &ipstat, sizeof(ipstat))); } - SYSCTL_VNET_PROC(_net_inet_ip, IPCTL_STATS, stats, CTLTYPE_OPAQUE | CTLFLAG_RW, NULL, 0, ipstat_sysctl, "I", "IP statistics (struct ipstat, netinet/ip_var.h)"); + /* + * XXXGL! * Kernel module interface for updating ipstat. The argument is an index * into ipstat treated as an array of u_long. While this encodes the general * layout of ipstat into the caller, it doesn't encode its location, so that From owner-svn-src-projects@FreeBSD.ORG Tue Jan 22 18:22:15 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B8DF9169; Tue, 22 Jan 2013 18:22:15 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id ABD76AF5; Tue, 22 Jan 2013 18:22:15 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0MIMFJm064617; Tue, 22 Jan 2013 18:22:15 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0MIMFWB064616; Tue, 22 Jan 2013 18:22:15 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201301221822.r0MIMFWB064616@svn.freebsd.org> From: Brooks Davis Date: Tue, 22 Jan 2013 18:22:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245810 - projects/mtree X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jan 2013 18:22:15 -0000 Author: brooks Date: Tue Jan 22 18:22:15 2013 New Revision: 245810 URL: http://svnweb.freebsd.org/changeset/base/245810 Log: Revert the use of install -U in middle stages. If the install flags part of the NO_ROOT implementation moves to bsd.own.mk like in NetBSD we will probably need install.sh again. Modified: projects/mtree/Makefile.inc1 Modified: projects/mtree/Makefile.inc1 ============================================================================== --- projects/mtree/Makefile.inc1 Tue Jan 22 18:15:43 2013 (r245809) +++ projects/mtree/Makefile.inc1 Tue Jan 22 18:22:15 2013 (r245810) @@ -273,7 +273,7 @@ WMAKEENV= ${CROSSENV} \ _SHLIBDIRPREFIX=${WORLDTMP} \ _LDSCRIPTROOT= \ VERSION="${VERSION}" \ - INSTALL="install -U" \ + INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} .if ${MK_CDDL} == "no" WMAKEENV+= NO_CTF=1 @@ -328,7 +328,7 @@ LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${OBJTR _SHLIBDIRPREFIX=${LIB32TMP} \ _LDSCRIPTROOT=${LIB32TMP} \ VERSION="${VERSION}" \ - INSTALL="install -U" \ + INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} \ LIBDIR=/usr/lib32 \ SHLIBDIR=/usr/lib32 \ From owner-svn-src-projects@FreeBSD.ORG Tue Jan 22 18:23:08 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 663D6295; Tue, 22 Jan 2013 18:23:08 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 48F0EB01; Tue, 22 Jan 2013 18:23:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0MIN8C7064779; Tue, 22 Jan 2013 18:23:08 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0MIN71n064772; Tue, 22 Jan 2013 18:23:07 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201301221823.r0MIN71n064772@svn.freebsd.org> From: Gleb Smirnoff Date: Tue, 22 Jan 2013 18:23:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245811 - in projects/counters: sys/netinet usr.bin/netstat X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jan 2013 18:23:08 -0000 Author: glebius Date: Tue Jan 22 18:23:07 2013 New Revision: 245811 URL: http://svnweb.freebsd.org/changeset/base/245811 Log: Convert TCP statistics to use per-CPU counters. The conversion is same as conversion of IP statistics. Modified: projects/counters/sys/netinet/tcp_input.c projects/counters/sys/netinet/tcp_var.h projects/counters/usr.bin/netstat/inet.c Modified: projects/counters/sys/netinet/tcp_input.c ============================================================================== --- projects/counters/sys/netinet/tcp_input.c Tue Jan 22 18:22:15 2013 (r245810) +++ projects/counters/sys/netinet/tcp_input.c Tue Jan 22 18:23:07 2013 (r245811) @@ -120,11 +120,6 @@ __FBSDID("$FreeBSD$"); const int tcprexmtthresh = 3; -VNET_DEFINE(struct tcpstat, tcpstat); -SYSCTL_VNET_STRUCT(_net_inet_tcp, TCPCTL_STATS, stats, CTLFLAG_RW, - &VNET_NAME(tcpstat), tcpstat, - "TCP statistics (struct tcpstat, netinet/tcp_var.h)"); - int tcp_log_in_vain = 0; SYSCTL_INT(_net_inet_tcp, OID_AUTO, log_in_vain, CTLFLAG_RW, &tcp_log_in_vain, 0, @@ -245,6 +240,69 @@ static void inline hhook_run_tcp_est_in( struct tcphdr *th, struct tcpopt *to); /* + * tcpstat + * XXXGL: more words here. + */ +VNET_DEFINE(struct tcpstat_p, tcpstatp); + +static void +vnet_tcpstatp_init(const void *unused) +{ + counter_u64_t *c; + int i; + + for (i = 0, c = (counter_u64_t *)&V_tcpstatp; + i < sizeof(V_tcpstatp) / sizeof(counter_u64_t); + i++, c++) { + *c = counter_u64_alloc(M_WAITOK); + counter_u64_zero(*c); + } +} +VNET_SYSINIT(vnet_tcpstatp_init, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY, + vnet_tcpstatp_init, NULL); + +#ifdef VIMAGE +static void +vnet_tcpstatp_uninit(const void *unused) +{ + counter_u64_t *c; + int i; + + for (i = 0, c = (counter_u64_t *)&V_tcpstatp; + i < sizeof(V_tcpstatp) / sizeof(counter_u64_t); + i++, c++) + counter_u64_free(*c); +} +VNET_SYSUNINIT(vnet_tcpstatp_init, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY, + vnet_ipstatp_uninit, NULL); +#endif /* VIMAGE */ + +static int +tcpstat_sysctl(SYSCTL_HANDLER_ARGS) +{ + struct tcpstat tcpstat; + counter_u64_t *c; + uint64_t *v; + int i; + + for (i = 0, c = (counter_u64_t *)&V_tcpstatp, v = (uint64_t *)&tcpstat; + i < sizeof(V_tcpstatp) / sizeof(counter_u64_t); + i++, c++, v++) { + *v = counter_u64_fetch(*c); + if (req->newptr) + counter_u64_zero(*c); + } + + return (SYSCTL_OUT(req, &tcpstat, sizeof(tcpstat))); +} + +SYSCTL_VNET_PROC(_net_inet_tcp, TCPCTL_STATS, stats, CTLTYPE_OPAQUE | + CTLFLAG_RW, NULL, 0, tcpstat_sysctl, "I", + "TCP statistics (struct tcpstat, netinet/tcp_var.h)"); + +/* + * XXXGL + * * Kernel module interface for updating tcpstat. The argument is an index * into tcpstat treated as an array of u_long. While this encodes the * general layout of tcpstat into the caller, it doesn't encode its location, @@ -255,7 +313,7 @@ void kmod_tcpstat_inc(int statnum) { - (*((u_long *)&V_tcpstat + statnum))++; + counter_u64_inc((counter_u64_t )&V_tcpstatp + statnum, 1); } /* Modified: projects/counters/sys/netinet/tcp_var.h ============================================================================== --- projects/counters/sys/netinet/tcp_var.h Tue Jan 22 18:22:15 2013 (r245810) +++ projects/counters/sys/netinet/tcp_var.h Tue Jan 22 18:23:07 2013 (r245811) @@ -389,125 +389,233 @@ struct tcptw { * but that's inconvenient at the moment. */ struct tcpstat { - u_long tcps_connattempt; /* connections initiated */ - u_long tcps_accepts; /* connections accepted */ - u_long tcps_connects; /* connections established */ - u_long tcps_drops; /* connections dropped */ - u_long tcps_conndrops; /* embryonic connections dropped */ - u_long tcps_minmssdrops; /* average minmss too low drops */ - u_long tcps_closed; /* conn. closed (includes drops) */ - u_long tcps_segstimed; /* segs where we tried to get rtt */ - u_long tcps_rttupdated; /* times we succeeded */ - u_long tcps_delack; /* delayed acks sent */ - u_long tcps_timeoutdrop; /* conn. dropped in rxmt timeout */ - u_long tcps_rexmttimeo; /* retransmit timeouts */ - u_long tcps_persisttimeo; /* persist timeouts */ - u_long tcps_keeptimeo; /* keepalive timeouts */ - u_long tcps_keepprobe; /* keepalive probes sent */ - u_long tcps_keepdrops; /* connections dropped in keepalive */ - - u_long tcps_sndtotal; /* total packets sent */ - u_long tcps_sndpack; /* data packets sent */ - u_long tcps_sndbyte; /* data bytes sent */ - u_long tcps_sndrexmitpack; /* data packets retransmitted */ - u_long tcps_sndrexmitbyte; /* data bytes retransmitted */ - u_long tcps_sndrexmitbad; /* unnecessary packet retransmissions */ - u_long tcps_sndacks; /* ack-only packets sent */ - u_long tcps_sndprobe; /* window probes sent */ - u_long tcps_sndurg; /* packets sent with URG only */ - u_long tcps_sndwinup; /* window update-only packets sent */ - u_long tcps_sndctrl; /* control (SYN|FIN|RST) packets sent */ - - u_long tcps_rcvtotal; /* total packets received */ - u_long tcps_rcvpack; /* packets received in sequence */ - u_long tcps_rcvbyte; /* bytes received in sequence */ - u_long tcps_rcvbadsum; /* packets received with ccksum errs */ - u_long tcps_rcvbadoff; /* packets received with bad offset */ - u_long tcps_rcvmemdrop; /* packets dropped for lack of memory */ - u_long tcps_rcvshort; /* packets received too short */ - u_long tcps_rcvduppack; /* duplicate-only packets received */ - u_long tcps_rcvdupbyte; /* duplicate-only bytes received */ - u_long tcps_rcvpartduppack; /* packets with some duplicate data */ - u_long tcps_rcvpartdupbyte; /* dup. bytes in part-dup. packets */ - u_long tcps_rcvoopack; /* out-of-order packets received */ - u_long tcps_rcvoobyte; /* out-of-order bytes received */ - u_long tcps_rcvpackafterwin; /* packets with data after window */ - u_long tcps_rcvbyteafterwin; /* bytes rcvd after window */ - u_long tcps_rcvafterclose; /* packets rcvd after "close" */ - u_long tcps_rcvwinprobe; /* rcvd window probe packets */ - u_long tcps_rcvdupack; /* rcvd duplicate acks */ - u_long tcps_rcvacktoomuch; /* rcvd acks for unsent data */ - u_long tcps_rcvackpack; /* rcvd ack packets */ - u_long tcps_rcvackbyte; /* bytes acked by rcvd acks */ - u_long tcps_rcvwinupd; /* rcvd window update packets */ - u_long tcps_pawsdrop; /* segments dropped due to PAWS */ - u_long tcps_predack; /* times hdr predict ok for acks */ - u_long tcps_preddat; /* times hdr predict ok for data pkts */ - u_long tcps_pcbcachemiss; - u_long tcps_cachedrtt; /* times cached RTT in route updated */ - u_long tcps_cachedrttvar; /* times cached rttvar updated */ - u_long tcps_cachedssthresh; /* times cached ssthresh updated */ - u_long tcps_usedrtt; /* times RTT initialized from route */ - u_long tcps_usedrttvar; /* times RTTVAR initialized from rt */ - u_long tcps_usedssthresh; /* times ssthresh initialized from rt*/ - u_long tcps_persistdrop; /* timeout in persist state */ - u_long tcps_badsyn; /* bogus SYN, e.g. premature ACK */ - u_long tcps_mturesent; /* resends due to MTU discovery */ - u_long tcps_listendrop; /* listen queue overflows */ - u_long tcps_badrst; /* ignored RSTs in the window */ - - u_long tcps_sc_added; /* entry added to syncache */ - u_long tcps_sc_retransmitted; /* syncache entry was retransmitted */ - u_long tcps_sc_dupsyn; /* duplicate SYN packet */ - u_long tcps_sc_dropped; /* could not reply to packet */ - u_long tcps_sc_completed; /* successful extraction of entry */ - u_long tcps_sc_bucketoverflow; /* syncache per-bucket limit hit */ - u_long tcps_sc_cacheoverflow; /* syncache cache limit hit */ - u_long tcps_sc_reset; /* RST removed entry from syncache */ - u_long tcps_sc_stale; /* timed out or listen socket gone */ - u_long tcps_sc_aborted; /* syncache entry aborted */ - u_long tcps_sc_badack; /* removed due to bad ACK */ - u_long tcps_sc_unreach; /* ICMP unreachable received */ - u_long tcps_sc_zonefail; /* zalloc() failed */ - u_long tcps_sc_sendcookie; /* SYN cookie sent */ - u_long tcps_sc_recvcookie; /* SYN cookie received */ + uint64_t tcps_connattempt; /* connections initiated */ + uint64_t tcps_accepts; /* connections accepted */ + uint64_t tcps_connects; /* connections established */ + uint64_t tcps_drops; /* connections dropped */ + uint64_t tcps_conndrops; /* embryonic connections dropped */ + uint64_t tcps_minmssdrops; /* average minmss too low drops */ + uint64_t tcps_closed; /* conn. closed (includes drops) */ + uint64_t tcps_segstimed; /* segs where we tried to get rtt */ + uint64_t tcps_rttupdated; /* times we succeeded */ + uint64_t tcps_delack; /* delayed acks sent */ + uint64_t tcps_timeoutdrop; /* conn. dropped in rxmt timeout */ + uint64_t tcps_rexmttimeo; /* retransmit timeouts */ + uint64_t tcps_persisttimeo; /* persist timeouts */ + uint64_t tcps_keeptimeo; /* keepalive timeouts */ + uint64_t tcps_keepprobe; /* keepalive probes sent */ + uint64_t tcps_keepdrops; /* connections dropped in keepalive */ + + uint64_t tcps_sndtotal; /* total packets sent */ + uint64_t tcps_sndpack; /* data packets sent */ + uint64_t tcps_sndbyte; /* data bytes sent */ + uint64_t tcps_sndrexmitpack; /* data packets retransmitted */ + uint64_t tcps_sndrexmitbyte; /* data bytes retransmitted */ + uint64_t tcps_sndrexmitbad; /* unnecessary packet retransmissions */ + uint64_t tcps_sndacks; /* ack-only packets sent */ + uint64_t tcps_sndprobe; /* window probes sent */ + uint64_t tcps_sndurg; /* packets sent with URG only */ + uint64_t tcps_sndwinup; /* window update-only packets sent */ + uint64_t tcps_sndctrl; /* control (SYN|FIN|RST) packets sent */ + + uint64_t tcps_rcvtotal; /* total packets received */ + uint64_t tcps_rcvpack; /* packets received in sequence */ + uint64_t tcps_rcvbyte; /* bytes received in sequence */ + uint64_t tcps_rcvbadsum; /* packets received with ccksum errs */ + uint64_t tcps_rcvbadoff; /* packets received with bad offset */ + uint64_t tcps_rcvmemdrop; /* packets dropped for lack of memory */ + uint64_t tcps_rcvshort; /* packets received too short */ + uint64_t tcps_rcvduppack; /* duplicate-only packets received */ + uint64_t tcps_rcvdupbyte; /* duplicate-only bytes received */ + uint64_t tcps_rcvpartduppack; /* packets with some duplicate data */ + uint64_t tcps_rcvpartdupbyte; /* dup. bytes in part-dup. packets */ + uint64_t tcps_rcvoopack; /* out-of-order packets received */ + uint64_t tcps_rcvoobyte; /* out-of-order bytes received */ + uint64_t tcps_rcvpackafterwin; /* packets with data after window */ + uint64_t tcps_rcvbyteafterwin; /* bytes rcvd after window */ + uint64_t tcps_rcvafterclose; /* packets rcvd after "close" */ + uint64_t tcps_rcvwinprobe; /* rcvd window probe packets */ + uint64_t tcps_rcvdupack; /* rcvd duplicate acks */ + uint64_t tcps_rcvacktoomuch; /* rcvd acks for unsent data */ + uint64_t tcps_rcvackpack; /* rcvd ack packets */ + uint64_t tcps_rcvackbyte; /* bytes acked by rcvd acks */ + uint64_t tcps_rcvwinupd; /* rcvd window update packets */ + uint64_t tcps_pawsdrop; /* segments dropped due to PAWS */ + uint64_t tcps_predack; /* times hdr predict ok for acks */ + uint64_t tcps_preddat; /* times hdr predict ok for data pkts */ + uint64_t tcps_pcbcachemiss; + uint64_t tcps_cachedrtt; /* times cached RTT in route updated */ + uint64_t tcps_cachedrttvar; /* times cached rttvar updated */ + uint64_t tcps_cachedssthresh; /* times cached ssthresh updated */ + uint64_t tcps_usedrtt; /* times RTT initialized from route */ + uint64_t tcps_usedrttvar; /* times RTTVAR initialized from rt */ + uint64_t tcps_usedssthresh; /* times ssthresh initialized from rt*/ + uint64_t tcps_persistdrop; /* timeout in persist state */ + uint64_t tcps_badsyn; /* bogus SYN, e.g. premature ACK */ + uint64_t tcps_mturesent; /* resends due to MTU discovery */ + uint64_t tcps_listendrop; /* listen queue overflows */ + uint64_t tcps_badrst; /* ignored RSTs in the window */ + + uint64_t tcps_sc_added; /* entry added to syncache */ + uint64_t tcps_sc_retransmitted; /* syncache entry was retransmitted */ + uint64_t tcps_sc_dupsyn; /* duplicate SYN packet */ + uint64_t tcps_sc_dropped; /* could not reply to packet */ + uint64_t tcps_sc_completed; /* successful extraction of entry */ + uint64_t tcps_sc_bucketoverflow;/* syncache per-bucket limit hit */ + uint64_t tcps_sc_cacheoverflow; /* syncache cache limit hit */ + uint64_t tcps_sc_reset; /* RST removed entry from syncache */ + uint64_t tcps_sc_stale; /* timed out or listen socket gone */ + uint64_t tcps_sc_aborted; /* syncache entry aborted */ + uint64_t tcps_sc_badack; /* removed due to bad ACK */ + uint64_t tcps_sc_unreach; /* ICMP unreachable received */ + uint64_t tcps_sc_zonefail; /* zalloc() failed */ + uint64_t tcps_sc_sendcookie; /* SYN cookie sent */ + uint64_t tcps_sc_recvcookie; /* SYN cookie received */ - u_long tcps_hc_added; /* entry added to hostcache */ - u_long tcps_hc_bucketoverflow; /* hostcache per bucket limit hit */ + uint64_t tcps_hc_added; /* entry added to hostcache */ + uint64_t tcps_hc_bucketoverflow;/* hostcache per bucket limit hit */ - u_long tcps_finwait2_drops; /* Drop FIN_WAIT_2 connection after time limit */ + uint64_t tcps_finwait2_drops; /* Drop FIN_WAIT_2 connection after time limit */ /* SACK related stats */ - u_long tcps_sack_recovery_episode; /* SACK recovery episodes */ - u_long tcps_sack_rexmits; /* SACK rexmit segments */ - u_long tcps_sack_rexmit_bytes; /* SACK rexmit bytes */ - u_long tcps_sack_rcv_blocks; /* SACK blocks (options) received */ - u_long tcps_sack_send_blocks; /* SACK blocks (options) sent */ - u_long tcps_sack_sboverflow; /* times scoreboard overflowed */ + uint64_t tcps_sack_recovery_episode; /* SACK recovery episodes */ + uint64_t tcps_sack_rexmits; /* SACK rexmit segments */ + uint64_t tcps_sack_rexmit_bytes; /* SACK rexmit bytes */ + uint64_t tcps_sack_rcv_blocks; /* SACK blocks (options) received */ + uint64_t tcps_sack_send_blocks; /* SACK blocks (options) sent */ + uint64_t tcps_sack_sboverflow; /* times scoreboard overflowed */ /* ECN related stats */ - u_long tcps_ecn_ce; /* ECN Congestion Experienced */ - u_long tcps_ecn_ect0; /* ECN Capable Transport */ - u_long tcps_ecn_ect1; /* ECN Capable Transport */ - u_long tcps_ecn_shs; /* ECN successful handshakes */ - u_long tcps_ecn_rcwnd; /* # times ECN reduced the cwnd */ + uint64_t tcps_ecn_ce; /* ECN Congestion Experienced */ + uint64_t tcps_ecn_ect0; /* ECN Capable Transport */ + uint64_t tcps_ecn_ect1; /* ECN Capable Transport */ + uint64_t tcps_ecn_shs; /* ECN successful handshakes */ + uint64_t tcps_ecn_rcwnd; /* # times ECN reduced the cwnd */ /* TCP_SIGNATURE related stats */ - u_long tcps_sig_rcvgoodsig; /* Total matching signature received */ - u_long tcps_sig_rcvbadsig; /* Total bad signature received */ - u_long tcps_sig_err_buildsig; /* Mismatching signature received */ - u_long tcps_sig_err_sigopt; /* No signature expected by socket */ - u_long tcps_sig_err_nosigopt; /* No signature provided by segment */ + uint64_t tcps_sig_rcvgoodsig; /* Total matching signature received */ + uint64_t tcps_sig_rcvbadsig; /* Total bad signature received */ + uint64_t tcps_sig_err_buildsig; /* Mismatching signature received */ + uint64_t tcps_sig_err_sigopt; /* No signature expected by socket */ + uint64_t tcps_sig_err_nosigopt; /* No signature provided by segment */ - u_long _pad[12]; /* 6 UTO, 6 TBD */ + uint64_t _pad[12]; /* 6 UTO, 6 TBD */ }; #ifdef _KERNEL + +#include + +/* Should match 'struct tcpstat' above. */ +struct tcpstat_p { + counter_u64_t tcps_connattempt; + counter_u64_t tcps_accepts; + counter_u64_t tcps_connects; + counter_u64_t tcps_drops; + counter_u64_t tcps_conndrops; + counter_u64_t tcps_minmssdrops; + counter_u64_t tcps_closed; + counter_u64_t tcps_segstimed; + counter_u64_t tcps_rttupdated; + counter_u64_t tcps_delack; + counter_u64_t tcps_timeoutdrop; + counter_u64_t tcps_rexmttimeo; + counter_u64_t tcps_persisttimeo; + counter_u64_t tcps_keeptimeo; + counter_u64_t tcps_keepprobe; + counter_u64_t tcps_keepdrops; + counter_u64_t tcps_sndtotal; + counter_u64_t tcps_sndpack; + counter_u64_t tcps_sndbyte; + counter_u64_t tcps_sndrexmitpack; + counter_u64_t tcps_sndrexmitbyte; + counter_u64_t tcps_sndrexmitbad; + counter_u64_t tcps_sndacks; + counter_u64_t tcps_sndprobe; + counter_u64_t tcps_sndurg; + counter_u64_t tcps_sndwinup; + counter_u64_t tcps_sndctrl; + counter_u64_t tcps_rcvtotal; + counter_u64_t tcps_rcvpack; + counter_u64_t tcps_rcvbyte; + counter_u64_t tcps_rcvbadsum; + counter_u64_t tcps_rcvbadoff; + counter_u64_t tcps_rcvmemdrop; + counter_u64_t tcps_rcvshort; + counter_u64_t tcps_rcvduppack; + counter_u64_t tcps_rcvdupbyte; + counter_u64_t tcps_rcvpartduppack; + counter_u64_t tcps_rcvpartdupbyte; + counter_u64_t tcps_rcvoopack; + counter_u64_t tcps_rcvoobyte; + counter_u64_t tcps_rcvpackafterwin; + counter_u64_t tcps_rcvbyteafterwin; + counter_u64_t tcps_rcvafterclose; + counter_u64_t tcps_rcvwinprobe; + counter_u64_t tcps_rcvdupack; + counter_u64_t tcps_rcvacktoomuch; + counter_u64_t tcps_rcvackpack; + counter_u64_t tcps_rcvackbyte; + counter_u64_t tcps_rcvwinupd; + counter_u64_t tcps_pawsdrop; + counter_u64_t tcps_predack; + counter_u64_t tcps_preddat; + counter_u64_t tcps_pcbcachemiss; + counter_u64_t tcps_cachedrtt; + counter_u64_t tcps_cachedrttvar; + counter_u64_t tcps_cachedssthresh; + counter_u64_t tcps_usedrtt; + counter_u64_t tcps_usedrttvar; + counter_u64_t tcps_usedssthresh; + counter_u64_t tcps_persistdrop; + counter_u64_t tcps_badsyn; + counter_u64_t tcps_mturesent; + counter_u64_t tcps_listendrop; + counter_u64_t tcps_badrst; + counter_u64_t tcps_sc_added; + counter_u64_t tcps_sc_retransmitted; + counter_u64_t tcps_sc_dupsyn; + counter_u64_t tcps_sc_dropped; + counter_u64_t tcps_sc_completed; + counter_u64_t tcps_sc_bucketoverflow; + counter_u64_t tcps_sc_cacheoverflow; + counter_u64_t tcps_sc_reset; + counter_u64_t tcps_sc_stale; + counter_u64_t tcps_sc_aborted; + counter_u64_t tcps_sc_badack; + counter_u64_t tcps_sc_unreach; + counter_u64_t tcps_sc_zonefail; + counter_u64_t tcps_sc_sendcookie; + counter_u64_t tcps_sc_recvcookie; + counter_u64_t tcps_hc_added; + counter_u64_t tcps_hc_bucketoverflow; + counter_u64_t tcps_finwait2_drops; + counter_u64_t tcps_sack_recovery_episode; + counter_u64_t tcps_sack_rexmits; + counter_u64_t tcps_sack_rexmit_bytes; + counter_u64_t tcps_sack_rcv_blocks; + counter_u64_t tcps_sack_send_blocks; + counter_u64_t tcps_sack_sboverflow; + counter_u64_t tcps_ecn_ce; + counter_u64_t tcps_ecn_ect0; + counter_u64_t tcps_ecn_ect1; + counter_u64_t tcps_ecn_shs; + counter_u64_t tcps_ecn_rcwnd; + counter_u64_t tcps_sig_rcvgoodsig; + counter_u64_t tcps_sig_rcvbadsig; + counter_u64_t tcps_sig_err_buildsig; + counter_u64_t tcps_sig_err_sigopt; + counter_u64_t tcps_sig_err_nosigopt; +}; + +VNET_DECLARE(struct tcpstat_p, tcpstatp); /* tcp statistics */ +#define V_tcpstatp VNET(tcpstatp) + /* * In-kernel consumers can use these accessor macros directly to update * stats. */ -#define TCPSTAT_ADD(name, val) V_tcpstat.name += (val) +#define TCPSTAT_ADD(name, val) counter_u64_inc(V_tcpstatp.name, (val)) #define TCPSTAT_INC(name) TCPSTAT_ADD(name, 1) /* @@ -515,7 +623,8 @@ struct tcpstat { */ void kmod_tcpstat_inc(int statnum); #define KMOD_TCPSTAT_INC(name) \ - kmod_tcpstat_inc(offsetof(struct tcpstat, name) / sizeof(u_long)) + kmod_tcpstat_inc(offsetof(struct tcpstat_p, name) / \ + sizeof(counter_u64_t)) /* * TCP specific helper hook point identifiers. @@ -605,7 +714,6 @@ MALLOC_DECLARE(M_TCPLOG); VNET_DECLARE(struct inpcbhead, tcb); /* queue of active tcpcb's */ VNET_DECLARE(struct inpcbinfo, tcbinfo); -VNET_DECLARE(struct tcpstat, tcpstat); /* tcp statistics */ extern int tcp_log_in_vain; VNET_DECLARE(int, tcp_mssdflt); /* XXX */ VNET_DECLARE(int, tcp_minmss); @@ -619,7 +727,6 @@ VNET_DECLARE(int, tcp_do_rfc3465); VNET_DECLARE(int, tcp_abc_l_var); #define V_tcb VNET(tcb) #define V_tcbinfo VNET(tcbinfo) -#define V_tcpstat VNET(tcpstat) #define V_tcp_mssdflt VNET(tcp_mssdflt) #define V_tcp_minmss VNET(tcp_minmss) #define V_tcp_delack_enabled VNET(tcp_delack_enabled) Modified: projects/counters/usr.bin/netstat/inet.c ============================================================================== --- projects/counters/usr.bin/netstat/inet.c Tue Jan 22 18:22:15 2013 (r245810) +++ projects/counters/usr.bin/netstat/inet.c Tue Jan 22 18:23:07 2013 (r245811) @@ -608,115 +608,121 @@ tcp_stats(u_long off, const char *name, printf ("%s:\n", name); -#define p(f, m) if (tcpstat.f || sflag <= 1) \ - printf(m, tcpstat.f, plural(tcpstat.f)) -#define p1a(f, m) if (tcpstat.f || sflag <= 1) \ - printf(m, tcpstat.f) -#define p2(f1, f2, m) if (tcpstat.f1 || tcpstat.f2 || sflag <= 1) \ - printf(m, tcpstat.f1, plural(tcpstat.f1), tcpstat.f2, plural(tcpstat.f2)) -#define p2a(f1, f2, m) if (tcpstat.f1 || tcpstat.f2 || sflag <= 1) \ - printf(m, tcpstat.f1, plural(tcpstat.f1), tcpstat.f2) -#define p3(f, m) if (tcpstat.f || sflag <= 1) \ - printf(m, tcpstat.f, pluralies(tcpstat.f)) +#define p(f, m) if (tcpstat.f || sflag <= 1) \ + printf(m, (uintmax_t )tcpstat.f, plural(tcpstat.f)) - p(tcps_sndtotal, "\t%lu packet%s sent\n"); - p2(tcps_sndpack,tcps_sndbyte, "\t\t%lu data packet%s (%lu byte%s)\n"); +#define p1a(f, m) if (tcpstat.f || sflag <= 1) \ + printf(m, (uintmax_t )tcpstat.f) + +#define p2(f1, f2, m) if (tcpstat.f1 || tcpstat.f2 || sflag <= 1) \ + printf(m, (uintmax_t )tcpstat.f1, plural(tcpstat.f1), \ + (uintmax_t )tcpstat.f2, plural(tcpstat.f2)) + +#define p2a(f1, f2, m) if (tcpstat.f1 || tcpstat.f2 || sflag <= 1) \ + printf(m, (uintmax_t )tcpstat.f1, plural(tcpstat.f1), \ + (uintmax_t )tcpstat.f2) + +#define p3(f, m) if (tcpstat.f || sflag <= 1) \ + printf(m, (uintmax_t )tcpstat.f, pluralies(tcpstat.f)) + + p(tcps_sndtotal, "\t%ju packet%s sent\n"); + p2(tcps_sndpack,tcps_sndbyte, "\t\t%ju data packet%s (%ju byte%s)\n"); p2(tcps_sndrexmitpack, tcps_sndrexmitbyte, - "\t\t%lu data packet%s (%lu byte%s) retransmitted\n"); + "\t\t%ju data packet%s (%ju byte%s) retransmitted\n"); p(tcps_sndrexmitbad, - "\t\t%lu data packet%s unnecessarily retransmitted\n"); - p(tcps_mturesent, "\t\t%lu resend%s initiated by MTU discovery\n"); + "\t\t%ju data packet%s unnecessarily retransmitted\n"); + p(tcps_mturesent, "\t\t%ju resend%s initiated by MTU discovery\n"); p2a(tcps_sndacks, tcps_delack, - "\t\t%lu ack-only packet%s (%lu delayed)\n"); - p(tcps_sndurg, "\t\t%lu URG only packet%s\n"); - p(tcps_sndprobe, "\t\t%lu window probe packet%s\n"); - p(tcps_sndwinup, "\t\t%lu window update packet%s\n"); - p(tcps_sndctrl, "\t\t%lu control packet%s\n"); - p(tcps_rcvtotal, "\t%lu packet%s received\n"); + "\t\t%ju ack-only packet%s (%ju delayed)\n"); + p(tcps_sndurg, "\t\t%ju URG only packet%s\n"); + p(tcps_sndprobe, "\t\t%ju window probe packet%s\n"); + p(tcps_sndwinup, "\t\t%ju window update packet%s\n"); + p(tcps_sndctrl, "\t\t%ju control packet%s\n"); + p(tcps_rcvtotal, "\t%ju packet%s received\n"); p2(tcps_rcvackpack, tcps_rcvackbyte, - "\t\t%lu ack%s (for %lu byte%s)\n"); - p(tcps_rcvdupack, "\t\t%lu duplicate ack%s\n"); - p(tcps_rcvacktoomuch, "\t\t%lu ack%s for unsent data\n"); + "\t\t%ju ack%s (for %ju byte%s)\n"); + p(tcps_rcvdupack, "\t\t%ju duplicate ack%s\n"); + p(tcps_rcvacktoomuch, "\t\t%ju ack%s for unsent data\n"); p2(tcps_rcvpack, tcps_rcvbyte, - "\t\t%lu packet%s (%lu byte%s) received in-sequence\n"); + "\t\t%ju packet%s (%ju byte%s) received in-sequence\n"); p2(tcps_rcvduppack, tcps_rcvdupbyte, - "\t\t%lu completely duplicate packet%s (%lu byte%s)\n"); - p(tcps_pawsdrop, "\t\t%lu old duplicate packet%s\n"); + "\t\t%ju completely duplicate packet%s (%ju byte%s)\n"); + p(tcps_pawsdrop, "\t\t%ju old duplicate packet%s\n"); p2(tcps_rcvpartduppack, tcps_rcvpartdupbyte, - "\t\t%lu packet%s with some dup. data (%lu byte%s duped)\n"); + "\t\t%ju packet%s with some dup. data (%ju byte%s duped)\n"); p2(tcps_rcvoopack, tcps_rcvoobyte, - "\t\t%lu out-of-order packet%s (%lu byte%s)\n"); + "\t\t%ju out-of-order packet%s (%ju byte%s)\n"); p2(tcps_rcvpackafterwin, tcps_rcvbyteafterwin, - "\t\t%lu packet%s (%lu byte%s) of data after window\n"); - p(tcps_rcvwinprobe, "\t\t%lu window probe%s\n"); - p(tcps_rcvwinupd, "\t\t%lu window update packet%s\n"); - p(tcps_rcvafterclose, "\t\t%lu packet%s received after close\n"); - p(tcps_rcvbadsum, "\t\t%lu discarded for bad checksum%s\n"); - p(tcps_rcvbadoff, "\t\t%lu discarded for bad header offset field%s\n"); - p1a(tcps_rcvshort, "\t\t%lu discarded because packet too short\n"); - p1a(tcps_rcvmemdrop, "\t\t%lu discarded due to memory problems\n"); - p(tcps_connattempt, "\t%lu connection request%s\n"); - p(tcps_accepts, "\t%lu connection accept%s\n"); - p(tcps_badsyn, "\t%lu bad connection attempt%s\n"); - p(tcps_listendrop, "\t%lu listen queue overflow%s\n"); - p(tcps_badrst, "\t%lu ignored RSTs in the window%s\n"); - p(tcps_connects, "\t%lu connection%s established (including accepts)\n"); + "\t\t%ju packet%s (%ju byte%s) of data after window\n"); + p(tcps_rcvwinprobe, "\t\t%ju window probe%s\n"); + p(tcps_rcvwinupd, "\t\t%ju window update packet%s\n"); + p(tcps_rcvafterclose, "\t\t%ju packet%s received after close\n"); + p(tcps_rcvbadsum, "\t\t%ju discarded for bad checksum%s\n"); + p(tcps_rcvbadoff, "\t\t%ju discarded for bad header offset field%s\n"); + p1a(tcps_rcvshort, "\t\t%ju discarded because packet too short\n"); + p1a(tcps_rcvmemdrop, "\t\t%ju discarded due to memory problems\n"); + p(tcps_connattempt, "\t%ju connection request%s\n"); + p(tcps_accepts, "\t%ju connection accept%s\n"); + p(tcps_badsyn, "\t%ju bad connection attempt%s\n"); + p(tcps_listendrop, "\t%ju listen queue overflow%s\n"); + p(tcps_badrst, "\t%ju ignored RSTs in the window%s\n"); + p(tcps_connects, "\t%ju connection%s established (including accepts)\n"); p2(tcps_closed, tcps_drops, - "\t%lu connection%s closed (including %lu drop%s)\n"); - p(tcps_cachedrtt, "\t\t%lu connection%s updated cached RTT on close\n"); + "\t%ju connection%s closed (including %ju drop%s)\n"); + p(tcps_cachedrtt, "\t\t%ju connection%s updated cached RTT on close\n"); p(tcps_cachedrttvar, - "\t\t%lu connection%s updated cached RTT variance on close\n"); + "\t\t%ju connection%s updated cached RTT variance on close\n"); p(tcps_cachedssthresh, - "\t\t%lu connection%s updated cached ssthresh on close\n"); - p(tcps_conndrops, "\t%lu embryonic connection%s dropped\n"); + "\t\t%ju connection%s updated cached ssthresh on close\n"); + p(tcps_conndrops, "\t%ju embryonic connection%s dropped\n"); p2(tcps_rttupdated, tcps_segstimed, - "\t%lu segment%s updated rtt (of %lu attempt%s)\n"); - p(tcps_rexmttimeo, "\t%lu retransmit timeout%s\n"); - p(tcps_timeoutdrop, "\t\t%lu connection%s dropped by rexmit timeout\n"); - p(tcps_persisttimeo, "\t%lu persist timeout%s\n"); - p(tcps_persistdrop, "\t\t%lu connection%s dropped by persist timeout\n"); + "\t%ju segment%s updated rtt (of %ju attempt%s)\n"); + p(tcps_rexmttimeo, "\t%ju retransmit timeout%s\n"); + p(tcps_timeoutdrop, "\t\t%ju connection%s dropped by rexmit timeout\n"); + p(tcps_persisttimeo, "\t%ju persist timeout%s\n"); + p(tcps_persistdrop, "\t\t%ju connection%s dropped by persist timeout\n"); p(tcps_finwait2_drops, - "\t%lu Connection%s (fin_wait_2) dropped because of timeout\n"); - p(tcps_keeptimeo, "\t%lu keepalive timeout%s\n"); - p(tcps_keepprobe, "\t\t%lu keepalive probe%s sent\n"); - p(tcps_keepdrops, "\t\t%lu connection%s dropped by keepalive\n"); - p(tcps_predack, "\t%lu correct ACK header prediction%s\n"); - p(tcps_preddat, "\t%lu correct data packet header prediction%s\n"); - - p3(tcps_sc_added, "\t%lu syncache entr%s added\n"); - p1a(tcps_sc_retransmitted, "\t\t%lu retransmitted\n"); - p1a(tcps_sc_dupsyn, "\t\t%lu dupsyn\n"); - p1a(tcps_sc_dropped, "\t\t%lu dropped\n"); - p1a(tcps_sc_completed, "\t\t%lu completed\n"); - p1a(tcps_sc_bucketoverflow, "\t\t%lu bucket overflow\n"); - p1a(tcps_sc_cacheoverflow, "\t\t%lu cache overflow\n"); - p1a(tcps_sc_reset, "\t\t%lu reset\n"); - p1a(tcps_sc_stale, "\t\t%lu stale\n"); - p1a(tcps_sc_aborted, "\t\t%lu aborted\n"); - p1a(tcps_sc_badack, "\t\t%lu badack\n"); - p1a(tcps_sc_unreach, "\t\t%lu unreach\n"); - p(tcps_sc_zonefail, "\t\t%lu zone failure%s\n"); - p(tcps_sc_sendcookie, "\t%lu cookie%s sent\n"); - p(tcps_sc_recvcookie, "\t%lu cookie%s received\n"); + "\t%ju Connection%s (fin_wait_2) dropped because of timeout\n"); + p(tcps_keeptimeo, "\t%ju keepalive timeout%s\n"); + p(tcps_keepprobe, "\t\t%ju keepalive probe%s sent\n"); + p(tcps_keepdrops, "\t\t%ju connection%s dropped by keepalive\n"); + p(tcps_predack, "\t%ju correct ACK header prediction%s\n"); + p(tcps_preddat, "\t%ju correct data packet header prediction%s\n"); + + p3(tcps_sc_added, "\t%ju syncache entr%s added\n"); + p1a(tcps_sc_retransmitted, "\t\t%ju retransmitted\n"); + p1a(tcps_sc_dupsyn, "\t\t%ju dupsyn\n"); + p1a(tcps_sc_dropped, "\t\t%ju dropped\n"); + p1a(tcps_sc_completed, "\t\t%ju completed\n"); + p1a(tcps_sc_bucketoverflow, "\t\t%ju bucket overflow\n"); + p1a(tcps_sc_cacheoverflow, "\t\t%ju cache overflow\n"); + p1a(tcps_sc_reset, "\t\t%ju reset\n"); + p1a(tcps_sc_stale, "\t\t%ju stale\n"); + p1a(tcps_sc_aborted, "\t\t%ju aborted\n"); + p1a(tcps_sc_badack, "\t\t%ju badack\n"); + p1a(tcps_sc_unreach, "\t\t%ju unreach\n"); + p(tcps_sc_zonefail, "\t\t%ju zone failure%s\n"); + p(tcps_sc_sendcookie, "\t%ju cookie%s sent\n"); + p(tcps_sc_recvcookie, "\t%ju cookie%s received\n"); - p(tcps_hc_added, "\t%lu hostcache entrie%s added\n"); - p1a(tcps_hc_bucketoverflow, "\t\t%lu bucket overflow\n"); + p3(tcps_hc_added, "\t%ju hostcache entr%s added\n"); + p1a(tcps_hc_bucketoverflow, "\t\t%ju bucket overflow\n"); - p(tcps_sack_recovery_episode, "\t%lu SACK recovery episode%s\n"); + p(tcps_sack_recovery_episode, "\t%ju SACK recovery episode%s\n"); p(tcps_sack_rexmits, - "\t%lu segment rexmit%s in SACK recovery episodes\n"); + "\t%ju segment rexmit%s in SACK recovery episodes\n"); p(tcps_sack_rexmit_bytes, - "\t%lu byte rexmit%s in SACK recovery episodes\n"); + "\t%ju byte rexmit%s in SACK recovery episodes\n"); p(tcps_sack_rcv_blocks, - "\t%lu SACK option%s (SACK blocks) received\n"); - p(tcps_sack_send_blocks, "\t%lu SACK option%s (SACK blocks) sent\n"); - p1a(tcps_sack_sboverflow, "\t%lu SACK scoreboard overflow\n"); - - p(tcps_ecn_ce, "\t%lu packet%s with ECN CE bit set\n"); - p(tcps_ecn_ect0, "\t%lu packet%s with ECN ECT(0) bit set\n"); - p(tcps_ecn_ect1, "\t%lu packet%s with ECN ECT(1) bit set\n"); - p(tcps_ecn_shs, "\t%lu successful ECN handshake%s\n"); - p(tcps_ecn_rcwnd, "\t%lu time%s ECN reduced the congestion window\n"); + "\t%ju SACK option%s (SACK blocks) received\n"); + p(tcps_sack_send_blocks, "\t%ju SACK option%s (SACK blocks) sent\n"); + p1a(tcps_sack_sboverflow, "\t%ju SACK scoreboard overflow\n"); + + p(tcps_ecn_ce, "\t%ju packet%s with ECN CE bit set\n"); + p(tcps_ecn_ect0, "\t%ju packet%s with ECN ECT(0) bit set\n"); + p(tcps_ecn_ect1, "\t%ju packet%s with ECN ECT(1) bit set\n"); + p(tcps_ecn_shs, "\t%ju successful ECN handshake%s\n"); + p(tcps_ecn_rcwnd, "\t%ju time%s ECN reduced the congestion window\n"); #undef p #undef p1a #undef p2 From owner-svn-src-projects@FreeBSD.ORG Wed Jan 23 00:46:54 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id AF6861D9; Wed, 23 Jan 2013 00:46:54 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 8AE14F2F; Wed, 23 Jan 2013 00:46:54 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0N0ksWo081675; Wed, 23 Jan 2013 00:46:54 GMT (envelope-from sjg@svn.freebsd.org) Received: (from sjg@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0N0kstg081673; Wed, 23 Jan 2013 00:46:54 GMT (envelope-from sjg@svn.freebsd.org) Message-Id: <201301230046.r0N0kstg081673@svn.freebsd.org> From: "Simon J. Gerraty" Date: Wed, 23 Jan 2013 00:46:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245829 - projects/bmake/share/mk X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Jan 2013 00:46:54 -0000 Author: sjg Date: Wed Jan 23 00:46:53 2013 New Revision: 245829 URL: http://svnweb.freebsd.org/changeset/base/245829 Log: Because the target of SYMLINKS is typically a full path, we "stage" them to the stage tree rather than a location within. Modified: projects/bmake/share/mk/bsd.files.mk projects/bmake/share/mk/bsd.incs.mk Modified: projects/bmake/share/mk/bsd.files.mk ============================================================================== --- projects/bmake/share/mk/bsd.files.mk Tue Jan 22 22:41:12 2013 (r245828) +++ projects/bmake/share/mk/bsd.files.mk Wed Jan 23 00:46:53 2013 (r245829) @@ -26,6 +26,7 @@ ${group}DIR?= ${BINDIR} STAGE_SETS+= ${group} .endif STAGE_DIR.${group}= ${STAGE_OBJTOP}${${group}DIR} +STAGE_SYMLINKS_DIR.${group}= ${STAGE_OBJTOP} _${group}FILES= .for file in ${${group}} Modified: projects/bmake/share/mk/bsd.incs.mk ============================================================================== --- projects/bmake/share/mk/bsd.incs.mk Tue Jan 22 22:41:12 2013 (r245828) +++ projects/bmake/share/mk/bsd.incs.mk Wed Jan 23 00:46:53 2013 (r245829) @@ -26,6 +26,7 @@ ${group}MODE?= ${NOBINMODE} ${group}DIR?= ${INCLUDEDIR} STAGE_SETS+= ${group} STAGE_DIR.${group}= ${STAGE_OBJTOP}${${group}DIR} +STAGE_SYMLINKS_DIR.${group}= ${STAGE_OBJTOP} _${group}INCS= .for header in ${${group}} From owner-svn-src-projects@FreeBSD.ORG Wed Jan 23 00:47:44 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 4F3D1307; Wed, 23 Jan 2013 00:47:44 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 2C705F3A; Wed, 23 Jan 2013 00:47:44 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0N0liRX081817; Wed, 23 Jan 2013 00:47:44 GMT (envelope-from sjg@svn.freebsd.org) Received: (from sjg@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0N0liDO081816; Wed, 23 Jan 2013 00:47:44 GMT (envelope-from sjg@svn.freebsd.org) Message-Id: <201301230047.r0N0liDO081816@svn.freebsd.org> From: "Simon J. Gerraty" Date: Wed, 23 Jan 2013 00:47:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245830 - projects/bmake/share/mk X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Jan 2013 00:47:44 -0000 Author: sjg Date: Wed Jan 23 00:47:43 2013 New Revision: 245830 URL: http://svnweb.freebsd.org/changeset/base/245830 Log: If PROGNAME is set, we need to use stage_as rather than stage_files to control the name in the stage tree. Modified: projects/bmake/share/mk/bsd.prog.mk Modified: projects/bmake/share/mk/bsd.prog.mk ============================================================================== --- projects/bmake/share/mk/bsd.prog.mk Wed Jan 23 00:46:53 2013 (r245829) +++ projects/bmake/share/mk/bsd.prog.mk Wed Jan 23 00:47:43 2013 (r245830) @@ -241,12 +241,24 @@ stage_files stage_as: .else # normally only libs and includes are staged .if ${MK_STAGING_PROG:Uno} != "no" -STAGE_SETS+= prog STAGE_DIR.prog= ${STAGE_OBJTOP}${BINDIR} +STAGE_SYMLINKS_DIR.prog= ${STAGE_OBJTOP} + +.if defined(PROGNAME) +STAGE_AS_SETS+= prog +STAGE_AS_${PROG}= ${PROGNAME} +stage_as.prog: ${PROG} .if !empty(PROG) -all: stage_files +all: stage_as +.endif +.else +STAGE_SETS+= prog stage_files.prog: ${PROG} +.if !empty(PROG) +all: stage_files .endif +.endif + .if !empty(SYMLINKS) all: stage_symlinks STAGE_SYMLINKS.prog= ${SYMLINKS} From owner-svn-src-projects@FreeBSD.ORG Wed Jan 23 00:49:07 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 9447742C; Wed, 23 Jan 2013 00:49:07 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 6DAA3F44; Wed, 23 Jan 2013 00:49:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0N0n76f082046; Wed, 23 Jan 2013 00:49:07 GMT (envelope-from sjg@svn.freebsd.org) Received: (from sjg@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0N0n6ZG082040; Wed, 23 Jan 2013 00:49:06 GMT (envelope-from sjg@svn.freebsd.org) Message-Id: <201301230049.r0N0n6ZG082040@svn.freebsd.org> From: "Simon J. Gerraty" Date: Wed, 23 Jan 2013 00:49:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245831 - in projects/bmake/share: colldef mklocale monetdef msgdef numericdef timedef X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Jan 2013 00:49:07 -0000 Author: sjg Date: Wed Jan 23 00:49:05 2013 New Revision: 245831 URL: http://svnweb.freebsd.org/changeset/base/245831 Log: Include the target filename in SYMLINKS to avoid any confusion about what is dirname and filename. Modified: projects/bmake/share/colldef/Makefile projects/bmake/share/mklocale/Makefile projects/bmake/share/monetdef/Makefile projects/bmake/share/msgdef/Makefile projects/bmake/share/numericdef/Makefile projects/bmake/share/timedef/Makefile Modified: projects/bmake/share/colldef/Makefile ============================================================================== --- projects/bmake/share/colldef/Makefile Wed Jan 23 00:47:43 2013 (r245830) +++ projects/bmake/share/colldef/Makefile Wed Jan 23 00:49:05 2013 (r245831) @@ -109,7 +109,7 @@ SYMLINKS= .for enc2 in ${ENCODINGS} .for lang_terr in ${${enc1}_${enc2}} SYMLINKS+= ../${lang_terr:C/:.*$//}.${enc1}/${FILESNAME} \ - ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2} + ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2}/${FILESNAME} .endfor .endfor .endfor Modified: projects/bmake/share/mklocale/Makefile ============================================================================== --- projects/bmake/share/mklocale/Makefile Wed Jan 23 00:47:43 2013 (r245830) +++ projects/bmake/share/mklocale/Makefile Wed Jan 23 00:49:05 2013 (r245831) @@ -94,7 +94,7 @@ SYMLINKS= .for enc2 in ${ENCODINGS} .for lang_terr in ${${enc1}_${enc2}} SYMLINKS+= ../${lang_terr:C/:.*$//:C/.+$/&./}${enc1}/${FILESNAME} \ - ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2} + ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2}/${FILESNAME} .endfor .endfor .endfor Modified: projects/bmake/share/monetdef/Makefile ============================================================================== --- projects/bmake/share/monetdef/Makefile Wed Jan 23 00:47:43 2013 (r245830) +++ projects/bmake/share/monetdef/Makefile Wed Jan 23 00:49:05 2013 (r245831) @@ -130,7 +130,7 @@ SYMLINKS= .for enc2 in ${ENCODINGS} .for lang_terr in ${${enc1}_${enc2}} SYMLINKS+= ../${lang_terr:C/:.*$//}.${enc1}/${FILESNAME} \ - ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2} + ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2}/${FILESNAME} .endfor .endfor .endfor Modified: projects/bmake/share/msgdef/Makefile ============================================================================== --- projects/bmake/share/msgdef/Makefile Wed Jan 23 00:47:43 2013 (r245830) +++ projects/bmake/share/msgdef/Makefile Wed Jan 23 00:49:05 2013 (r245831) @@ -129,7 +129,7 @@ SYMLINKS= .for enc2 in ${ENCODINGS} .for lang_terr in ${${enc1}_${enc2}} SYMLINKS+= ../${lang_terr:C/:.*$//}.${enc1}/${FILESNAME} \ - ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2} + ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2}/${FILESNAME} .endfor .endfor .endfor Modified: projects/bmake/share/numericdef/Makefile ============================================================================== --- projects/bmake/share/numericdef/Makefile Wed Jan 23 00:47:43 2013 (r245830) +++ projects/bmake/share/numericdef/Makefile Wed Jan 23 00:49:05 2013 (r245831) @@ -124,7 +124,7 @@ SYMLINKS= .for enc2 in ${ENCODINGS} .for lang_terr in ${${enc1}_${enc2}} SYMLINKS+= ../${lang_terr:C/:.*$//}.${enc1}/${FILESNAME} \ - ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2} + ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2}/${FILESNAME} .endfor .endfor .endfor Modified: projects/bmake/share/timedef/Makefile ============================================================================== --- projects/bmake/share/timedef/Makefile Wed Jan 23 00:47:43 2013 (r245830) +++ projects/bmake/share/timedef/Makefile Wed Jan 23 00:49:05 2013 (r245831) @@ -148,7 +148,7 @@ SYMLINKS= .for enc2 in ${ENCODINGS} .for lang_terr in ${${enc1}_${enc2}} SYMLINKS+= ../${lang_terr:C/:.*$//}.${enc1}/${FILESNAME} \ - ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2} + ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2}/${FILESNAME} .endfor .endfor .endfor From owner-svn-src-projects@FreeBSD.ORG Wed Jan 23 14:14:13 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id B04F71D7; Wed, 23 Jan 2013 14:14:13 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 99516387; Wed, 23 Jan 2013 14:14:13 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0NEEDhU024386; Wed, 23 Jan 2013 14:14:13 GMT (envelope-from glebius@svn.freebsd.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0NEEDnM024385; Wed, 23 Jan 2013 14:14:13 GMT (envelope-from glebius@svn.freebsd.org) Message-Id: <201301231414.r0NEEDnM024385@svn.freebsd.org> From: Gleb Smirnoff Date: Wed, 23 Jan 2013 14:14:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245843 - projects/counters/sys/vm X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Jan 2013 14:14:13 -0000 Author: glebius Date: Wed Jan 23 14:14:13 2013 New Revision: 245843 URL: http://svnweb.freebsd.org/changeset/base/245843 Log: Followup on r243430. A couple more places where PAGE_SIZE is preferred over UMA_SLAB_SIZE. Modified: projects/counters/sys/vm/uma_core.c Modified: projects/counters/sys/vm/uma_core.c ============================================================================== --- projects/counters/sys/vm/uma_core.c Wed Jan 23 10:52:36 2013 (r245842) +++ projects/counters/sys/vm/uma_core.c Wed Jan 23 14:14:13 2013 (r245843) @@ -1410,7 +1410,7 @@ keg_ctor(void *mem, int size, void *udat if (totsize & UMA_ALIGN_PTR) totsize = (totsize & ~UMA_ALIGN_PTR) + (UMA_ALIGN_PTR + 1); - keg->uk_pgoff = (UMA_SLAB_SIZE * keg->uk_ppera) - totsize; + keg->uk_pgoff = (PAGE_SIZE * keg->uk_ppera) - totsize; if (keg->uk_flags & UMA_ZONE_REFCNT) totsize = keg->uk_pgoff + sizeof(struct uma_slab_refcnt) @@ -1426,7 +1426,7 @@ keg_ctor(void *mem, int size, void *udat * mathematically possible for all cases, so we make * sure here anyway. */ - if (totsize > UMA_SLAB_SIZE * keg->uk_ppera) { + if (totsize > PAGE_SIZE * keg->uk_ppera) { printf("zone %s ipers %d rsize %d size %d\n", zone->uz_name, keg->uk_ipers, keg->uk_rsize, keg->uk_size); From owner-svn-src-projects@FreeBSD.ORG Wed Jan 23 16:28:35 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 1A9C4946; Wed, 23 Jan 2013 16:28:35 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 0DC6BED9; Wed, 23 Jan 2013 16:28:35 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0NGSY4v067777; Wed, 23 Jan 2013 16:28:34 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0NGSYsD067776; Wed, 23 Jan 2013 16:28:34 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201301231628.r0NGSYsD067776@svn.freebsd.org> From: Konstantin Belousov Date: Wed, 23 Jan 2013 16:28:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245846 - projects/counters/sys/i386/include X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Jan 2013 16:28:35 -0000 Author: kib Date: Wed Jan 23 16:28:34 2013 New Revision: 245846 URL: http://svnweb.freebsd.org/changeset/base/245846 Log: Implement the counters for i386 without use of a critical section, when the cmpxchg8b instruction is avaliable. It relies on the same offset-from-curpcpu trick as the amd64 implementation. Due to the lack of the single instruction to increment 64bit value, the cas loop is performed. Modified: projects/counters/sys/i386/include/counter.h Modified: projects/counters/sys/i386/include/counter.h ============================================================================== --- projects/counters/sys/i386/include/counter.h Wed Jan 23 14:37:05 2013 (r245845) +++ projects/counters/sys/i386/include/counter.h Wed Jan 23 16:28:34 2013 (r245846) @@ -30,23 +30,46 @@ #define __MACHINE_COUNTER_H__ #include +#include +#include + +static inline void +counter_64_inc_8b(uint64_t *p, uint64_t inc) +{ + + __asm __volatile( + "movl %%fs:(%%esi),%%eax\n\t" + "movl %%fs:4(%%esi),%%edx\n" +"1:\n\t" + "movl %%eax,%%ebx\n\t" + "movl %%edx,%%ecx\n\t" + "addl (%%edi),%%ebx\n\t" + "adcl 4(%%edi),%%ecx\n\t" + "cmpxchg8b %%fs:(%%esi)\n\t" + "jnz 1b" + : + : "S" (p), "D" (&inc) + : "memory", "cc", "eax", "edx", "ebx", "ecx"); +} static __inline void counter_u64_inc(counter_u64_t c, uint64_t inc) { - critical_enter(); - *(uint64_t *)((char *)c + sizeof(struct pcpu) * curcpu) += inc; - critical_exit(); + if ((cpu_feature & CPUID_CX8) == 0) { + critical_enter(); + *(uint64_t *)((char *)c + sizeof(struct pcpu) * curcpu) += inc; + critical_exit(); + } else { + counter_64_inc_8b(c, inc); + } } static __inline void counter_u64_dec(counter_u64_t c, uint64_t dec) { - critical_enter(); - *(uint64_t *)((char *)c + sizeof(struct pcpu) * curcpu) -= dec; - critical_exit(); + counter_u64_inc(c, -(int64_t)dec); } #endif /* ! __MACHINE_COUNTER_H__ */ From owner-svn-src-projects@FreeBSD.ORG Thu Jan 24 19:09:40 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 78550ED4; Thu, 24 Jan 2013 19:09:40 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5A426F11; Thu, 24 Jan 2013 19:09:40 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0OJ9eJ5049842; Thu, 24 Jan 2013 19:09:40 GMT (envelope-from sjg@svn.freebsd.org) Received: (from sjg@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0OJ9dv6049837; Thu, 24 Jan 2013 19:09:39 GMT (envelope-from sjg@svn.freebsd.org) Message-Id: <201301241909.r0OJ9dv6049837@svn.freebsd.org> From: "Simon J. Gerraty" Date: Thu, 24 Jan 2013 19:09:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245892 - in projects/bmake/lib/libpam: . libpam static_modules X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Jan 2013 19:09:40 -0000 Author: sjg Date: Thu Jan 24 19:09:38 2013 New Revision: 245892 URL: http://svnweb.freebsd.org/changeset/base/245892 Log: Move build of openpam_static_modules.o to its own subdir to avoid circular dependency b/w libpam and modules. Reviewed by: obrien Added: projects/bmake/lib/libpam/static_modules/ projects/bmake/lib/libpam/static_modules/Makefile - copied, changed from r242503, projects/bmake/lib/libpam/libpam/Makefile projects/bmake/lib/libpam/static_modules/Makefile.depend (contents, props changed) Modified: projects/bmake/lib/libpam/Makefile projects/bmake/lib/libpam/libpam/Makefile projects/bmake/lib/libpam/libpam/Makefile.depend Modified: projects/bmake/lib/libpam/Makefile ============================================================================== --- projects/bmake/lib/libpam/Makefile Thu Jan 24 17:28:39 2013 (r245891) +++ projects/bmake/lib/libpam/Makefile Thu Jan 24 19:09:38 2013 (r245892) @@ -26,6 +26,6 @@ # The modules must be built first, because they are built into the # static version of libpam. -SUBDIR+= modules libpam +SUBDIR+= modules libpam static_modules .include Modified: projects/bmake/lib/libpam/libpam/Makefile ============================================================================== --- projects/bmake/lib/libpam/libpam/Makefile Thu Jan 24 17:28:39 2013 (r245891) +++ projects/bmake/lib/libpam/libpam/Makefile Thu Jan 24 19:09:38 2013 (r245892) @@ -166,29 +166,6 @@ HEADERS= security/openpam.h \ ADD_HEADERS= security/pam_mod_misc.h -# -# Static modules -# -# We build static versions of all modules and of openpam_static.o, -# then link them all together into openpam_static_modules.o. None of -# the modules export any symbols, but they store structures with -# pointers to their service functions in a linker set which the code -# in openpam_static.c traverses to locate the individual modules. -# -MODULE_DIR= ../modules -.include "${.CURDIR}/${MODULE_DIR}/modules.inc" -STATIC_MODULES= ${MODULES:C/.*/${MODULE_DIR}\/&\/lib&.a/} -STATICOBJS+= openpam_static_modules.o -CLEANFILES+= openpam_static.o \ - openpam_static_modules.o - -openpam_static_modules.o: openpam_static.o ${STATIC_MODULES} - ${LD} -o ${.TARGET} -r --whole-archive ${.ALLSRC} - -# We can't put openpam_static.c in SRCS, but we still want to scan it -# for dependencies. -DPSRCS= openpam_static.c - # Headers INCS= ${HEADERS} ${ADD_HEADERS} INCSDIR= ${INCLUDEDIR}/security Modified: projects/bmake/lib/libpam/libpam/Makefile.depend ============================================================================== --- projects/bmake/lib/libpam/libpam/Makefile.depend Thu Jan 24 17:28:39 2013 (r245891) +++ projects/bmake/lib/libpam/libpam/Makefile.depend Thu Jan 24 19:09:38 2013 (r245892) @@ -10,30 +10,6 @@ DIRDEPS = \ include/xlocale \ lib/${CSU_DIR} \ lib/libc \ - lib/libpam/modules/pam_chroot \ - lib/libpam/modules/pam_deny \ - lib/libpam/modules/pam_echo \ - lib/libpam/modules/pam_exec \ - lib/libpam/modules/pam_ftpusers \ - lib/libpam/modules/pam_group \ - lib/libpam/modules/pam_guest \ - lib/libpam/modules/pam_krb5 \ - lib/libpam/modules/pam_ksu \ - lib/libpam/modules/pam_lastlog \ - lib/libpam/modules/pam_login_access \ - lib/libpam/modules/pam_nologin \ - lib/libpam/modules/pam_opie \ - lib/libpam/modules/pam_opieaccess \ - lib/libpam/modules/pam_passwdqc \ - lib/libpam/modules/pam_permit \ - lib/libpam/modules/pam_radius \ - lib/libpam/modules/pam_rhosts \ - lib/libpam/modules/pam_rootok \ - lib/libpam/modules/pam_securetty \ - lib/libpam/modules/pam_self \ - lib/libpam/modules/pam_ssh \ - lib/libpam/modules/pam_tacplus \ - lib/libpam/modules/pam_unix \ .include Copied and modified: projects/bmake/lib/libpam/static_modules/Makefile (from r242503, projects/bmake/lib/libpam/libpam/Makefile) ============================================================================== --- projects/bmake/lib/libpam/libpam/Makefile Sat Nov 3 00:30:22 2012 (r242503, copy source) +++ projects/bmake/lib/libpam/static_modules/Makefile Thu Jan 24 19:09:38 2013 (r245892) @@ -1,5 +1,5 @@ #- -# Copyright (c) 1998 Juniper Networks, Inc. +# Copyright (c) 1998, 2013 Juniper Networks, Inc. # All rights reserved. # Copyright (c) 2002 Networks Associates Technology, Inc. # All rights reserved. @@ -35,136 +35,15 @@ # # $FreeBSD$ -OPENPAM= ${.CURDIR}/../../../contrib/openpam -.PATH: ${OPENPAM}/include ${OPENPAM}/lib ${OPENPAM}/doc/man +OPENPAM= ${.CURDIR:H:H:H}/contrib/openpam +.PATH: ${OPENPAM}/lib -LIB= pam -NO_PROFILE= +all: -SRCS= openpam_borrow_cred.c \ - openpam_check_owner_perms.c \ - openpam_configure.c \ - openpam_constants.c \ - openpam_dispatch.c \ - openpam_dynamic.c \ - openpam_features.c \ - openpam_findenv.c \ - openpam_free_data.c \ - openpam_free_envlist.c \ - openpam_get_feature.c \ - openpam_get_option.c \ - openpam_load.c \ - openpam_log.c \ - openpam_nullconv.c \ - openpam_readline.c \ - openpam_readlinev.c \ - openpam_readword.c \ - openpam_restore_cred.c \ - openpam_set_feature.c \ - openpam_set_option.c \ - openpam_straddch.c \ - openpam_subst.c \ - openpam_ttyconv.c \ - pam_acct_mgmt.c \ - pam_authenticate.c \ - pam_chauthtok.c \ - pam_close_session.c \ - pam_end.c \ - pam_error.c \ - pam_get_authtok.c \ - pam_get_data.c \ - pam_get_item.c \ - pam_get_user.c \ - pam_getenv.c \ - pam_getenvlist.c \ - pam_info.c \ - pam_open_session.c \ - pam_prompt.c \ - pam_putenv.c \ - pam_set_data.c \ - pam_set_item.c \ - pam_setcred.c \ - pam_setenv.c \ - pam_start.c \ - pam_strerror.c \ - pam_verror.c \ - pam_vinfo.c \ - pam_vprompt.c -# Local additions -SRCS+= pam_debug_log.c - -MAN= openpam.3 \ - openpam_borrow_cred.3 \ - openpam_free_data.3 \ - openpam_free_envlist.3 \ - openpam_get_feature.3 \ - openpam_get_option.3 \ - openpam_log.3 \ - openpam_nullconv.3 \ - openpam_readline.3 \ - openpam_readlinev.3 \ - openpam_readword.3 \ - openpam_restore_cred.3 \ - openpam_set_feature.3 \ - openpam_set_option.3 \ - openpam_straddch.3 \ - openpam_subst.3 \ - openpam_ttyconv.3 \ - pam.3 \ - pam_acct_mgmt.3 \ - pam_authenticate.3 \ - pam_chauthtok.3 \ - pam_close_session.3 \ - pam_conv.3 \ - pam_end.3 \ - pam_error.3 \ - pam_get_authtok.3 \ - pam_get_data.3 \ - pam_get_item.3 \ - pam_get_user.3 \ - pam_getenv.3 \ - pam_getenvlist.3 \ - pam_info.3 \ - pam_open_session.3 \ - pam_prompt.3 \ - pam_putenv.3 \ - pam_set_data.3 \ - pam_set_item.3 \ - pam_setcred.3 \ - pam_setenv.3 \ - pam_sm_acct_mgmt.3 \ - pam_sm_authenticate.3 \ - pam_sm_chauthtok.3 \ - pam_sm_close_session.3 \ - pam_sm_open_session.3 \ - pam_sm_setcred.3 \ - pam_start.3 \ - pam_strerror.3 \ - pam_verror.3 \ - pam_vinfo.3 \ - pam_vprompt.3 \ - pam.conf.5 - -MLINKS= pam.conf.5 pam.d.5 - -CSTD?= c99 -CFLAGS+= -I${.CURDIR} -I${OPENPAM}/include -CFLAGS+= -DLIB_MAJ=${SHLIB_MAJOR} -CFLAGS+= -DOPENPAM_MODULES_DIR='"${PAM_MOD_DIR:C/\/*$//}/"' -CFLAGS+= -DHAVE_FDLOPEN=1 -CFLAGS+= -DHAVE_FPURGE=1 -CFLAGS+= -DHAVE_STRLCAT=1 -CFLAGS+= -DHAVE_STRLCPY=1 - -HEADERS= security/openpam.h \ - security/openpam_attr.h \ - security/openpam_version.h \ - security/pam_appl.h \ - security/pam_constants.h \ - security/pam_modules.h \ - security/pam_types.h \ +SRCS = openpam_static.c -ADD_HEADERS= security/pam_mod_misc.h +NO_PROFILE= +NO_MAN= # # Static modules @@ -185,12 +64,8 @@ CLEANFILES+= openpam_static.o \ openpam_static_modules.o: openpam_static.o ${STATIC_MODULES} ${LD} -o ${.TARGET} -r --whole-archive ${.ALLSRC} -# We can't put openpam_static.c in SRCS, but we still want to scan it -# for dependencies. -DPSRCS= openpam_static.c - -# Headers -INCS= ${HEADERS} ${ADD_HEADERS} -INCSDIR= ${INCLUDEDIR}/security +.include -.include +.if empty(_SKIP_BUILD) +all: ${STATICOBJS} +.endif Added: projects/bmake/lib/libpam/static_modules/Makefile.depend ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bmake/lib/libpam/static_modules/Makefile.depend Thu Jan 24 19:09:38 2013 (r245892) @@ -0,0 +1,41 @@ +# Autogenerated - do NOT edit! + +DEP_RELDIR := ${_PARSEDIR:S,${SRCTOP}/,,} + +DEP_MACHINE := ${.PARSEFILE:E} + +DIRDEPS = \ + include \ + include/xlocale \ + lib/libpam/libpam \ + lib/libpam/modules/pam_chroot \ + lib/libpam/modules/pam_deny \ + lib/libpam/modules/pam_echo \ + lib/libpam/modules/pam_exec \ + lib/libpam/modules/pam_ftpusers \ + lib/libpam/modules/pam_group \ + lib/libpam/modules/pam_guest \ + lib/libpam/modules/pam_krb5 \ + lib/libpam/modules/pam_ksu \ + lib/libpam/modules/pam_lastlog \ + lib/libpam/modules/pam_login_access \ + lib/libpam/modules/pam_nologin \ + lib/libpam/modules/pam_opie \ + lib/libpam/modules/pam_opieaccess \ + lib/libpam/modules/pam_passwdqc \ + lib/libpam/modules/pam_permit \ + lib/libpam/modules/pam_radius \ + lib/libpam/modules/pam_rhosts \ + lib/libpam/modules/pam_rootok \ + lib/libpam/modules/pam_securetty \ + lib/libpam/modules/pam_self \ + lib/libpam/modules/pam_ssh \ + lib/libpam/modules/pam_tacplus \ + lib/libpam/modules/pam_unix \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif