From owner-svn-src-projects@freebsd.org Sun May 22 04:28:56 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 87CA9B41A1D for ; Sun, 22 May 2016 04:28:56 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3AF371F12; Sun, 22 May 2016 04:28:56 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4M4Stsa023977; Sun, 22 May 2016 04:28:55 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4M4StJu023975; Sun, 22 May 2016 04:28:55 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201605220428.u4M4StJu023975@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 22 May 2016 04:28:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300396 - projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi 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.22 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, 22 May 2016 04:28:56 -0000 Author: ngie Date: Sun May 22 04:28:55 2016 New Revision: 300396 URL: https://svnweb.freebsd.org/changeset/base/300396 Log: Commit the 1.0.1.0-k driver obtained from VMware under a BSD 2-clause license Obtained from: Isilon OneFS Sponsored by: EMC / Isilon Storage Division Added: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/ projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c (contents, props changed) projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.h (contents, props changed) Added: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c Sun May 22 04:28:55 2016 (r300396) @@ -0,0 +1,2745 @@ +/* + * Copyright (c) 2014 EMC Corporation, Inc. All rights reserved. + */ + +/* ************************************************************************ + * Copyright 2008 VMware, 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. + * ************************************************************************/ + +/* + * pvscsi.c -- + * + * This is a driver for the VMware PVSCSI HBA adapter. + */ + +#ifndef __FreeBSD__ +#include "driver-config.h" + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "compat_module.h" +#include "compat_scsi.h" +#include "compat_pci.h" +#include "compat_interrupt.h" +#include "compat_workqueue.h" + +#include "pvscsi_defs.h" +#include "pvscsi_version.h" +#include "scsi_defs.h" +#include "vm_device_version.h" +#include "vm_assert.h" + +#define PVSCSI_LINUX_DRIVER_DESC "VMware PVSCSI driver" + +MODULE_DESCRIPTION(PVSCSI_LINUX_DRIVER_DESC); +MODULE_AUTHOR("VMware, Inc."); +MODULE_LICENSE("GPL v2"); +MODULE_VERSION(PVSCSI_DRIVER_VERSION_STRING); + +/* + * Starting with SLE10sp2, Novell requires that IHVs sign a support agreement + * with them and mark their kernel modules as externally supported via a + * change to the module header. If this isn't done, the module will not load + * by default (i.e., neither mkinitrd nor modprobe will accept it). + */ +MODULE_INFO(supported, "external"); +#else +#include "vmw_pvscsi.h" +#endif /* __FreeBSD__ */ + +#define PVSCSI_DEFAULT_NUM_PAGES_PER_RING 8 +#define PVSCSI_DEFAULT_NUM_PAGES_MSG_RING 1 +#define PVSCSI_DEFAULT_QUEUE_DEPTH 64 + +#ifndef __FreeBSD__ +/* MSI-X has horrible performance in < 2.6.19 due to needless mask frobbing */ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19) +#define PVSCSI_DISABLE_MSIX 0 +#else +#define PVSCSI_DISABLE_MSIX 1 +#endif +#endif /* __FreeBSD__ */ + + +#ifndef __FreeBSD__ +#define HOST_ADAPTER(host) ((struct pvscsi_adapter *)(host)->hostdata) + +#define LOG(level, fmt, args...) \ +do { \ + if (pvscsi_debug_level > level) \ + printk(KERN_DEBUG "pvscsi: " fmt, args); \ +} while (0) +#endif /* __FreeBSD__ */ + + +#ifdef __FreeBSD__ +typedef struct pvscsi_adapter pvscsinst_t; + +#define MODNM pvscsi +enum { + PVSCSI_MSIX_VEC0 = 0, /* Only one MSI-X interrupt required */ + PVSCSI_NUM_MSIX +}; + +MALLOC_DEFINE(M_PVSCSI, "pvscsi", "VMware's para-virtualized scsi driver"); +MALLOC_DEFINE(M_PVSCSI_PCI, "pvscsi_pci", "pvscsi's ring queues"); +MALLOC_DEFINE(M_PVSCSI_SGL, "pvscsi_sgl", "pvscsi's scatter-gather list"); +#endif /* __FreeBSD__ */ + + + +/* Command line parameters */ +#ifndef __FreeBSD__ +static int pvscsi_debug_level; +#endif /* __FreeBSD__ */ +static int pvscsi_ring_pages = PVSCSI_DEFAULT_NUM_PAGES_PER_RING; +static int pvscsi_msg_ring_pages = PVSCSI_DEFAULT_NUM_PAGES_MSG_RING; +#ifndef __FreeBSD__ +static int pvscsi_cmd_per_lun = PVSCSI_DEFAULT_QUEUE_DEPTH; +static compat_mod_param_bool pvscsi_disable_msi; +static compat_mod_param_bool pvscsi_disable_msix = PVSCSI_DISABLE_MSIX; +static compat_mod_param_bool pvscsi_use_msg = TRUE; +#else +static bool pvscsi_use_msg = true; +#endif /* __FreeBSD__ */ + +#ifndef __FreeBSD__ +#define PVSCSI_RW (S_IRUSR | S_IWUSR) + +module_param_named(debug_level, pvscsi_debug_level, int, PVSCSI_RW); +MODULE_PARM_DESC(debug_level, "Debug logging level - (default=0)"); + +module_param_named(ring_pages, pvscsi_ring_pages, int, PVSCSI_RW); +MODULE_PARM_DESC(ring_pages, "Number of pages per req/cmp ring - (default=" + __stringify(PVSCSI_DEFAULT_NUM_PAGES_PER_RING) ")"); + +module_param_named(msg_ring_pages, pvscsi_msg_ring_pages, int, PVSCSI_RW); +MODULE_PARM_DESC(msg_ring_pages, "Number of pages for the msg ring - (default=" + __stringify(PVSCSI_DEFAULT_NUM_PAGES_MSG_RING) ")"); + +module_param_named(cmd_per_lun, pvscsi_cmd_per_lun, int, PVSCSI_RW); +MODULE_PARM_DESC(cmd_per_lun, "Maximum commands per lun - (default=" + __stringify(PVSCSI_MAX_REQ_QUEUE_DEPTH) ")"); + +module_param_named(disable_msi, pvscsi_disable_msi, bool, PVSCSI_RW); +MODULE_PARM_DESC(disable_msi, "Disable MSI use in driver - (default=0)"); + +module_param_named(disable_msix, pvscsi_disable_msix, bool, PVSCSI_RW); +MODULE_PARM_DESC(disable_msix, "Disable MSI-X use in driver - (default=" + __stringify(PVSCSI_DISABLE_MSIX) ")"); + +module_param_named(use_msg, pvscsi_use_msg, bool, PVSCSI_RW); +MODULE_PARM_DESC(use_msg, "Use msg ring when available - (default=1)"); + +static const struct pci_device_id pvscsi_pci_tbl[] = { + { PCI_DEVICE(PCI_VENDOR_ID_VMWARE, PCI_DEVICE_ID_VMWARE_PVSCSI) }, + { 0 } +}; + +MODULE_DEVICE_TABLE(pci, pvscsi_pci_tbl); +#else +#define pvscsi_dev(adapter) ((adapter)->pvs_dev) +#define pvscsi_simdev(sim) (pvscsi_dev((pvscsinst_t *)cam_sim_softc(sim))) + +/* + * To share code between the Linux and Isilon ports we key off the variable + * "irq" to figure out if we need to actually lock or not + */ +#define spin_lock_irqsave(l,f) if (irq) PVSCSILCK +#define spin_unlock_irqrestore(l,f) if (irq) PVSCSIULCK + +#define SCSI_SENSE_BUFFERSIZE sizeof(csio->sense_data) +#define SIMPLE_QUEUE_TAG MSG_SIMPLE_Q_TAG +#define HEAD_OF_QUEUE_TAG MSG_HEAD_OF_Q_TAG +#define ORDERED_QUEUE_TAG MSG_ORDERED_Q_TAG + +enum dma_data_direction { + DMA_BIDIRECTIONAL = 0, + DMA_TO_DEVICE = 1, + DMA_FROM_DEVICE = 2, + DMA_NONE = 3, +}; + +struct scsi_cmnd { + struct ccb_scsiio *qsc_csio; + void *sense_buffer; + unsigned short cmd_len; + unsigned char *cmn; + struct scsi_device *device; + enum dma_data_direction sc_data_direction; + unsigned char tag; + unsigned char *cmnd; + pvscsinst_t *adapter; +}; + +struct scsi_device { + unsigned int id, lun, channel; + bool tagged_supported; +}; +#endif /* __FreeBSD__ */ + +static struct pvscsi_ctx * +#ifndef __FreeBSD__ +pvscsi_find_context(const struct pvscsi_adapter *adapter, struct scsi_cmnd *cmd) +#else /* __FreeBSD__ */ +pvscsi_find_context(struct pvscsi_adapter *adapter, struct ccb_scsiio *cmd) +#endif /* __FreeBSD__ */ +{ + struct pvscsi_ctx *ctx, *end; + + end = &adapter->cmd_map[adapter->req_depth]; + for (ctx = adapter->cmd_map; ctx < end; ctx++) + if (ctx->cmd == cmd) + return ctx; + + return NULL; +} + +static struct pvscsi_ctx * +pvscsi_acquire_context(struct pvscsi_adapter *adapter, struct scsi_cmnd *cmd) +{ + struct pvscsi_ctx *ctx; + + if (list_empty(&adapter->cmd_pool)) + return NULL; + + ctx = list_entry(adapter->cmd_pool.next, struct pvscsi_ctx, list); +#ifndef __FreeBSD__ + ctx->cmd = cmd; +#else + ctx->cmd = cmd->qsc_csio; + ctx->toed = false; + ctx->debugerr_checked = false; +#endif /* __FreeBSD__ */ + list_del(&ctx->list); + + return ctx; +} + +static void pvscsi_release_context(struct pvscsi_adapter *adapter, + struct pvscsi_ctx *ctx) +{ + ctx->cmd = NULL; + list_add(&ctx->list, &adapter->cmd_pool); +} + +/* + * Map a pvscsi_ctx struct to a context ID field value; we map to a simple + * non-zero integer. + */ +static u64 pvscsi_map_context(const struct pvscsi_adapter *adapter, + const struct pvscsi_ctx *ctx) +{ + return ctx - adapter->cmd_map + 1; +} + +static struct pvscsi_ctx * +pvscsi_get_context(const struct pvscsi_adapter *adapter, u64 context) +{ + return &adapter->cmd_map[context - 1]; +} + +/************************************************************** + * + * VMWARE PVSCSI Hypervisor Communication Implementation + * + * This code is largely independent of any Linux internals. + * + **************************************************************/ + +static void pvscsi_reg_write(const struct pvscsi_adapter *adapter, + u32 offset, u32 val) +{ +#ifndef __FreeBSD__ + writel(val, adapter->mmioBase + offset); +#else /* __FreeBSD__ */ + bus_space_write_4(adapter->pvs_mmtag, adapter->pvs_mmhndl, offset, val); +#endif /* __FreeBSD__ */ +} + +static u32 pvscsi_reg_read(const struct pvscsi_adapter *adapter, u32 offset) +{ +#ifndef __FreeBSD__ + return readl(adapter->mmioBase + offset); +#else /* __FreeBSD__ */ + return bus_space_read_4(adapter->pvs_mmtag, adapter->pvs_mmhndl, offset); +#endif /* __FreeBSD__ */ +} + +static u32 pvscsi_read_intr_status(const struct pvscsi_adapter *adapter) +{ + return pvscsi_reg_read(adapter, PVSCSI_REG_OFFSET_INTR_STATUS); +} + +static void pvscsi_write_intr_status(const struct pvscsi_adapter *adapter, + u32 val) +{ + pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_INTR_STATUS, val); +} + +static void pvscsi_unmask_intr(const struct pvscsi_adapter *adapter) +{ + u32 intr_bits; + + intr_bits = PVSCSI_INTR_CMPL_MASK; + if (adapter->use_msg) { + intr_bits |= PVSCSI_INTR_MSG_MASK; + } + + pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_INTR_MASK, intr_bits); +} + +static void pvscsi_mask_intr(const struct pvscsi_adapter *adapter) +{ + pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_INTR_MASK, 0); +} + +static void pvscsi_write_cmd_desc(const struct pvscsi_adapter *adapter, + u32 cmd, const void *desc, size_t len) +{ +#ifndef __FreeBSD__ + u32 *ptr = (u32 *)desc; +#else /* __FreeBSD__ */ + const u32 *ptr = (const u32 *)desc; +#endif /* __FreeBSD__ */ + unsigned i; + + len /= sizeof(u32); + pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_COMMAND, cmd); + for (i = 0; i < len; i++) + pvscsi_reg_write(adapter, + PVSCSI_REG_OFFSET_COMMAND_DATA, ptr[i]); +} + +#ifndef __FreeBSD__ +static void pvscsi_abort_cmd(const struct pvscsi_adapter *adapter, + const struct pvscsi_ctx *ctx) +{ + struct PVSCSICmdDescAbortCmd cmd = { 0 }; + + cmd.target = ctx->cmd->device->id; +#else /* __FreeBSD__ */ +static void pvscsi_abort_cmd(struct pvscsi_adapter *adapter, + struct pvscsi_ctx *ctx, + target_id_t trg) +{ + struct PVSCSICmdDescAbortCmd cmd = { 0 }; + cmd.target = trg; +#endif /* __FreeBSD__ */ + cmd.context = pvscsi_map_context(adapter, ctx); + + pvscsi_write_cmd_desc(adapter, PVSCSI_CMD_ABORT_CMD, &cmd, sizeof cmd); +} + +static void pvscsi_kick_rw_io(const struct pvscsi_adapter *adapter) +{ + pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_KICK_RW_IO, 0); +} + +static void pvscsi_process_request_ring(const struct pvscsi_adapter *adapter) +{ + pvscsi_reg_write(adapter, PVSCSI_REG_OFFSET_KICK_NON_RW_IO, 0); +} + +static int scsi_is_rw(unsigned char op) +{ + return op == READ_6 || op == WRITE_6 || + op == READ_10 || op == WRITE_10 || + op == READ_12 || op == WRITE_12 || + op == READ_16 || op == WRITE_16; +} + +static void pvscsi_kick_io(const struct pvscsi_adapter *adapter, + unsigned char op) +{ + if (scsi_is_rw(op)) + pvscsi_kick_rw_io(adapter); + else + pvscsi_process_request_ring(adapter); +} + +static void ll_adapter_reset(const struct pvscsi_adapter *adapter) +{ + LOG(0, "Adapter Reset on %p\n", adapter); + + pvscsi_write_cmd_desc(adapter, PVSCSI_CMD_ADAPTER_RESET, NULL, 0); +} + +static void ll_bus_reset(const struct pvscsi_adapter *adapter) +{ + LOG(0, "Reseting bus on %p\n", adapter); + + pvscsi_write_cmd_desc(adapter, PVSCSI_CMD_RESET_BUS, NULL, 0); +} + +static void ll_device_reset(const struct pvscsi_adapter *adapter, u32 target) +{ + struct PVSCSICmdDescResetDevice cmd = { 0 }; + + LOG(0, "Reseting device: target=%u\n", target); + +#ifdef __FreeBSD__ + device_t device = pvscsi_dev(adapter); + device_printf(device, "Resetting target %u\n", target); +#endif /* _FreeBSD__ */ + cmd.target = target; + + pvscsi_write_cmd_desc(adapter, PVSCSI_CMD_RESET_DEVICE, + &cmd, sizeof cmd); +#ifdef __FreeBSD__ + device_printf(device, "Done resetting target %u\n", target); +#endif /* _FreeBSD__ */ +} + + +#ifndef __FreeBSD__ +/************************************************************** + * + * VMWARE Hypervisor ring / SCSI mid-layer interactions + * + * Functions which have to deal with both ring semantics + * and Linux SCSI internals are placed here. + * + **************************************************************/ + +static void pvscsi_create_sg(struct pvscsi_ctx *ctx, + struct scatterlist *sg, unsigned count) +{ + unsigned i; + struct PVSCSISGElement *sge; + + BUG_ON(count > PVSCSI_MAX_NUM_SG_ENTRIES_PER_SEGMENT); + + sge = &ctx->sgl->sge[0]; + for (i = 0; i < count; i++, sg++) { + sge[i].addr = sg_dma_address(sg); + sge[i].length = sg_dma_len(sg); + sge[i].flags = 0; + } +} +#endif /* __FreeBSD__ */ + +#ifdef __FreeBSD__ +/* + * Takes a list of physical segments and translates them into the VMware + * device emulation's scatter/gather format. It does not initiate the I/O. + * It reports any errors in the translation through the ctx structure. + * + * The bus_dma_segment_t pointed to by dm_segs is allocated on the stack. + */ +static void +pvscsi_queue_io(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error) +{ + struct pvscsi_ctx *ctx = (struct pvscsi_ctx *)arg; + + if (error || ctx->dmamapping_errno) { + ctx->dmamapping_errno = error; + return; + } + + if (nseg > PVSCSI_MAX_NUM_SG_ENTRIES_PER_SEGMENT) { + ctx->dmamapping_errno = EFBIG; + return; + } + + unsigned i; + struct PVSCSISGElement *sge = &ctx->sgl->sge[0]; + + struct PVSCSIRingReqDesc *e = ctx->e; + e->flags |= PVSCSI_FLAG_CMD_WITH_SG_LIST; + + for (i = 0; i < nseg; i++) { + sge[i].addr = dm_segs[i].ds_addr; + sge[i].length = dm_segs[i].ds_len; + sge[i].flags = 0; + } + + ctx->dmamapping_errno = 0; + e->flags |= PVSCSI_FLAG_CMD_WITH_SG_LIST; + ctx->sglPA = pci_map_single(adapter->dev, ctx->sgl, + PAGE_SIZE, PCI_DMA_TODEVICE); + e->dataAddr = ctx->sglPA; +} +#define scsi_bufflen(cmd) (cmd)->qsc_csio->dxfer_len +#define pvscsi_create_sg(a,b,c) +#define scsi_sg_count(a) 2 +#define scsi_dma_map(a) 2 + +static inline dma_addr_t +sg_dma_address_fn(void) +{ + panic("This code-path shouldn't have been taken"); + return 0; +} +#define sg_dma_address(sg) sg_dma_address_fn() +#define IRQ_RETVAL(a) 0 + +#define SAM_STAT_GOOD SCSI_STATUS_OK +#define SAM_STAT_CHECK_CONDITION SCSI_STATUS_CHECK_COND +#define SAM_STAT_COMMAND_TERMINATED SCSI_STATUS_CMD_TERMINATED +#endif /* __FreeBSD__ */ +/* + * Map all data buffers for a command into PCI space and + * setup the scatter/gather list if needed. + */ +static void pvscsi_map_buffers(struct pvscsi_adapter *adapter, + struct pvscsi_ctx *ctx, struct scsi_cmnd *cmd, + struct PVSCSIRingReqDesc *e) +{ + unsigned count; + unsigned bufflen = scsi_bufflen(cmd); + + e->dataLen = bufflen; + e->dataAddr = 0; + if (bufflen == 0) + return; + +#ifdef __FreeBSD__ + struct ccb_scsiio *csio = cmd->qsc_csio; + device_t device = pvscsi_dev(adapter); + + ctx->e = e; + ctx->dmamapping_errno = 0; + + switch(csio->ccb_h.flags & (CAM_DATA_PHYS|CAM_SCATTER_VALID)) { + case CAM_DATA_PHYS|CAM_SCATTER_VALID: { + pvscsi_queue_io(ctx, + (struct bus_dma_segment *)csio->data_ptr, + csio->sglist_cnt, 0); + LOG(0, "CAM_DATA_PHYS|CAM_SCATTER_VALID\n"); + break; + } + + case CAM_SCATTER_VALID: { + device_printf(device, "No support yet for list of VAs\n"); + csio->ccb_h.status = CAM_REQ_CMP_ERR; + LOG(0, "CAM_SCATTER_VALID\n"); + break; + } + + case CAM_DATA_PHYS: { + struct bus_dma_segment seg; + seg.ds_addr = (bus_addr_t)(vm_offset_t)csio->data_ptr; + seg.ds_len = csio->dxfer_len; + pvscsi_queue_io(ctx, &seg, 1, 0); + LOG(0, "CAM_DATA_PHYS\n"); + break; + } + + case 0: { + int error; + + if (csio->bio && !csio->data_ptr) + error = bus_dmamap_load_bio(adapter->pvs_dmat, + ctx->dmap, csio->bio, + pvscsi_queue_io, ctx, + BUS_DMA_NOWAIT); + else + error = bus_dmamap_load(adapter->pvs_dmat, + ctx->dmap, csio->data_ptr, + csio->dxfer_len, + pvscsi_queue_io, ctx, + BUS_DMA_NOWAIT); + if (error) + ctx->dmamapping_errno = error; + + LOG(0, "single VA %p %p %lx\n", csio->bio, + csio->data_ptr, virt_to_phys(csio->data_ptr)); + break; + } + + default: { + panic("Unknown case %d", + (csio->ccb_h.flags & + (CAM_DATA_PHYS|CAM_SCATTER_VALID))); + } + } + + if (ctx->dmamapping_errno) { + if (ctx->dmamapping_errno == EFBIG) + csio->ccb_h.flags = CAM_REQ_TOO_BIG; + else + csio->ccb_h.flags = CAM_REQ_CMP_ERR; + } + + /* + * Setup 'count' and 'segs' so that we choose the path that sets + * PVSCSI_FLAG_CMD_WITH_SG_LIST and uses a scatter/gather list + */ +#endif /* __FreeBSD__ */ + count = scsi_sg_count(cmd); + if (count != 0) { +#ifndef __FreeBSD__ + struct scatterlist *sg = scsi_sglist(cmd); + int segs = pci_map_sg(adapter->dev, sg, count, + cmd->sc_data_direction); +#else + int segs = 2; /* Force the more generic path below */ +#endif /* __FreeBSD__ */ + if (segs > 1) { + pvscsi_create_sg(ctx, sg, segs); + + e->flags |= PVSCSI_FLAG_CMD_WITH_SG_LIST; + ctx->sglPA = pci_map_single(adapter->dev, ctx->sgl, + PAGE_SIZE, PCI_DMA_TODEVICE); + e->dataAddr = ctx->sglPA; + } else + e->dataAddr = sg_dma_address(sg); + } else { +#ifndef __FreeBSD__ + ctx->dataPA = pci_map_single(adapter->dev, + scsi_request_buffer(cmd), bufflen, + cmd->sc_data_direction); +#endif /* __FreeBSD__ */ + e->dataAddr = ctx->dataPA; + } +} + +static void pvscsi_unmap_buffers(const struct pvscsi_adapter *adapter, + struct pvscsi_ctx *ctx) +{ +#ifndef __FreeBSD__ + struct scsi_cmnd *cmd; + unsigned bufflen; + + cmd = ctx->cmd; + bufflen = scsi_bufflen(cmd); + + if (bufflen != 0) { + unsigned count = scsi_sg_count(cmd); + + if (count != 0) { + pci_unmap_sg(adapter->dev, scsi_sglist(cmd), count, + cmd->sc_data_direction); + if (ctx->sglPA) { + pci_unmap_single(adapter->dev, ctx->sglPA, + PAGE_SIZE, PCI_DMA_TODEVICE); + ctx->sglPA = 0; + } + } else + pci_unmap_single(adapter->dev, ctx->dataPA, bufflen, + cmd->sc_data_direction); + } + if (cmd->sense_buffer) + pci_unmap_single(adapter->dev, ctx->sensePA, + SCSI_SENSE_BUFFERSIZE, PCI_DMA_FROMDEVICE); +#else /* __FreeBSD__ */ + struct ccb_scsiio *csio = ctx->cmd; + + if (csio->dxfer_len && + !(csio->ccb_h.flags & (CAM_DATA_PHYS|CAM_SCATTER_VALID))) { + bus_dmamap_unload(adapter->pvs_dmat, ctx->dmap); + } +#endif /* __FreeBSD__ */ +} + +static int pvscsi_allocate_rings(struct pvscsi_adapter *adapter) +{ + adapter->rings_state = pci_alloc_consistent(adapter->dev, PAGE_SIZE, + &adapter->ringStatePA); + if (!adapter->rings_state) + return -ENOMEM; + + adapter->req_pages = min(PVSCSI_MAX_NUM_PAGES_REQ_RING, + pvscsi_ring_pages); + adapter->req_depth = adapter->req_pages + * PVSCSI_MAX_NUM_REQ_ENTRIES_PER_PAGE; + adapter->req_ring = pci_alloc_consistent(adapter->dev, + adapter->req_pages * PAGE_SIZE, + &adapter->reqRingPA); + if (!adapter->req_ring) + return -ENOMEM; + + adapter->cmp_pages = min(PVSCSI_MAX_NUM_PAGES_CMP_RING, + pvscsi_ring_pages); + adapter->cmp_ring = pci_alloc_consistent(adapter->dev, + adapter->cmp_pages * PAGE_SIZE, + &adapter->cmpRingPA); + if (!adapter->cmp_ring) + return -ENOMEM; + +#ifndef __FreeBSD__ + BUG_ON(adapter->ringStatePA & ~PAGE_MASK); + BUG_ON(adapter->reqRingPA & ~PAGE_MASK); + BUG_ON(adapter->cmpRingPA & ~PAGE_MASK); +#else + BUG_ON(adapter->ringStatePA & PAGE_MASK); + BUG_ON(adapter->reqRingPA & PAGE_MASK); + BUG_ON(adapter->cmpRingPA & PAGE_MASK); +#endif /* __FreeBSD__ */ + + if (!adapter->use_msg) + return 0; + + adapter->msg_pages = min(PVSCSI_MAX_NUM_PAGES_MSG_RING, + pvscsi_msg_ring_pages); + adapter->msg_ring = pci_alloc_consistent(adapter->dev, + adapter->msg_pages * PAGE_SIZE, + &adapter->msgRingPA); + if (!adapter->msg_ring) + return -ENOMEM; +#ifndef __FreeBSD__ + BUG_ON(adapter->msgRingPA & ~PAGE_MASK); +#else + BUG_ON(adapter->msgRingPA & PAGE_MASK); +#endif /* __FreeBSD__ */ + + return 0; +} + +static void pvscsi_setup_all_rings(const struct pvscsi_adapter *adapter) +{ + struct PVSCSICmdDescSetupRings cmd = { 0 }; + dma_addr_t base; + unsigned i; + + cmd.ringsStatePPN = adapter->ringStatePA >> PAGE_SHIFT; + cmd.reqRingNumPages = adapter->req_pages; + cmd.cmpRingNumPages = adapter->cmp_pages; + + base = adapter->reqRingPA; + for (i = 0; i < adapter->req_pages; i++) { + cmd.reqRingPPNs[i] = base >> PAGE_SHIFT; + base += PAGE_SIZE; + } + + base = adapter->cmpRingPA; + for (i = 0; i < adapter->cmp_pages; i++) { + cmd.cmpRingPPNs[i] = base >> PAGE_SHIFT; + base += PAGE_SIZE; + } + + memset(adapter->rings_state, 0, PAGE_SIZE); + memset(adapter->req_ring, 0, adapter->req_pages * PAGE_SIZE); + memset(adapter->cmp_ring, 0, adapter->cmp_pages * PAGE_SIZE); + + pvscsi_write_cmd_desc(adapter, PVSCSI_CMD_SETUP_RINGS, + &cmd, sizeof cmd); + + if (adapter->use_msg) { + struct PVSCSICmdDescSetupMsgRing cmd_msg = { 0 }; + + cmd_msg.numPages = adapter->msg_pages; + + base = adapter->msgRingPA; + for (i = 0; i < adapter->msg_pages; i++) { + cmd_msg.ringPPNs[i] = base >> PAGE_SHIFT; + base += PAGE_SIZE; + } + memset(adapter->msg_ring, 0, adapter->msg_pages * PAGE_SIZE); + + pvscsi_write_cmd_desc(adapter, PVSCSI_CMD_SETUP_MSG_RING, + &cmd_msg, sizeof cmd_msg); + } +} + +/* + * Pull a completion descriptor off and pass the completion back + * to the SCSI mid layer. + */ +void pvscsi_complete_request(struct pvscsi_adapter *adapter, + const struct PVSCSIRingCmpDesc *e) +{ + struct pvscsi_ctx *ctx; +#ifndef __FreeBSD__ + struct scsi_cmnd *cmd; +#else /* __FreeBSD__ */ + bool toed = false; + struct ccb_scsiio *cmd; + device_t device = pvscsi_dev(adapter); + int debugerr = 0; +#endif /* __FreeBSD__ */ + u32 btstat = e->hostStatus; + u32 sdstat = e->scsiStatus; + + ctx = pvscsi_get_context(adapter, e->context); + cmd = ctx->cmd; +#ifdef __FreeBSD__ + + /* + * check debugerr failpoints now so that we can do nothing if we're + * delaying the completion with a timer. Only check them once per + * command. + */ + if (!ctx->debugerr_checked) { + ctx->debugerr_checked = true; /* For when this very routine is + * invoked from the FP callout */ + debugerr = pvscsi_debugerr_check(adapter, ctx); + if (debugerr == PVSCSI_DEBUGERR_QUEUED) + return; + } + + callout_stop(&ctx->calloutx); /* disables ABORT or SCSI IO callout */ + toed = ctx->toed; + if (toed) { + device_printf(device, "ccb:%p marked for timeout returned with," + "ctx:%p, h:%u s:%u\n", cmd, ctx, btstat, sdstat); + } +#endif /* __FreeBSD__ */ + pvscsi_unmap_buffers(adapter, ctx); + pvscsi_release_context(adapter, ctx); + +#ifndef __FreeBSD__ + cmd->result = 0; +#endif /* __FreeBSD__ */ + + if (sdstat != SAM_STAT_GOOD && + (btstat == BTSTAT_SUCCESS || + btstat == BTSTAT_LINKED_COMMAND_COMPLETED || + btstat == BTSTAT_LINKED_COMMAND_COMPLETED_WITH_FLAG)) { +#ifndef __FreeBSD__ + if (sdstat == SAM_STAT_COMMAND_TERMINATED) + cmd->result = (DID_RESET << 16); + else { + cmd->result = (DID_OK << 16) | sdstat; + if (sdstat == SAM_STAT_CHECK_CONDITION && + cmd->sense_buffer) + cmd->result |= (DRIVER_SENSE << 24); + } +#else /* __FreeBSD__ */ + cmd->scsi_status = sdstat; + if (sdstat == SAM_STAT_COMMAND_TERMINATED) + cmd->ccb_h.status = CAM_SCSI_BUS_RESET; + else if (sdstat == SAM_STAT_CHECK_CONDITION) + cmd->ccb_h.status = CAM_SCSI_STATUS_ERROR | + CAM_AUTOSNS_VALID; + else + cmd->ccb_h.status = CAM_SCSI_STATUS_ERROR; +#endif /* __FreeBSD__ */ + } else + switch (btstat) { + case BTSTAT_SUCCESS: + case BTSTAT_LINKED_COMMAND_COMPLETED: + case BTSTAT_LINKED_COMMAND_COMPLETED_WITH_FLAG: + /* If everything went fine, let's move on.. */ +#ifndef __FreeBSD__ + cmd->result = (DID_OK << 16); +#else /* __FreeBSD__ */ + cmd->scsi_status = sdstat; + cmd->ccb_h.status = CAM_REQ_CMP; +#endif /* __FreeBSD__ */ + break; + + case BTSTAT_DATARUN: + case BTSTAT_DATA_UNDERRUN: +#ifndef __FreeBSD__ + /* Report residual data in underruns */ + scsi_set_resid(cmd, scsi_bufflen(cmd) - e->dataLen); + cmd->result = (DID_ERROR << 16); +#else /* __FreeBSD__ */ + cmd->scsi_status = sdstat; + cmd->ccb_h.status = CAM_DATA_RUN_ERR; + cmd->resid = cmd->dxfer_len - e->dataLen; +#endif /* __FreeBSD__ */ + break; + + case BTSTAT_SELTIMEO: + /* Our emulation returns this for non-connected devs */ +#ifndef __FreeBSD__ + cmd->result = (DID_BAD_TARGET << 16); +#else /* __FreeBSD__ */ + cmd->scsi_status = sdstat; + cmd->ccb_h.status = CAM_SEL_TIMEOUT; +#endif /* __FreeBSD__ */ + break; + + case BTSTAT_LUNMISMATCH: + case BTSTAT_TAGREJECT: + case BTSTAT_BADMSG: +#ifndef __FreeBSD__ + cmd->result = (DRIVER_INVALID << 24); +#else /* __FreeBSD__ */ + cmd->scsi_status = sdstat; + cmd->ccb_h.status = CAM_LUN_INVALID; + break; +#endif /* __FreeBSD__ */ + /* fall through */ + + case BTSTAT_HAHARDWARE: + case BTSTAT_INVPHASE: + case BTSTAT_HATIMEOUT: + case BTSTAT_NORESPONSE: + case BTSTAT_DISCONNECT: + case BTSTAT_HASOFTWARE: + case BTSTAT_BUSFREE: + case BTSTAT_SENSFAILED: +#ifndef __FreeBSD__ + cmd->result |= (DID_ERROR << 16); +#else /* __FreeBSD__ */ + cmd->scsi_status = sdstat; + cmd->ccb_h.status = CAM_REQ_CMP_ERR; +#endif /* __FreeBSD__ */ + break; + + case BTSTAT_SENTRST: + case BTSTAT_RECVRST: + case BTSTAT_BUSRESET: +#ifndef __FreeBSD__ + cmd->result = (DID_RESET << 16); +#else /* __FreeBSD__ */ + cmd->scsi_status = sdstat; + cmd->ccb_h.status = CAM_SCSI_BUS_RESET; +#endif /* __FreeBSD__ */ + break; + + case BTSTAT_ABORTQUEUE: +#ifndef __FreeBSD__ + /* + * Linux seems to do better with DID_BUS_BUSY instead of + * DID_ABORT. + */ + cmd->result = (DID_BUS_BUSY << 16); +#else /* __FreeBSD__ */ + cmd->scsi_status = sdstat; + device_printf(device, "Command %s\n", toed ? + "timedout" : "aborted"); + if(toed) { + cmd->ccb_h.status = CAM_CMD_TIMEOUT; + } else { + cmd->ccb_h.status = CAM_REQ_ABORTED; + } +#endif /* __FreeBSD__ */ + break; + + case BTSTAT_SCSIPARITY: +#ifndef __FreeBSD__ + cmd->result = (DID_PARITY << 16); +#else /* __FreeBSD__ */ + cmd->scsi_status = sdstat; + cmd->ccb_h.status = CAM_UNCOR_PARITY; +#endif /* __FreeBSD__ */ + break; + + default: +#ifndef __FreeBSD__ + cmd->result = (DID_ERROR << 16); + LOG(0, "Unknown completion status: 0x%x\n", btstat); +#else /* __FreeBSD__ */ + cmd->scsi_status = sdstat; + cmd->ccb_h.status = CAM_REQ_CMP_ERR; + device_printf(device, "Unknown completion status: " + "0x%x\n", btstat); +#endif /* __FreeBSD__ */ + } + +#ifndef __FreeBSD__ + LOG(3, "cmd=%p %x ctx=%p result=0x%x status=0x%x,%x\n", + cmd, cmd->cmnd[0], ctx, cmd->result, btstat, sdstat); + + cmd->scsi_done(cmd); +#else /* __FreeBSD__ */ + if (debugerr != 0) { + /* inject an error */ + union ccb *ccb = (union ccb *)cmd; + ccb->ccb_h.status = CAM_UNCOR_PARITY; + ccb->csio.scsi_status = SCSI_STATUS_CHECK_COND; + } + xpt_done((union ccb *)cmd); +#endif /* __FreeBSD__ */ +} + +/* + * barrier usage : Since the PVSCSI device is emulated, there could be cases + * where we may want to serialize some accesses between the driver and the + * emulation layer. We use compiler barriers instead of the more expensive + * memory barriers because PVSCSI is only supported on X86 which has strong + * memory access ordering. + */ +static void pvscsi_process_completion_ring(struct pvscsi_adapter *adapter) +{ + struct PVSCSIRingsState *s = adapter->rings_state; + struct PVSCSIRingCmpDesc *ring = adapter->cmp_ring; + u32 cmp_entries = s->cmpNumEntriesLog2; + + while (s->cmpConsIdx != s->cmpProdIdx) { + struct PVSCSIRingCmpDesc *e = ring + (s->cmpConsIdx & + MASK(cmp_entries)); + /* + * This barrier() ensures that *e is not dereferenced while + * the device emulation still writes data into the slot. + * Since the device emulation advances s->cmpProdIdx only after + * updating the slot we want to check it first. + */ + barrier(); + pvscsi_complete_request(adapter, e); + /* + * This barrier() ensures that compiler doesn't reorder write + * to s->cmpConsIdx before the read of (*e) inside + * pvscsi_complete_request. Otherwise, device emulation may + * overwrite *e before we had a chance to read it. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Sun May 22 05:01:18 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3D769B43023 for ; Sun, 22 May 2016 05:01:18 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-it0-x231.google.com (mail-it0-x231.google.com [IPv6:2607:f8b0:4001:c0b::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id F20851A41; Sun, 22 May 2016 05:01:17 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-it0-x231.google.com with SMTP id z123so12124329itg.0; Sat, 21 May 2016 22:01:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=QQ25gwIGhb0puUI3yuUUBtgqU9GvqKDKh4tFJwqzD7Q=; b=F/6d0vB2FwsS3JUemMeiZlbTOT/uFpBqMaq7AmLaUcsamR7v7FIMBOBKpotgaWwG1G ARTXLGZVaYecAo/9nIeToxhwLjNxuM/jUnGNyWe7S5/KpWa/K9b7fTV5wtudwnU8k7OY bVn7ecmvujXIgl1Qj5g5JEI+voxMntWVMA0TOmGwZ/M6XTZL9lOOAAiNnmidywflvFHo ud1JwipQQJlRI4Jkk/QdCrA4ausHzF93zsvJ2le6rXRFDdVkelwxdCb2uj6YVfxdQfdS KdixljuMqghVBbDI9WXJSKJRBvQIEd6M12SfLdaHInwCoRYBAp1srmX2BLpOXsX15MA1 iuZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=QQ25gwIGhb0puUI3yuUUBtgqU9GvqKDKh4tFJwqzD7Q=; b=PS2kZR8l09rhLqCptoD/2Zez3tduDgHVDY8oeoWAiCn6FJyJ/ltV61vqG1VNMcVG/n nrA+6KGXO+ZgKh6ht2zCpbRtkaNXg7XnFCU3Cp6uZxaS5gQ01cvNeKx1GMypozwsbgUB 62/fEBS6hoISe0k2NS/nrb9VaIpwZC2b5XwWR0WVA05FwLHKkFbdYyf9KM931SWw1eFD D9h1zG8DW2jl8j7qbCmy4giFK+30xwbWA+H/KxzyJhANdwv6dSiVqPdp95Esa2dPds7k FFewJU4cTsscSVU8yNjUDq7eBZrw8z+VV2U5w6SlME0T351XT9mbBQR1MxDUtbVf7dgz qtvw== X-Gm-Message-State: AOPr4FVq8J9JMVviRAIqiMSDUN0ubq8ESUAxHL79iX2WmAs0I67ozhxMpKGkviIOLZMYQg== X-Received: by 10.36.230.129 with SMTP id e123mr8784642ith.92.1463893277407; Sat, 21 May 2016 22:01:17 -0700 (PDT) Received: from [192.168.20.7] (c-73-97-222-46.hsd1.wa.comcast.net. [73.97.222.46]) by smtp.gmail.com with ESMTPSA id e65sm1958295ith.11.2016.05.21.22.01.16 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 21 May 2016 22:01:16 -0700 (PDT) Subject: Re: svn commit: r300396 - projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_8F15D8E5-450B-485F-B5B1-4E5B185D83B1"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.6b2 From: "Ngie Cooper (yaneurabeya)" In-Reply-To: <201605220428.u4M4StJu023975@repo.freebsd.org> Date: Sat, 21 May 2016 22:01:16 -0700 Cc: src-committers@freebsd.org, svn-src-projects@freebsd.org Message-Id: <7EA34018-35E6-47E4-A67F-CBC1D0C1FE4B@gmail.com> References: <201605220428.u4M4StJu023975@repo.freebsd.org> To: Garrett Cooper X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.22 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, 22 May 2016 05:01:18 -0000 --Apple-Mail=_8F15D8E5-450B-485F-B5B1-4E5B185D83B1 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On May 21, 2016, at 21:28, Garrett Cooper wrote: >=20 > Author: ngie > Date: Sun May 22 04:28:55 2016 > New Revision: 300396 > URL: https://svnweb.freebsd.org/changeset/base/300396 >=20 > Log: > Commit the 1.0.1.0-k driver obtained from VMware under a BSD 2-clause = license >=20 > Obtained from: Isilon OneFS > Sponsored by: EMC / Isilon Storage Division It isn=E2=80=99t the =E2=80=9Cvirgin driver=E2=80=9D, per se, from = VMware. It has some Isilon modifications that are being removed as part = of the driver cleanup. Thanks, -Ngie --Apple-Mail=_8F15D8E5-450B-485F-B5B1-4E5B185D83B1 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJXQT0cAAoJEPWDqSZpMIYVeRYP/0HnUdPiz7QQnDKPG7ilKF37 LbYPbm1qM8mdOEPD2oJCZvfhtAfvmA7iasSkscZftb61vDzyyUFmoEe5duKiEPwo 7d5kVGVmasf/yrsSgv11MBbVolvh6dGHon36V1tMyCy8fw4jof0zw4o9qzxzhyHs 0K6TZ3vVKgB+Ta5SNwtCo95DxaKTBqu6070+C4jytudntRZe77xSs7vWCwKn9t8U TS8JEq2GSlM98jOwuYcr5l9qyOlxTJ1t2nqCfQIU/oRZVYoUeTCtXkDRwwpfkZHL xPdt3fLmTGXEr4J0iJ+sSmeEUGH/8WKCVQROG+L82Yo4As1AQH40JaPJvVSeTkd3 Vycttjr7/mIHNRNAXapYZZTJBmUGk3jzJflp0fhQTX7YPCOavdixStY6n2n+BarB GFCnshWRJ/VEcRvCzSzbtyzphkT2ydUwmxenl6L0G7UXmeaeyTgBoMTlAKJbBf2j NwwwqBcCLuB+2JYoYfz3jHtLS38zBF0DkgN25xBhfI/vbfe2fYpH9ENHpTV6PiuS DOjCeN6UsQ6V1ELFmnn2p+ZLciyOTwT7r05MtPs9XKSInqyvQhfCWN7Fuqbo5dwr WCzO9mFQ0HpP5C+zos6EFaYQSMAjV8t/BlNwXk0YXv6oMj478MsHU9fyjp802TDf jyg+TlOPW4DU8lP8MwlN =irGS -----END PGP SIGNATURE----- --Apple-Mail=_8F15D8E5-450B-485F-B5B1-4E5B185D83B1-- From owner-svn-src-projects@freebsd.org Sun May 22 07:04:34 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AB23AB443CC for ; Sun, 22 May 2016 07:04:34 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6BF0016FC; Sun, 22 May 2016 07:04:34 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4M74XAa071707; Sun, 22 May 2016 07:04:33 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4M74Xo7071706; Sun, 22 May 2016 07:04:33 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201605220704.u4M74Xo7071706@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 22 May 2016 07:04:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300398 - projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi 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.22 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, 22 May 2016 07:04:34 -0000 Author: ngie Date: Sun May 22 07:04:33 2016 New Revision: 300398 URL: https://svnweb.freebsd.org/changeset/base/300398 Log: Check in compat_freebsd.h These compat shims are used to ease porting of the Linux driver to FreeBSD Added: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/compat_freebsd.h (contents, props changed) Added: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/compat_freebsd.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/compat_freebsd.h Sun May 22 07:04:33 2016 (r300398) @@ -0,0 +1,275 @@ +/*- + * Copyright 2011-2016 EMC Corp. + * + * 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$ + */ + +#ifndef _COMPAT_FREEBSD_H_ +#define _COMPAT_FREEBSD_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +#include "fbsd_list.h" + +#define printk printf + +#define KERN_WARNING "Warning:" +#define KERN_DEBUG "Debug:" +#define KERN_ERR "Error:" +#define KERN_INFO "Info:" +#define KERN_NOTICE "Notice:" + +typedef int8_t s8; +typedef int16_t s16; +typedef int32_t s32; +typedef int64_t s64; + +typedef u_int8_t u8; +typedef u_int16_t u16; +typedef u_int32_t u32; +typedef u_int64_t u64; + +typedef u_int16_t __be16; +typedef u_int32_t __be32; +typedef u_int64_t __be64; + +#define BUG_ON(x) KASSERT(!(x), ("BUG")) + +#define irqreturn_t int + +/* #define dev_dbg device_printf */ +#define LOG(d, ...) + +typedef bus_addr_t dma_addr_t; + +static inline vm_paddr_t +virt_to_phys(void *va) +{ + uintptr_t v = (uintptr_t)va; + return (vtophys(v & ~PAGE_MASK)+(v&PAGE_MASK)); +} + +MALLOC_DECLARE(M_PVSCSI); +MALLOC_DECLARE(M_PVSCSI_PCI); +MALLOC_DECLARE(M_PVSCSI_SGL); + +static __inline void * +vmalloc(size_t size, int flags) +{ + return malloc(size, M_PVSCSI, flags); +} + +static __inline void +vfree(void *addr) +{ + return free(addr, M_PVSCSI); +} + +/* + * pci_alloc_consistent returns two values: the virtual address which + * you can use to access it from the CPU and dma_handle which you pass + * to the card. + */ +static inline void * +pci_alloc_consistent_fn(unsigned int size, dma_addr_t *phys) +{ + void *r; + + /* + * Note that BSD does not guarantee physically contiguous + * memory from malloc(), but contigmalloc is very slow. + */ + r = contigmalloc(size, M_PVSCSI_PCI, M_WAITOK, 0ul, ~0ul, PAGE_SIZE, 0); + if (r) + *phys = virt_to_phys(r); + + return(r); +} + +#define pci_alloc_consistent(d,s,p) pci_alloc_consistent_fn(s,p) + +static inline dma_addr_t +pci_map_single_fn(void *va, size_t len) +{ + bus_addr_t retval, lastb; + + retval = virt_to_phys(va); + if (len) { + lastb = virt_to_phys((char *)va + len - 1); + KASSERT((lastb & ~PAGE_MASK) == (retval & ~PAGE_MASK), + ("%lx %lx %p %zu", lastb, retval, va, len)); + } + + return retval; +} + +#define pci_map_single(dev,va,len,dir) pci_map_single_fn(va,len) + +static inline void * +kcalloc_fn(size_t n, size_t size) +{ + if (size != 0 && n > ULONG_MAX / size) + return NULL; + return contigmalloc(n * size, M_PVSCSI_PCI, M_WAITOK|M_ZERO, 0ul, + ~0ul, PAGE_SIZE, 0); +} + +#define kcalloc(n,s,f) kcalloc_fn(n,s) + +#define kfree(a,s) contigfree(a, s, M_PVSCSI_PCI); +#define pci_free_consistent(d,s,a,h) contigfree(a, s, M_PVSCSI_PCI); + + +static __inline void *__get_free_page_fn(void) +{ + return contigmalloc(PAGE_SIZE, M_PVSCSI_SGL, M_WAITOK, + 0ul, ~0ul, PAGE_SIZE, 0); +} +#define __get_free_page(f) __get_free_page_fn() + +static __inline void free_page(unsigned long p) +{ + contigfree((void *)p, PAGE_SIZE, M_PVSCSI_SGL); +} + +struct workqueue_struct { + struct taskqueue *taskqueue; +}; + +struct work_struct { + struct task work_task; + struct taskqueue *taskqueue; + void (*fn)(struct work_struct *); +}; + +struct delayed_work { + struct work_struct work; + struct callout timer; +}; + +static inline struct workqueue_struct * +_create_workqueue_common(char *name, int cpus) +{ + struct workqueue_struct *wq; + + wq = vmalloc(sizeof(*wq), M_WAITOK); + wq->taskqueue = taskqueue_create((name), M_WAITOK, + taskqueue_thread_enqueue, &wq->taskqueue); + taskqueue_start_threads(&wq->taskqueue, cpus, PWAIT, "pvscsi_wq"); + + return (wq); +} + + +#define create_singlethread_workqueue(name) \ + _create_workqueue_common(name, 1) + +static inline void +_work_fn(void *context, int pending) +{ + struct work_struct *work; + + work = context; + work->fn(work); +} + +#define COMPAT_INIT_WORK(work, func, dud) \ +do { \ + (work)->fn = (func); \ + (work)->taskqueue = NULL; \ + TASK_INIT(&(work)->work_task, 0, _work_fn, (work)); \ +} while (0) + +static inline void +destroy_workqueue(struct workqueue_struct *wq) +{ + taskqueue_free(wq->taskqueue); + vfree(wq); +} + +#define queue_work(q, work) \ +do { \ + (work)->taskqueue = (q)->taskqueue; \ + taskqueue_enqueue((q)->taskqueue, &(work)->work_task); \ +} while (0) + + +/* Optimization barrier */ +/* The "volatile" is due to gcc bugs */ +#define barrier() __asm__ __volatile__("": : :"memory") + +#define __devinit + +#define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0) + +#define typeof __typeof + +#define list_first_entry(h, t, m) list_entry((h)->next, t, m) + +#define smp_processor_id() PCPU_GET(cpuid) +#define SCSI_MLQUEUE_HOST_BUSY CAM_RESRC_UNAVAIL +#define SUCCESS 0 + +#define ASSERT_ON_COMPILE CTASSERT + +typedef uint8_t uint8; +typedef uint16_t uint16; +typedef uint32_t uint32; +typedef uint64_t uint64; +typedef uint64_t PA; + +#define QWORD(_hi, _lo) ((((uint64)(_hi)) << 32) | ((uint32)(_lo))) + +#define COMPAT_WORK_GET_DATA __containerof + +#endif /* _COMPAT_FREEBSD_H_ */ From owner-svn-src-projects@freebsd.org Sun May 22 07:05:36 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B4F84B44407 for ; Sun, 22 May 2016 07:05:36 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 852EB1816; Sun, 22 May 2016 07:05:36 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4M75ZNM071789; Sun, 22 May 2016 07:05:35 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4M75Zkq071787; Sun, 22 May 2016 07:05:35 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201605220705.u4M75Zkq071787@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 22 May 2016 07:05:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300399 - projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi 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.22 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, 22 May 2016 07:05:36 -0000 Author: ngie Date: Sun May 22 07:05:35 2016 New Revision: 300399 URL: https://svnweb.freebsd.org/changeset/base/300399 Log: Remove Isilon specific features and make the kld compile with CURRENT Some of the previous code was originally written for older versions of FreeBSD Modified: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.h Modified: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c ============================================================================== --- projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c Sun May 22 07:04:33 2016 (r300398) +++ projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c Sun May 22 07:05:35 2016 (r300399) @@ -106,7 +106,7 @@ typedef struct pvscsi_adapter pvscsinst_ #define MODNM pvscsi enum { PVSCSI_MSIX_VEC0 = 0, /* Only one MSI-X interrupt required */ - PVSCSI_NUM_MSIX + PVSCSI_NUM_MSIX }; MALLOC_DEFINE(M_PVSCSI, "pvscsi", "VMware's para-virtualized scsi driver"); @@ -237,7 +237,6 @@ pvscsi_acquire_context(struct pvscsi_ada #else ctx->cmd = cmd->qsc_csio; ctx->toed = false; - ctx->debugerr_checked = false; #endif /* __FreeBSD__ */ list_del(&ctx->list); @@ -524,64 +523,15 @@ static void pvscsi_map_buffers(struct pv #ifdef __FreeBSD__ struct ccb_scsiio *csio = cmd->qsc_csio; - device_t device = pvscsi_dev(adapter); - ctx->e = e; ctx->dmamapping_errno = 0; - switch(csio->ccb_h.flags & (CAM_DATA_PHYS|CAM_SCATTER_VALID)) { - case CAM_DATA_PHYS|CAM_SCATTER_VALID: { - pvscsi_queue_io(ctx, - (struct bus_dma_segment *)csio->data_ptr, - csio->sglist_cnt, 0); - LOG(0, "CAM_DATA_PHYS|CAM_SCATTER_VALID\n"); - break; - } - - case CAM_SCATTER_VALID: { - device_printf(device, "No support yet for list of VAs\n"); - csio->ccb_h.status = CAM_REQ_CMP_ERR; - LOG(0, "CAM_SCATTER_VALID\n"); - break; - } - - case CAM_DATA_PHYS: { - struct bus_dma_segment seg; - seg.ds_addr = (bus_addr_t)(vm_offset_t)csio->data_ptr; - seg.ds_len = csio->dxfer_len; - pvscsi_queue_io(ctx, &seg, 1, 0); - LOG(0, "CAM_DATA_PHYS\n"); - break; - } - - case 0: { - int error; - - if (csio->bio && !csio->data_ptr) - error = bus_dmamap_load_bio(adapter->pvs_dmat, - ctx->dmap, csio->bio, - pvscsi_queue_io, ctx, - BUS_DMA_NOWAIT); - else - error = bus_dmamap_load(adapter->pvs_dmat, - ctx->dmap, csio->data_ptr, - csio->dxfer_len, - pvscsi_queue_io, ctx, - BUS_DMA_NOWAIT); - if (error) - ctx->dmamapping_errno = error; - - LOG(0, "single VA %p %p %lx\n", csio->bio, - csio->data_ptr, virt_to_phys(csio->data_ptr)); - break; - } + int error; - default: { - panic("Unknown case %d", - (csio->ccb_h.flags & - (CAM_DATA_PHYS|CAM_SCATTER_VALID))); - } - } + error = bus_dmamap_load_ccb(adapter->pvs_dmat, ctx->dmap, + (union ccb *)csio, pvscsi_queue_io, ctx, BUS_DMA_NOWAIT); + if (error) + ctx->dmamapping_errno = error; if (ctx->dmamapping_errno) { if (ctx->dmamapping_errno == EFBIG) @@ -654,10 +604,8 @@ static void pvscsi_unmap_buffers(const s #else /* __FreeBSD__ */ struct ccb_scsiio *csio = ctx->cmd; - if (csio->dxfer_len && - !(csio->ccb_h.flags & (CAM_DATA_PHYS|CAM_SCATTER_VALID))) { + if (csio->dxfer_len) bus_dmamap_unload(adapter->pvs_dmat, ctx->dmap); - } #endif /* __FreeBSD__ */ } @@ -775,28 +723,15 @@ void pvscsi_complete_request(struct pvsc bool toed = false; struct ccb_scsiio *cmd; device_t device = pvscsi_dev(adapter); - int debugerr = 0; #endif /* __FreeBSD__ */ u32 btstat = e->hostStatus; u32 sdstat = e->scsiStatus; + u64 edataLen = e->dataLen; + mtx_assert(&adapter->pvs_camlock, MA_OWNED); ctx = pvscsi_get_context(adapter, e->context); cmd = ctx->cmd; #ifdef __FreeBSD__ - - /* - * check debugerr failpoints now so that we can do nothing if we're - * delaying the completion with a timer. Only check them once per - * command. - */ - if (!ctx->debugerr_checked) { - ctx->debugerr_checked = true; /* For when this very routine is - * invoked from the FP callout */ - debugerr = pvscsi_debugerr_check(adapter, ctx); - if (debugerr == PVSCSI_DEBUGERR_QUEUED) - return; - } - callout_stop(&ctx->calloutx); /* disables ABORT or SCSI IO callout */ toed = ctx->toed; if (toed) { @@ -857,7 +792,7 @@ void pvscsi_complete_request(struct pvsc #else /* __FreeBSD__ */ cmd->scsi_status = sdstat; cmd->ccb_h.status = CAM_DATA_RUN_ERR; - cmd->resid = cmd->dxfer_len - e->dataLen; + cmd->resid = cmd->dxfer_len - edataLen; #endif /* __FreeBSD__ */ break; @@ -956,12 +891,6 @@ void pvscsi_complete_request(struct pvsc cmd->scsi_done(cmd); #else /* __FreeBSD__ */ - if (debugerr != 0) { - /* inject an error */ - union ccb *ccb = (union ccb *)cmd; - ccb->ccb_h.status = CAM_UNCOR_PARITY; - ccb->csio.scsi_status = SCSI_STATUS_CHECK_COND; - } xpt_done((union ccb *)cmd); #endif /* __FreeBSD__ */ } @@ -1001,43 +930,6 @@ static void pvscsi_process_completion_ri } } -static inline void -PRINT_CTX(struct pvscsi_ctx *ctx) -{ - printf("pvscsi:ctx %p [0]>%lx [l]>%x %lx %lx %lx %d %p %p\n", - ctx->sgl, - ctx->sgl->sge[0].addr, - ctx->sgl->sge[0].length, - ctx->dataPA, - ctx->sensePA, - ctx->sglPA, - ctx->dmamapping_errno, - ctx->e, - ctx->dmap); -} - - -static inline void -PRINT_REQ(struct PVSCSIRingReqDesc *e) -{ - printf("pvscsi:req cid>%lx dat>%lx dlen>%lx sns>%lx slen>%x fl>%x " - "c0>%u cl>%u lu>%u tg>%u b>%u trg>%u cpu>%u\n", - e->context, - e->dataAddr, - e->dataLen, - e->senseAddr, - e->senseLen, - e->flags, - e->cdb[0], - e->cdbLen, - e->lun[0], - e->tag, - e->bus, - e->target, - e->vcpuHint); -} - - /* * Translate a Linux SCSI request into a request ring entry. */ @@ -1261,7 +1153,6 @@ static int pvscsi_queue_locked(struct sc spin_unlock_irqrestore(&adapter->hw_lock, flags); #else /* __FreeBSD__ */ - ctx->debugerr_checked = false; ctx->toed = false; if (adapter->pvs_timeout_one_comm_targ == cmd->qsc_csio->ccb_h.target_id) { @@ -1537,8 +1428,6 @@ pvscsi_device_lost_or_found(pvscsinst_t struct cam_path *path; struct ccb_getdev ccb = { }; cam_status err; - diskevt_event_t diskevent; - int eventnum = -1; if (lun) { device_printf(pvscsi_dev(adapter), "hotplug/removal event for " @@ -1570,24 +1459,7 @@ pvscsi_device_lost_or_found(pvscsinst_t } xpt_free_path(path); - if (adapter->pvs_camsim) { - eventnum = ISI_UNIT(IDSK_TYPE_DA, - CAM_BTL_2ISIUNIT(cam_sim_path(adapter->pvs_camsim), trg, - lun)); - } PVSCSIULCK; - - if (eventnum >= 0) { - bzero(&diskevent, sizeof(diskevent)); - diskevent.unitnum = eventnum; - diskevent.type = lost ? DISKEVT_DISK_ABSENT : - DISKEVT_DISK_PRESENT; - diskevt_cdev_notify_event(&diskevent); - } else { - device_printf(pvscsi_dev(adapter), - "Could'nt post drive %s DISKEVT. e:t:l %d:%d:%d\n", - lost ? "remove" : "add", eventnum, trg, lun); - } } #endif /* __FreeBSD__ */ @@ -1722,7 +1594,7 @@ static int pvscsi_setup_msg_workqueue(st #else snprintf(name, sizeof name, "pvscsi_wq_%u", device_get_unit(adapter->pvs_dev)); -#endif /* */ +#endif /* __FreeBSD__ */ adapter->workqueue = create_singlethread_workqueue(name); if (!adapter->workqueue) { @@ -1831,35 +1703,37 @@ pvscsi_setup_intr(pvscsinst_t *adapter, rid++; /* RID 1 in the interrupt space is for MSIX interrupts */ if (pci_msix_count(adapter->pvs_dev) < PVSCSI_NUM_MSIX) { - device_printf(device, "pci_msix_count():%d < " - "PVSCSI_NUM_MSIX\n", - pci_msix_count(adapter->pvs_dev)); + device_printf(device, + "pci_msix_count():%d < PVSCSI_NUM_MSIX\n", + pci_msix_count(adapter->pvs_dev)); return false; } err = pci_alloc_msix(adapter->pvs_dev, &msix_vecs_needed); - if (err || (msix_vecs_needed < PVSCSI_NUM_MSIX)) { - device_printf(device, "retval>%d, " - "msix_vecs_needed>%d\n", - err, msix_vecs_needed); + if (err != 0 || msix_vecs_needed < PVSCSI_NUM_MSIX) { + device_printf(device, + "retval>%d, msix_vecs_needed>%d\n", + err, msix_vecs_needed); return false; } } res = bus_alloc_resource_any(adapter->pvs_dev, SYS_RES_IRQ, &rid, - RF_ACTIVE); - if (!res) { - device_printf(device, "Could'nt allocate interrupt resource\n"); - if (msix) pci_release_msi(adapter->pvs_dev); + RF_SHAREABLE|RF_ACTIVE); + if (res == NULL) { + device_printf(device, "Couldn't allocate interrupt resource\n"); + if (msix) + pci_release_msi(adapter->pvs_dev); return false; } - err = bus_setup_intr(adapter->pvs_dev, res, INTR_MPSAFE | INTR_TYPE_CAM, - NULL, isr, adapter, &adapter->pvs_intcookie); - if (err) { - device_printf(device, "bus_setup_intr()>%d\n", err); + err = bus_setup_intr(adapter->pvs_dev, res, INTR_MPSAFE|INTR_TYPE_CAM, + NULL, isr, adapter, &adapter->pvs_intcookie); + if (err != 0) { + device_printf(device, "bus_setup_intr failed: %d\n", err); bus_release_resource(adapter->pvs_dev, SYS_RES_IRQ, rid, res); - if (msix) pci_release_msi(adapter->pvs_dev); + if (msix) + pci_release_msi(adapter->pvs_dev); return false; } @@ -1867,8 +1741,6 @@ pvscsi_setup_intr(pvscsinst_t *adapter, adapter->pvs_intres = res; adapter->pvs_intrid = rid; - device_printf(device, "Interrupt successfully installed\n"); - return true; } #endif /* __FreeBSD__ */ @@ -1920,7 +1792,7 @@ static void pvscsi_release_resources(str pvscsi_free_sgls(adapter); kfree(adapter->cmd_map); #else - ASSERT(adapter->cmd_map_size); + KASSERT((adapter->cmd_map_size > 0), "adapter->"); pvscsi_free_sgls(adapter); kfree(adapter->cmd_map, adapter->cmd_map_size); #endif @@ -2343,9 +2215,9 @@ pvscsi_action(struct cam_sim *psim, unio else cmd->cmnd = (void *)&csio->cdb_io.cdb_bytes; - ASSERT(!(csio->ccb_h.flags & - (CAM_SENSE_PHYS|CAM_SENSE_PTR)), "%x", - csio->ccb_h.flags); /* We expect a struct */ + KASSERT(!(csio->ccb_h.flags & + (CAM_SENSE_PHYS|CAM_SENSE_PTR)), ("%x", + csio->ccb_h.flags)); /* We expect a struct */ cmd->sense_buffer = &csio->sense_data; #define CSIODIR (csio->ccb_h.flags & CAM_DIR_MASK) @@ -2410,7 +2282,7 @@ pvscsi_action(struct cam_sim *psim, unio target_id_t trg = pccb->ccb_h.target_id; if (pccb->ccb_h.target_lun) { - device_printf(device, "Non-zero LU number %d\n", + device_printf(device, "Non-zero LU number %lu\n", pccb->ccb_h.target_lun); pccb->ccb_h.status = CAM_LUN_INVALID; xpt_done(pccb); @@ -2572,14 +2444,6 @@ pvscsi_pci_attach(device_t device) if (!adapter->pvs_tarrg) { goto out_reset_adapter; } - - adapter->pvscsi_dbgfail_cnt = 0; - adapter->pvscsi_dbgfails = malloc(sizeof(struct pvscsi_dbgfail) * - IDISKFP_DBGFAILCNT, M_PVSCSI,M_WAITOK|M_ZERO); - if (!adapter->pvscsi_dbgfails) { - goto out_free_pvs_tarrg; - } - mtx_init(&adapter->pvs_camlock, "pvscsi camlock", NULL, MTX_DEF); INIT_LIST_HEAD(&adapter->cmd_pool); @@ -2622,8 +2486,6 @@ pvscsi_pci_attach(device_t device) &adapter->pvs_reset_target_on_timeout, 0U, "Reset the target on I/O timing out(for test purposes)"); - pvscsi_debugerr_add_sysctls(adapter); - /* Register with CAM as a SIM */ adapter->pvs_camdevq = cam_simq_alloc(adapter->req_depth); if (!adapter->pvs_camdevq) { @@ -2641,7 +2503,6 @@ pvscsi_pci_attach(device_t device) device_printf(device, "cam_sim_alloc() failed\n"); goto out_cam_simq; } - cam_sim_set_unmapped(adapter->pvs_camsim, 1); PVSCSILCK; if (xpt_bus_register(adapter->pvs_camsim, NULL, 0) != CAM_SUCCESS) { @@ -2677,9 +2538,6 @@ out_cam_simq: out_delete_dmat: bus_dma_tag_destroy(adapter->pvs_dmat); mtx_destroy(&adapter->pvs_camlock); - free(adapter->pvscsi_dbgfails, M_PVSCSI); - adapter->pvscsi_dbgfails = NULL; -out_free_pvs_tarrg: free(adapter->pvs_tarrg, M_PVSCSI); adapter->pvs_tarrg = NULL; out_reset_adapter: Modified: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.h ============================================================================== --- projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.h Sun May 22 07:04:33 2016 (r300398) +++ projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.h Sun May 22 07:05:35 2016 (r300399) @@ -1,5 +1,6 @@ -/* ************************************************************************ - * Copyright 2008 VMware, Inc. All rights reserved. +/*- + * Copyright 2008 VMware, Inc. + * Copyright 2014-2016 EMC Corp. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -19,7 +20,9 @@ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * ************************************************************************/ + * + * $FreeBSD$ + */ #ifndef _VMW_PVSCSI_H_ #define _VMW_PVSCSI_H_ @@ -28,10 +31,6 @@ #include #else #include "compat_freebsd.h" - -#include -#include -#include #endif /* __FreeBSD__ */ #define PVSCSI_DRIVER_VERSION_STRING "1.0.1.0-k" @@ -518,7 +517,6 @@ struct pvscsi_ctx { bus_dmamap_t dmap; struct callout calloutx; bool toed; - bool debugerr_checked; struct pvscsi_adapter *adapter; #endif /* __FreeBSD__ */ }; @@ -531,13 +529,6 @@ typedef struct pvscsitarg { #include -struct pvscsi_dbgfail { - uint32_t ctrl; /* See sys/geom/isi_disk.h */ - uint32_t unit; - uint64_t lba; - struct fail_point rate; -}; - /* Expects a pvscsinst_t *adapter has been initialized */ #define PVSCSILCK mtx_lock(&((adapter)->pvs_camlock)) #define PVSCSIULCK mtx_unlock(&((adapter)->pvs_camlock)) @@ -606,12 +597,10 @@ struct pvscsi_adapter { pvscsitarg_t *pvs_tarrg; target_id_t pvs_timeout_one_comm_targ; uint32 pvs_reset_target_on_timeout; - struct pvscsi_dbgfail *pvscsi_dbgfails; - int pvscsi_dbgfail_cnt; #endif /* __FreeBSD__ */ }; void pvscsi_complete_request(struct pvscsi_adapter *adapter, const struct PVSCSIRingCmpDesc *e); -#include "isln_pvscsi.h" + #endif /* _VMW_PVSCSI_H_ */ From owner-svn-src-projects@freebsd.org Sun May 22 07:15:00 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6256EB445BD for ; Sun, 22 May 2016 07:15:00 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1A3B11D46; Sun, 22 May 2016 07:15:00 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4M7ExxP074728; Sun, 22 May 2016 07:14:59 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4M7ExwO074727; Sun, 22 May 2016 07:14:59 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201605220714.u4M7ExwO074727@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 22 May 2016 07:14:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300400 - projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi 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.22 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, 22 May 2016 07:15:00 -0000 Author: ngie Date: Sun May 22 07:14:59 2016 New Revision: 300400 URL: https://svnweb.freebsd.org/changeset/base/300400 Log: Apply some of the review feedback from https://reviews.freebsd.org/D4112 Modified: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c Modified: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c ============================================================================== --- projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c Sun May 22 07:05:35 2016 (r300399) +++ projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c Sun May 22 07:14:59 2016 (r300400) @@ -1163,7 +1163,7 @@ static int pvscsi_queue_locked(struct sc adapter->pvs_reset_target_on_timeout ? pvscsi_abort_timeout: pvscsi_scsiio_timeout, ctx); - cmd->qsc_csio->ccb_h.status |= CAM_SIM_QUEUED; + cmd->qsc_csio->ccb_h.status |= CAM_SIM_QUEUED; #endif /* __FreeBSD__ */ @@ -1578,7 +1578,7 @@ static void pvscsi_msg_workqueue_handler static int pvscsi_setup_msg_workqueue(struct pvscsi_adapter *adapter) { - char name[32]; + char name[32]; /* XXX: magic number */ if (!pvscsi_use_msg) return 0; @@ -1816,8 +1816,6 @@ static void pvscsi_release_resources(str pci_free_consistent(adapter->dev, adapter->msg_pages * PAGE_SIZE, adapter->msg_ring, adapter->msgRingPA); - if (adapter->cmd_map) { - } #ifdef __FreeBSD__ /* Undo the memory-mapped register mapping */ @@ -2319,7 +2317,6 @@ pvscsi_action(struct cam_sim *psim, unio break; } } - return; } @@ -2547,7 +2544,7 @@ out_release_resources: out_disable_device: pci_disable_io(device, SYS_RES_MEMORY); pci_disable_busmaster(device); - return -ENXIO; + return ENXIO; } static int @@ -2569,7 +2566,7 @@ pvscsi_pci_methods[] = { DEVMETHOD(device_probe, pvscsi_pci_probe), DEVMETHOD(device_attach, pvscsi_pci_attach), DEVMETHOD(device_detach, pvscsi_pci_detach), - { 0, 0 } + DEVMETHOD_END, }; static driver_t pvscsi_pci_driver = { From owner-svn-src-projects@freebsd.org Sun May 22 07:25:00 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 830AFB447B6 for ; Sun, 22 May 2016 07:25:00 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 45E4B10EF; Sun, 22 May 2016 07:25:00 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4M7Ox6A077694; Sun, 22 May 2016 07:24:59 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4M7OxXi077693; Sun, 22 May 2016 07:24:59 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201605220724.u4M7OxXi077693@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 22 May 2016 07:24:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300401 - projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi 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.22 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, 22 May 2016 07:25:00 -0000 Author: ngie Date: Sun May 22 07:24:59 2016 New Revision: 300401 URL: https://svnweb.freebsd.org/changeset/base/300401 Log: virt_to_phys is duplicating vtophys; reduce complexity a tad Modified: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/compat_freebsd.h Modified: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/compat_freebsd.h ============================================================================== --- projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/compat_freebsd.h Sun May 22 07:14:59 2016 (r300400) +++ projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/compat_freebsd.h Sun May 22 07:24:59 2016 (r300401) @@ -92,12 +92,7 @@ typedef u_int64_t __be64; typedef bus_addr_t dma_addr_t; -static inline vm_paddr_t -virt_to_phys(void *va) -{ - uintptr_t v = (uintptr_t)va; - return (vtophys(v & ~PAGE_MASK)+(v&PAGE_MASK)); -} +#define virt_to_phys(v) vtophys(v) MALLOC_DECLARE(M_PVSCSI); MALLOC_DECLARE(M_PVSCSI_PCI); From owner-svn-src-projects@freebsd.org Sun May 22 07:25:57 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AFD11B4480A for ; Sun, 22 May 2016 07:25:57 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7D79D120E; Sun, 22 May 2016 07:25:57 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4M7PueB077773; Sun, 22 May 2016 07:25:56 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4M7PuQ8077772; Sun, 22 May 2016 07:25:56 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201605220725.u4M7PuQ8077772@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 22 May 2016 07:25:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300402 - projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi 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.22 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, 22 May 2016 07:25:57 -0000 Author: ngie Date: Sun May 22 07:25:56 2016 New Revision: 300402 URL: https://svnweb.freebsd.org/changeset/base/300402 Log: Check in short-term shims for dealing with lists This will be converted to queue(3) soon instead of handrolling queue(3) Added: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/fbsd_list.h (contents, props changed) Added: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/fbsd_list.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/fbsd_list.h Sun May 22 07:25:56 2016 (r300402) @@ -0,0 +1,28 @@ +/* XXX: use queue(3) instead */ + +#ifndef _FBSD_LIST_H_ +#define _FBSD_LIST_H_ + +#define container_of __containerof + +struct list_head { + struct list_head *next,*last; +}; +#define INIT_LIST_HEAD(a) {(a)->next=(a)->last=(a);} +#define list_entry(p,t,m) container_of(p, t, m) + +#define list_empty(a) ((a)->next==(a)) + +#define list_del(a)\ + {(a)->last->next=(a)->next;\ + (a)->next->last=(a)->last;} + +#define list_del_rcu(a)\ + {atomic_store_rel_ptr(&(a)->last->next, (a)->next);\ + (a)->next->last=(a)->last;} + +#define list_add(a,b)\ + {(a)->last=(b); (a)->next=(b)->next ;\ + (a)->next->last=(a); (b)->next=(a);} + +#endif /* !_FBSD_LIST_H_ */ From owner-svn-src-projects@freebsd.org Sun May 22 07:33:20 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A6BA7B44A87 for ; Sun, 22 May 2016 07:33:20 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7744F194E; Sun, 22 May 2016 07:33:20 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4M7XJta080756; Sun, 22 May 2016 07:33:19 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4M7XJNw080755; Sun, 22 May 2016 07:33:19 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201605220733.u4M7XJNw080755@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 22 May 2016 07:33:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300403 - projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi 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.22 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, 22 May 2016 07:33:20 -0000 Author: ngie Date: Sun May 22 07:33:19 2016 New Revision: 300403 URL: https://svnweb.freebsd.org/changeset/base/300403 Log: Use the right version in the driver description Modified: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c Modified: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c ============================================================================== --- projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c Sun May 22 07:25:56 2016 (r300402) +++ projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c Sun May 22 07:33:19 2016 (r300403) @@ -2555,7 +2555,8 @@ pvscsi_pci_probe(device_t device) return ENXIO; } - device_set_desc(device, "VMware para-virtual SCSI driver v1.1.2.0"); + device_set_desc(device, + "VMware para-virtual SCSI driver " PVSCSI_DRIVER_VERSION_STRING); return 0; } From owner-svn-src-projects@freebsd.org Sun May 22 07:39:26 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C3B91B44AB7 for ; Sun, 22 May 2016 07:39:26 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 832EB1A89; Sun, 22 May 2016 07:39:26 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4M7dPv4080993; Sun, 22 May 2016 07:39:25 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4M7dPMg080992; Sun, 22 May 2016 07:39:25 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201605220739.u4M7dPMg080992@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 22 May 2016 07:39:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300404 - projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi 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.22 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, 22 May 2016 07:39:26 -0000 Author: ngie Date: Sun May 22 07:39:25 2016 New Revision: 300404 URL: https://svnweb.freebsd.org/changeset/base/300404 Log: Fix i386 compilation by casting longs to *intmax_t type and using appropriate %j* format specifiers Modified: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c Modified: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c ============================================================================== --- projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c Sun May 22 07:33:19 2016 (r300403) +++ projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c Sun May 22 07:39:25 2016 (r300404) @@ -1100,7 +1100,7 @@ pvscsi_scsiio_timeout(void *data) getmicrotime(&tv); device_printf(pvscsi_dev(adapter), "SCSI IO TIMEOUT ctx>%p ccb>%p at " - "%ld.%06ld\n", ctx, ctx->cmd, tv.tv_sec, tv.tv_usec); + "%jd.%06ld\n", ctx, ctx->cmd, (intmax_t)tv.tv_sec, tv.tv_usec); /* Update the targ_t from the targ array with the TO info */ targ = adapter->pvs_tarrg + ctx->cmd->ccb_h.target_id; @@ -2280,8 +2280,8 @@ pvscsi_action(struct cam_sim *psim, unio target_id_t trg = pccb->ccb_h.target_id; if (pccb->ccb_h.target_lun) { - device_printf(device, "Non-zero LU number %lu\n", - pccb->ccb_h.target_lun); + device_printf(device, "Non-zero LU number %ju\n", + (uintmax_t)pccb->ccb_h.target_lun); pccb->ccb_h.status = CAM_LUN_INVALID; xpt_done(pccb); break; From owner-svn-src-projects@freebsd.org Sun May 22 07:50:11 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A2AD5B44D47 for ; Sun, 22 May 2016 07:50:11 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6B89A1F00; Sun, 22 May 2016 07:50:11 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4M7oA1D084177; Sun, 22 May 2016 07:50:10 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4M7oAYh084175; Sun, 22 May 2016 07:50:10 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201605220750.u4M7oAYh084175@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 22 May 2016 07:50:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300405 - in projects/vmware_pvscsi/sys/modules/vmware: . pvscsi 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.22 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, 22 May 2016 07:50:11 -0000 Author: ngie Date: Sun May 22 07:50:10 2016 New Revision: 300405 URL: https://svnweb.freebsd.org/changeset/base/300405 Log: Rename sys/modules/vmware/vmw_pvscsi to sys/modules/vmware/pvscsi to reduce redundancy in the name Added: projects/vmware_pvscsi/sys/modules/vmware/pvscsi/ projects/vmware_pvscsi/sys/modules/vmware/pvscsi/Makefile (contents, props changed) Modified: projects/vmware_pvscsi/sys/modules/vmware/Makefile Modified: projects/vmware_pvscsi/sys/modules/vmware/Makefile ============================================================================== --- projects/vmware_pvscsi/sys/modules/vmware/Makefile Sun May 22 07:39:25 2016 (r300404) +++ projects/vmware_pvscsi/sys/modules/vmware/Makefile Sun May 22 07:50:10 2016 (r300405) @@ -23,6 +23,7 @@ # SUCH DAMAGE. # -SUBDIR= vmxnet3 +SUBDIR+= pvscsi +SUBDIR+= vmxnet3 .include Added: projects/vmware_pvscsi/sys/modules/vmware/pvscsi/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/vmware_pvscsi/sys/modules/vmware/pvscsi/Makefile Sun May 22 07:50:10 2016 (r300405) @@ -0,0 +1,11 @@ +# $FreeBSD$ + +.PATH: ${SRCTOP}/sys/dev/vmware/vmw_pvscsi + +KMOD= vmw_pvscsi +SRCS= vmw_pvscsi.c + +CLEANFILES+= bus_if.h device_if.h opt_cam.h pci_if.h +SRCS+= bus_if.h device_if.h opt_cam.h pci_if.h + +.include From owner-svn-src-projects@freebsd.org Sun May 22 08:42:46 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B7C3EB44C9C for ; Sun, 22 May 2016 08:42:46 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 825D01AC8; Sun, 22 May 2016 08:42:46 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4M8gjQd002432; Sun, 22 May 2016 08:42:45 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4M8gjf8002430; Sun, 22 May 2016 08:42:45 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201605220842.u4M8gjf8002430@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 22 May 2016 08:42:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300407 - projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi 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.22 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, 22 May 2016 08:42:46 -0000 Author: ngie Date: Sun May 22 08:42:45 2016 New Revision: 300407 URL: https://svnweb.freebsd.org/changeset/base/300407 Log: Fix compiling with i386 and INVARIANTS Fix broken KASSERT and remove broken device_printf (was bogus) Modified: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/compat_freebsd.h projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c Modified: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/compat_freebsd.h ============================================================================== --- projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/compat_freebsd.h Sun May 22 08:20:30 2016 (r300406) +++ projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/compat_freebsd.h Sun May 22 08:42:45 2016 (r300407) @@ -139,11 +139,8 @@ pci_map_single_fn(void *va, size_t len) bus_addr_t retval, lastb; retval = virt_to_phys(va); - if (len) { + if (len != 0) lastb = virt_to_phys((char *)va + len - 1); - KASSERT((lastb & ~PAGE_MASK) == (retval & ~PAGE_MASK), - ("%lx %lx %p %zu", lastb, retval, va, len)); - } return retval; } Modified: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c ============================================================================== --- projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c Sun May 22 08:20:30 2016 (r300406) +++ projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/vmw_pvscsi.c Sun May 22 08:42:45 2016 (r300407) @@ -1792,7 +1792,7 @@ static void pvscsi_release_resources(str pvscsi_free_sgls(adapter); kfree(adapter->cmd_map); #else - KASSERT((adapter->cmd_map_size > 0), "adapter->"); + KASSERT(adapter->cmd_map_size > 0, ("adapter->")); pvscsi_free_sgls(adapter); kfree(adapter->cmd_map, adapter->cmd_map_size); #endif From owner-svn-src-projects@freebsd.org Sun May 22 08:43:37 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CDEB5B44CB7 for ; Sun, 22 May 2016 08:43:37 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9FCB61C04; Sun, 22 May 2016 08:43:37 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4M8hafE002505; Sun, 22 May 2016 08:43:36 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4M8haSL002503; Sun, 22 May 2016 08:43:36 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201605220843.u4M8haSL002503@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 22 May 2016 08:43:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300408 - projects/vmware_pvscsi/sys/conf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.22 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, 22 May 2016 08:43:37 -0000 Author: ngie Date: Sun May 22 08:43:36 2016 New Revision: 300408 URL: https://svnweb.freebsd.org/changeset/base/300408 Log: Add sys/conf entries for vmw_pvscsi Modified: projects/vmware_pvscsi/sys/conf/files.amd64 projects/vmware_pvscsi/sys/conf/files.i386 Modified: projects/vmware_pvscsi/sys/conf/files.amd64 ============================================================================== --- projects/vmware_pvscsi/sys/conf/files.amd64 Sun May 22 08:42:45 2016 (r300407) +++ projects/vmware_pvscsi/sys/conf/files.amd64 Sun May 22 08:43:36 2016 (r300408) @@ -379,6 +379,7 @@ dev/tpm/tpm_acpi.c optional tpm acpi dev/tpm/tpm_isa.c optional tpm isa dev/uart/uart_cpu_x86.c optional uart dev/viawd/viawd.c optional viawd +dev/vmware/vmw_pvscsi/vmw_pvscsi.c optional vmw_pvscsi dev/vmware/vmxnet3/if_vmx.c optional vmx dev/wbwd/wbwd.c optional wbwd dev/wpi/if_wpi.c optional wpi Modified: projects/vmware_pvscsi/sys/conf/files.i386 ============================================================================== --- projects/vmware_pvscsi/sys/conf/files.i386 Sun May 22 08:42:45 2016 (r300407) +++ projects/vmware_pvscsi/sys/conf/files.i386 Sun May 22 08:43:36 2016 (r300408) @@ -309,6 +309,7 @@ dev/tpm/tpm_acpi.c optional tpm acpi dev/tpm/tpm_isa.c optional tpm isa dev/uart/uart_cpu_x86.c optional uart dev/viawd/viawd.c optional viawd +dev/vmware/vmw_pvscsi/vmw_pvscsi.c optional vmw_pvscsi dev/vmware/vmxnet3/if_vmx.c optional vmx dev/acpica/acpi_if.m standard dev/acpica/acpi_hpet.c optional acpi From owner-svn-src-projects@freebsd.org Sun May 22 18:16:06 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 20331B45BC1 for ; Sun, 22 May 2016 18:16:06 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DC8C91FDA; Sun, 22 May 2016 18:16:05 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4MIG5YK077409; Sun, 22 May 2016 18:16:05 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4MIG5Kh077408; Sun, 22 May 2016 18:16:05 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201605221816.u4MIG5Kh077408@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 22 May 2016 18:16:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300426 - projects/vmware_pvscsi/usr.bin/kdump 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.22 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, 22 May 2016 18:16:06 -0000 Author: ngie Date: Sun May 22 18:16:04 2016 New Revision: 300426 URL: https://svnweb.freebsd.org/changeset/base/300426 Log: Fix humanized decoding of struct stat with respect to .st_mtim st_mtim was being incorrectly described as "stime=", not "mtime=". This was introduced with the original feature commit (r176471). MFC after: 1 week PR: 209699 Submitted by: naddy Sponsored by: EMC / Isilon Storage Division Modified: projects/vmware_pvscsi/usr.bin/kdump/kdump.c Modified: projects/vmware_pvscsi/usr.bin/kdump/kdump.c ============================================================================== --- projects/vmware_pvscsi/usr.bin/kdump/kdump.c Sun May 22 16:24:21 2016 (r300425) +++ projects/vmware_pvscsi/usr.bin/kdump/kdump.c Sun May 22 18:16:04 2016 (r300426) @@ -1688,7 +1688,7 @@ ktrstat(struct stat *statp) printf(".%09ld, ", statp->st_atim.tv_nsec); else printf(", "); - printf("stime="); + printf("mtime="); if (resolv == 0) printf("%jd", (intmax_t)statp->st_mtim.tv_sec); else { From owner-svn-src-projects@freebsd.org Sun May 22 18:18:04 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B7F52B45CA3 for ; Sun, 22 May 2016 18:18:04 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-io0-x234.google.com (mail-io0-x234.google.com [IPv6:2607:f8b0:4001:c06::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7F6EF1284; Sun, 22 May 2016 18:18:04 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-io0-x234.google.com with SMTP id 190so179945473iow.1; Sun, 22 May 2016 11:18:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=vXVmOZalue7OaotyQmdjrehJZYbKpBLI/J6X8wJb2xQ=; b=bjciIIxx2yQiD0pDsbBqTwXS4Ce0opyBwz7cf6dvhI5nje34KCWIF6am1/m87dvwI0 9LxrfG5QwAZfePNHHqo5feLxEN4V4OSll1FbyVC5VtNPAZbYvlttW0FmYG5oZlenGpiP RSzmp+eWnJnjRsvjuHU0uYIlFa3JCyKN9wXjX9JVEgfwL/+4MioD4SxjsDT6U69ITAxb xznJiPKHduIHazEAFqn9BzHYdi+D1Sn9I3NZHciVPZO9vJnPD0EWgxGIPXqlbfMfkHSg rX8cfLSk5pqXjFxyifknfOoOX5+hxwWMhnkeNcO8WH0fvO3BWHmRMhsn+GTxJWUF8bCv gzpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :message-id:references:to; bh=vXVmOZalue7OaotyQmdjrehJZYbKpBLI/J6X8wJb2xQ=; b=Drgr55UmEKRjo1Zx9m9DHfh3FRpo0yZo/98Xtc8XYCrPlDv3BPM6psE5bk3jMPw9ez WCJ21CoZMkzWnTIV5MrAHcCTSsN9n2NtrumZKa/oM9xXCjbfv5TpYRJKKfkKbB7DVd3D r70AtfUAM7l8D5L+lFXATHPFyNu+9x2qL9UiQwDPYlGY1p5AtY2gOYVXAZZogpxZlyHN XhLRcDL0l6DnSNe/AdmDSgvj1NsMlEdOYjQRrkifKCupGDAnzziaUyBmqZtnNGeadefL ZnwC2LN8NizyM9hjXElYBP0UMmD4Kc7X1MFq5JL0cfbKaOCxXnPfZPxFxnt7hPZOoQqW BPYw== X-Gm-Message-State: ALyK8tJrxm/32qDBCe7eEOx9idGgCxZ8o9u3JTUqsyIZVKAj1EgqPOHSGKy/ZdklsiRFaw== X-Received: by 10.107.186.9 with SMTP id k9mr1275759iof.173.1463941083883; Sun, 22 May 2016 11:18:03 -0700 (PDT) Received: from [192.168.20.7] (c-73-97-222-46.hsd1.wa.comcast.net. [73.97.222.46]) by smtp.gmail.com with ESMTPSA id r206sm2654592itc.3.2016.05.22.11.18.01 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 22 May 2016 11:18:03 -0700 (PDT) Subject: Re: svn commit: r300426 - projects/vmware_pvscsi/usr.bin/kdump Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_F6DEAD87-33D8-4068-B9A7-C6E5853947D0"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.6b2 From: "Ngie Cooper (yaneurabeya)" In-Reply-To: <201605221816.u4MIG5Kh077408@repo.freebsd.org> Date: Sun, 22 May 2016 11:17:59 -0700 Cc: src-committers@freebsd.org, svn-src-projects@freebsd.org Message-Id: <9875F54A-4D1D-488C-9531-23445CA86A41@gmail.com> References: <201605221816.u4MIG5Kh077408@repo.freebsd.org> To: Garrett Cooper X-Mailer: Apple Mail (2.3124) X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.22 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, 22 May 2016 18:18:04 -0000 --Apple-Mail=_F6DEAD87-33D8-4068-B9A7-C6E5853947D0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On May 22, 2016, at 11:16, Garrett Cooper wrote: >=20 > Author: ngie > Date: Sun May 22 18:16:04 2016 > New Revision: 300426 > URL: https://svnweb.freebsd.org/changeset/base/300426 >=20 > Log: > Fix humanized decoding of struct stat with respect to .st_mtim >=20 > st_mtim was being incorrectly described as "stime=3D", not "mtime=3D". = This was > introduced with the original feature commit (r176471). >=20 > MFC after: 1 week > PR: 209699 > Submitted by: naddy > Sponsored by: EMC / Isilon Storage Division >=20 > Modified: > projects/vmware_pvscsi/usr.bin/kdump/kdump.c >=20 > Modified: projects/vmware_pvscsi/usr.bin/kdump/kdump.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- projects/vmware_pvscsi/usr.bin/kdump/kdump.c Sun May 22 = 16:24:21 2016 (r300425) > +++ projects/vmware_pvscsi/usr.bin/kdump/kdump.c Sun May 22 = 18:16:04 2016 (r300426) > @@ -1688,7 +1688,7 @@ ktrstat(struct stat *statp) > printf(".%09ld, ", statp->st_atim.tv_nsec); > else > printf(", "); > - printf("stime=3D"); > + printf("mtime=3D"); > if (resolv =3D=3D 0) > printf("%jd", (intmax_t)statp->st_mtim.tv_sec); > else { >=20 *yawn* wrong branch. I need coffee... --Apple-Mail=_F6DEAD87-33D8-4068-B9A7-C6E5853947D0 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJXQffcAAoJEPWDqSZpMIYVYOUP/3Hg1YI1A+q3fFXNBFKZoX3X HbQv96evGybDsIvrDpbfo/+wUcer3XZc1e/6TyOW4KE0mYt7KsNXiCbaDCD5UCsh ai86JipZkxtX31L9vcFHIP7d88DAOOM9i0eVKerFHzzApku6naQHdMV9lg//1B6r HHedjcpHIVP1LcZRVgnQX+DFdSAfjV5SmrBJbC8TfEEiaA6wyngbDbQ0O8DTbLYs x24NCSvYf+5YD7C/cqRVyLFWN6YEK+/nzd8mk4uiCdeDENxORxeRHIqKwYHqOPKN KdsldWC5eIW+u4cPvxVog7sd0j+8r0XagJ4R/852LHBi1g48jVhBwZZUKEhUfeEm tojeaWR+LzS+JvpxXiftzDTlAAYBhaQzAs/KoKOUqpaF8FtHzd6whcAFgXH6r7II vWcxlO7o7A6Cuh/4Rx6S7bn0m+zZCIxCzxpFTkOPU0PK37yP9Sv97Fnk990SVp8W U3VxwSFcN3GI+mXszMLoX7XDlgtOdoUU0ZeEtzXrQFqwbKK52nsGPnBI6YJyiVVJ NUv+3rNun4WkyLhOXTFHslQYaaxmD9y/+KbBGrlWnyjm+7T5xt4bE4kKDfJu+ESq lQwcW9/4TqAu/mEFzKxtx4ML5I4DksOgqm3Xefs2BgLA8TIVm8L7AJ1iN1uv+TpS XvaIlr+nVY2iwiI/IWV8 =G6nM -----END PGP SIGNATURE----- --Apple-Mail=_F6DEAD87-33D8-4068-B9A7-C6E5853947D0-- From owner-svn-src-projects@freebsd.org Mon May 23 16:02:55 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EC341B47D00 for ; Mon, 23 May 2016 16:02:55 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BEC1813C9; Mon, 23 May 2016 16:02:55 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4NG2sK7084810; Mon, 23 May 2016 16:02:54 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4NG2skI084809; Mon, 23 May 2016 16:02:54 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201605231602.u4NG2skI084809@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Mon, 23 May 2016 16:02:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300515 - projects/zfsd/head/tests/sys/cddl/zfs/tests/zfsd 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.22 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, 23 May 2016 16:02:56 -0000 Author: asomers Date: Mon May 23 16:02:54 2016 New Revision: 300515 URL: https://svnweb.freebsd.org/changeset/base/300515 Log: Fix zfsd_hotspare_001_pos tests/sys/cddl/zfs/tests/zfsd/zfsd_hotspare_001_pos.ksh Relax a check_state operation. It was checking for a divergence "zpool status" output between FreeBSD and SpectraBSD that is probably unintentional. Now, the test can pass on both FreeBSD and SpectraBSD. Sponsored by: Spectra Logic Corp Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/zfsd/zfsd_hotspare_001_pos.ksh Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/zfsd/zfsd_hotspare_001_pos.ksh ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/zfsd/zfsd_hotspare_001_pos.ksh Mon May 23 16:02:29 2016 (r300514) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/zfsd/zfsd_hotspare_001_pos.ksh Mon May 23 16:02:54 2016 (r300515) @@ -117,8 +117,7 @@ function verify_assertion # type # The standby spare should be in use, while the original spare should # be faulted. log_must check_state $TESTPOOL $standby_spare "online" - log_must check_state $TESTPOOL $standby_spare \ - "INUSE currently in use" + log_must check_state $TESTPOOL $standby_spare "INUSE" log_mustnot check_state $TESTPOOL $fail_spare "online" # The zpool history should log when a spare device becomes active From owner-svn-src-projects@freebsd.org Mon May 23 17:41:54 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 84733B47321 for ; Mon, 23 May 2016 17:41:54 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5616B14C9; Mon, 23 May 2016 17:41:54 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4NHfrsi014383; Mon, 23 May 2016 17:41:53 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4NHfrEu014382; Mon, 23 May 2016 17:41:53 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201605231741.u4NHfrEu014382@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Mon, 23 May 2016 17:41:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300527 - projects/zfsd/head/lib/libdevdctl 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.22 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, 23 May 2016 17:41:54 -0000 Author: asomers Date: Mon May 23 17:41:53 2016 New Revision: 300527 URL: https://svnweb.freebsd.org/changeset/base/300527 Log: Delete dead code from r266602 lib/libdevdctl/event_buffer.cc lib/libdevdctl/event_buffer.h lib/libdevdctl/reader.cc lib/libdevdctl/reader.h These files should've been deleted in 266602 Sponsored by: Spectra Logic Corp Deleted: projects/zfsd/head/lib/libdevdctl/event_buffer.cc projects/zfsd/head/lib/libdevdctl/event_buffer.h projects/zfsd/head/lib/libdevdctl/reader.cc projects/zfsd/head/lib/libdevdctl/reader.h From owner-svn-src-projects@freebsd.org Mon May 23 18:20:20 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4A7D1B47DA6 for ; Mon, 23 May 2016 18:20:20 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F41751FE9; Mon, 23 May 2016 18:20:19 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4NIKJFO026609; Mon, 23 May 2016 18:20:19 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4NIKFKP026575; Mon, 23 May 2016 18:20:15 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201605231820.u4NIKFKP026575@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Mon, 23 May 2016 18:20:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300530 - in projects/zfsd/head/tests/sys: . cddl cddl/zfs cddl/zfs/bin cddl/zfs/include cddl/zfs/tests cddl/zfs/tests/acl cddl/zfs/tests/acl/cifs cddl/zfs/tests/acl/nontrivial cddl/zfs... 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.22 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, 23 May 2016 18:20:20 -0000 Author: asomers Date: Mon May 23 18:20:15 2016 New Revision: 300530 URL: https://svnweb.freebsd.org/changeset/base/300530 Log: Update ZFS test suite Makefiles for the package base initiative * Put a PACKAGE=tests line in every dir that installs files * replace bsd.own.mk with src.opts.mk * Replace FILES with ${PACKAGE}FILES * Condtionalize the whole thing on MK_CDDL and MK_ZFS Sponsored by: Spectra Logic Corp Modified: projects/zfsd/head/tests/sys/Makefile projects/zfsd/head/tests/sys/cddl/Makefile projects/zfsd/head/tests/sys/cddl/zfs/Makefile projects/zfsd/head/tests/sys/cddl/zfs/bin/Makefile projects/zfsd/head/tests/sys/cddl/zfs/include/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/acl/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/acl/cifs/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/acl/nontrivial/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/acl/trivial/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/atime/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/bootfs/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cache/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cachefile/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/assertion_001/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/assertion_002/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/assertion_003/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/assertion_004/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zdb/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_clone/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_copies/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_create/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_destroy/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_get/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_inherit/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_promote/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_property/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_receive/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_rename/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_reservation/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_rollback/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_send/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_set/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_share/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_snapshot/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_unmount/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_unshare/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_upgrade/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_add/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_attach/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_clear/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_create/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_destroy/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_detach/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_expand/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_export/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_get/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_history/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_import/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_offline/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_online/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_remove/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_replace/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_scrub/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_set/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_status/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_upgrade/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_upgrade/blockfiles/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_user/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_user/misc/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_user/zfs_list/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_user/zpool_iostat/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_user/zpool_list/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/compression/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/ctime/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/delegate/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/delegate/zfs_allow/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/delegate/zfs_unallow/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/devices/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/exec/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/grow_pool/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/grow_replicas/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/history/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/hotplug/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/hotspare/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/inheritance/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/interop/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/inuse/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/iscsi/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/large_files/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/largest_pool/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/link_count/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/mdb/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/migration/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/mmap/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/mmap/mmap_read/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/mmap/mmap_write/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/mount/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/mv_files/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/nestedfs/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/no_space/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/pool_names/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/poolversion/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/privilege/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/quota/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/redundancy/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/refquota/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/refreserv/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/remote/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/remote/cross_endian/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/remote/rebooting/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/remote/sharing/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/rename_dirs/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/replacement/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/reservation/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/rootpool/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/rsend/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/sas_phy_thrash/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/scrub_mirror/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/slog/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/snapshot/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/snapused/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/sparse/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/threadsappend/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/truncate/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/txg_integrity/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/userquota/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/utils_test/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/write_dirs/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/xattr/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/zfsd/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/zil/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/zinject/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/zones/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/zvol/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/zvol/zvol_ENOSPC/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/zvol/zvol_cli/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/zvol/zvol_misc/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/zvol/zvol_swap/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/zvol_thrash/Makefile Modified: projects/zfsd/head/tests/sys/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,9 +1,12 @@ # $FreeBSD$ +.include + TESTSDIR= ${TESTSBASE}/sys TESTS_SUBDIRS+= acl TESTS_SUBDIRS+= aio +TESTS_SUBDIRS+= ${_cddl} TESTS_SUBDIRS+= fifo TESTS_SUBDIRS+= file TESTS_SUBDIRS+= geom @@ -18,6 +21,10 @@ TESTS_SUBDIRS+= sys TESTS_SUBDIRS+= vfs TESTS_SUBDIRS+= vm +.if ${MK_CDDL} != "no" +_cddl= cddl +.endif + # Items not integrated into kyua runs by default SUBDIR+= pjdfstest Modified: projects/zfsd/head/tests/sys/cddl/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,9 +1,13 @@ # $FreeBSD$ -.include +.include TESTSDIR= ${TESTSBASE}/sys/cddl -TESTS_SUBDIRS+= zfs +TESTS_SUBDIRS+= ${_zfs} + +.if ${MK_ZFS} != "no" +_zfs= zfs +.endif .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,6 +1,6 @@ # $FreeBSD$ -.include +.include TESTSDIR= ${TESTSBASE}/sys/cddl/zfs Modified: projects/zfsd/head/tests/sys/cddl/zfs/bin/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/bin/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/bin/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,9 +1,10 @@ # $FreeBSD$ -.include +.include +PACKAGE= tests MAN= -BINDIR= ${TESTSBASE}/sys/cddl/zfs/bin +BINDIR= ${TESTSBASE}/sys/cddl/zfs/bin SCRIPTSDIR= ${TESTSBASE}/sys/cddl/zfs/bin SCRIPTS+= bsddisks.ksh Modified: projects/zfsd/head/tests/sys/cddl/zfs/include/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/include/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/include/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,29 +1,32 @@ # $FreeBSD$ -.include +.include + +PACKAGE= tests + +TESTSDIR=${TESTSBASE}/sys/cddl/zfs/include STFSUITEDIR=${TESTSBASE}/sys/cddl/zfs MAN= FILESDIR= ${TESTSBASE}/sys/cddl/zfs/include -FILES+= constants.cfg -FILES+= libremote.kshlib -FILES+= libsas.kshlib -FILES+= logapi.kshlib -FILES+= libtest.kshlib -FILES+= stf.shlib -FILES+= testenv.kshlib +${PACKAGE}FILES+= constants.cfg +${PACKAGE}FILES+= libremote.kshlib +${PACKAGE}FILES+= libsas.kshlib +${PACKAGE}FILES+= logapi.kshlib +${PACKAGE}FILES+= libtest.kshlib +${PACKAGE}FILES+= stf.shlib +${PACKAGE}FILES+= testenv.kshlib -FILES+= commands.cfg +${PACKAGE}FILES+= commands.cfg CLEANFILES+= commands.cfg commands.cfg: translatecommands.awk commands.txt awk -v stfsuitedir=${STFSUITEDIR} -f ${.ALLSRC} > ${.TARGET} -FILES+= default.cfg +${PACKAGE}FILES+= default.cfg CLEANFILES+= default.cfg default.cfg: default.cfg.in sed "s:%%STFSUITEDIR%%:${STFSUITEDIR}:" ${.ALLSRC} > ${.TARGET} -TESTSDIR=${TESTSBASE}/sys/cddl/zfs/include ATF_TESTS_KSH93+= libtest_test .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,7 +1,8 @@ # $FreeBSD$ -.include +.include +PACKAGE= tests TESTSDIR= ${TESTSBASE}/sys/cddl/zfs/tests TESTS_SUBDIRS+= acl Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/acl/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/acl/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/acl/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,14 +1,15 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/acl FILESDIR=${TESTSDIR} -FILES+= acl.cfg -FILES+= acl_common.kshlib -FILES+= cleanup.ksh -FILES+= setup.ksh +${PACKAGE}FILES+= acl.cfg +${PACKAGE}FILES+= acl_common.kshlib +${PACKAGE}FILES+= cleanup.ksh +${PACKAGE}FILES+= setup.ksh TESTS_SUBDIRS+= cifs TESTS_SUBDIRS+= trivial Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/acl/cifs/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/acl/cifs/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/acl/cifs/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,14 +1,15 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/acl/cifs FILESDIR=${TESTSDIR} -FILES+= cifs.kshlib -FILES+= cifs_attr_001_pos.ksh -FILES+= cifs_attr_002_pos.ksh -FILES+= cifs_attr_003_pos.ksh +${PACKAGE}FILES+= cifs.kshlib +${PACKAGE}FILES+= cifs_attr_001_pos.ksh +${PACKAGE}FILES+= cifs_attr_002_pos.ksh +${PACKAGE}FILES+= cifs_attr_003_pos.ksh ATF_TESTS_KSH93+= cifs_test Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/acl/nontrivial/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/acl/nontrivial/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/acl/nontrivial/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,36 +1,37 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/acl/nontrivial FILESDIR=${TESTSDIR} -FILES+= zfs_acl_chmod_001_neg.ksh -FILES+= zfs_acl_chmod_002_pos.ksh -FILES+= zfs_acl_chmod_aclmode_001_pos.ksh -FILES+= zfs_acl_chmod_compact_001_pos.ksh -FILES+= zfs_acl_chmod_delete_001_pos.ksh -FILES+= zfs_acl_chmod_inherit_001_pos.ksh -FILES+= zfs_acl_chmod_inherit_002_pos.ksh -FILES+= zfs_acl_chmod_inherit_003_pos.ksh -FILES+= zfs_acl_chmod_inherit_004_pos.ksh -FILES+= zfs_acl_chmod_owner_001_pos.ksh -FILES+= zfs_acl_chmod_rwacl_001_pos.ksh -FILES+= zfs_acl_chmod_rwx_001_pos.ksh -FILES+= zfs_acl_chmod_rwx_002_pos.ksh -FILES+= zfs_acl_chmod_rwx_003_pos.ksh -FILES+= zfs_acl_chmod_rwx_004_pos.ksh -FILES+= zfs_acl_chmod_xattr_001_pos.ksh -FILES+= zfs_acl_chmod_xattr_002_pos.ksh -FILES+= zfs_acl_cp_001_pos.ksh -FILES+= zfs_acl_cp_002_pos.ksh -FILES+= zfs_acl_cpio_001_pos.ksh -FILES+= zfs_acl_cpio_002_pos.ksh -FILES+= zfs_acl_find_001_pos.ksh -FILES+= zfs_acl_ls_001_pos.ksh -FILES+= zfs_acl_mv_001_pos.ksh -FILES+= zfs_acl_tar_001_pos.ksh -FILES+= zfs_acl_tar_002_pos.ksh +${PACKAGE}FILES+= zfs_acl_chmod_001_neg.ksh +${PACKAGE}FILES+= zfs_acl_chmod_002_pos.ksh +${PACKAGE}FILES+= zfs_acl_chmod_aclmode_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_chmod_compact_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_chmod_delete_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_chmod_inherit_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_chmod_inherit_002_pos.ksh +${PACKAGE}FILES+= zfs_acl_chmod_inherit_003_pos.ksh +${PACKAGE}FILES+= zfs_acl_chmod_inherit_004_pos.ksh +${PACKAGE}FILES+= zfs_acl_chmod_owner_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_chmod_rwacl_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_chmod_rwx_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_chmod_rwx_002_pos.ksh +${PACKAGE}FILES+= zfs_acl_chmod_rwx_003_pos.ksh +${PACKAGE}FILES+= zfs_acl_chmod_rwx_004_pos.ksh +${PACKAGE}FILES+= zfs_acl_chmod_xattr_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_chmod_xattr_002_pos.ksh +${PACKAGE}FILES+= zfs_acl_cp_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_cp_002_pos.ksh +${PACKAGE}FILES+= zfs_acl_cpio_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_cpio_002_pos.ksh +${PACKAGE}FILES+= zfs_acl_find_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_ls_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_mv_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_tar_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_tar_002_pos.ksh ATF_TESTS_KSH93+= nontrivial_test Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/acl/trivial/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/acl/trivial/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/acl/trivial/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,29 +1,30 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/acl/trivial FILESDIR=${TESTSDIR} -FILES+= zfs_acl_chmod_001_pos.ksh -FILES+= zfs_acl_compress_001_pos.ksh -FILES+= zfs_acl_cp_001_pos.ksh -FILES+= zfs_acl_cp_002_neg.ksh -FILES+= zfs_acl_cp_003_neg.ksh -FILES+= zfs_acl_find_001_pos.ksh -FILES+= zfs_acl_find_002_neg.ksh -FILES+= zfs_acl_ls_001_pos.ksh -FILES+= zfs_acl_ls_002_neg.ksh -FILES+= zfs_acl_mv_001_pos.ksh -FILES+= zfs_acl_pack_001_pos.ksh -FILES+= zfs_acl_pax_001_pos.ksh -FILES+= zfs_acl_pax_002_pos.ksh -FILES+= zfs_acl_pax_003_pos.ksh -FILES+= zfs_acl_pax_004_pos.ksh -FILES+= zfs_acl_pax_005_pos.ksh -FILES+= zfs_acl_pax_006_pos.ksh -FILES+= zfs_acl_tar_001_pos.ksh -FILES+= zfs_acl_tar_002_neg.ksh +${PACKAGE}FILES+= zfs_acl_chmod_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_compress_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_cp_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_cp_002_neg.ksh +${PACKAGE}FILES+= zfs_acl_cp_003_neg.ksh +${PACKAGE}FILES+= zfs_acl_find_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_find_002_neg.ksh +${PACKAGE}FILES+= zfs_acl_ls_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_ls_002_neg.ksh +${PACKAGE}FILES+= zfs_acl_mv_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_pack_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_pax_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_pax_002_pos.ksh +${PACKAGE}FILES+= zfs_acl_pax_003_pos.ksh +${PACKAGE}FILES+= zfs_acl_pax_004_pos.ksh +${PACKAGE}FILES+= zfs_acl_pax_005_pos.ksh +${PACKAGE}FILES+= zfs_acl_pax_006_pos.ksh +${PACKAGE}FILES+= zfs_acl_tar_001_pos.ksh +${PACKAGE}FILES+= zfs_acl_tar_002_neg.ksh ATF_TESTS_KSH93+= trivial_test Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/atime/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/atime/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/atime/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,16 +1,17 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/atime FILESDIR=${TESTSDIR} -FILES+= atime.cfg -FILES+= atime_001_pos.ksh -FILES+= atime_002_neg.ksh -FILES+= atime_common.kshlib -FILES+= cleanup.ksh -FILES+= setup.ksh +${PACKAGE}FILES+= atime.cfg +${PACKAGE}FILES+= atime_001_pos.ksh +${PACKAGE}FILES+= atime_002_neg.ksh +${PACKAGE}FILES+= atime_common.kshlib +${PACKAGE}FILES+= cleanup.ksh +${PACKAGE}FILES+= setup.ksh ATF_TESTS_KSH93+= atime_test Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/bootfs/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/bootfs/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/bootfs/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,20 +1,21 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/bootfs FILESDIR=${TESTSDIR} -FILES+= bootfs.cfg -FILES+= bootfs_001_pos.ksh -FILES+= bootfs_002_neg.ksh -FILES+= bootfs_003_pos.ksh -FILES+= bootfs_004_neg.ksh -FILES+= bootfs_005_neg.ksh -FILES+= bootfs_006_pos.ksh -FILES+= bootfs_007_pos.ksh -FILES+= bootfs_008_neg.ksh -FILES+= bootfs_009_neg.ksh +${PACKAGE}FILES+= bootfs.cfg +${PACKAGE}FILES+= bootfs_001_pos.ksh +${PACKAGE}FILES+= bootfs_002_neg.ksh +${PACKAGE}FILES+= bootfs_003_pos.ksh +${PACKAGE}FILES+= bootfs_004_neg.ksh +${PACKAGE}FILES+= bootfs_005_neg.ksh +${PACKAGE}FILES+= bootfs_006_pos.ksh +${PACKAGE}FILES+= bootfs_007_pos.ksh +${PACKAGE}FILES+= bootfs_008_neg.ksh +${PACKAGE}FILES+= bootfs_009_neg.ksh ATF_TESTS_KSH93+= bootfs_test Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cache/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cache/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cache/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,26 +1,27 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/cache FILESDIR=${TESTSDIR} ATF_TESTS_KSH93+= cache_test -FILES+= cache_005_neg.ksh -FILES+= cache.kshlib -FILES+= cleanup.ksh -FILES+= cache_011_pos.ksh -FILES+= cache_010_neg.ksh -FILES+= cache_008_neg.ksh -FILES+= cache_004_neg.ksh -FILES+= cache_009_pos.ksh -FILES+= cache_001_pos.ksh -FILES+= cache_003_pos.ksh -FILES+= cache_007_neg.ksh -FILES+= cache_002_pos.ksh -FILES+= cache_006_pos.ksh -FILES+= cache.cfg -FILES+= setup.ksh +${PACKAGE}FILES+= cache_005_neg.ksh +${PACKAGE}FILES+= cache.kshlib +${PACKAGE}FILES+= cleanup.ksh +${PACKAGE}FILES+= cache_011_pos.ksh +${PACKAGE}FILES+= cache_010_neg.ksh +${PACKAGE}FILES+= cache_008_neg.ksh +${PACKAGE}FILES+= cache_004_neg.ksh +${PACKAGE}FILES+= cache_009_pos.ksh +${PACKAGE}FILES+= cache_001_pos.ksh +${PACKAGE}FILES+= cache_003_pos.ksh +${PACKAGE}FILES+= cache_007_neg.ksh +${PACKAGE}FILES+= cache_002_pos.ksh +${PACKAGE}FILES+= cache_006_pos.ksh +${PACKAGE}FILES+= cache.cfg +${PACKAGE}FILES+= setup.ksh .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cachefile/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cachefile/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cachefile/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,17 +1,18 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/cachefile FILESDIR=${TESTSDIR} ATF_TESTS_KSH93+= cachefile_test -FILES+= cachefile_002_pos.ksh -FILES+= cachefile_003_pos.ksh -FILES+= cachefile_001_pos.ksh -FILES+= cachefile.cfg -FILES+= cachefile.kshlib -FILES+= cachefile_004_pos.ksh +${PACKAGE}FILES+= cachefile_002_pos.ksh +${PACKAGE}FILES+= cachefile_003_pos.ksh +${PACKAGE}FILES+= cachefile_001_pos.ksh +${PACKAGE}FILES+= cachefile.cfg +${PACKAGE}FILES+= cachefile.kshlib +${PACKAGE}FILES+= cachefile_004_pos.ksh .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,14 +1,15 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/clean_mirror FILESDIR=${TESTSDIR} -FILES+= setup.ksh -FILES+= default.cfg -FILES+= cleanup.ksh -FILES+= clean_mirror_common.kshlib +${PACKAGE}FILES+= setup.ksh +${PACKAGE}FILES+= default.cfg +${PACKAGE}FILES+= cleanup.ksh +${PACKAGE}FILES+= clean_mirror_common.kshlib TESTS_SUBDIRS+= assertion_001 TESTS_SUBDIRS+= assertion_002 Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/assertion_001/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/assertion_001/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/assertion_001/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,12 +1,13 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/clean_mirror/assertion_001 FILESDIR=${TESTSDIR} ATF_TESTS_KSH93+= assertion_001_test -FILES+= clean_mirror_001_pos.ksh +${PACKAGE}FILES+= clean_mirror_001_pos.ksh .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/assertion_002/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/assertion_002/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/assertion_002/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,12 +1,13 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/clean_mirror/assertion_002 FILESDIR=${TESTSDIR} ATF_TESTS_KSH93+= assertion_002_test -FILES+= clean_mirror_002_pos.ksh +${PACKAGE}FILES+= clean_mirror_002_pos.ksh .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/assertion_003/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/assertion_003/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/assertion_003/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,12 +1,13 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/clean_mirror/assertion_003 FILESDIR=${TESTSDIR} ATF_TESTS_KSH93+= assertion_003_test -FILES+= clean_mirror_003_pos.ksh +${PACKAGE}FILES+= clean_mirror_003_pos.ksh .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/assertion_004/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/assertion_004/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/clean_mirror/assertion_004/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,12 +1,13 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/clean_mirror/assertion_004 FILESDIR=${TESTSDIR} ATF_TESTS_KSH93+= assertion_004_test -FILES+= clean_mirror_004_pos.ksh +${PACKAGE}FILES+= clean_mirror_004_pos.ksh .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,14 +1,15 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/cli_root FILESDIR=${TESTSDIR} -FILES+= cleanup.ksh -FILES+= cli.cfg -FILES+= cli_common.kshlib -FILES+= setup.ksh +${PACKAGE}FILES+= cleanup.ksh +${PACKAGE}FILES+= cli.cfg +${PACKAGE}FILES+= cli_common.kshlib +${PACKAGE}FILES+= setup.ksh TESTS_SUBDIRS+= zdb Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zdb/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zdb/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zdb/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,15 +1,16 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/cli_root/zdb FILESDIR=${TESTSDIR} ATF_TESTS_KSH93+= zdb_test -FILES+= zdb_001_neg.ksh -FILES+= zdb.cfg -FILES+= cleanup.ksh -FILES+= setup.ksh +${PACKAGE}FILES+= zdb_001_neg.ksh +${PACKAGE}FILES+= zdb.cfg +${PACKAGE}FILES+= cleanup.ksh +${PACKAGE}FILES+= setup.ksh .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,17 +1,18 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/cli_root/zfs FILESDIR=${TESTSDIR} ATF_TESTS_KSH93+= zfs_test -FILES+= zfs_malformed.cfg -FILES+= zfs_001_neg.ksh -FILES+= cleanup.ksh -FILES+= setup.ksh -FILES+= zfs_003_neg.ksh -FILES+= zfs_002_pos.ksh +${PACKAGE}FILES+= zfs_malformed.cfg +${PACKAGE}FILES+= zfs_001_neg.ksh +${PACKAGE}FILES+= cleanup.ksh +${PACKAGE}FILES+= setup.ksh +${PACKAGE}FILES+= zfs_003_neg.ksh +${PACKAGE}FILES+= zfs_002_pos.ksh .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_clone/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_clone/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_clone/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,23 +1,24 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/cli_root/zfs_clone FILESDIR=${TESTSDIR} ATF_TESTS_KSH93+= zfs_clone_test -FILES+= zfs_clone_005_pos.ksh -FILES+= zfs_clone_008_neg.ksh -FILES+= cleanup.ksh -FILES+= zfs_clone_004_pos.ksh -FILES+= zfs_clone_001_neg.ksh -FILES+= zfs_clone_009_neg.ksh -FILES+= zfs_clone_006_pos.ksh -FILES+= zfs_clone_002_pos.ksh -FILES+= zfs_clone.cfg -FILES+= zfs_clone_007_pos.ksh -FILES+= zfs_clone_003_pos.ksh -FILES+= setup.ksh +${PACKAGE}FILES+= zfs_clone_005_pos.ksh +${PACKAGE}FILES+= zfs_clone_008_neg.ksh +${PACKAGE}FILES+= cleanup.ksh +${PACKAGE}FILES+= zfs_clone_004_pos.ksh +${PACKAGE}FILES+= zfs_clone_001_neg.ksh +${PACKAGE}FILES+= zfs_clone_009_neg.ksh +${PACKAGE}FILES+= zfs_clone_006_pos.ksh +${PACKAGE}FILES+= zfs_clone_002_pos.ksh +${PACKAGE}FILES+= zfs_clone.cfg +${PACKAGE}FILES+= zfs_clone_007_pos.ksh +${PACKAGE}FILES+= zfs_clone_003_pos.ksh +${PACKAGE}FILES+= setup.ksh .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_copies/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_copies/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_copies/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,21 +1,22 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/cli_root/zfs_copies FILESDIR=${TESTSDIR} ATF_TESTS_KSH93+= zfs_copies_test -FILES+= zfs_copies.cfg -FILES+= zfs_copies_001_pos.ksh -FILES+= zfs_copies_004_neg.ksh -FILES+= zfs_copies_005_neg.ksh -FILES+= zfs_copies.kshlib -FILES+= cleanup.ksh -FILES+= setup.ksh -FILES+= zfs_copies_006_pos.ksh -FILES+= zfs_copies_002_pos.ksh -FILES+= zfs_copies_003_pos.ksh +${PACKAGE}FILES+= zfs_copies.cfg +${PACKAGE}FILES+= zfs_copies_001_pos.ksh +${PACKAGE}FILES+= zfs_copies_004_neg.ksh +${PACKAGE}FILES+= zfs_copies_005_neg.ksh +${PACKAGE}FILES+= zfs_copies.kshlib +${PACKAGE}FILES+= cleanup.ksh +${PACKAGE}FILES+= setup.ksh +${PACKAGE}FILES+= zfs_copies_006_pos.ksh +${PACKAGE}FILES+= zfs_copies_002_pos.ksh +${PACKAGE}FILES+= zfs_copies_003_pos.ksh .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_create/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_create/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_create/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,29 +1,30 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/cli_root/zfs_create FILESDIR=${TESTSDIR} ATF_TESTS_KSH93+= zfs_create_test -FILES+= properties.kshlib -FILES+= zfs_create_011_pos.ksh -FILES+= zfs_create_010_neg.ksh -FILES+= setup.ksh -FILES+= zfs_create_009_neg.ksh -FILES+= zfs_create_004_pos.ksh -FILES+= zfs_create_common.kshlib -FILES+= zfs_create_008_neg.ksh -FILES+= zfs_create_005_pos.ksh -FILES+= zfs_create_001_pos.ksh -FILES+= zfs_create_007_pos.ksh -FILES+= zfs_create_003_pos.ksh -FILES+= zfs_create_012_pos.ksh -FILES+= cleanup.ksh -FILES+= zfs_create_013_pos.ksh -FILES+= zfs_create.cfg -FILES+= zfs_create_006_pos.ksh -FILES+= zfs_create_002_pos.ksh +${PACKAGE}FILES+= properties.kshlib +${PACKAGE}FILES+= zfs_create_011_pos.ksh +${PACKAGE}FILES+= zfs_create_010_neg.ksh +${PACKAGE}FILES+= setup.ksh +${PACKAGE}FILES+= zfs_create_009_neg.ksh +${PACKAGE}FILES+= zfs_create_004_pos.ksh +${PACKAGE}FILES+= zfs_create_common.kshlib +${PACKAGE}FILES+= zfs_create_008_neg.ksh +${PACKAGE}FILES+= zfs_create_005_pos.ksh +${PACKAGE}FILES+= zfs_create_001_pos.ksh +${PACKAGE}FILES+= zfs_create_007_pos.ksh +${PACKAGE}FILES+= zfs_create_003_pos.ksh +${PACKAGE}FILES+= zfs_create_012_pos.ksh +${PACKAGE}FILES+= cleanup.ksh +${PACKAGE}FILES+= zfs_create_013_pos.ksh +${PACKAGE}FILES+= zfs_create.cfg +${PACKAGE}FILES+= zfs_create_006_pos.ksh +${PACKAGE}FILES+= zfs_create_002_pos.ksh .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_destroy/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_destroy/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_destroy/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,22 +1,23 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/cli_root/zfs_destroy FILESDIR=${TESTSDIR} ATF_TESTS_KSH93+= zfs_destroy_test -FILES+= zfs_destroy_001_pos.ksh -FILES+= zfs_destroy.cfg -FILES+= cleanup.ksh -FILES+= zfs_destroy_004_pos.ksh -FILES+= zfs_destroy_005_neg.ksh -FILES+= zfs_destroy_common.kshlib -FILES+= zfs_destroy_002_pos.ksh -FILES+= zfs_destroy_007_neg.ksh -FILES+= setup.ksh -FILES+= zfs_destroy_003_pos.ksh -FILES+= zfs_destroy_006_neg.ksh +${PACKAGE}FILES+= zfs_destroy_001_pos.ksh +${PACKAGE}FILES+= zfs_destroy.cfg +${PACKAGE}FILES+= cleanup.ksh +${PACKAGE}FILES+= zfs_destroy_004_pos.ksh +${PACKAGE}FILES+= zfs_destroy_005_neg.ksh +${PACKAGE}FILES+= zfs_destroy_common.kshlib +${PACKAGE}FILES+= zfs_destroy_002_pos.ksh +${PACKAGE}FILES+= zfs_destroy_007_neg.ksh +${PACKAGE}FILES+= setup.ksh +${PACKAGE}FILES+= zfs_destroy_003_pos.ksh +${PACKAGE}FILES+= zfs_destroy_006_neg.ksh .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_get/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_get/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_get/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,26 +1,27 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/cli_root/zfs_get FILESDIR=${TESTSDIR} ATF_TESTS_KSH93+= zfs_get_test -FILES+= zfs_get_002_pos.ksh -FILES+= zfs_get_007_neg.ksh -FILES+= zfs_get_003_pos.ksh -FILES+= zfs_get_list_d.kshlib -FILES+= setup.ksh -FILES+= zfs_get_006_neg.ksh -FILES+= zfs_get_009_pos.ksh -FILES+= zfs_get_001_pos.ksh -FILES+= zfs_get_010_neg.ksh -FILES+= zfs_get.cfg -FILES+= cleanup.ksh -FILES+= zfs_get_004_pos.ksh -FILES+= zfs_get_008_pos.ksh -FILES+= zfs_get_common.kshlib -FILES+= zfs_get_005_neg.ksh +${PACKAGE}FILES+= zfs_get_002_pos.ksh +${PACKAGE}FILES+= zfs_get_007_neg.ksh +${PACKAGE}FILES+= zfs_get_003_pos.ksh +${PACKAGE}FILES+= zfs_get_list_d.kshlib +${PACKAGE}FILES+= setup.ksh +${PACKAGE}FILES+= zfs_get_006_neg.ksh +${PACKAGE}FILES+= zfs_get_009_pos.ksh +${PACKAGE}FILES+= zfs_get_001_pos.ksh +${PACKAGE}FILES+= zfs_get_010_neg.ksh +${PACKAGE}FILES+= zfs_get.cfg +${PACKAGE}FILES+= cleanup.ksh +${PACKAGE}FILES+= zfs_get_004_pos.ksh +${PACKAGE}FILES+= zfs_get_008_pos.ksh +${PACKAGE}FILES+= zfs_get_common.kshlib +${PACKAGE}FILES+= zfs_get_005_neg.ksh .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_inherit/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_inherit/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_inherit/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,17 +1,18 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/cli_root/zfs_inherit FILESDIR=${TESTSDIR} ATF_TESTS_KSH93+= zfs_inherit_test -FILES+= setup.ksh -FILES+= zfs_inherit_002_neg.ksh -FILES+= zfs_inherit_003_pos.ksh -FILES+= cleanup.ksh -FILES+= zfs_inherit_001_neg.ksh -FILES+= zfs_inherit.cfg +${PACKAGE}FILES+= setup.ksh +${PACKAGE}FILES+= zfs_inherit_002_neg.ksh +${PACKAGE}FILES+= zfs_inherit_003_pos.ksh +${PACKAGE}FILES+= cleanup.ksh +${PACKAGE}FILES+= zfs_inherit_001_neg.ksh +${PACKAGE}FILES+= zfs_inherit.cfg .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,27 +1,28 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/cli_root/zfs_mount FILESDIR=${TESTSDIR} ATF_TESTS_KSH93+= zfs_mount_test -FILES+= zfs_mount_004_pos.ksh -FILES+= zfs_mount_008_pos.ksh -FILES+= zfs_mount_009_neg.ksh -FILES+= zfs_mount_010_neg.ksh -FILES+= zfs_mount_011_neg.ksh -FILES+= zfs_mount_005_pos.ksh -FILES+= zfs_mount_001_pos.ksh -FILES+= zfs_mount.cfg -FILES+= cleanup.ksh -FILES+= zfs_mount.kshlib -FILES+= zfs_mount_007_pos.ksh -FILES+= zfs_mount_003_pos.ksh -FILES+= zfs_mount_all_001_pos.ksh -FILES+= setup.ksh -FILES+= zfs_mount_006_pos.ksh -FILES+= zfs_mount_002_pos.ksh +${PACKAGE}FILES+= zfs_mount_004_pos.ksh +${PACKAGE}FILES+= zfs_mount_008_pos.ksh +${PACKAGE}FILES+= zfs_mount_009_neg.ksh +${PACKAGE}FILES+= zfs_mount_010_neg.ksh +${PACKAGE}FILES+= zfs_mount_011_neg.ksh +${PACKAGE}FILES+= zfs_mount_005_pos.ksh +${PACKAGE}FILES+= zfs_mount_001_pos.ksh +${PACKAGE}FILES+= zfs_mount.cfg +${PACKAGE}FILES+= cleanup.ksh +${PACKAGE}FILES+= zfs_mount.kshlib +${PACKAGE}FILES+= zfs_mount_007_pos.ksh +${PACKAGE}FILES+= zfs_mount_003_pos.ksh +${PACKAGE}FILES+= zfs_mount_all_001_pos.ksh +${PACKAGE}FILES+= setup.ksh +${PACKAGE}FILES+= zfs_mount_006_pos.ksh +${PACKAGE}FILES+= zfs_mount_002_pos.ksh .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_promote/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_promote/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_promote/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,23 +1,24 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/cli_root/zfs_promote FILESDIR=${TESTSDIR} ATF_TESTS_KSH93+= zfs_promote_test -FILES+= setup.ksh -FILES+= zfs_promote_006_neg.ksh -FILES+= zfs_promote_003_pos.ksh -FILES+= zfs_promote_common.kshlib -FILES+= cleanup.ksh -FILES+= zfs_promote_007_neg.ksh -FILES+= zfs_promote.cfg -FILES+= zfs_promote_002_pos.ksh -FILES+= zfs_promote_004_pos.ksh -FILES+= zfs_promote_008_pos.ksh -FILES+= zfs_promote_005_pos.ksh -FILES+= zfs_promote_001_pos.ksh +${PACKAGE}FILES+= setup.ksh +${PACKAGE}FILES+= zfs_promote_006_neg.ksh +${PACKAGE}FILES+= zfs_promote_003_pos.ksh +${PACKAGE}FILES+= zfs_promote_common.kshlib +${PACKAGE}FILES+= cleanup.ksh +${PACKAGE}FILES+= zfs_promote_007_neg.ksh +${PACKAGE}FILES+= zfs_promote.cfg +${PACKAGE}FILES+= zfs_promote_002_pos.ksh +${PACKAGE}FILES+= zfs_promote_004_pos.ksh +${PACKAGE}FILES+= zfs_promote_008_pos.ksh +${PACKAGE}FILES+= zfs_promote_005_pos.ksh +${PACKAGE}FILES+= zfs_promote_001_pos.ksh .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_property/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_property/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_property/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,15 +1,16 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/cli_root/zfs_property FILESDIR=${TESTSDIR} ATF_TESTS_KSH93+= zfs_property_test -FILES+= zfs_set_property_001_pos.ksh -FILES+= setup.ksh -FILES+= zfs_property.cfg -FILES+= cleanup.ksh +${PACKAGE}FILES+= zfs_set_property_001_pos.ksh +${PACKAGE}FILES+= setup.ksh +${PACKAGE}FILES+= zfs_property.cfg +${PACKAGE}FILES+= cleanup.ksh .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_receive/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_receive/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_receive/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,23 +1,24 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests TESTSDIR=${TESTSBASE}/sys/cddl/zfs/tests/cli_root/zfs_receive FILESDIR=${TESTSDIR} ATF_TESTS_KSH93+= zfs_receive_test -FILES+= zfs_receive_004_neg.ksh -FILES+= zfs_receive_001_pos.ksh -FILES+= zfs_receive_009_neg.ksh -FILES+= zfs_receive_005_neg.ksh -FILES+= zfs_receive_008_pos.ksh -FILES+= zfs_receive.cfg -FILES+= zfs_receive_007_neg.ksh -FILES+= zfs_receive_002_pos.ksh -FILES+= zfs_receive_006_pos.ksh -FILES+= setup.ksh -FILES+= cleanup.ksh -FILES+= zfs_receive_003_pos.ksh +${PACKAGE}FILES+= zfs_receive_004_neg.ksh +${PACKAGE}FILES+= zfs_receive_001_pos.ksh +${PACKAGE}FILES+= zfs_receive_009_neg.ksh +${PACKAGE}FILES+= zfs_receive_005_neg.ksh +${PACKAGE}FILES+= zfs_receive_008_pos.ksh +${PACKAGE}FILES+= zfs_receive.cfg +${PACKAGE}FILES+= zfs_receive_007_neg.ksh +${PACKAGE}FILES+= zfs_receive_002_pos.ksh +${PACKAGE}FILES+= zfs_receive_006_pos.ksh +${PACKAGE}FILES+= setup.ksh +${PACKAGE}FILES+= cleanup.ksh +${PACKAGE}FILES+= zfs_receive_003_pos.ksh .include Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_rename/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_rename/Makefile Mon May 23 18:16:21 2016 (r300529) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_rename/Makefile Mon May 23 18:20:15 2016 (r300530) @@ -1,28 +1,29 @@ # $FreeBSD$ -.include +.include +PACKAGE=tests *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Mon May 23 21:58:48 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B73C9B47023 for ; Mon, 23 May 2016 21:58:48 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 889661449; Mon, 23 May 2016 21:58:48 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4NLwlZJ003458; Mon, 23 May 2016 21:58:47 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4NLwlYJ003456; Mon, 23 May 2016 21:58:47 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201605232158.u4NLwlYJ003456@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Mon, 23 May 2016 21:58:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300541 - in projects/zfsd/head: lib/libdevdctl 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.22 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, 23 May 2016 21:58:48 -0000 Author: asomers Date: Mon May 23 21:58:47 2016 New Revision: 300541 URL: https://svnweb.freebsd.org/changeset/base/300541 Log: Make libdevdctl a private library. libdevdctl's API wasn't designed to be stable. Rather than deal with compatibility pain later, simply make it a private library. lib/libdevdctl/Makefile set PRIVATELIB share/mk/src.libnames.mk Add libdevdctl to _PRIVATELIBS Sponsored by: Spectra Logic Corp Modified: projects/zfsd/head/lib/libdevdctl/Makefile projects/zfsd/head/share/mk/src.libnames.mk Modified: projects/zfsd/head/lib/libdevdctl/Makefile ============================================================================== --- projects/zfsd/head/lib/libdevdctl/Makefile Mon May 23 21:29:57 2016 (r300540) +++ projects/zfsd/head/lib/libdevdctl/Makefile Mon May 23 21:58:47 2016 (r300541) @@ -15,6 +15,7 @@ SRCS= consumer.cc \ INCSDIR= ${INCLUDEDIR}/devdctl WARNS?= 3 +PRIVATELIB= true SHLIB_MAJOR= 0 .include Modified: projects/zfsd/head/share/mk/src.libnames.mk ============================================================================== --- projects/zfsd/head/share/mk/src.libnames.mk Mon May 23 21:29:57 2016 (r300540) +++ projects/zfsd/head/share/mk/src.libnames.mk Mon May 23 21:58:47 2016 (r300541) @@ -16,6 +16,7 @@ _PRIVATELIBS= \ atf_c \ atf_cxx \ bsdstat \ + devdctl \ event \ heimipcc \ heimipcs \ From owner-svn-src-projects@freebsd.org Tue May 24 19:26:59 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C23BDB480C5 for ; Tue, 24 May 2016 19:26:59 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7AADD1038; Tue, 24 May 2016 19:26:59 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4OJQwsg003048; Tue, 24 May 2016 19:26:58 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4OJQwwd003044; Tue, 24 May 2016 19:26:58 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201605241926.u4OJQwwd003044@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Tue, 24 May 2016 19:26:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300623 - in projects/zfsd/head: cddl/usr.sbin/zfsd etc/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.22 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, 24 May 2016 19:26:59 -0000 Author: asomers Date: Tue May 24 19:26:58 2016 New Revision: 300623 URL: https://svnweb.freebsd.org/changeset/base/300623 Log: Move zfsd's case files to /var/db/zfsd/cases It was never really appropriate to store these thing in /etc cddl/usr.sbin/zfsd/case_file.cc Change the case file location etc/mtree/BSD.root.dist Don't create /etc/zfs/cases etc/mtree/BSD.var.dist Do create /var/db/zfsd/cases Sponsored by: Spectra Logic Corp Modified: projects/zfsd/head/cddl/usr.sbin/zfsd/case_file.cc projects/zfsd/head/etc/mtree/BSD.root.dist projects/zfsd/head/etc/mtree/BSD.var.dist Modified: projects/zfsd/head/cddl/usr.sbin/zfsd/case_file.cc ============================================================================== --- projects/zfsd/head/cddl/usr.sbin/zfsd/case_file.cc Tue May 24 19:20:30 2016 (r300622) +++ projects/zfsd/head/cddl/usr.sbin/zfsd/case_file.cc Tue May 24 19:26:58 2016 (r300623) @@ -91,8 +91,9 @@ using DevdCtl::ParseException; /*--------------------------------- CaseFile ---------------------------------*/ //- CaseFile Static Data ------------------------------------------------------- + CaseFileList CaseFile::s_activeCases; -const string CaseFile::s_caseFilePath = "/etc/zfs/cases"; +const string CaseFile::s_caseFilePath = "/var/db/zfsd/cases"; const timeval CaseFile::s_removeGracePeriod = { 60 /*sec*/, 0 /*usec*/}; //- CaseFile Static Public Methods --------------------------------------------- Modified: projects/zfsd/head/etc/mtree/BSD.root.dist ============================================================================== --- projects/zfsd/head/etc/mtree/BSD.root.dist Tue May 24 19:20:30 2016 (r300622) +++ projects/zfsd/head/etc/mtree/BSD.root.dist Tue May 24 19:26:58 2016 (r300623) @@ -76,10 +76,6 @@ .. ssl .. - zfs - cases - .. - .. .. lib casper Modified: projects/zfsd/head/etc/mtree/BSD.var.dist ============================================================================== --- projects/zfsd/head/etc/mtree/BSD.var.dist Tue May 24 19:20:30 2016 (r300622) +++ projects/zfsd/head/etc/mtree/BSD.var.dist Tue May 24 19:26:58 2016 (r300623) @@ -54,6 +54,10 @@ .. portsnap .. + zfsd + cases + .. + .. .. empty mode=0555 flags=schg .. From owner-svn-src-projects@freebsd.org Wed May 25 16:04:54 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 98D0FB49886 for ; Wed, 25 May 2016 16:04:54 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3D33614AE; Wed, 25 May 2016 16:04:54 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4PG4rlY085570; Wed, 25 May 2016 16:04:53 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4PG4pvj085546; Wed, 25 May 2016 16:04:51 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201605251604.u4PG4pvj085546@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Wed, 25 May 2016 16:04:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300688 - in projects/zfsd/head: . bin/ed bin/sh cddl/contrib/opensolaris/lib/libdtrace/common cddl/contrib/opensolaris/lib/libdtrace/riscv cddl/lib cddl/lib/libdtrace cddl/usr.sbin con... 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.22 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, 25 May 2016 16:04:54 -0000 Author: asomers Date: Wed May 25 16:04:50 2016 New Revision: 300688 URL: https://svnweb.freebsd.org/changeset/base/300688 Log: IFC @300628 Added: projects/zfsd/head/cddl/contrib/opensolaris/lib/libdtrace/riscv/ - copied from r300628, head/cddl/contrib/opensolaris/lib/libdtrace/riscv/ projects/zfsd/head/contrib/elftoolchain/libelftc/elftc_reloc_type_str.3 - copied unchanged from r300628, head/contrib/elftoolchain/libelftc/elftc_reloc_type_str.3 projects/zfsd/head/contrib/elftoolchain/libelftc/elftc_reloc_type_str.c - copied unchanged from r300628, head/contrib/elftoolchain/libelftc/elftc_reloc_type_str.c projects/zfsd/head/contrib/top/commands.h - copied unchanged from r300628, head/contrib/top/commands.h projects/zfsd/head/contrib/top/username.h - copied unchanged from r300628, head/contrib/top/username.h projects/zfsd/head/share/man/man9/bus_map_resource.9 - copied unchanged from r300628, head/share/man/man9/bus_map_resource.9 projects/zfsd/head/sys/cddl/contrib/opensolaris/uts/riscv/ - copied from r300628, head/sys/cddl/contrib/opensolaris/uts/riscv/ projects/zfsd/head/sys/cddl/dev/dtrace/riscv/ - copied from r300628, head/sys/cddl/dev/dtrace/riscv/ projects/zfsd/head/sys/cddl/dev/fbt/riscv/ - copied from r300628, head/sys/cddl/dev/fbt/riscv/ projects/zfsd/head/sys/dev/bhnd/bcma/bcma_nexus.c - copied unchanged from r300628, head/sys/dev/bhnd/bcma/bcma_nexus.c projects/zfsd/head/sys/dev/bhnd/bhnd_match.h - copied unchanged from r300628, head/sys/dev/bhnd/bhnd_match.h projects/zfsd/head/sys/dev/bhnd/bhndb/bhnd_bhndb.c - copied unchanged from r300628, head/sys/dev/bhnd/bhndb/bhnd_bhndb.c projects/zfsd/head/sys/dev/bhnd/cores/chipc/bhnd_sprom_chipc.c - copied unchanged from r300628, head/sys/dev/bhnd/cores/chipc/bhnd_sprom_chipc.c projects/zfsd/head/sys/dev/bhnd/cores/chipc/chipc_private.h - copied unchanged from r300628, head/sys/dev/bhnd/cores/chipc/chipc_private.h projects/zfsd/head/sys/dev/bhnd/cores/chipc/chipc_subr.c - copied unchanged from r300628, head/sys/dev/bhnd/cores/chipc/chipc_subr.c projects/zfsd/head/sys/dev/bhnd/nvram/bhnd_sprom_subr.c - copied unchanged from r300628, head/sys/dev/bhnd/nvram/bhnd_sprom_subr.c projects/zfsd/head/sys/dev/bhnd/soc/ - copied from r300628, head/sys/dev/bhnd/soc/ projects/zfsd/head/sys/dev/hyperv/include/hyperv_busdma.h - copied unchanged from r300628, head/sys/dev/hyperv/include/hyperv_busdma.h projects/zfsd/head/sys/dev/hyperv/vmbus/hyperv_busdma.c - copied unchanged from r300628, head/sys/dev/hyperv/vmbus/hyperv_busdma.c projects/zfsd/head/sys/dev/hyperv/vmbus/hyperv_reg.h - copied unchanged from r300628, head/sys/dev/hyperv/vmbus/hyperv_reg.h projects/zfsd/head/sys/dev/iicbus/ofw_iicbus.c - copied unchanged from r300628, head/sys/dev/iicbus/ofw_iicbus.c projects/zfsd/head/sys/modules/vnic/ - copied from r300628, head/sys/modules/vnic/ projects/zfsd/head/tools/build/options/WITHOUT_SYSTEM_COMPILER - copied unchanged from r300628, head/tools/build/options/WITHOUT_SYSTEM_COMPILER projects/zfsd/head/tools/build/options/WITH_LIBSOFT - copied unchanged from r300628, head/tools/build/options/WITH_LIBSOFT projects/zfsd/head/tools/build/options/WITH_SYSTEM_COMPILER - copied unchanged from r300628, head/tools/build/options/WITH_SYSTEM_COMPILER Deleted: projects/zfsd/head/lib/libc/aarch64/sys/brk.S projects/zfsd/head/lib/libc/aarch64/sys/sbrk.S projects/zfsd/head/sys/dev/ofw/ofw_iicbus.c Modified: projects/zfsd/head/Makefile.inc1 projects/zfsd/head/ObsoleteFiles.inc projects/zfsd/head/UPDATING projects/zfsd/head/bin/ed/cbc.c projects/zfsd/head/bin/sh/parser.c projects/zfsd/head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c projects/zfsd/head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c projects/zfsd/head/cddl/lib/Makefile projects/zfsd/head/cddl/lib/libdtrace/Makefile projects/zfsd/head/cddl/usr.sbin/Makefile projects/zfsd/head/contrib/binutils/gas/config/tc-arm.c projects/zfsd/head/contrib/bmake/ChangeLog projects/zfsd/head/contrib/bmake/Makefile projects/zfsd/head/contrib/bmake/arch.c projects/zfsd/head/contrib/bmake/bmake.1 projects/zfsd/head/contrib/bmake/bmake.cat1 projects/zfsd/head/contrib/bmake/compat.c projects/zfsd/head/contrib/bmake/job.c projects/zfsd/head/contrib/bmake/main.c projects/zfsd/head/contrib/bmake/make.1 projects/zfsd/head/contrib/bmake/meta.c projects/zfsd/head/contrib/bmake/meta.h projects/zfsd/head/contrib/bmake/mk/ChangeLog projects/zfsd/head/contrib/bmake/mk/auto.dep.mk projects/zfsd/head/contrib/bmake/mk/autodep.mk projects/zfsd/head/contrib/bmake/mk/dirdeps.mk projects/zfsd/head/contrib/bmake/mk/dpadd.mk projects/zfsd/head/contrib/bmake/mk/final.mk projects/zfsd/head/contrib/bmake/mk/gendirdeps.mk projects/zfsd/head/contrib/bmake/mk/init.mk projects/zfsd/head/contrib/bmake/mk/install-mk projects/zfsd/head/contrib/bmake/mk/lib.mk projects/zfsd/head/contrib/bmake/mk/libnames.mk projects/zfsd/head/contrib/bmake/mk/meta.autodep.mk projects/zfsd/head/contrib/bmake/mk/meta.sys.mk projects/zfsd/head/contrib/bmake/mk/meta2deps.py projects/zfsd/head/contrib/bmake/mk/nls.mk projects/zfsd/head/contrib/bmake/mk/own.mk projects/zfsd/head/contrib/bmake/mk/prog.mk projects/zfsd/head/contrib/bmake/mk/subdir.mk projects/zfsd/head/contrib/bmake/mk/sys.mk projects/zfsd/head/contrib/bmake/mk/sys/AIX.mk projects/zfsd/head/contrib/bmake/mk/sys/Darwin.mk projects/zfsd/head/contrib/bmake/mk/sys/Generic.mk projects/zfsd/head/contrib/bmake/mk/sys/HP-UX.mk projects/zfsd/head/contrib/bmake/mk/sys/IRIX.mk projects/zfsd/head/contrib/bmake/mk/sys/Linux.mk projects/zfsd/head/contrib/bmake/mk/sys/NetBSD.mk projects/zfsd/head/contrib/bmake/mk/sys/OSF1.mk projects/zfsd/head/contrib/bmake/mk/sys/OpenBSD.mk projects/zfsd/head/contrib/bmake/mk/sys/SunOS.mk projects/zfsd/head/contrib/bmake/mk/sys/UnixWare.mk projects/zfsd/head/contrib/bmake/mk/warnings.mk projects/zfsd/head/contrib/bmake/parse.c projects/zfsd/head/contrib/bmake/str.c projects/zfsd/head/contrib/elftoolchain/addr2line/addr2line.c projects/zfsd/head/contrib/elftoolchain/brandelf/brandelf.c projects/zfsd/head/contrib/elftoolchain/common/_elftc.h projects/zfsd/head/contrib/elftoolchain/common/elfdefinitions.h projects/zfsd/head/contrib/elftoolchain/cxxfilt/cxxfilt.c projects/zfsd/head/contrib/elftoolchain/elfcopy/ascii.c projects/zfsd/head/contrib/elftoolchain/elfcopy/binary.c projects/zfsd/head/contrib/elftoolchain/elfcopy/elfcopy.1 projects/zfsd/head/contrib/elftoolchain/elfcopy/elfcopy.h projects/zfsd/head/contrib/elftoolchain/elfcopy/main.c projects/zfsd/head/contrib/elftoolchain/elfcopy/sections.c projects/zfsd/head/contrib/elftoolchain/elfcopy/segments.c projects/zfsd/head/contrib/elftoolchain/elfcopy/symbols.c projects/zfsd/head/contrib/elftoolchain/elfdump/elfdump.c projects/zfsd/head/contrib/elftoolchain/libdwarf/libdwarf_abbrev.c projects/zfsd/head/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c projects/zfsd/head/contrib/elftoolchain/libdwarf/libdwarf_reloc.c projects/zfsd/head/contrib/elftoolchain/libelf/_libelf_config.h projects/zfsd/head/contrib/elftoolchain/libelf/elf_data.c projects/zfsd/head/contrib/elftoolchain/libelf/libelf_ar.c projects/zfsd/head/contrib/elftoolchain/libelf/libelf_convert.m4 projects/zfsd/head/contrib/elftoolchain/libelftc/Makefile projects/zfsd/head/contrib/elftoolchain/libelftc/libelftc.h projects/zfsd/head/contrib/elftoolchain/libelftc/libelftc_dem_arm.c projects/zfsd/head/contrib/elftoolchain/libelftc/libelftc_dem_gnu2.c projects/zfsd/head/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c projects/zfsd/head/contrib/elftoolchain/libelftc/make-toolchain-version projects/zfsd/head/contrib/elftoolchain/libpe/libpe_section.c projects/zfsd/head/contrib/elftoolchain/libpe/pe.h projects/zfsd/head/contrib/elftoolchain/nm/nm.c projects/zfsd/head/contrib/elftoolchain/readelf/readelf.c projects/zfsd/head/contrib/elftoolchain/size/size.c projects/zfsd/head/contrib/elftoolchain/strings/strings.c projects/zfsd/head/contrib/gcc/c-typeck.c projects/zfsd/head/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/zfsd/head/contrib/netbsd-tests/lib/libc/gen/t_dir.c projects/zfsd/head/contrib/netbsd-tests/lib/libc/sys/t_mlock.c projects/zfsd/head/contrib/top/commands.c projects/zfsd/head/contrib/top/display.c projects/zfsd/head/contrib/top/display.h projects/zfsd/head/contrib/top/machine.h projects/zfsd/head/contrib/top/screen.c projects/zfsd/head/contrib/top/screen.h projects/zfsd/head/contrib/top/top.c projects/zfsd/head/contrib/top/top.h projects/zfsd/head/contrib/top/username.c projects/zfsd/head/contrib/top/utils.h projects/zfsd/head/contrib/top/version.c projects/zfsd/head/etc/defaults/periodic.conf projects/zfsd/head/etc/mtree/BSD.usr.dist projects/zfsd/head/gnu/usr.bin/cc/cc_tools/Makefile projects/zfsd/head/gnu/usr.bin/grep/config.h projects/zfsd/head/include/Makefile projects/zfsd/head/lib/clang/include/clang/Basic/Version.inc projects/zfsd/head/lib/csu/aarch64/crt1.c projects/zfsd/head/lib/libc/aarch64/Symbol.map projects/zfsd/head/lib/libc/aarch64/sys/Makefile.inc projects/zfsd/head/lib/libc/gen/fts-compat.c projects/zfsd/head/lib/libc/gen/fts.c projects/zfsd/head/lib/libc/regex/engine.c projects/zfsd/head/lib/libc/rpc/clnt_bcast.c projects/zfsd/head/lib/libc/rpc/getnetconfig.c projects/zfsd/head/lib/libc/rpc/getrpcent.c projects/zfsd/head/lib/libc/rpc/netnamer.c projects/zfsd/head/lib/libc/rpc/rpcb_clnt.c projects/zfsd/head/lib/libc/rpc/svc_generic.c projects/zfsd/head/lib/libc/stdlib/random.c projects/zfsd/head/lib/libc/sys/vfork.2 projects/zfsd/head/lib/libcam/camlib.c projects/zfsd/head/lib/libelftc/Makefile projects/zfsd/head/lib/libelftc/elftc_version.c projects/zfsd/head/lib/libmt/mtlib.c projects/zfsd/head/lib/libradius/radlib.h projects/zfsd/head/lib/libstand/uuid_from_string.c projects/zfsd/head/release/doc/en_US.ISO8859-1/relnotes/article.xml projects/zfsd/head/sbin/camcontrol/attrib.c projects/zfsd/head/sbin/camcontrol/camcontrol.c projects/zfsd/head/sbin/camcontrol/fwdownload.c projects/zfsd/head/sbin/camcontrol/persist.c projects/zfsd/head/sbin/iscontrol/fsm.c projects/zfsd/head/share/man/man3/bitstring.3 projects/zfsd/head/share/man/man4/sfxge.4 projects/zfsd/head/share/man/man4/tcp.4 projects/zfsd/head/share/man/man5/src.conf.5 projects/zfsd/head/share/man/man9/Makefile projects/zfsd/head/share/man/man9/bus_activate_resource.9 projects/zfsd/head/share/man/man9/bus_alloc_resource.9 projects/zfsd/head/share/man/man9/namei.9 projects/zfsd/head/share/man/man9/rman.9 projects/zfsd/head/share/man/man9/sglist.9 projects/zfsd/head/share/misc/pci_vendors projects/zfsd/head/share/mk/bsd.compiler.mk projects/zfsd/head/share/mk/bsd.dep.mk projects/zfsd/head/share/mk/local.meta.sys.mk projects/zfsd/head/share/mk/src.opts.mk projects/zfsd/head/share/mk/src.sys.env.mk projects/zfsd/head/share/mk/sys.mk projects/zfsd/head/sys/amd64/amd64/pmap.c projects/zfsd/head/sys/amd64/amd64/sys_machdep.c projects/zfsd/head/sys/amd64/amd64/vm_machdep.c projects/zfsd/head/sys/amd64/linux/linux_proto.h projects/zfsd/head/sys/amd64/linux/linux_syscall.h projects/zfsd/head/sys/amd64/linux/linux_syscalls.c projects/zfsd/head/sys/amd64/linux/linux_sysent.c projects/zfsd/head/sys/amd64/linux/linux_systrace_args.c projects/zfsd/head/sys/amd64/linux/syscalls.master projects/zfsd/head/sys/amd64/linux32/linux32_proto.h projects/zfsd/head/sys/amd64/linux32/linux32_syscall.h projects/zfsd/head/sys/amd64/linux32/linux32_syscalls.c projects/zfsd/head/sys/amd64/linux32/linux32_sysent.c projects/zfsd/head/sys/amd64/linux32/linux32_systrace_args.c projects/zfsd/head/sys/amd64/linux32/syscalls.master projects/zfsd/head/sys/arm/allwinner/axp209.c projects/zfsd/head/sys/arm/arm/cpufunc.c projects/zfsd/head/sys/arm/arm/cpufunc_asm.S projects/zfsd/head/sys/arm/arm/cpufunc_asm_xscale.S projects/zfsd/head/sys/arm/arm/elf_trampoline.c projects/zfsd/head/sys/arm/arm/locore-v4.S projects/zfsd/head/sys/arm/arm/machdep.c projects/zfsd/head/sys/arm/at91/at91_machdep.c projects/zfsd/head/sys/arm/broadcom/bcm2835/bcm2835_cpufreq.c projects/zfsd/head/sys/arm/cavium/cns11xx/econa_machdep.c projects/zfsd/head/sys/arm/freescale/imx/imx6_anatop.c projects/zfsd/head/sys/arm/freescale/imx/imx_gpio.c projects/zfsd/head/sys/arm/include/_align.h projects/zfsd/head/sys/arm/include/cpu-v4.h projects/zfsd/head/sys/arm/include/param.h projects/zfsd/head/sys/arm/mv/mpic.c projects/zfsd/head/sys/arm/mv/mv_machdep.c projects/zfsd/head/sys/arm/mv/mv_ts.c projects/zfsd/head/sys/arm64/arm64/busdma_bounce.c projects/zfsd/head/sys/arm64/arm64/gic_v3_reg.h projects/zfsd/head/sys/arm64/cavium/thunder_pcie_pem.c projects/zfsd/head/sys/arm64/conf/DEFAULTS projects/zfsd/head/sys/boot/efi/loader/main.c projects/zfsd/head/sys/boot/i386/libi386/biosdisk.c projects/zfsd/head/sys/boot/i386/zfsboot/zfsboot.c projects/zfsd/head/sys/cam/ata/ata_da.c projects/zfsd/head/sys/cam/cam_ccb.h projects/zfsd/head/sys/cam/ctl/ctl_frontend_iscsi.c projects/zfsd/head/sys/cam/ctl/scsi_ctl.c projects/zfsd/head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/zfsd/head/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h projects/zfsd/head/sys/cddl/dev/dtrace/aarch64/dtrace_subr.c projects/zfsd/head/sys/cddl/dev/profile/profile.c projects/zfsd/head/sys/compat/linux/linux_file.c projects/zfsd/head/sys/compat/linux/linux_futex.c projects/zfsd/head/sys/compat/linux/linux_ioctl.c projects/zfsd/head/sys/compat/linux/linux_socket.c projects/zfsd/head/sys/compat/linuxkpi/common/include/asm/atomic-long.h projects/zfsd/head/sys/compat/linuxkpi/common/include/asm/uaccess.h projects/zfsd/head/sys/compat/linuxkpi/common/include/linux/bitops.h projects/zfsd/head/sys/compat/linuxkpi/common/include/linux/cdev.h projects/zfsd/head/sys/compat/linuxkpi/common/include/linux/compat.h projects/zfsd/head/sys/compat/linuxkpi/common/include/linux/completion.h projects/zfsd/head/sys/compat/linuxkpi/common/include/linux/gfp.h projects/zfsd/head/sys/compat/linuxkpi/common/include/linux/io.h projects/zfsd/head/sys/compat/linuxkpi/common/include/linux/kernel.h projects/zfsd/head/sys/compat/linuxkpi/common/include/linux/kref.h projects/zfsd/head/sys/compat/linuxkpi/common/include/linux/ktime.h projects/zfsd/head/sys/compat/linuxkpi/common/include/linux/list.h projects/zfsd/head/sys/compat/linuxkpi/common/include/linux/time.h projects/zfsd/head/sys/compat/linuxkpi/common/src/linux_compat.c projects/zfsd/head/sys/compat/linuxkpi/common/src/linux_pci.c projects/zfsd/head/sys/compat/ndis/subr_ntoskrnl.c projects/zfsd/head/sys/conf/Makefile.riscv projects/zfsd/head/sys/conf/files projects/zfsd/head/sys/conf/files.amd64 projects/zfsd/head/sys/conf/files.arm64 projects/zfsd/head/sys/conf/files.i386 projects/zfsd/head/sys/conf/files.powerpc projects/zfsd/head/sys/conf/files.riscv projects/zfsd/head/sys/conf/kern.post.mk projects/zfsd/head/sys/contrib/ipfilter/netinet/ip_frag.c projects/zfsd/head/sys/contrib/ipfilter/netinet/ip_frag.h projects/zfsd/head/sys/dev/acpi_support/acpi_asus_wmi.c projects/zfsd/head/sys/dev/acpi_support/acpi_ibm.c projects/zfsd/head/sys/dev/acpi_support/atk0110.c projects/zfsd/head/sys/dev/acpica/acpi_pcib_pci.c projects/zfsd/head/sys/dev/acpica/acpi_thermal.c projects/zfsd/head/sys/dev/amdtemp/amdtemp.c projects/zfsd/head/sys/dev/an/if_an.c projects/zfsd/head/sys/dev/ath/ath_hal/ah_regdomain.c projects/zfsd/head/sys/dev/ath/ath_hal/ah_regdomain.h projects/zfsd/head/sys/dev/bhnd/bcma/bcma_bhndb.c projects/zfsd/head/sys/dev/bhnd/bhnd.c projects/zfsd/head/sys/dev/bhnd/bhnd.h projects/zfsd/head/sys/dev/bhnd/bhnd_bus_if.m projects/zfsd/head/sys/dev/bhnd/bhnd_subr.c projects/zfsd/head/sys/dev/bhnd/bhnd_types.h projects/zfsd/head/sys/dev/bhnd/bhndb/bhndb.c projects/zfsd/head/sys/dev/bhnd/bhndb/bhndb.h projects/zfsd/head/sys/dev/bhnd/bhndb/bhndb_hwdata.c projects/zfsd/head/sys/dev/bhnd/bhndb/bhndb_pci_hwdata.c projects/zfsd/head/sys/dev/bhnd/bhndb/bhndb_pci_sprom.c projects/zfsd/head/sys/dev/bhnd/bhndb/bhndb_private.h projects/zfsd/head/sys/dev/bhnd/bhndb/bhndb_subr.c projects/zfsd/head/sys/dev/bhnd/cores/chipc/bhnd_chipc_if.m projects/zfsd/head/sys/dev/bhnd/cores/chipc/chipc.c projects/zfsd/head/sys/dev/bhnd/cores/chipc/chipc.h projects/zfsd/head/sys/dev/bhnd/cores/chipc/chipcreg.h projects/zfsd/head/sys/dev/bhnd/cores/chipc/chipcvar.h projects/zfsd/head/sys/dev/bhnd/cores/pci/bhnd_pci.c projects/zfsd/head/sys/dev/bhnd/cores/pci/bhnd_pci_hostb.c projects/zfsd/head/sys/dev/bhnd/cores/pcie2/bhnd_pcie2.c projects/zfsd/head/sys/dev/bhnd/cores/pcie2/bhnd_pcie2_hostb.c projects/zfsd/head/sys/dev/bhnd/nvram/bhnd_nvram.h projects/zfsd/head/sys/dev/bhnd/nvram/bhnd_sprom.c projects/zfsd/head/sys/dev/bhnd/nvram/bhnd_spromvar.h projects/zfsd/head/sys/dev/bhnd/siba/siba.c projects/zfsd/head/sys/dev/bhnd/siba/siba_bhndb.c projects/zfsd/head/sys/dev/bhnd/siba/siba_subr.c projects/zfsd/head/sys/dev/bhnd/siba/sibavar.h projects/zfsd/head/sys/dev/bhnd/tools/bus_macro.sh projects/zfsd/head/sys/dev/bwn/if_bwn.c projects/zfsd/head/sys/dev/bwn/if_bwn_pci.c projects/zfsd/head/sys/dev/bwn/if_bwn_phy_common.c projects/zfsd/head/sys/dev/ciss/ciss.c projects/zfsd/head/sys/dev/coretemp/coretemp.c projects/zfsd/head/sys/dev/cpuctl/cpuctl.c projects/zfsd/head/sys/dev/cxgbe/cxgbei/icl_cxgbei.c projects/zfsd/head/sys/dev/cxgbe/tom/t4_ddp.c projects/zfsd/head/sys/dev/gpio/gpioiic.c projects/zfsd/head/sys/dev/gpio/gpioled.c projects/zfsd/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c projects/zfsd/head/sys/dev/hyperv/vmbus/hv_connection.c projects/zfsd/head/sys/dev/hyperv/vmbus/hv_hv.c projects/zfsd/head/sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c projects/zfsd/head/sys/dev/hyperv/vmbus/hv_vmbus_priv.h projects/zfsd/head/sys/dev/hyperv/vmbus/vmbus_var.h projects/zfsd/head/sys/dev/iicbus/ds3231reg.h projects/zfsd/head/sys/dev/iicbus/iic.c projects/zfsd/head/sys/dev/iicbus/iic.h projects/zfsd/head/sys/dev/iicbus/iicbb_if.m projects/zfsd/head/sys/dev/iicbus/iiconf.c projects/zfsd/head/sys/dev/iicbus/lm75.c projects/zfsd/head/sys/dev/iscsi/icl.c projects/zfsd/head/sys/dev/iscsi/icl.h projects/zfsd/head/sys/dev/iscsi/icl_soft.c projects/zfsd/head/sys/dev/iscsi/iscsi.c projects/zfsd/head/sys/dev/isp/isp_freebsd.c projects/zfsd/head/sys/dev/iwm/if_iwm.c projects/zfsd/head/sys/dev/iwm/if_iwm_binding.c projects/zfsd/head/sys/dev/iwm/if_iwm_mac_ctxt.c projects/zfsd/head/sys/dev/iwm/if_iwm_pcie_trans.c projects/zfsd/head/sys/dev/iwm/if_iwm_phy_ctxt.c projects/zfsd/head/sys/dev/iwm/if_iwm_phy_db.c projects/zfsd/head/sys/dev/iwm/if_iwm_power.c projects/zfsd/head/sys/dev/iwm/if_iwm_scan.c projects/zfsd/head/sys/dev/iwm/if_iwm_time_event.c projects/zfsd/head/sys/dev/iwm/if_iwm_util.c projects/zfsd/head/sys/dev/ixl/if_ixl.c projects/zfsd/head/sys/dev/mlx5/mlx5_en/en.h projects/zfsd/head/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c projects/zfsd/head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c projects/zfsd/head/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c projects/zfsd/head/sys/dev/mwl/if_mwl.c projects/zfsd/head/sys/dev/ntb/if_ntb/if_ntb.c projects/zfsd/head/sys/dev/ntb/ntb_hw/ntb_hw.c projects/zfsd/head/sys/dev/nvram2env/nvram2env.c projects/zfsd/head/sys/dev/pccbb/pccbb_pci.c projects/zfsd/head/sys/dev/pci/pci_host_generic.c projects/zfsd/head/sys/dev/pci/pci_pci.c projects/zfsd/head/sys/dev/pci/pcib_private.h projects/zfsd/head/sys/dev/sfxge/common/ef10_ev.c projects/zfsd/head/sys/dev/sfxge/common/ef10_filter.c projects/zfsd/head/sys/dev/sfxge/common/ef10_impl.h projects/zfsd/head/sys/dev/sfxge/common/ef10_intr.c projects/zfsd/head/sys/dev/sfxge/common/ef10_mac.c projects/zfsd/head/sys/dev/sfxge/common/ef10_mcdi.c projects/zfsd/head/sys/dev/sfxge/common/ef10_nic.c projects/zfsd/head/sys/dev/sfxge/common/ef10_nvram.c projects/zfsd/head/sys/dev/sfxge/common/ef10_phy.c projects/zfsd/head/sys/dev/sfxge/common/ef10_rx.c projects/zfsd/head/sys/dev/sfxge/common/ef10_tx.c projects/zfsd/head/sys/dev/sfxge/common/ef10_vpd.c projects/zfsd/head/sys/dev/sfxge/common/efsys.h projects/zfsd/head/sys/dev/sfxge/common/efx.h projects/zfsd/head/sys/dev/sfxge/common/efx_bootcfg.c projects/zfsd/head/sys/dev/sfxge/common/efx_check.h projects/zfsd/head/sys/dev/sfxge/common/efx_crc32.c projects/zfsd/head/sys/dev/sfxge/common/efx_ev.c projects/zfsd/head/sys/dev/sfxge/common/efx_filter.c projects/zfsd/head/sys/dev/sfxge/common/efx_hash.c projects/zfsd/head/sys/dev/sfxge/common/efx_impl.h projects/zfsd/head/sys/dev/sfxge/common/efx_intr.c projects/zfsd/head/sys/dev/sfxge/common/efx_lic.c projects/zfsd/head/sys/dev/sfxge/common/efx_mac.c projects/zfsd/head/sys/dev/sfxge/common/efx_mcdi.c projects/zfsd/head/sys/dev/sfxge/common/efx_mcdi.h projects/zfsd/head/sys/dev/sfxge/common/efx_mon.c projects/zfsd/head/sys/dev/sfxge/common/efx_nic.c projects/zfsd/head/sys/dev/sfxge/common/efx_nvram.c projects/zfsd/head/sys/dev/sfxge/common/efx_phy.c projects/zfsd/head/sys/dev/sfxge/common/efx_phy_ids.h projects/zfsd/head/sys/dev/sfxge/common/efx_port.c projects/zfsd/head/sys/dev/sfxge/common/efx_regs.h projects/zfsd/head/sys/dev/sfxge/common/efx_regs_ef10.h projects/zfsd/head/sys/dev/sfxge/common/efx_regs_pci.h projects/zfsd/head/sys/dev/sfxge/common/efx_rx.c projects/zfsd/head/sys/dev/sfxge/common/efx_sram.c projects/zfsd/head/sys/dev/sfxge/common/efx_tx.c projects/zfsd/head/sys/dev/sfxge/common/efx_types.h projects/zfsd/head/sys/dev/sfxge/common/efx_vpd.c projects/zfsd/head/sys/dev/sfxge/common/efx_wol.c projects/zfsd/head/sys/dev/sfxge/common/hunt_impl.h projects/zfsd/head/sys/dev/sfxge/common/hunt_nic.c projects/zfsd/head/sys/dev/sfxge/common/hunt_phy.c projects/zfsd/head/sys/dev/sfxge/common/mcdi_mon.c projects/zfsd/head/sys/dev/sfxge/common/mcdi_mon.h projects/zfsd/head/sys/dev/sfxge/common/medford_impl.h projects/zfsd/head/sys/dev/sfxge/common/medford_nic.c projects/zfsd/head/sys/dev/sfxge/common/siena_flash.h projects/zfsd/head/sys/dev/sfxge/common/siena_impl.h projects/zfsd/head/sys/dev/sfxge/common/siena_mac.c projects/zfsd/head/sys/dev/sfxge/common/siena_mcdi.c projects/zfsd/head/sys/dev/sfxge/common/siena_nic.c projects/zfsd/head/sys/dev/sfxge/common/siena_nvram.c projects/zfsd/head/sys/dev/sfxge/common/siena_phy.c projects/zfsd/head/sys/dev/sfxge/common/siena_sram.c projects/zfsd/head/sys/dev/sfxge/common/siena_vpd.c projects/zfsd/head/sys/dev/sfxge/sfxge.c projects/zfsd/head/sys/dev/sfxge/sfxge.h projects/zfsd/head/sys/dev/sfxge/sfxge_dma.c projects/zfsd/head/sys/dev/sfxge/sfxge_ev.c projects/zfsd/head/sys/dev/sfxge/sfxge_intr.c projects/zfsd/head/sys/dev/sfxge/sfxge_ioc.h projects/zfsd/head/sys/dev/sfxge/sfxge_mcdi.c projects/zfsd/head/sys/dev/sfxge/sfxge_nvram.c projects/zfsd/head/sys/dev/sfxge/sfxge_port.c projects/zfsd/head/sys/dev/sfxge/sfxge_rx.c projects/zfsd/head/sys/dev/sfxge/sfxge_rx.h projects/zfsd/head/sys/dev/sfxge/sfxge_tx.c projects/zfsd/head/sys/dev/sfxge/sfxge_tx.h projects/zfsd/head/sys/dev/sfxge/sfxge_version.h projects/zfsd/head/sys/dev/siba/siba_bwn.c projects/zfsd/head/sys/dev/urtwn/if_urtwn.c projects/zfsd/head/sys/dev/urtwn/if_urtwnreg.h projects/zfsd/head/sys/dev/vnic/mrml_bridge.c projects/zfsd/head/sys/dev/vnic/nic_main.c projects/zfsd/head/sys/dev/vnic/nicvf_main.c projects/zfsd/head/sys/dev/vnic/thunder_bgx.c projects/zfsd/head/sys/dev/vnic/thunder_mdio.c projects/zfsd/head/sys/dev/wi/if_wi.c projects/zfsd/head/sys/fs/cd9660/cd9660_vfsops.c projects/zfsd/head/sys/fs/devfs/devfs_devs.c projects/zfsd/head/sys/fs/ext2fs/ext2_alloc.c projects/zfsd/head/sys/fs/ext2fs/ext2_vfsops.c projects/zfsd/head/sys/fs/msdosfs/msdosfs_vfsops.c projects/zfsd/head/sys/fs/udf/udf_vfsops.c projects/zfsd/head/sys/geom/eli/g_eli.c projects/zfsd/head/sys/geom/geom.h projects/zfsd/head/sys/geom/geom_event.c projects/zfsd/head/sys/geom/geom_kern.c projects/zfsd/head/sys/geom/geom_mbr.c projects/zfsd/head/sys/geom/geom_pc98.c projects/zfsd/head/sys/geom/geom_subr.c projects/zfsd/head/sys/geom/journal/g_journal.c projects/zfsd/head/sys/geom/mirror/g_mirror.c projects/zfsd/head/sys/geom/mountver/g_mountver.c projects/zfsd/head/sys/geom/raid/g_raid.c projects/zfsd/head/sys/geom/raid3/g_raid3.c projects/zfsd/head/sys/gnu/dev/bwn/phy_n/if_bwn_phy_n_core.c projects/zfsd/head/sys/i386/i386/sys_machdep.c projects/zfsd/head/sys/i386/i386/vm_machdep.c projects/zfsd/head/sys/i386/linux/linux_proto.h projects/zfsd/head/sys/i386/linux/linux_syscall.h projects/zfsd/head/sys/i386/linux/linux_syscalls.c projects/zfsd/head/sys/i386/linux/linux_sysent.c projects/zfsd/head/sys/i386/linux/linux_systrace_args.c projects/zfsd/head/sys/i386/linux/syscalls.master projects/zfsd/head/sys/kern/bus_if.m projects/zfsd/head/sys/kern/kern_event.c projects/zfsd/head/sys/kern/kern_malloc.c projects/zfsd/head/sys/kern/kern_synch.c projects/zfsd/head/sys/kern/subr_bus.c projects/zfsd/head/sys/kern/subr_intr.c projects/zfsd/head/sys/kern/subr_rman.c projects/zfsd/head/sys/kern/subr_sglist.c projects/zfsd/head/sys/kern/subr_taskqueue.c projects/zfsd/head/sys/kern/subr_unit.c projects/zfsd/head/sys/kern/sys_socket.c projects/zfsd/head/sys/kern/uipc_socket.c projects/zfsd/head/sys/kern/vfs_aio.c projects/zfsd/head/sys/mips/include/clock.h projects/zfsd/head/sys/modules/bhnd/Makefile projects/zfsd/head/sys/modules/bhnd/bhndb/Makefile projects/zfsd/head/sys/modules/bhnd/cores/bhnd_chipc/Makefile projects/zfsd/head/sys/modules/hyperv/vmbus/Makefile projects/zfsd/head/sys/net/if_tun.h projects/zfsd/head/sys/net80211/ieee80211_scan_sw.c projects/zfsd/head/sys/netinet6/ip6_output.c projects/zfsd/head/sys/netinet6/nd6.c projects/zfsd/head/sys/netinet6/nd6.h projects/zfsd/head/sys/netpfil/ipfw/ip_fw_dynamic.c projects/zfsd/head/sys/netpfil/pf/pf.c projects/zfsd/head/sys/netpfil/pf/pf_norm.c projects/zfsd/head/sys/powerpc/powermac/powermac_thermal.h projects/zfsd/head/sys/powerpc/powermac/smu.c projects/zfsd/head/sys/powerpc/powermac/smusat.c projects/zfsd/head/sys/powerpc/powerpc/exec_machdep.c projects/zfsd/head/sys/riscv/include/frame.h projects/zfsd/head/sys/riscv/include/riscvreg.h projects/zfsd/head/sys/riscv/riscv/exception.S projects/zfsd/head/sys/riscv/riscv/trap.c projects/zfsd/head/sys/rpc/svc.c projects/zfsd/head/sys/sparc64/include/vm.h projects/zfsd/head/sys/sparc64/sparc64/vm_machdep.c projects/zfsd/head/sys/sys/_task.h projects/zfsd/head/sys/sys/bitstring.h projects/zfsd/head/sys/sys/bus.h projects/zfsd/head/sys/sys/kobj.h projects/zfsd/head/sys/sys/malloc.h projects/zfsd/head/sys/sys/param.h projects/zfsd/head/sys/sys/rman.h projects/zfsd/head/sys/sys/sglist.h projects/zfsd/head/sys/sys/sysent.h projects/zfsd/head/sys/sys/taskqueue.h projects/zfsd/head/sys/sys/vmmeter.h projects/zfsd/head/sys/ufs/ffs/ffs_alloc.c projects/zfsd/head/sys/ufs/ffs/ffs_vfsops.c projects/zfsd/head/sys/vm/swap_pager.c projects/zfsd/head/sys/vm/vm.h projects/zfsd/head/sys/vm/vm_fault.c projects/zfsd/head/sys/vm/vm_glue.c projects/zfsd/head/sys/vm/vm_page.c projects/zfsd/head/sys/x86/x86/nexus.c projects/zfsd/head/tests/sys/aio/aio_test.c projects/zfsd/head/tests/sys/kern/Makefile projects/zfsd/head/tests/sys/sys/bitstring_test.c projects/zfsd/head/usr.bin/bmake/Makefile projects/zfsd/head/usr.bin/kdump/kdump.c projects/zfsd/head/usr.bin/mt/mt.1 projects/zfsd/head/usr.sbin/apmd/apmd.c projects/zfsd/head/usr.sbin/apmd/apmdlex.l projects/zfsd/head/usr.sbin/apmd/apmdparse.y projects/zfsd/head/usr.sbin/bsdinstall/scripts/zfsboot projects/zfsd/head/usr.sbin/camdd/camdd.c projects/zfsd/head/usr.sbin/iscsid/Makefile projects/zfsd/head/usr.sbin/mptutil/mpt_cam.c projects/zfsd/head/usr.sbin/periodic/periodic.8 projects/zfsd/head/usr.sbin/periodic/periodic.sh projects/zfsd/head/usr.sbin/pw/pw_log.c projects/zfsd/head/usr.sbin/rpc.yppasswdd/yppasswdd_server.c Directory Properties: projects/zfsd/head/ (props changed) projects/zfsd/head/cddl/ (props changed) projects/zfsd/head/cddl/contrib/opensolaris/ (props changed) projects/zfsd/head/contrib/binutils/ (props changed) projects/zfsd/head/contrib/bmake/ (props changed) projects/zfsd/head/contrib/elftoolchain/ (props changed) projects/zfsd/head/contrib/elftoolchain/brandelf/ (props changed) projects/zfsd/head/contrib/elftoolchain/elfdump/ (props changed) projects/zfsd/head/contrib/gcc/ (props changed) projects/zfsd/head/contrib/llvm/ (props changed) projects/zfsd/head/contrib/llvm/tools/clang/ (props changed) projects/zfsd/head/contrib/top/ (props changed) projects/zfsd/head/gnu/usr.bin/cc/cc_tools/ (props changed) projects/zfsd/head/sys/cddl/contrib/opensolaris/ (props changed) projects/zfsd/head/sys/contrib/ipfilter/ (props changed) Modified: projects/zfsd/head/Makefile.inc1 ============================================================================== --- projects/zfsd/head/Makefile.inc1 Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/Makefile.inc1 Wed May 25 16:04:50 2016 (r300688) @@ -48,6 +48,7 @@ .error "Both TARGET and TARGET_ARCH must be defined." .endif +SRCDIR?= ${.CURDIR} LOCALBASE?= /usr/local # Cross toolchain changes must be in effect before bsd.compiler.mk @@ -56,8 +57,104 @@ LOCALBASE?= /usr/local .include "${LOCALBASE}/share/toolchains/${CROSS_TOOLCHAIN}.mk" CROSSENV+=CROSS_TOOLCHAIN="${CROSS_TOOLCHAIN}" .endif -.include # don't depend on src.opts.mk doing it -.include "share/mk/src.opts.mk" +.if defined(CROSS_TOOLCHAIN_PREFIX) +CROSS_COMPILER_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} +.endif + +XCOMPILERS= CC CXX CPP +.for COMPILER in ${XCOMPILERS} +.if defined(CROSS_COMPILER_PREFIX) +X${COMPILER}?= ${CROSS_COMPILER_PREFIX}${${COMPILER}} +.else +X${COMPILER}?= ${${COMPILER}} +.endif +.endfor +# If a full path to an external cross compiler is given, don't build +# a cross compiler. +.if ${XCC:N${CCACHE_BIN}:M/*} +MK_CROSS_COMPILER= no +.endif + +# Pull in COMPILER_TYPE and COMPILER_FREEBSD_VERSION early. +.include +.include "share/mk/src.opts.mk" + +# Check if there is a local compiler that can satisfy as an external compiler. +.if ${MK_SYSTEM_COMPILER} == "yes" && ${MK_CROSS_COMPILER} == "yes" && \ + (${MK_CLANG_BOOTSTRAP} == "yes" || ${MK_GCC_BOOTSTRAP} == "yes") && \ + !make(showconfig) +# Which compiler is expected to be used? +.if ${MK_CLANG_BOOTSTRAP} == "yes" +_expected_compiler_type= clang +.elif ${MK_GCC_BOOTSTRAP} == "yes" +_expected_compiler_type= gcc +.endif +# If the expected vs CC is different then we can't skip. +# GCC cannot be used for cross-arch yet. For clang we pass -target later if +# TARGET_ARCH!=MACHINE_ARCH. +.if ${_expected_compiler_type} == ${COMPILER_TYPE} && \ + (${COMPILER_TYPE} == "clang" || ${TARGET_ARCH} == ${MACHINE_ARCH}) +# It needs to be the same revision as we would build for the bootstrap. +.if !defined(CROSS_COMPILER_FREEBSD_VERSION) +.if ${_expected_compiler_type} == "clang" +CROSS_COMPILER_FREEBSD_VERSION!= \ + awk '$$2 == "FREEBSD_CC_VERSION" {printf("%d\n", $$3)}' \ + ${SRCDIR}/lib/clang/include/clang/Basic/Version.inc || echo unknown +CROSS_COMPILER_VERSION!= \ + awk '$$2 == "CLANG_VERSION" {split($$3, a, "."); print a[1] * 10000 + a[2] * 100 + a[3]}' \ + ${SRCDIR}/lib/clang/include/clang/Basic/Version.inc || echo unknown +.elif ${_expected_compiler_type} == "gcc" +CROSS_COMPILER_FREEBSD_VERSION!= \ + awk '$$2 == "FBSD_CC_VER" {printf("%d\n", $$3)}' \ + ${SRCDIR}/gnu/usr.bin/cc/cc_tools/freebsd-native.h || echo unknown +CROSS_COMPILER_VERSION!= \ + awk -F. '{print $$1 * 10000 + $$2 * 100 + $$3}' \ + ${SRCDIR}/contrib/gcc/BASE-VER || echo unknown +.endif +.export CROSS_COMPILER_FREEBSD_VERSION CROSS_COMPILER_VERSION +.endif # !defined(CROSS_COMPILER_FREEBSD_VERSION) +.if ${COMPILER_VERSION} == ${CROSS_COMPILER_VERSION} && \ + ${COMPILER_FREEBSD_VERSION} == ${CROSS_COMPILER_FREEBSD_VERSION} +# Everything matches, disable the bootstrap compiler. +MK_CLANG_BOOTSTRAP= no +MK_GCC_BOOTSTRAP= no +CROSSENV+= COMPILER_VERSION=${COMPILER_VERSION} \ + COMPILER_TYPE=${COMPILER_TYPE} \ + COMPILER_FREEBSD_VERSION=${COMPILER_FREEBSD_VERSION} +.if make(buildworld) +.info SYSTEM_COMPILER: Determined that CC=${CC} matches the source tree. Not bootstrapping a cross-compiler. +.endif +.endif # ${COMPILER_VERSION} == ${CROSS_COMPILER_VERSION} +.endif # ${_expected_compiler_type} == ${COMPILER_TYPE} +.endif # ${XCC:N${CCACHE_BIN}:M/*} + +# Handle external binutils. +.if defined(CROSS_TOOLCHAIN_PREFIX) +CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} +.endif +# If we do not have a bootstrap binutils (because the in-tree one does not +# support the target architecture), provide a default cross-binutils prefix. +# This allows aarch64 builds, for example, to automatically use the +# aarch64-binutils port or package. +.if !make(showconfig) +.if !empty(BROKEN_OPTIONS:MBINUTILS_BOOTSTRAP) && \ + !defined(CROSS_BINUTILS_PREFIX) +CROSS_BINUTILS_PREFIX=/usr/local/${TARGET_ARCH}-freebsd/bin/ +.if !exists(${CROSS_BINUTILS_PREFIX}) +.error In-tree binutils does not support the ${TARGET_ARCH} architecture. Install the ${TARGET_ARCH}-binutils port or package or set CROSS_BINUTILS_PREFIX. +.endif +.endif +.endif +XBINUTILS= AS AR LD NM OBJCOPY OBJDUMP RANLIB SIZE STRINGS +.for BINUTIL in ${XBINUTILS} +.if defined(CROSS_BINUTILS_PREFIX) && \ + exists(${CROSS_BINUTILS_PREFIX}${${BINUTIL}}) +X${BINUTIL}?= ${CROSS_BINUTILS_PREFIX}${${BINUTIL}} +.else +X${BINUTIL}?= ${${BINUTIL}} +.endif +.endfor + # We must do lib/ and libexec/ before bin/ in case of a mid-install error to # keep the users system reasonably usable. For static->dynamic root upgrades, @@ -67,7 +164,6 @@ CROSSENV+=CROSS_TOOLCHAIN="${CROSS_TOOLC # This ordering is not a guarantee though. The only guarantee of a working # system here would require fine-grained ordering of all components based # on their dependencies. -SRCDIR?= ${.CURDIR} .if !empty(SUBDIR_OVERRIDE) SUBDIR= ${SUBDIR_OVERRIDE} .else @@ -404,42 +500,6 @@ HMAKE= PATH=${TMPPATH} ${MAKE} LOCAL_MT HMAKE+= PATH=${TMPPATH} METALOG=${METALOG} -DNO_ROOT .endif -.if defined(CROSS_TOOLCHAIN_PREFIX) -CROSS_COMPILER_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} -CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} -.endif - -# If we do not have a bootstrap binutils (because the in-tree one does not -# support the target architecture), provide a default cross-binutils prefix. -# This allows aarch64 builds, for example, to automatically use the -# aarch64-binutils port or package. -.if !make(showconfig) -.if !empty(BROKEN_OPTIONS:MBINUTILS_BOOTSTRAP) && \ - !defined(CROSS_BINUTILS_PREFIX) -CROSS_BINUTILS_PREFIX=/usr/local/${TARGET_ARCH}-freebsd/bin/ -.if !exists(${CROSS_BINUTILS_PREFIX}) -.error In-tree binutils does not support the ${TARGET_ARCH} architecture. Install the ${TARGET_ARCH}-binutils port or package or set CROSS_BINUTILS_PREFIX. -.endif -.endif -.endif - -XCOMPILERS= CC CXX CPP -.for COMPILER in ${XCOMPILERS} -.if defined(CROSS_COMPILER_PREFIX) -X${COMPILER}?= ${CROSS_COMPILER_PREFIX}${${COMPILER}} -.else -X${COMPILER}?= ${${COMPILER}} -.endif -.endfor -XBINUTILS= AS AR LD NM OBJCOPY OBJDUMP RANLIB SIZE STRINGS -.for BINUTIL in ${XBINUTILS} -.if defined(CROSS_BINUTILS_PREFIX) && \ - exists(${CROSS_BINUTILS_PREFIX}${${BINUTIL}}) -X${BINUTIL}?= ${CROSS_BINUTILS_PREFIX}${${BINUTIL}} -.else -X${BINUTIL}?= ${${BINUTIL}} -.endif -.endfor CROSSENV+= CC="${XCC} ${XCFLAGS}" CXX="${XCXX} ${XCFLAGS} ${XCXXFLAGS}" \ CPP="${XCPP} ${XCFLAGS}" \ AS="${XAS}" AR="${XAR}" LD="${XLD}" NM=${XNM} \ @@ -455,7 +515,8 @@ BFLAGS+= -B${CROSS_BINUTILS_PREFIX} .endif # External compiler needs sysroot and target flags. -.if ${XCC:N${CCACHE_BIN}:M/*} || ${MK_CROSS_COMPILER} == "no" +.if ${MK_CROSS_COMPILER} == "no" || \ + (${MK_CLANG_BOOTSTRAP} == "no" && ${MK_GCC_BOOTSTRAP} == "no") .if !defined(CROSS_BINUTILS_PREFIX) || !exists(${CROSS_BINUTILS_PREFIX}) BFLAGS+= -B${WORLDTMP}/usr/bin .endif @@ -479,7 +540,7 @@ XCFLAGS+= -target ${TARGET_TRIPLE} .endif XCFLAGS+= --sysroot=${WORLDTMP} .else -.endif # ${XCC:M/*} || ${MK_CROSS_COMPILER} == "no" +.endif # ${MK_CROSS_COMPILER} == "no" .if !empty(BFLAGS) XCFLAGS+= ${BFLAGS} @@ -533,7 +594,7 @@ KMAKE= ${KMAKEENV} ${MAKE} ${.MAKEFLAGS .if ${MK_META_MODE} == "yes" # meta mode normally is disallowed when building from curdir==objdir, but we # want to allow it for the kernel build. -KMAKE+= .MAKE.MODE="${.MAKE.MODE} curdirOk=yes" +KMAKEENV+= META_MODE="${.MAKE.MODE} curdirOk=yes" .endif # @@ -1715,9 +1776,7 @@ _elftctools= lib/libelftc \ usr.bin/elfcopy .endif -# If an full path to an external cross compiler is given, don't build -# a cross compiler. -.if ${XCC:N${CCACHE_BIN}:M/*} == "" && ${MK_CROSS_COMPILER} != "no" +.if ${MK_CROSS_COMPILER} != "no" .if ${MK_CLANG_BOOTSTRAP} != "no" _clang= usr.bin/clang _clang_libs= lib/clang Modified: projects/zfsd/head/ObsoleteFiles.inc ============================================================================== --- projects/zfsd/head/ObsoleteFiles.inc Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/ObsoleteFiles.inc Wed May 25 16:04:50 2016 (r300688) @@ -38,6 +38,15 @@ # xargs -n1 | sort | uniq -d; # done +# 20160519: remove DTrace Toolkit from base +OLD_FILES+=usr/share/dtrace/toolkit/execsnoop +OLD_FILES+=usr/share/dtrace/toolkit/hotkernel +OLD_FILES+=usr/share/dtrace/toolkit/hotuser +OLD_FILES+=usr/share/dtrace/toolkit/opensnoop +OLD_FILES+=usr/share/dtrace/toolkit/procsystime +OLD_DIRS+=usr/share/dtrace/toolkit +# 20160519: stale MLINK removed +OLD_FILES+=usr/share/man/man9/rman_await_resource.9.gz # 20160517: ReiserFS removed OLD_FILES+=usr/share/man/man5/reiserfs.5.gz # 20160430: kvm_getfiles(3) removed from kvm(3) Modified: projects/zfsd/head/UPDATING ============================================================================== --- projects/zfsd/head/UPDATING Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/UPDATING Wed May 25 16:04:50 2016 (r300688) @@ -31,6 +31,18 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20160523: + The bitstring(3) API has been updated with new functionality and + improved performance. But it is binary-incompatible with the old API. + Objects built with the new headers may not be linked against objects + built with the old headers. + +20160520: + The brk and sbrk functions have been removed from libc on arm64. + Binutils from ports has been updated to not link to these + functions and should be updated to the latest version before + installing a new libc. + 20160517: The armv6 port now defaults to hard float ABI. Limited support for running both hardfloat and soft float on the same system @@ -39,6 +51,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 and packages may fail or need manual intervention to run. New packages will be needed. + To update an existing self-hosted armv6hf system, you must add + TARGET_ARCH=armv6 on the make command line for both the build + and the install steps. + 20160510: Kernel modules compiled outside of a kernel build now default to installing to /boot/modules instead of /boot/kernel. Many kernel Modified: projects/zfsd/head/bin/ed/cbc.c ============================================================================== --- projects/zfsd/head/bin/ed/cbc.c Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/bin/ed/cbc.c Wed May 25 16:04:50 2016 (r300688) @@ -90,16 +90,13 @@ void init_des_cipher(void) { #ifdef DES - int i; - des_ct = des_n = 0; /* initialize the initialization vector */ MEMZERO(ivec, 8); /* initialize the padding vector */ - for (i = 0; i < 8; i++) - pvec[i] = (char) (arc4random() % 256); + arc4random_buf(pvec, sizeof(pvec)); #endif } @@ -164,7 +161,7 @@ get_keyword(void) /* * get the key */ - if (*(p = getpass("Enter key: "))) { + if ((p = getpass("Enter key: ")) != NULL && *p != '\0') { /* * copy it, nul-padded, into the key area Modified: projects/zfsd/head/bin/sh/parser.c ============================================================================== --- projects/zfsd/head/bin/sh/parser.c Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/bin/sh/parser.c Wed May 25 16:04:50 2016 (r300688) @@ -1998,7 +1998,7 @@ getprompt(void *unused __unused) /* * Format prompt string. */ - for (i = 0; (i < 127) && (*fmt != '\0'); i++, fmt++) + for (i = 0; (i < PROMPTLEN - 1) && (*fmt != '\0'); i++, fmt++) if (*fmt == '\\') switch (*++fmt) { @@ -2011,7 +2011,8 @@ getprompt(void *unused __unused) case 'h': case 'H': ps[i] = '\0'; - gethostname(&ps[i], PROMPTLEN - i); + gethostname(&ps[i], PROMPTLEN - i - 1); + ps[PROMPTLEN - 1] = '\0'; /* Skip to end of hostname. */ trim = (*fmt == 'h') ? '.' : '\0'; while ((ps[i] != '\0') && (ps[i] != trim)) @@ -2061,8 +2062,9 @@ getprompt(void *unused __unused) * Emit unrecognized formats verbatim. */ default: - ps[i++] = '\\'; - ps[i] = *fmt; + ps[i] = '\\'; + if (i < PROMPTLEN - 1) + ps[++i] = *fmt; break; } else Modified: projects/zfsd/head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c ============================================================================== --- projects/zfsd/head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Wed May 25 16:04:50 2016 (r300688) @@ -250,6 +250,9 @@ printf("%s:%s(%d): DOODAD\n",__FUNCTION_ dofr[j].dofr_offset + 4; rel->r_info = ELF32_R_INFO(count + dep->de_global, R_PPC_REL32); +#elif defined(__riscv__) +/* XXX */ +printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); #elif defined(__sparc) /* * Add 4 bytes to hit the low half of this 64-bit @@ -440,6 +443,8 @@ prepare_elf64(dtrace_hdl_t *dtp, const d dofr[j].dofr_offset; rel->r_info = ELF64_R_INFO(count + dep->de_global, R_PPC64_REL64); +#elif defined(__riscv__) +/* XXX */ #elif defined(__i386) || defined(__amd64) rel->r_offset = s->dofs_offset + dofr[j].dofr_offset; @@ -935,7 +940,15 @@ dt_modtext(dtrace_hdl_t *dtp, char *p, i return (0); } - +#elif defined(__riscv__) +/* XXX */ +static int +dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, + uint32_t *off) +{ +printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); + return (0); +} #elif defined(__sparc) #define DT_OP_RET 0x81c7e008 Modified: projects/zfsd/head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c ============================================================================== --- projects/zfsd/head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c Wed May 25 16:04:50 2016 (r300688) @@ -310,7 +310,8 @@ pfprint_fp(dtrace_hdl_t *dtp, FILE *fp, case sizeof (double): return (dt_printf(dtp, fp, format, *((double *)addr) / n)); -#if !defined(__arm__) && !defined(__powerpc__) && !defined(__mips__) +#if !defined(__arm__) && !defined(__powerpc__) && \ + !defined(__mips__) && !defined(__riscv__) case sizeof (long double): return (dt_printf(dtp, fp, format, *((long double *)addr) / ldn)); Modified: projects/zfsd/head/cddl/lib/Makefile ============================================================================== --- projects/zfsd/head/cddl/lib/Makefile Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/cddl/lib/Makefile Wed May 25 16:04:50 2016 (r300688) @@ -26,7 +26,7 @@ _libzpool= libzpool .endif .endif -.if ${MACHINE_CPUARCH} != "sparc64" && ${MACHINE_CPUARCH} != "riscv" +.if ${MACHINE_CPUARCH} != "sparc64" _drti= drti _libdtrace= libdtrace .endif Modified: projects/zfsd/head/cddl/lib/libdtrace/Makefile ============================================================================== --- projects/zfsd/head/cddl/lib/libdtrace/Makefile Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/cddl/lib/libdtrace/Makefile Wed May 25 16:04:50 2016 (r300688) @@ -95,6 +95,10 @@ CFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/ut CFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/powerpc .PATH: ${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libdtrace/powerpc .PATH: ${.CURDIR}/../../../sys/cddl/dev/dtrace/powerpc +.elif ${MACHINE_CPUARCH} == "riscv" +CFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/riscv +.PATH: ${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libdtrace/riscv +.PATH: ${.CURDIR}/../../../sys/cddl/dev/dtrace/riscv .elif ${MACHINE_CPUARCH} == "sparc64" CFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/sparc .PATH: ${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libdtrace/sparc Modified: projects/zfsd/head/cddl/usr.sbin/Makefile ============================================================================== --- projects/zfsd/head/cddl/usr.sbin/Makefile Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/cddl/usr.sbin/Makefile Wed May 25 16:04:50 2016 (r300688) @@ -30,7 +30,8 @@ _lockstat= lockstat _plockstat= plockstat .endif -.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm" +.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm" || \ + ${MACHINE_CPUARCH} == "riscv" _dtrace= dtrace _lockstat= lockstat .endif Modified: projects/zfsd/head/contrib/binutils/gas/config/tc-arm.c ============================================================================== --- projects/zfsd/head/contrib/binutils/gas/config/tc-arm.c Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/contrib/binutils/gas/config/tc-arm.c Wed May 25 16:04:50 2016 (r300688) @@ -2284,6 +2284,37 @@ s_unreq (int a ATTRIBUTE_UNUSED) demand_empty_rest_of_line (); } +static void +s_inst(int unused ATTRIBUTE_UNUSED) +{ + expressionS exp; + + if (thumb_mode) { + as_bad(".inst not implemented for Thumb mode"); + ignore_rest_of_line(); + return; + } + + if (is_it_end_of_statement()) { + demand_empty_rest_of_line(); + return; + } + + do { + expression(&exp); + + if (exp.X_op != O_constant) + as_bad("constant expression required"); + else + emit_expr(&exp, 4); + + } while (*input_line_pointer++ == ','); + + /* Put terminator back into stream. */ + input_line_pointer--; + demand_empty_rest_of_line(); +} + /* Directives: Instruction set selection. */ #ifdef OBJ_ELF @@ -3837,10 +3868,10 @@ s_arm_eabi_attribute (int ignored ATTRIB #endif /* OBJ_ELF */ static void s_arm_arch (int); -static void s_arm_arch_extension (int); static void s_arm_object_arch (int); static void s_arm_cpu (int); static void s_arm_fpu (int); +static void s_arm_arch_extension (int); #ifdef TE_PE @@ -3892,9 +3923,10 @@ const pseudo_typeS md_pseudo_table[] = { "syntax", s_syntax, 0 }, { "cpu", s_arm_cpu, 0 }, { "arch", s_arm_arch, 0 }, - { "arch_extension", s_arm_arch_extension, 0 }, { "object_arch", s_arm_object_arch, 0 }, { "fpu", s_arm_fpu, 0 }, + { "arch_extension", s_arm_arch_extension, 0 }, + { "inst", s_inst, 0 }, #ifdef OBJ_ELF { "word", s_arm_elf_cons, 4 }, { "long", s_arm_elf_cons, 4 }, Modified: projects/zfsd/head/contrib/bmake/ChangeLog ============================================================================== --- projects/zfsd/head/contrib/bmake/ChangeLog Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/contrib/bmake/ChangeLog Wed May 25 16:04:50 2016 (r300688) @@ -1,3 +1,26 @@ +2016-05-12 Simon J. Gerraty + + * Makefile (_MAKE_VERSION): 20160512 + Merge with NetBSD make, pick up + o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS + this is useful for gcov builds. + o propagate errors from filemon(4). + +2016-05-09 Simon J. Gerraty + + * Makefile (_MAKE_VERSION): 20160509 + Merge with NetBSD make, pick up + o remove use of non-standard types u_int etc. + o meta.c: apply realpath() before matching against metaIgnorePaths + +2016-04-04 Simon J. Gerraty + + * Makefile (_MAKE_VERSION): 20160404 + Merge with NetBSD make, pick up + o allow makefile to set .MAKE.JOBS + + * Makefile (PROG_NAME): use ${_MAKE_VERSION} + 2016-03-15 Simon J. Gerraty * Makefile (_MAKE_VERSION): 20160315 Modified: projects/zfsd/head/contrib/bmake/Makefile ============================================================================== --- projects/zfsd/head/contrib/bmake/Makefile Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/contrib/bmake/Makefile Wed May 25 16:04:50 2016 (r300688) @@ -1,7 +1,7 @@ -# $Id: Makefile,v 1.58 2016/03/15 23:39:12 sjg Exp $ +# $Id: Makefile,v 1.63 2016/05/12 20:34:46 sjg Exp $ # Base version on src date -_MAKE_VERSION= 20160315 +_MAKE_VERSION= 20160512 PROG= bmake @@ -131,9 +131,9 @@ OPTIONS_DEFAULT_NO+= \ .include .if ${MK_PROG_VERSION} == "yes" -PROG_NAME= ${PROG}-${MAKE_VERSION} +PROG_NAME= ${PROG}-${_MAKE_VERSION} .if ${MK_PROG_LINK} == "yes" -SYMLINKS+= ${PROG}-${MAKE_VERSION} ${BINDIR}/${PROG} +SYMLINKS+= ${PROG_NAME} ${BINDIR}/${PROG} .endif .endif Modified: projects/zfsd/head/contrib/bmake/arch.c ============================================================================== --- projects/zfsd/head/contrib/bmake/arch.c Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/contrib/bmake/arch.c Wed May 25 16:04:50 2016 (r300688) @@ -1,4 +1,4 @@ -/* $NetBSD: arch.c,v 1.68 2016/02/18 18:29:14 christos Exp $ */ +/* $NetBSD: arch.c,v 1.69 2016/04/06 09:57:00 gson Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: arch.c,v 1.68 2016/02/18 18:29:14 christos Exp $"; +static char rcsid[] = "$NetBSD: arch.c,v 1.69 2016/04/06 09:57:00 gson Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)arch.c 8.2 (Berkeley) 1/2/94"; #else -__RCSID("$NetBSD: arch.c,v 1.68 2016/02/18 18:29:14 christos Exp $"); +__RCSID("$NetBSD: arch.c,v 1.69 2016/04/06 09:57:00 gson Exp $"); #endif #endif /* not lint */ #endif @@ -832,7 +832,7 @@ ArchSVR4Entry(Arch *ar, char *name, size } if (DEBUG(ARCH)) { fprintf(debug_file, "Found svr4 archive name table with %lu entries\n", - (u_long)entry); + (unsigned long)entry); } return 0; } @@ -850,7 +850,7 @@ ArchSVR4Entry(Arch *ar, char *name, size if (entry >= ar->fnamesize) { if (DEBUG(ARCH)) { fprintf(debug_file, "SVR4 entry offset %s is greater than %lu\n", - name, (u_long)ar->fnamesize); + name, (unsigned long)ar->fnamesize); } return 2; } Modified: projects/zfsd/head/contrib/bmake/bmake.1 ============================================================================== --- projects/zfsd/head/contrib/bmake/bmake.1 Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/contrib/bmake/bmake.1 Wed May 25 16:04:50 2016 (r300688) @@ -1,4 +1,4 @@ -.\" $NetBSD: make.1,v 1.255 2016/03/14 07:42:15 matthias Exp $ +.\" $NetBSD: make.1,v 1.257 2016/05/10 23:45:45 sjg Exp $ .\" .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" from: @(#)make.1 8.4 (Berkeley) 3/19/94 .\" -.Dd February 19, 2016 +.Dd May 10, 2016 .Dt MAKE 1 .Os .Sh NAME @@ -913,6 +913,9 @@ Provides a list of path prefixes that sh because the contents are expected to change over time. The default list includes: .Ql Pa /dev /etc /proc /tmp /var/run /var/tmp +.It Va .MAKE.META.IGNORE_PATTERNS +Provides a list of patterns to match against pathnames. +Ignore any that match. .It Va .MAKE.META.PREFIX Defines the message printed for each meta file updated in "meta verbose" mode. The default value is: Modified: projects/zfsd/head/contrib/bmake/bmake.cat1 ============================================================================== --- projects/zfsd/head/contrib/bmake/bmake.cat1 Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/contrib/bmake/bmake.cat1 Wed May 25 16:04:50 2016 (r300688) @@ -586,6 +586,10 @@ VVAARRIIAABBLLEE AASSSSIIGG The default list includes: `_/_d_e_v _/_e_t_c _/_p_r_o_c _/_t_m_p _/_v_a_r_/_r_u_n _/_v_a_r_/_t_m_p' + _._M_A_K_E_._M_E_T_A_._I_G_N_O_R_E___P_A_T_T_E_R_N_S + Provides a list of patterns to match against pathnames. + Ignore any that match. + _._M_A_K_E_._M_E_T_A_._P_R_E_F_I_X Defines the message printed for each meta file updated in "meta verbose" mode. The default value is: @@ -1471,4 +1475,4 @@ BBUUGGSS There is no way of escaping a space character in a filename. -NetBSD 5.1 February 19, 2016 NetBSD 5.1 +NetBSD 5.1 May 10, 2016 NetBSD 5.1 Modified: projects/zfsd/head/contrib/bmake/compat.c ============================================================================== --- projects/zfsd/head/contrib/bmake/compat.c Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/contrib/bmake/compat.c Wed May 25 16:04:50 2016 (r300688) @@ -1,4 +1,4 @@ -/* $NetBSD: compat.c,v 1.104 2016/02/18 18:29:14 christos Exp $ */ +/* $NetBSD: compat.c,v 1.105 2016/05/12 20:28:34 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -70,14 +70,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: compat.c,v 1.104 2016/02/18 18:29:14 christos Exp $"; +static char rcsid[] = "$NetBSD: compat.c,v 1.105 2016/05/12 20:28:34 sjg Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)compat.c 8.2 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: compat.c,v 1.104 2016/02/18 18:29:14 christos Exp $"); +__RCSID("$NetBSD: compat.c,v 1.105 2016/05/12 20:28:34 sjg Exp $"); #endif #endif /* not lint */ #endif @@ -586,7 +586,8 @@ Compat_Make(void *gnp, void *pgnp) } #ifdef USE_META if (useMeta && !NoExecute(gn)) { - meta_job_finish(NULL); + if (meta_job_finish(NULL) != 0) + gn->made = ERROR; } #endif Modified: projects/zfsd/head/contrib/bmake/job.c ============================================================================== --- projects/zfsd/head/contrib/bmake/job.c Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/contrib/bmake/job.c Wed May 25 16:04:50 2016 (r300688) @@ -1,4 +1,4 @@ -/* $NetBSD: job.c,v 1.186 2016/02/18 18:29:14 christos Exp $ */ +/* $NetBSD: job.c,v 1.187 2016/05/12 20:28:34 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -70,14 +70,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: job.c,v 1.186 2016/02/18 18:29:14 christos Exp $"; +static char rcsid[] = "$NetBSD: job.c,v 1.187 2016/05/12 20:28:34 sjg Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)job.c 8.2 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: job.c,v 1.186 2016/02/18 18:29:14 christos Exp $"); +__RCSID("$NetBSD: job.c,v 1.187 2016/05/12 20:28:34 sjg Exp $"); #endif #endif /* not lint */ #endif @@ -1072,7 +1072,11 @@ JobFinish (Job *job, WAIT_T status) #ifdef USE_META if (useMeta) { - meta_job_finish(job); + int x; + + if ((x = meta_job_finish(job)) != 0 && status == 0) { + status = x; + } } #endif Modified: projects/zfsd/head/contrib/bmake/main.c ============================================================================== --- projects/zfsd/head/contrib/bmake/main.c Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/contrib/bmake/main.c Wed May 25 16:04:50 2016 (r300688) @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.242 2016/03/07 21:45:43 christos Exp $ */ +/* $NetBSD: main.c,v 1.244 2016/04/05 04:25:43 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,7 +69,7 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: main.c,v 1.242 2016/03/07 21:45:43 christos Exp $"; +static char rcsid[] = "$NetBSD: main.c,v 1.244 2016/04/05 04:25:43 sjg Exp $"; #else #include #ifndef lint @@ -81,7 +81,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988, 19 #if 0 static char sccsid[] = "@(#)main.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: main.c,v 1.242 2016/03/07 21:45:43 christos Exp $"); +__RCSID("$NetBSD: main.c,v 1.244 2016/04/05 04:25:43 sjg Exp $"); #endif #endif /* not lint */ #endif @@ -1152,14 +1152,6 @@ main(int argc, char **argv) } /* - * Be compatible if user did not specify -j and did not explicitly - * turned compatibility on - */ - if (!compatMake && !forceJobs) { - compatMake = TRUE; - } - - /* * Initialize archive, target and suffix modules in preparation for * parsing the makefile(s) */ @@ -1275,6 +1267,36 @@ main(int argc, char **argv) Var_Append("MFLAGS", Var_Value(MAKEFLAGS, VAR_GLOBAL, &p1), VAR_GLOBAL); free(p1); + if (!forceJobs && !compatMake && + Var_Exists(".MAKE.JOBS", VAR_GLOBAL)) { + char *value; + int n; + + value = Var_Subst(NULL, "${.MAKE.JOBS}", VAR_GLOBAL, VARF_WANTRES); + n = strtol(value, NULL, 0); + if (n < 1) { + (void)fprintf(stderr, "%s: illegal value for .MAKE.JOBS -- must be positive integer!\n", + progname); + exit(1); + } + if (n != maxJobs) { + Var_Append(MAKEFLAGS, "-j", VAR_GLOBAL); + Var_Append(MAKEFLAGS, value, VAR_GLOBAL); + } + maxJobs = n; + maxJobTokens = maxJobs; + forceJobs = TRUE; + free(value); + } + + /* + * Be compatible if user did not specify -j and did not explicitly + * turned compatibility on + */ + if (!compatMake && !forceJobs) { + compatMake = TRUE; + } + if (!compatMake) Job_ServerStart(maxJobTokens, jp_0, jp_1); if (DEBUG(JOB)) Modified: projects/zfsd/head/contrib/bmake/make.1 ============================================================================== --- projects/zfsd/head/contrib/bmake/make.1 Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/contrib/bmake/make.1 Wed May 25 16:04:50 2016 (r300688) @@ -1,4 +1,4 @@ -.\" $NetBSD: make.1,v 1.255 2016/03/14 07:42:15 matthias Exp $ +.\" $NetBSD: make.1,v 1.257 2016/05/10 23:45:45 sjg Exp $ .\" .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" from: @(#)make.1 8.4 (Berkeley) 3/19/94 .\" -.Dd February 19, 2016 +.Dd May 10, 2016 .Dt MAKE 1 .Os .Sh NAME @@ -924,6 +924,9 @@ Provides a list of path prefixes that sh because the contents are expected to change over time. The default list includes: .Ql Pa /dev /etc /proc /tmp /var/run /var/tmp +.It Va .MAKE.META.IGNORE_PATTERNS +Provides a list of patterns to match against pathnames. +Ignore any that match. .It Va .MAKE.META.PREFIX Defines the message printed for each meta file updated in "meta verbose" mode. The default value is: Modified: projects/zfsd/head/contrib/bmake/meta.c ============================================================================== --- projects/zfsd/head/contrib/bmake/meta.c Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/contrib/bmake/meta.c Wed May 25 16:04:50 2016 (r300688) @@ -1,4 +1,4 @@ -/* $NetBSD: meta.c,v 1.54 2016/03/11 07:01:21 sjg Exp $ */ +/* $NetBSD: meta.c,v 1.57 2016/05/12 20:28:34 sjg Exp $ */ /* * Implement 'meta' mode. @@ -66,6 +66,9 @@ static char *metaIgnorePathsStr; /* stri #ifndef MAKE_META_IGNORE_PATHS #define MAKE_META_IGNORE_PATHS ".MAKE.META.IGNORE_PATHS" #endif +#ifndef MAKE_META_IGNORE_PATTERNS +#define MAKE_META_IGNORE_PATTERNS ".MAKE.META.IGNORE_PATTERNS" +#endif Boolean useMeta = FALSE; static Boolean useFilemon = FALSE; @@ -73,6 +76,7 @@ static Boolean writeMeta = FALSE; static Boolean metaEnv = FALSE; /* don't save env unless asked */ static Boolean metaVerbose = FALSE; static Boolean metaIgnoreCMDs = FALSE; /* ignore CMDs in .meta files */ +static Boolean metaIgnorePatterns = FALSE; /* do we need to do pattern matches */ static Boolean metaCurdirOk = FALSE; /* write .meta in .CURDIR Ok? */ static Boolean metaSilent = FALSE; /* if we have a .meta be SILENT */ @@ -157,28 +161,33 @@ filemon_open(BuildMon *pbm) * Read the build monitor output file and write records to the target's * metadata file. */ -static void +static int filemon_read(FILE *mfp, int fd) { char buf[BUFSIZ]; int n; + int error; /* Check if we're not writing to a meta data file.*/ if (mfp == NULL) { if (fd >= 0) close(fd); /* not interested */ - return; + return 0; } /* rewind */ (void)lseek(fd, (off_t)0, SEEK_SET); + error = 0; fprintf(mfp, "\n-- filemon acquired metadata --\n"); while ((n = read(fd, buf, sizeof(buf))) > 0) { - fwrite(buf, 1, n, mfp); + if ((int)fwrite(buf, 1, n, mfp) < n) + error = EIO; } fflush(mfp); - close(fd); + if (close(fd) < 0) + error = errno; + return error; } #endif @@ -620,6 +629,15 @@ meta_mode_init(const char *make_mode) if (metaIgnorePathsStr) { str2Lst_Append(metaIgnorePaths, metaIgnorePathsStr, NULL); } + + /* + * We ignore any paths that match ${.MAKE.META.IGNORE_PATTERNS} + */ + cp = NULL; + if (Var_Value(MAKE_META_IGNORE_PATTERNS, VAR_GLOBAL, &cp)) { + metaIgnorePatterns = TRUE; + free(cp); + } } /* @@ -744,27 +762,35 @@ meta_job_output(Job *job, char *cp, cons } } -void +int meta_cmd_finish(void *pbmp) { + int error = 0; #ifdef USE_FILEMON BuildMon *pbm = pbmp; + int x; if (!pbm) pbm = &Mybm; if (pbm->filemon_fd >= 0) { - close(pbm->filemon_fd); - filemon_read(pbm->mfp, pbm->mon_fd); + if (close(pbm->filemon_fd) < 0) + error = errno; + x = filemon_read(pbm->mfp, pbm->mon_fd); + if (error == 0 && x != 0) + error = x; pbm->filemon_fd = pbm->mon_fd = -1; } #endif + return error; } -void +int meta_job_finish(Job *job) { BuildMon *pbm; + int error = 0; + int x; if (job != NULL) { pbm = &job->bm; @@ -772,11 +798,14 @@ meta_job_finish(Job *job) pbm = &Mybm; } if (pbm->mfp != NULL) { - meta_cmd_finish(pbm); - fclose(pbm->mfp); + error = meta_cmd_finish(pbm); + x = fclose(pbm->mfp); + if (error == 0 && x != 0) + error = errno; pbm->mfp = NULL; pbm->meta_fname[0] = '\0'; } + return error; } void @@ -1209,14 +1238,35 @@ meta_oodate(GNode *gn, Boolean oodate) * be part of the dependencies because * they are _expected_ to change. */ - if (*p == '/' && - Lst_ForEach(metaIgnorePaths, prefix_match, p)) { + if (*p == '/') { + realpath(p, fname1); /* clean it up */ + if (Lst_ForEach(metaIgnorePaths, prefix_match, fname1)) { #ifdef DEBUG_META_MODE - if (DEBUG(META)) - fprintf(debug_file, "meta_oodate: ignoring: %s\n", - p); + if (DEBUG(META)) + fprintf(debug_file, "meta_oodate: ignoring path: %s\n", + p); #endif - break; + break; + } + } + + if (metaIgnorePatterns) { + char *pm; + + snprintf(fname1, sizeof(fname1), + "${%s:@m@${%s:L:M$m}@}", + MAKE_META_IGNORE_PATTERNS, p); + pm = Var_Subst(NULL, fname1, gn, VARF_WANTRES); + if (*pm) { +#ifdef DEBUG_META_MODE + if (DEBUG(META)) + fprintf(debug_file, "meta_oodate: ignoring pattern: %s\n", + p); +#endif + free(pm); + break; + } + free(pm); } /* Modified: projects/zfsd/head/contrib/bmake/meta.h ============================================================================== --- projects/zfsd/head/contrib/bmake/meta.h Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/contrib/bmake/meta.h Wed May 25 16:04:50 2016 (r300688) @@ -1,4 +1,4 @@ -/* $NetBSD: meta.h,v 1.4 2016/03/07 21:45:43 christos Exp $ */ +/* $NetBSD: meta.h,v 1.5 2016/05/12 20:28:34 sjg Exp $ */ /* * Things needed for 'meta' mode. @@ -48,8 +48,8 @@ void meta_job_start(struct Job *, GNode void meta_job_child(struct Job *); void meta_job_error(struct Job *, GNode *, int, int); void meta_job_output(struct Job *, char *, const char *); -void meta_cmd_finish(void *); -void meta_job_finish(struct Job *); +int meta_cmd_finish(void *); +int meta_job_finish(struct Job *); Boolean meta_oodate(GNode *, Boolean); void meta_compat_start(void); void meta_compat_child(void); Modified: projects/zfsd/head/contrib/bmake/mk/ChangeLog ============================================================================== --- projects/zfsd/head/contrib/bmake/mk/ChangeLog Wed May 25 15:54:21 2016 (r300687) +++ projects/zfsd/head/contrib/bmake/mk/ChangeLog Wed May 25 16:04:50 2016 (r300688) @@ -1,3 +1,57 @@ +2016-05-12 Simon J. Gerraty + + * install-mk (MK_VERSION): 20160512 + + * dpadd.mk: always include local.dpadd.mk if it exists + remove some things that better belong in local.dpadd.mk + skip INCLUDES_* for staged libs unless SRC_* defined. + + * own.mk: add INCLUDEDIR + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Wed May 25 17:10:11 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D2950B4AB27 for ; Wed, 25 May 2016 17:10:11 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ADBF410D8; Wed, 25 May 2016 17:10:11 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4PHAA9w005355; Wed, 25 May 2016 17:10:10 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4PHAAxU005350; Wed, 25 May 2016 17:10:10 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201605251710.u4PHAAxU005350@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Wed, 25 May 2016 17:10:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300690 - in projects/zfsd/head: cddl/usr.sbin/zfsd lib/libdevdctl 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.22 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, 25 May 2016 17:10:11 -0000 Author: asomers Date: Wed May 25 17:10:10 2016 New Revision: 300690 URL: https://svnweb.freebsd.org/changeset/base/300690 Log: Fix the zfsd build on sparc64 lib/libdevdctl/event.cc cddl/usr.sbin/zfsd/case_file.cc Remove C++11isms cddl/usr.sbin/zfsd/vdev.cc cddl/usr.sbin/zfsd/zfsd_event.cc Undefine the flush macro, which is defined by cpufunc.h for sparc64 only. It conficts with std::[io]stream::flush Sponsored by: Spectra Logic Corp Modified: projects/zfsd/head/cddl/usr.sbin/zfsd/case_file.cc projects/zfsd/head/cddl/usr.sbin/zfsd/vdev.cc projects/zfsd/head/cddl/usr.sbin/zfsd/zfsd_event.cc projects/zfsd/head/lib/libdevdctl/event.cc Modified: projects/zfsd/head/cddl/usr.sbin/zfsd/case_file.cc ============================================================================== --- projects/zfsd/head/cddl/usr.sbin/zfsd/case_file.cc Wed May 25 16:38:10 2016 (r300689) +++ projects/zfsd/head/cddl/usr.sbin/zfsd/case_file.cc Wed May 25 17:10:10 2016 (r300690) @@ -143,7 +143,8 @@ CaseFile::ReEvaluateByGuid(Guid poolGUID { CaseFileList::iterator casefile; for (casefile = s_activeCases.begin(); casefile != s_activeCases.end();){ - CaseFileList::iterator next = std::next(casefile); + CaseFileList::iterator next = casefile; + next++; if (poolGUID == (*casefile)->PoolGUID()) (*casefile)->ReEvaluate(event); casefile = next; Modified: projects/zfsd/head/cddl/usr.sbin/zfsd/vdev.cc ============================================================================== --- projects/zfsd/head/cddl/usr.sbin/zfsd/vdev.cc Wed May 25 16:38:10 2016 (r300689) +++ projects/zfsd/head/cddl/usr.sbin/zfsd/vdev.cc Wed May 25 17:10:10 2016 (r300690) @@ -42,6 +42,11 @@ #include #include +/* + * Undefine flush, defined by cpufunc.h on sparc64, because it conflicts with + * C++ flush methods + */ +#undef flush #include #include Modified: projects/zfsd/head/cddl/usr.sbin/zfsd/zfsd_event.cc ============================================================================== --- projects/zfsd/head/cddl/usr.sbin/zfsd/zfsd_event.cc Wed May 25 16:38:10 2016 (r300689) +++ projects/zfsd/head/cddl/usr.sbin/zfsd/zfsd_event.cc Wed May 25 17:10:10 2016 (r300690) @@ -40,6 +40,11 @@ #include #include +/* + * Undefine flush, defined by cpufunc.h on sparc64, because it conflicts with + * C++ flush methods + */ +#undef flush #include #include Modified: projects/zfsd/head/lib/libdevdctl/event.cc ============================================================================== --- projects/zfsd/head/lib/libdevdctl/event.cc Wed May 25 16:38:10 2016 (r300689) +++ projects/zfsd/head/lib/libdevdctl/event.cc Wed May 25 17:10:10 2016 (r300690) @@ -44,12 +44,12 @@ #include #include +#include #include #include #include #include -#include #include #include #include @@ -69,9 +69,7 @@ __FBSDID("$FreeBSD$"); #define NUM_ELEMENTS(x) (sizeof(x) / sizeof(*x)) /*============================ Namespace Control =============================*/ -using std::begin; using std::cout; -using std::end; using std::endl; using std::string; using std::stringstream; @@ -135,7 +133,8 @@ Event::DevName(std::string &name) const bool Event::IsDiskDev() const { - static const char *diskDevNames[] = + const int numDrivers = 2; + static const char *diskDevNames[numDrivers] = { "da", "ada" @@ -154,7 +153,8 @@ Event::IsDiskDev() const find_start++; } - for (dName = begin(diskDevNames); dName <= end(diskDevNames); dName++) { + for (dName = &diskDevNames[0]; + dName <= &diskDevNames[numDrivers - 1]; dName++) { size_t loc(devName.find(*dName, find_start)); if (loc == find_start) { From owner-svn-src-projects@freebsd.org Wed May 25 19:41:49 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BFCB0B4AF4C for ; Wed, 25 May 2016 19:41:49 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8A703198D; Wed, 25 May 2016 19:41:49 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4PJfm7h052153; Wed, 25 May 2016 19:41:48 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4PJfmDk052152; Wed, 25 May 2016 19:41:48 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201605251941.u4PJfmDk052152@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Wed, 25 May 2016 19:41:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300693 - projects/zfsd/head/cddl/usr.sbin/zfsd 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.22 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, 25 May 2016 19:41:49 -0000 Author: asomers Date: Wed May 25 19:41:48 2016 New Revision: 300693 URL: https://svnweb.freebsd.org/changeset/base/300693 Log: Fix the zfsd build on 32-bit targets cddl/usr/sbin/zfsd/zfsd.cc Fix a printf format specifier that assumed 64-bit longs Sponsored by: Spectra Logic Corp Modified: projects/zfsd/head/cddl/usr.sbin/zfsd/zfsd.cc Modified: projects/zfsd/head/cddl/usr.sbin/zfsd/zfsd.cc ============================================================================== --- projects/zfsd/head/cddl/usr.sbin/zfsd/zfsd.cc Wed May 25 18:38:30 2016 (r300692) +++ projects/zfsd/head/cddl/usr.sbin/zfsd/zfsd.cc Wed May 25 19:41:48 2016 (r300693) @@ -248,7 +248,7 @@ ZfsDaemon::BuildCaseFiles() snprintf(evString, 160, "!system=ZFS subsystem=ZFS " "type=misc.fs.zfs.config_sync sub_type=synthesized " - "pool_name=%s pool_guid=%lu\n", poolname, poolGUID); + "pool_name=%s pool_guid=%" PRIu64 "\n", poolname, poolGUID); event = Event::CreateEvent(GetFactory(), string(evString)); if (event != NULL) { event->Process(); From owner-svn-src-projects@freebsd.org Wed May 25 20:11:27 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DE8F7B49A99 for ; Wed, 25 May 2016 20:11:27 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9FF881D35; Wed, 25 May 2016 20:11:27 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4PKBQfJ063560; Wed, 25 May 2016 20:11:26 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4PKBQ06063559; Wed, 25 May 2016 20:11:26 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201605252011.u4PKBQ06063559@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Wed, 25 May 2016 20:11:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300695 - projects/zfsd/head/cddl/usr.sbin/zfsd/tests X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.22 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, 25 May 2016 20:11:28 -0000 Author: asomers Date: Wed May 25 20:11:26 2016 New Revision: 300695 URL: https://svnweb.freebsd.org/changeset/base/300695 Log: Convert the zfsd unittests from an ATF test to a plain test This abandons the gcov integration, but that doesn't work with clang anyway. There's no reduction in the granularity of test visibility to Kyua, because the entire file was a single test from the perspective of ATF. Sponsored by: Spectra Logic Corp Deleted: projects/zfsd/head/cddl/usr.sbin/zfsd/tests/zfsd_test.sh Modified: projects/zfsd/head/cddl/usr.sbin/zfsd/tests/Makefile Modified: projects/zfsd/head/cddl/usr.sbin/zfsd/tests/Makefile ============================================================================== --- projects/zfsd/head/cddl/usr.sbin/zfsd/tests/Makefile Wed May 25 19:44:26 2016 (r300694) +++ projects/zfsd/head/cddl/usr.sbin/zfsd/tests/Makefile Wed May 25 20:11:26 2016 (r300695) @@ -4,45 +4,42 @@ SRCDIR=${.CURDIR}/../../../.. .include "${.CURDIR}/../Makefile.common" .PATH: ${.CURDIR}/.. -PROG_CXX= zfsd_unittest -SRCS:= ${SRCS:Nzfsd_main.cc} -SRCS+= libmocks.c zfsd_unittest.cc +TESTSDIR?= ${TESTSBASE}/cddl/sbin/zfsd + +PLAIN_TESTS_CXX= zfsd_unittest +SRCS.zfsd_unittest:= ${SRCS:Nzfsd_main.cc} +SRCS.zfsd_unittest+= libmocks.c zfsd_unittest.cc +SRCS= # Use #include in test programs. -INCFLAGS+= -I ${.CURDIR}/../.. +INCFLAGS+= -I${.CURDIR}/../.. .if defined(DESTDIR) -INCFLAGS+= -I ${DESTDIR}/usr/include +INCFLAGS+= -I${DESTDIR}/usr/include LIBRARY_PATH= ${DESTDIR}/lib:${DESTDIR}/usr/lib -LDFLAGS+= -L ${DESTDIR}/lib -L ${DESTDIR}/usr/lib +LDFLAGS.zfsd_unittest+= -L${DESTDIR}/lib -L${DESTDIR}/usr/lib .elif defined(WORLDTMP) -INCFLAGS+= -I ${WORLDTMP}/usr/include +INCFLAGS+= -I${WORLDTMP}/usr/include LIBRARY_PATH= ${WORLDTMP}/lib:${WORLDTMP}/usr/lib -LDFLAGS+= -L ${WORLDTMP}/lib -L ${WORLDTMP}/usr/lib +LDFLAGS.zfsd_unittest+= -L${WORLDTMP}/lib -L${WORLDTMP}/usr/lib .else LIBRARY_PATH= .endif -ZFSD_UNITTEST= env LD_LIBRARY_PATH=${LIBRARY_PATH} ./zfsd_unittest # Googletest options LOCALBASE?= /usr/local -INCFLAGS+= -I ${LOCALBASE}/include -D_THREAD_SAFE -pthread -LDFLAGS+= -L ${LOCALBASE}/lib -D_THREAD_SAFE -pthread -LDADD+= ${LOCALBASE}/lib/libgtest.a +INCFLAGS+= -I${LOCALBASE}/include -D_THREAD_SAFE -pthread +LDFLAGS.zfsd_unittest+= -L${LOCALBASE}/lib -D_THREAD_SAFE -pthread +LDADD.zfsd_unittest+= ${LOCALBASE}/lib/libgtest.a # GoogleMock options -LDADD+= ${LOCALBASE}/lib/libgmock.a ${LOCALBASE}/lib/libgmock_main.a +LDADD.zfsd_unittest+= ${LOCALBASE}/lib/libgmock.a ${LOCALBASE}/lib/libgmock_main.a # Googlemock fails if we don't have this line # https://groups.google.com/forum/#!msg/googletestframework/h8ixEPCFm0o/amwfu4xGJb0J -CFLAGS+= -DGTEST_HAS_PTHREAD +CFLAGS.zfsd_unittest+= -DGTEST_HAS_PTHREAD # Install the tests TESTSBASE?= /usr/tests -TESTSDIR?= ${TESTSBASE}/cddl/sbin/zfsd -# TODO: Convert from an ATF SH test to a Kyua plain test -# Long term TODO: Convert to a Kyua googletest test -ATF_TESTS_SH+= zfsd_test -BINDIR= ${TESTSDIR} .include From owner-svn-src-projects@freebsd.org Wed May 25 21:42:21 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D104FB4A31D for ; Wed, 25 May 2016 21:42:21 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-io0-x22d.google.com (mail-io0-x22d.google.com [IPv6:2607:f8b0:4001:c06::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9CADB180E; Wed, 25 May 2016 21:42:21 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-io0-x22d.google.com with SMTP id t40so41474931ioi.0; Wed, 25 May 2016 14:42:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=ysqOe2M72qGmq3VHXQZ8h0JEMZvN+EWuMvGfD7KkKYs=; b=mGBKt91hbfVuiJWJLcCbvvu/xZCwpj/FjgX9IgEWZ8uoMGtYvP5eRCh6L1ijxjuHzi bXSwF0Qy6LtpGKlnFbHzMSvFlxKn8W3HURb9FE+OJYBJN/dATTpHxqc0YnpNR+2OCZGj Ic7m+UB4HktDia0Ok1ozlJpmGfQd10E/aO9H6V+hHYTQB14g6Te8ziBnnfKbfMED8f8A dzbuELdv4TABS9/BFqB3ujZGhC68qNfG+i0wgi22sr1o7UHuIt4wwpKH2Gj3QwqxffN8 DpDRQueKEc8C1DzUaGKuqrIm8iVDMj86fVbwYuw8yVvH3hSa0SqCgq3WMJFo5siCufMg 59LQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=ysqOe2M72qGmq3VHXQZ8h0JEMZvN+EWuMvGfD7KkKYs=; b=gOSzbORUilPA0IYKILiodI/z8UdJKByHJ4iOmhr1lUsgqebGGE8B1vqIBahKCSsona h8ysLEGNXBSd3UytXM9pq0itJ12kIRkGR2xqmoATa6o8eASnezsNQrkpqDQT9Go3iviH 9ErzHEAq5xJKT1/8edD2ZfZ+9HLDhPsvQZ3lyoKnJg3VKuO/GA/ox6RsVZcowVWMdFGw oKENexE0P8wd/Yc+wgSJTdCdUZ3cZ97jFK/Z+kBFBNg0j21pS3sGFZlAD0Aoi156aBxD mf7YQS7nX10MZszcNI/h4gRAQF8Zm3F+3EpzhKlmJQPtNCGvtBz6qSDplf0Aw/A3P3Xc pp2w== X-Gm-Message-State: ALyK8tKklrVFHYsXhASkRvpfRsGXdkQ8FnRoY/57X2eJTOEYCUwAQ39v/N2Ac+kNTVDuLwdnZ6A8/POEmsylPA== MIME-Version: 1.0 X-Received: by 10.55.130.1 with SMTP id e1mr6022896qkd.204.1464212540892; Wed, 25 May 2016 14:42:20 -0700 (PDT) Received: by 10.55.170.201 with HTTP; Wed, 25 May 2016 14:42:20 -0700 (PDT) In-Reply-To: <201605252011.u4PKBQ06063559@repo.freebsd.org> References: <201605252011.u4PKBQ06063559@repo.freebsd.org> Date: Wed, 25 May 2016 14:42:20 -0700 Message-ID: Subject: Re: svn commit: r300695 - projects/zfsd/head/cddl/usr.sbin/zfsd/tests From: Ngie Cooper To: Alan Somers Cc: "src-committers@freebsd.org" , "svn-src-projects@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.22 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, 25 May 2016 21:42:21 -0000 On Wed, May 25, 2016 at 1:11 PM, Alan Somers wrote: ... > This abandons the gcov integration, but that doesn't work with clang anyway. > There's no reduction in the granularity of test visibility to Kyua, because > the entire file was a single test from the perspective of ATF. gcov integration with clang worked for me last year: https://lists.freebsd.org/pipermail/freebsd-toolchain/2015-April/001669.html .. Thanks, -Ngie From owner-svn-src-projects@freebsd.org Thu May 26 00:15:10 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 15F79B4AF9E for ; Thu, 26 May 2016 00:15:10 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-oi0-x231.google.com (mail-oi0-x231.google.com [IPv6:2607:f8b0:4003:c06::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CF234195E; Thu, 26 May 2016 00:15:09 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-oi0-x231.google.com with SMTP id b65so100061967oia.1; Wed, 25 May 2016 17:15:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc; bh=V607HteesOLICMcmKIKCLLGLtOWGd3OHHqCtxI/Jktg=; b=pkq372OTkV8Fh7OlQViJGvsMAE1Lgc/hS9jIPs0rKFDhF1huSqmm1zM+VB0vF5Z1Bq 31OwQc4IcMgrpafWJgU6ivIGJa8LntuD2fYBoDhVqEsxWJbp2Ne8nQwy0eK9bgF2bObH 62Hzig0gdXtzvly4mygvCDhnWwT8+CauRjXW9Y4uaKwNYpgUYg5Y6Uf851EGzVT8iyCu yOZCj60Cnu37ZYeWmiwVyga2Q1x8MOls7Uf4yymFfOLnLStpBhrqzlvpzALDT9gGmpjK OkiGzR/iUVnOmecvHrvVGbxr1GvDfs2w9W5VdL0lPylCrF1CFtpGDikMWjZrUo7J1Zwk wv+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc; bh=V607HteesOLICMcmKIKCLLGLtOWGd3OHHqCtxI/Jktg=; b=IYFD2ywN+8d1V3K6D3E0pdCvM/Jh2M1XGNpu1IMgeBM7ybOY0BajdlR79X3ZbxW+fH uJ0odgX8MsUiUncfqc9SkzgDHPxu83dTZN0Ns74anT9InEHqMppq47EokNtDpasggaLM 5zRujIO5Szhn8Cdg+vBkZXx998gQRLr0j7sKqyWfo0ebgZwm9aES7UqqZ7nNfdRVoZ0P f3YRRr5BZNZBhhFvCKHHvgyAd/AE0RSKmMSPHwvpSjXq2HwsQ26hYnZTMNp5HjCWREKS +KwRLmC7uR4fkk3by7bxuu8Yxjdttn/NHlKFKM/sKqFrlqsZJLwth7vg41JHztyLTKyA 7OnQ== X-Gm-Message-State: ALyK8tI05FU/9SFP14F4+YnYMwx2G9VFOsFxG78jePIDuuGEoCgKjJmZV7WG57eSrMQEIOcvuyJZxh1nTSHXRQ== MIME-Version: 1.0 X-Received: by 10.202.212.19 with SMTP id l19mr4003189oig.182.1464217970332; Wed, 25 May 2016 16:12:50 -0700 (PDT) Sender: asomers@gmail.com Received: by 10.202.4.200 with HTTP; Wed, 25 May 2016 16:12:50 -0700 (PDT) In-Reply-To: References: <201605252011.u4PKBQ06063559@repo.freebsd.org> Date: Wed, 25 May 2016 17:12:50 -0600 X-Google-Sender-Auth: KzKRrOqmsivFxcA09_5aML0EVN0 Message-ID: Subject: Re: svn commit: r300695 - projects/zfsd/head/cddl/usr.sbin/zfsd/tests From: Alan Somers To: Ngie Cooper Cc: "src-committers@freebsd.org" , "svn-src-projects@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.22 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, 26 May 2016 00:15:10 -0000 On Wed, May 25, 2016 at 3:42 PM, Ngie Cooper wrote: > On Wed, May 25, 2016 at 1:11 PM, Alan Somers wrote: > ... > > This abandons the gcov integration, but that doesn't work with clang > anyway. > > There's no reduction in the granularity of test visibility to Kyua, > because > > the entire file was a single test from the perspective of ATF. > > gcov integration with clang worked for me last year: > > https://lists.freebsd.org/pipermail/freebsd-toolchain/2015-April/001669.html > .. > Thanks, > -Ngie > Neat! I didn't know that clang had gained support for libprofile_rt. However, I'm not going to restore zfsd's gcov integration. It seemed like a good idea at the time, but as it turned out, it's too hard to get comprehensive coverage of zfsd with unit tests alone. It simply wasn't designed with unit testing in mind. Instead, I try to get comprehensive coverage with functional tests, which may be found in base/projects/zfsd/head/tests/sys/cddl/zfs/tests/zfsd. -Alan From owner-svn-src-projects@freebsd.org Thu May 26 13:34:13 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8CE02B4BE73 for ; Thu, 26 May 2016 13:34:13 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E8BDA17A6; Thu, 26 May 2016 13:34:12 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4QDYCcY055053; Thu, 26 May 2016 13:34:12 GMT (envelope-from bz@FreeBSD.org) Received: (from bz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4QDY930055025; Thu, 26 May 2016 13:34:09 GMT (envelope-from bz@FreeBSD.org) Message-Id: <201605261334.u4QDY930055025@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org using -f From: "Bjoern A. Zeeb" Date: Thu, 26 May 2016 13:34:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300740 - in projects/vnet: . bin/ed bin/mv bin/ps bin/setfacl bin/sh cddl/contrib/dtracetoolkit cddl/contrib/opensolaris/lib/libdtrace/common cddl/contrib/opensolaris/lib/libdtrace/ris... 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.22 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, 26 May 2016 13:34:13 -0000 Author: bz Date: Thu May 26 13:34:08 2016 New Revision: 300740 URL: https://svnweb.freebsd.org/changeset/base/300740 Log: MfH @rr300739 Sponsored by: The FreeBSD Foundation Added: projects/vnet/cddl/contrib/opensolaris/lib/libdtrace/riscv/ - copied from r300739, head/cddl/contrib/opensolaris/lib/libdtrace/riscv/ projects/vnet/contrib/elftoolchain/libelftc/elftc_reloc_type_str.3 - copied unchanged from r300739, head/contrib/elftoolchain/libelftc/elftc_reloc_type_str.3 projects/vnet/contrib/elftoolchain/libelftc/elftc_reloc_type_str.c - copied unchanged from r300739, head/contrib/elftoolchain/libelftc/elftc_reloc_type_str.c projects/vnet/contrib/top/FREEBSD-upgrade - copied unchanged from r300739, head/contrib/top/FREEBSD-upgrade projects/vnet/contrib/top/commands.h - copied unchanged from r300739, head/contrib/top/commands.h projects/vnet/contrib/top/username.h - copied unchanged from r300739, head/contrib/top/username.h projects/vnet/sbin/camcontrol/epc.c - copied unchanged from r300739, head/sbin/camcontrol/epc.c projects/vnet/sbin/camcontrol/zone.c - copied unchanged from r300739, head/sbin/camcontrol/zone.c projects/vnet/share/man/man9/bus_map_resource.9 - copied unchanged from r300739, head/share/man/man9/bus_map_resource.9 projects/vnet/sys/cddl/contrib/opensolaris/uts/riscv/ - copied from r300739, head/sys/cddl/contrib/opensolaris/uts/riscv/ projects/vnet/sys/cddl/dev/dtrace/riscv/ - copied from r300739, head/sys/cddl/dev/dtrace/riscv/ projects/vnet/sys/cddl/dev/fbt/riscv/ - copied from r300739, head/sys/cddl/dev/fbt/riscv/ projects/vnet/sys/dev/bhnd/bcma/bcma_nexus.c - copied unchanged from r300739, head/sys/dev/bhnd/bcma/bcma_nexus.c projects/vnet/sys/dev/bhnd/bhnd_match.h - copied unchanged from r300739, head/sys/dev/bhnd/bhnd_match.h projects/vnet/sys/dev/bhnd/bhndb/bhnd_bhndb.c - copied unchanged from r300739, head/sys/dev/bhnd/bhndb/bhnd_bhndb.c projects/vnet/sys/dev/bhnd/cores/chipc/bhnd_sprom_chipc.c - copied unchanged from r300739, head/sys/dev/bhnd/cores/chipc/bhnd_sprom_chipc.c projects/vnet/sys/dev/bhnd/cores/chipc/chipc_private.h - copied unchanged from r300739, head/sys/dev/bhnd/cores/chipc/chipc_private.h projects/vnet/sys/dev/bhnd/cores/chipc/chipc_subr.c - copied unchanged from r300739, head/sys/dev/bhnd/cores/chipc/chipc_subr.c projects/vnet/sys/dev/bhnd/nvram/bhnd_sprom_subr.c - copied unchanged from r300739, head/sys/dev/bhnd/nvram/bhnd_sprom_subr.c projects/vnet/sys/dev/bhnd/soc/ - copied from r300739, head/sys/dev/bhnd/soc/ projects/vnet/sys/dev/gpio/gpiospi.c - copied unchanged from r300739, head/sys/dev/gpio/gpiospi.c projects/vnet/sys/dev/hyperv/include/hyperv_busdma.h - copied unchanged from r300739, head/sys/dev/hyperv/include/hyperv_busdma.h projects/vnet/sys/dev/hyperv/vmbus/hyperv_busdma.c - copied unchanged from r300739, head/sys/dev/hyperv/vmbus/hyperv_busdma.c projects/vnet/sys/dev/hyperv/vmbus/hyperv_reg.h - copied unchanged from r300739, head/sys/dev/hyperv/vmbus/hyperv_reg.h projects/vnet/sys/dev/iicbus/ofw_iicbus.c - copied unchanged from r300739, head/sys/dev/iicbus/ofw_iicbus.c projects/vnet/sys/dev/iser/ - copied from r300739, head/sys/dev/iser/ projects/vnet/sys/dev/spibus/spigen.c - copied unchanged from r300739, head/sys/dev/spibus/spigen.c projects/vnet/sys/modules/gpio/gpiospi/ - copied from r300739, head/sys/modules/gpio/gpiospi/ projects/vnet/sys/modules/iser/ - copied from r300739, head/sys/modules/iser/ projects/vnet/sys/modules/vnic/ - copied from r300739, head/sys/modules/vnic/ projects/vnet/sys/sys/disk_zone.h - copied unchanged from r300739, head/sys/sys/disk_zone.h projects/vnet/tools/build/options/WITHOUT_SYSTEM_COMPILER - copied unchanged from r300739, head/tools/build/options/WITHOUT_SYSTEM_COMPILER projects/vnet/tools/build/options/WITH_LIBSOFT - copied unchanged from r300739, head/tools/build/options/WITH_LIBSOFT projects/vnet/tools/build/options/WITH_SYSTEM_COMPILER - copied unchanged from r300739, head/tools/build/options/WITH_SYSTEM_COMPILER projects/vnet/usr.sbin/zonectl/ - copied from r300739, head/usr.sbin/zonectl/ Deleted: projects/vnet/cddl/contrib/dtracetoolkit/ projects/vnet/cddl/usr.sbin/dtruss/ projects/vnet/lib/libc/aarch64/sys/brk.S projects/vnet/lib/libc/aarch64/sys/sbrk.S projects/vnet/lib/libc/riscv/sys/brk.S projects/vnet/lib/libc/riscv/sys/sbrk.S projects/vnet/share/dtrace/toolkit/ projects/vnet/sys/dev/ofw/ofw_iicbus.c Modified: projects/vnet/Makefile.inc1 projects/vnet/ObsoleteFiles.inc projects/vnet/UPDATING projects/vnet/bin/ed/cbc.c projects/vnet/bin/ed/io.c projects/vnet/bin/mv/mv.c projects/vnet/bin/ps/ps.c projects/vnet/bin/ps/ps.h projects/vnet/bin/setfacl/file.c projects/vnet/bin/sh/parser.c projects/vnet/bin/sh/sh.1 projects/vnet/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c projects/vnet/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c projects/vnet/cddl/lib/Makefile projects/vnet/cddl/lib/libdtrace/Makefile projects/vnet/cddl/usr.sbin/Makefile projects/vnet/contrib/binutils/gas/config/tc-arm.c projects/vnet/contrib/bmake/ChangeLog projects/vnet/contrib/bmake/Makefile projects/vnet/contrib/bmake/arch.c projects/vnet/contrib/bmake/bmake.1 projects/vnet/contrib/bmake/bmake.cat1 projects/vnet/contrib/bmake/compat.c projects/vnet/contrib/bmake/job.c projects/vnet/contrib/bmake/main.c projects/vnet/contrib/bmake/make.1 projects/vnet/contrib/bmake/meta.c projects/vnet/contrib/bmake/meta.h projects/vnet/contrib/bmake/mk/ChangeLog projects/vnet/contrib/bmake/mk/auto.dep.mk projects/vnet/contrib/bmake/mk/autodep.mk projects/vnet/contrib/bmake/mk/dirdeps.mk projects/vnet/contrib/bmake/mk/dpadd.mk projects/vnet/contrib/bmake/mk/final.mk projects/vnet/contrib/bmake/mk/gendirdeps.mk projects/vnet/contrib/bmake/mk/init.mk projects/vnet/contrib/bmake/mk/install-mk projects/vnet/contrib/bmake/mk/lib.mk projects/vnet/contrib/bmake/mk/libnames.mk projects/vnet/contrib/bmake/mk/meta.autodep.mk projects/vnet/contrib/bmake/mk/meta.sys.mk projects/vnet/contrib/bmake/mk/meta2deps.py projects/vnet/contrib/bmake/mk/nls.mk projects/vnet/contrib/bmake/mk/own.mk projects/vnet/contrib/bmake/mk/prog.mk projects/vnet/contrib/bmake/mk/subdir.mk projects/vnet/contrib/bmake/mk/sys.mk projects/vnet/contrib/bmake/mk/sys/AIX.mk projects/vnet/contrib/bmake/mk/sys/Darwin.mk projects/vnet/contrib/bmake/mk/sys/Generic.mk projects/vnet/contrib/bmake/mk/sys/HP-UX.mk projects/vnet/contrib/bmake/mk/sys/IRIX.mk projects/vnet/contrib/bmake/mk/sys/Linux.mk projects/vnet/contrib/bmake/mk/sys/NetBSD.mk projects/vnet/contrib/bmake/mk/sys/OSF1.mk projects/vnet/contrib/bmake/mk/sys/OpenBSD.mk projects/vnet/contrib/bmake/mk/sys/SunOS.mk projects/vnet/contrib/bmake/mk/sys/UnixWare.mk projects/vnet/contrib/bmake/mk/warnings.mk projects/vnet/contrib/bmake/parse.c projects/vnet/contrib/bmake/str.c projects/vnet/contrib/elftoolchain/addr2line/addr2line.c projects/vnet/contrib/elftoolchain/brandelf/brandelf.c projects/vnet/contrib/elftoolchain/common/_elftc.h projects/vnet/contrib/elftoolchain/common/elfdefinitions.h projects/vnet/contrib/elftoolchain/cxxfilt/cxxfilt.c projects/vnet/contrib/elftoolchain/elfcopy/ascii.c projects/vnet/contrib/elftoolchain/elfcopy/binary.c projects/vnet/contrib/elftoolchain/elfcopy/elfcopy.1 projects/vnet/contrib/elftoolchain/elfcopy/elfcopy.h projects/vnet/contrib/elftoolchain/elfcopy/main.c projects/vnet/contrib/elftoolchain/elfcopy/pe.c projects/vnet/contrib/elftoolchain/elfcopy/sections.c projects/vnet/contrib/elftoolchain/elfcopy/segments.c projects/vnet/contrib/elftoolchain/elfcopy/symbols.c projects/vnet/contrib/elftoolchain/elfdump/elfdump.c projects/vnet/contrib/elftoolchain/libdwarf/libdwarf.h projects/vnet/contrib/elftoolchain/libdwarf/libdwarf_abbrev.c projects/vnet/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c projects/vnet/contrib/elftoolchain/libdwarf/libdwarf_reloc.c projects/vnet/contrib/elftoolchain/libelf/_libelf_config.h projects/vnet/contrib/elftoolchain/libelf/elf_data.c projects/vnet/contrib/elftoolchain/libelf/libelf_ar.c projects/vnet/contrib/elftoolchain/libelf/libelf_convert.m4 projects/vnet/contrib/elftoolchain/libelftc/Makefile projects/vnet/contrib/elftoolchain/libelftc/libelftc.h projects/vnet/contrib/elftoolchain/libelftc/libelftc_dem_arm.c projects/vnet/contrib/elftoolchain/libelftc/libelftc_dem_gnu2.c projects/vnet/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c projects/vnet/contrib/elftoolchain/libelftc/make-toolchain-version projects/vnet/contrib/elftoolchain/libpe/libpe_section.c projects/vnet/contrib/elftoolchain/libpe/pe.h projects/vnet/contrib/elftoolchain/nm/nm.c projects/vnet/contrib/elftoolchain/readelf/readelf.c projects/vnet/contrib/elftoolchain/size/size.c projects/vnet/contrib/elftoolchain/strings/strings.c projects/vnet/contrib/gcc/c-typeck.c projects/vnet/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/vnet/contrib/netbsd-tests/lib/libc/gen/t_dir.c projects/vnet/contrib/netbsd-tests/lib/libc/sys/t_mlock.c projects/vnet/contrib/top/commands.c projects/vnet/contrib/top/display.c projects/vnet/contrib/top/display.h projects/vnet/contrib/top/machine.h projects/vnet/contrib/top/screen.c projects/vnet/contrib/top/screen.h projects/vnet/contrib/top/top.c projects/vnet/contrib/top/top.h projects/vnet/contrib/top/username.c projects/vnet/contrib/top/utils.h projects/vnet/contrib/top/version.c projects/vnet/etc/defaults/periodic.conf projects/vnet/etc/mtree/BSD.usr.dist projects/vnet/etc/rc.d/ntpd projects/vnet/gnu/usr.bin/cc/cc_tools/Makefile projects/vnet/gnu/usr.bin/grep/config.h projects/vnet/include/Makefile projects/vnet/lib/clang/include/clang/Basic/Version.inc projects/vnet/lib/csu/aarch64/crt1.c projects/vnet/lib/libc/aarch64/Symbol.map projects/vnet/lib/libc/aarch64/sys/Makefile.inc projects/vnet/lib/libc/gen/fts-compat.c projects/vnet/lib/libc/gen/fts.c projects/vnet/lib/libc/gen/posix_spawn.c projects/vnet/lib/libc/regex/engine.c projects/vnet/lib/libc/regex/regex.3 projects/vnet/lib/libc/riscv/Symbol.map projects/vnet/lib/libc/riscv/sys/Makefile.inc projects/vnet/lib/libc/rpc/clnt_bcast.c projects/vnet/lib/libc/rpc/getnetconfig.c projects/vnet/lib/libc/rpc/getrpcent.c projects/vnet/lib/libc/rpc/netnamer.c projects/vnet/lib/libc/rpc/rpcb_clnt.c projects/vnet/lib/libc/rpc/svc_generic.c projects/vnet/lib/libc/stdlib/random.c projects/vnet/lib/libc/sys/_umtx_op.2 projects/vnet/lib/libc/sys/vfork.2 projects/vnet/lib/libcam/camlib.c projects/vnet/lib/libcompat/4.3/rexec.c projects/vnet/lib/libelftc/Makefile projects/vnet/lib/libelftc/elftc_version.c projects/vnet/lib/libfetch/common.c projects/vnet/lib/libfetch/file.c projects/vnet/lib/libmt/mtlib.c projects/vnet/lib/libradius/radlib.h projects/vnet/lib/libstand/uuid_from_string.c projects/vnet/lib/libthr/libthr.3 projects/vnet/libexec/rtld-elf/rtld.c projects/vnet/release/doc/en_US.ISO8859-1/relnotes/article.xml projects/vnet/sbin/camcontrol/Makefile projects/vnet/sbin/camcontrol/attrib.c projects/vnet/sbin/camcontrol/camcontrol.8 projects/vnet/sbin/camcontrol/camcontrol.c projects/vnet/sbin/camcontrol/camcontrol.h projects/vnet/sbin/camcontrol/fwdownload.c projects/vnet/sbin/camcontrol/persist.c projects/vnet/sbin/ifconfig/ifieee80211.c projects/vnet/sbin/iscontrol/fsm.c projects/vnet/share/dtrace/Makefile projects/vnet/share/dtrace/README projects/vnet/share/man/man3/bitstring.3 projects/vnet/share/man/man4/sfxge.4 projects/vnet/share/man/man4/tcp.4 projects/vnet/share/man/man4/wpi.4 projects/vnet/share/man/man5/src.conf.5 projects/vnet/share/man/man9/Makefile projects/vnet/share/man/man9/bus_activate_resource.9 projects/vnet/share/man/man9/bus_alloc_resource.9 projects/vnet/share/man/man9/namei.9 projects/vnet/share/man/man9/rman.9 projects/vnet/share/man/man9/sglist.9 projects/vnet/share/misc/pci_vendors projects/vnet/share/mk/bsd.compiler.mk projects/vnet/share/mk/bsd.dep.mk projects/vnet/share/mk/local.meta.sys.mk projects/vnet/share/mk/src.opts.mk projects/vnet/share/mk/src.sys.env.mk projects/vnet/share/mk/sys.mk projects/vnet/sys/amd64/amd64/pmap.c projects/vnet/sys/amd64/amd64/sys_machdep.c projects/vnet/sys/amd64/amd64/vm_machdep.c projects/vnet/sys/amd64/linux/linux_proto.h projects/vnet/sys/amd64/linux/linux_syscall.h projects/vnet/sys/amd64/linux/linux_syscalls.c projects/vnet/sys/amd64/linux/linux_sysent.c projects/vnet/sys/amd64/linux/linux_systrace_args.c projects/vnet/sys/amd64/linux/syscalls.master projects/vnet/sys/amd64/linux32/linux32_proto.h projects/vnet/sys/amd64/linux32/linux32_syscall.h projects/vnet/sys/amd64/linux32/linux32_syscalls.c projects/vnet/sys/amd64/linux32/linux32_sysent.c projects/vnet/sys/amd64/linux32/linux32_systrace_args.c projects/vnet/sys/amd64/linux32/syscalls.master projects/vnet/sys/arm/allwinner/a10_ehci.c projects/vnet/sys/arm/allwinner/aw_usbphy.c projects/vnet/sys/arm/allwinner/axp209.c projects/vnet/sys/arm/arm/bcopyinout.S projects/vnet/sys/arm/arm/bcopyinout_xscale.S projects/vnet/sys/arm/arm/bus_space_base.c projects/vnet/sys/arm/arm/copystr.S projects/vnet/sys/arm/arm/cpu_asm-v6.S projects/vnet/sys/arm/arm/cpufunc.c projects/vnet/sys/arm/arm/cpufunc_asm.S projects/vnet/sys/arm/arm/cpufunc_asm_xscale.S projects/vnet/sys/arm/arm/disassem.c projects/vnet/sys/arm/arm/elf_machdep.c projects/vnet/sys/arm/arm/elf_trampoline.c projects/vnet/sys/arm/arm/exception.S projects/vnet/sys/arm/arm/fiq.c projects/vnet/sys/arm/arm/fusu.S projects/vnet/sys/arm/arm/genassym.c projects/vnet/sys/arm/arm/locore-v4.S projects/vnet/sys/arm/arm/locore-v6.S projects/vnet/sys/arm/arm/machdep.c projects/vnet/sys/arm/arm/mem.c projects/vnet/sys/arm/arm/mp_machdep.c projects/vnet/sys/arm/arm/pmap-v6.c projects/vnet/sys/arm/arm/stdatomic.c projects/vnet/sys/arm/arm/swtch-v4.S projects/vnet/sys/arm/arm/swtch-v6.S projects/vnet/sys/arm/arm/sys_machdep.c projects/vnet/sys/arm/arm/trap-v6.c projects/vnet/sys/arm/arm/vm_machdep.c projects/vnet/sys/arm/at91/at91_machdep.c projects/vnet/sys/arm/broadcom/bcm2835/bcm2835_cpufreq.c projects/vnet/sys/arm/cavium/cns11xx/econa_machdep.c projects/vnet/sys/arm/freescale/imx/imx6_anatop.c projects/vnet/sys/arm/freescale/imx/imx_gpio.c projects/vnet/sys/arm/freescale/imx/imx_sdhci.c projects/vnet/sys/arm/include/_align.h projects/vnet/sys/arm/include/_types.h projects/vnet/sys/arm/include/armreg.h projects/vnet/sys/arm/include/asm.h projects/vnet/sys/arm/include/atomic.h projects/vnet/sys/arm/include/bus.h projects/vnet/sys/arm/include/cpu-v4.h projects/vnet/sys/arm/include/cpu-v6.h projects/vnet/sys/arm/include/cpu.h projects/vnet/sys/arm/include/db_machdep.h projects/vnet/sys/arm/include/machdep.h projects/vnet/sys/arm/include/param.h projects/vnet/sys/arm/include/pcpu.h projects/vnet/sys/arm/include/pmap.h projects/vnet/sys/arm/include/sf_buf.h projects/vnet/sys/arm/include/sysarch.h projects/vnet/sys/arm/include/sysreg.h projects/vnet/sys/arm/include/vm.h projects/vnet/sys/arm/mv/mpic.c projects/vnet/sys/arm/mv/mv_machdep.c projects/vnet/sys/arm/mv/mv_ts.c projects/vnet/sys/arm64/arm64/busdma_bounce.c projects/vnet/sys/arm64/arm64/gic_v3_reg.h projects/vnet/sys/arm64/cavium/thunder_pcie_pem.c projects/vnet/sys/arm64/conf/DEFAULTS projects/vnet/sys/arm64/include/resource.h projects/vnet/sys/boot/efi/loader/main.c projects/vnet/sys/boot/fdt/fdt_loader_cmd.c projects/vnet/sys/boot/i386/libi386/biosdisk.c projects/vnet/sys/boot/i386/zfsboot/zfsboot.c projects/vnet/sys/cam/ata/ata_all.c projects/vnet/sys/cam/ata/ata_all.h projects/vnet/sys/cam/ata/ata_da.c projects/vnet/sys/cam/cam_ccb.h projects/vnet/sys/cam/ctl/ctl_frontend_iscsi.c projects/vnet/sys/cam/ctl/scsi_ctl.c projects/vnet/sys/cam/scsi/scsi_all.c projects/vnet/sys/cam/scsi/scsi_all.h projects/vnet/sys/cam/scsi/scsi_da.c projects/vnet/sys/cam/scsi/scsi_da.h projects/vnet/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/vnet/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h projects/vnet/sys/cddl/dev/dtrace/aarch64/dtrace_subr.c projects/vnet/sys/cddl/dev/profile/profile.c projects/vnet/sys/compat/linux/linux_file.c projects/vnet/sys/compat/linux/linux_futex.c projects/vnet/sys/compat/linux/linux_ioctl.c projects/vnet/sys/compat/linux/linux_socket.c projects/vnet/sys/compat/linuxkpi/common/include/asm/atomic-long.h projects/vnet/sys/compat/linuxkpi/common/include/asm/uaccess.h projects/vnet/sys/compat/linuxkpi/common/include/linux/bitops.h projects/vnet/sys/compat/linuxkpi/common/include/linux/cdev.h projects/vnet/sys/compat/linuxkpi/common/include/linux/compat.h projects/vnet/sys/compat/linuxkpi/common/include/linux/completion.h projects/vnet/sys/compat/linuxkpi/common/include/linux/gfp.h projects/vnet/sys/compat/linuxkpi/common/include/linux/io.h projects/vnet/sys/compat/linuxkpi/common/include/linux/kernel.h projects/vnet/sys/compat/linuxkpi/common/include/linux/kref.h projects/vnet/sys/compat/linuxkpi/common/include/linux/ktime.h projects/vnet/sys/compat/linuxkpi/common/include/linux/list.h projects/vnet/sys/compat/linuxkpi/common/include/linux/moduleparam.h projects/vnet/sys/compat/linuxkpi/common/include/linux/sched.h projects/vnet/sys/compat/linuxkpi/common/include/linux/time.h projects/vnet/sys/compat/linuxkpi/common/include/linux/wait.h projects/vnet/sys/compat/linuxkpi/common/src/linux_compat.c projects/vnet/sys/compat/linuxkpi/common/src/linux_pci.c projects/vnet/sys/compat/ndis/subr_ntoskrnl.c projects/vnet/sys/conf/Makefile.riscv projects/vnet/sys/conf/files projects/vnet/sys/conf/files.amd64 projects/vnet/sys/conf/files.arm64 projects/vnet/sys/conf/files.i386 projects/vnet/sys/conf/files.powerpc projects/vnet/sys/conf/files.riscv projects/vnet/sys/conf/kern.post.mk projects/vnet/sys/contrib/ipfilter/netinet/ip_frag.c projects/vnet/sys/contrib/ipfilter/netinet/ip_frag.h projects/vnet/sys/dev/acpi_support/acpi_asus_wmi.c projects/vnet/sys/dev/acpi_support/acpi_ibm.c projects/vnet/sys/dev/acpi_support/atk0110.c projects/vnet/sys/dev/acpica/acpi_pcib_pci.c projects/vnet/sys/dev/acpica/acpi_thermal.c projects/vnet/sys/dev/ahci/ahci.c projects/vnet/sys/dev/amdtemp/amdtemp.c projects/vnet/sys/dev/an/if_an.c projects/vnet/sys/dev/ath/ath_hal/ah_regdomain.c projects/vnet/sys/dev/ath/ath_hal/ah_regdomain.h projects/vnet/sys/dev/bhnd/bcma/bcma_bhndb.c projects/vnet/sys/dev/bhnd/bhnd.c projects/vnet/sys/dev/bhnd/bhnd.h projects/vnet/sys/dev/bhnd/bhnd_bus_if.m projects/vnet/sys/dev/bhnd/bhnd_subr.c projects/vnet/sys/dev/bhnd/bhnd_types.h projects/vnet/sys/dev/bhnd/bhndb/bhndb.c projects/vnet/sys/dev/bhnd/bhndb/bhndb.h projects/vnet/sys/dev/bhnd/bhndb/bhndb_hwdata.c projects/vnet/sys/dev/bhnd/bhndb/bhndb_pci_hwdata.c projects/vnet/sys/dev/bhnd/bhndb/bhndb_pci_sprom.c projects/vnet/sys/dev/bhnd/bhndb/bhndb_private.h projects/vnet/sys/dev/bhnd/bhndb/bhndb_subr.c projects/vnet/sys/dev/bhnd/cores/chipc/bhnd_chipc_if.m projects/vnet/sys/dev/bhnd/cores/chipc/chipc.c projects/vnet/sys/dev/bhnd/cores/chipc/chipc.h projects/vnet/sys/dev/bhnd/cores/chipc/chipcreg.h projects/vnet/sys/dev/bhnd/cores/chipc/chipcvar.h projects/vnet/sys/dev/bhnd/cores/pci/bhnd_pci.c projects/vnet/sys/dev/bhnd/cores/pci/bhnd_pci_hostb.c projects/vnet/sys/dev/bhnd/cores/pcie2/bhnd_pcie2.c projects/vnet/sys/dev/bhnd/cores/pcie2/bhnd_pcie2_hostb.c projects/vnet/sys/dev/bhnd/nvram/bhnd_nvram.h projects/vnet/sys/dev/bhnd/nvram/bhnd_sprom.c projects/vnet/sys/dev/bhnd/nvram/bhnd_spromvar.h projects/vnet/sys/dev/bhnd/siba/siba.c projects/vnet/sys/dev/bhnd/siba/siba_bhndb.c projects/vnet/sys/dev/bhnd/siba/siba_subr.c projects/vnet/sys/dev/bhnd/siba/sibavar.h projects/vnet/sys/dev/bhnd/tools/bus_macro.sh projects/vnet/sys/dev/bwn/if_bwn.c projects/vnet/sys/dev/bwn/if_bwn_pci.c projects/vnet/sys/dev/bwn/if_bwn_phy_common.c projects/vnet/sys/dev/ciss/ciss.c projects/vnet/sys/dev/coretemp/coretemp.c projects/vnet/sys/dev/cpuctl/cpuctl.c projects/vnet/sys/dev/cxgbe/cxgbei/icl_cxgbei.c projects/vnet/sys/dev/cxgbe/iw_cxgbe/provider.c projects/vnet/sys/dev/cxgbe/tom/t4_ddp.c projects/vnet/sys/dev/dpaa/portals_common.c projects/vnet/sys/dev/flash/mx25l.c projects/vnet/sys/dev/gpio/gpioiic.c projects/vnet/sys/dev/gpio/gpioled.c projects/vnet/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c projects/vnet/sys/dev/hyperv/vmbus/hv_channel.c projects/vnet/sys/dev/hyperv/vmbus/hv_channel_mgmt.c projects/vnet/sys/dev/hyperv/vmbus/hv_connection.c projects/vnet/sys/dev/hyperv/vmbus/hv_hv.c projects/vnet/sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c projects/vnet/sys/dev/hyperv/vmbus/hv_vmbus_priv.h projects/vnet/sys/dev/hyperv/vmbus/vmbus_var.h projects/vnet/sys/dev/iicbus/ds3231reg.h projects/vnet/sys/dev/iicbus/iic.c projects/vnet/sys/dev/iicbus/iic.h projects/vnet/sys/dev/iicbus/iicbb_if.m projects/vnet/sys/dev/iicbus/iiconf.c projects/vnet/sys/dev/iicbus/lm75.c projects/vnet/sys/dev/ipw/if_ipw.c projects/vnet/sys/dev/ipw/if_ipwvar.h projects/vnet/sys/dev/iscsi/icl.c projects/vnet/sys/dev/iscsi/icl.h projects/vnet/sys/dev/iscsi/icl_soft.c projects/vnet/sys/dev/iscsi/iscsi.c projects/vnet/sys/dev/isp/isp.c projects/vnet/sys/dev/isp/isp_freebsd.c projects/vnet/sys/dev/isp/isp_target.c projects/vnet/sys/dev/isp/ispvar.h projects/vnet/sys/dev/iwm/if_iwm.c projects/vnet/sys/dev/iwm/if_iwm_binding.c projects/vnet/sys/dev/iwm/if_iwm_mac_ctxt.c projects/vnet/sys/dev/iwm/if_iwm_pcie_trans.c projects/vnet/sys/dev/iwm/if_iwm_phy_ctxt.c projects/vnet/sys/dev/iwm/if_iwm_phy_db.c projects/vnet/sys/dev/iwm/if_iwm_power.c projects/vnet/sys/dev/iwm/if_iwm_scan.c projects/vnet/sys/dev/iwm/if_iwm_time_event.c projects/vnet/sys/dev/iwm/if_iwm_util.c projects/vnet/sys/dev/iwn/if_iwn.c projects/vnet/sys/dev/iwn/if_iwnvar.h projects/vnet/sys/dev/ixl/if_ixl.c projects/vnet/sys/dev/mlx5/mlx5_core/mlx5_main.c projects/vnet/sys/dev/mlx5/mlx5_en/en.h projects/vnet/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c projects/vnet/sys/dev/mlx5/mlx5_en/mlx5_en_main.c projects/vnet/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c projects/vnet/sys/dev/mwl/if_mwl.c projects/vnet/sys/dev/ntb/if_ntb/if_ntb.c projects/vnet/sys/dev/ntb/ntb_hw/ntb_hw.c projects/vnet/sys/dev/nvram2env/nvram2env.c projects/vnet/sys/dev/pccbb/pccbb_pci.c projects/vnet/sys/dev/pci/pci_host_generic.c projects/vnet/sys/dev/pci/pci_pci.c projects/vnet/sys/dev/pci/pcib_private.h projects/vnet/sys/dev/ral/rt2661var.h projects/vnet/sys/dev/ral/rt2860var.h projects/vnet/sys/dev/sdhci/sdhci.h projects/vnet/sys/dev/sfxge/common/ef10_ev.c projects/vnet/sys/dev/sfxge/common/ef10_filter.c projects/vnet/sys/dev/sfxge/common/ef10_impl.h projects/vnet/sys/dev/sfxge/common/ef10_intr.c projects/vnet/sys/dev/sfxge/common/ef10_mac.c projects/vnet/sys/dev/sfxge/common/ef10_mcdi.c projects/vnet/sys/dev/sfxge/common/ef10_nic.c projects/vnet/sys/dev/sfxge/common/ef10_nvram.c projects/vnet/sys/dev/sfxge/common/ef10_phy.c projects/vnet/sys/dev/sfxge/common/ef10_rx.c projects/vnet/sys/dev/sfxge/common/ef10_tx.c projects/vnet/sys/dev/sfxge/common/ef10_vpd.c projects/vnet/sys/dev/sfxge/common/efsys.h projects/vnet/sys/dev/sfxge/common/efx.h projects/vnet/sys/dev/sfxge/common/efx_bootcfg.c projects/vnet/sys/dev/sfxge/common/efx_check.h projects/vnet/sys/dev/sfxge/common/efx_crc32.c projects/vnet/sys/dev/sfxge/common/efx_ev.c projects/vnet/sys/dev/sfxge/common/efx_filter.c projects/vnet/sys/dev/sfxge/common/efx_hash.c projects/vnet/sys/dev/sfxge/common/efx_impl.h projects/vnet/sys/dev/sfxge/common/efx_intr.c projects/vnet/sys/dev/sfxge/common/efx_lic.c projects/vnet/sys/dev/sfxge/common/efx_mac.c projects/vnet/sys/dev/sfxge/common/efx_mcdi.c projects/vnet/sys/dev/sfxge/common/efx_mcdi.h projects/vnet/sys/dev/sfxge/common/efx_mon.c projects/vnet/sys/dev/sfxge/common/efx_nic.c projects/vnet/sys/dev/sfxge/common/efx_nvram.c projects/vnet/sys/dev/sfxge/common/efx_phy.c projects/vnet/sys/dev/sfxge/common/efx_phy_ids.h projects/vnet/sys/dev/sfxge/common/efx_port.c projects/vnet/sys/dev/sfxge/common/efx_regs.h projects/vnet/sys/dev/sfxge/common/efx_regs_ef10.h projects/vnet/sys/dev/sfxge/common/efx_regs_pci.h projects/vnet/sys/dev/sfxge/common/efx_rx.c projects/vnet/sys/dev/sfxge/common/efx_sram.c projects/vnet/sys/dev/sfxge/common/efx_tx.c projects/vnet/sys/dev/sfxge/common/efx_types.h projects/vnet/sys/dev/sfxge/common/efx_vpd.c projects/vnet/sys/dev/sfxge/common/efx_wol.c projects/vnet/sys/dev/sfxge/common/hunt_impl.h projects/vnet/sys/dev/sfxge/common/hunt_nic.c projects/vnet/sys/dev/sfxge/common/hunt_phy.c projects/vnet/sys/dev/sfxge/common/mcdi_mon.c projects/vnet/sys/dev/sfxge/common/mcdi_mon.h projects/vnet/sys/dev/sfxge/common/medford_impl.h projects/vnet/sys/dev/sfxge/common/medford_nic.c projects/vnet/sys/dev/sfxge/common/siena_flash.h projects/vnet/sys/dev/sfxge/common/siena_impl.h projects/vnet/sys/dev/sfxge/common/siena_mac.c projects/vnet/sys/dev/sfxge/common/siena_mcdi.c projects/vnet/sys/dev/sfxge/common/siena_nic.c projects/vnet/sys/dev/sfxge/common/siena_nvram.c projects/vnet/sys/dev/sfxge/common/siena_phy.c projects/vnet/sys/dev/sfxge/common/siena_sram.c projects/vnet/sys/dev/sfxge/common/siena_vpd.c projects/vnet/sys/dev/sfxge/sfxge.c projects/vnet/sys/dev/sfxge/sfxge.h projects/vnet/sys/dev/sfxge/sfxge_dma.c projects/vnet/sys/dev/sfxge/sfxge_ev.c projects/vnet/sys/dev/sfxge/sfxge_intr.c projects/vnet/sys/dev/sfxge/sfxge_ioc.h projects/vnet/sys/dev/sfxge/sfxge_mcdi.c projects/vnet/sys/dev/sfxge/sfxge_nvram.c projects/vnet/sys/dev/sfxge/sfxge_port.c projects/vnet/sys/dev/sfxge/sfxge_rx.c projects/vnet/sys/dev/sfxge/sfxge_rx.h projects/vnet/sys/dev/sfxge/sfxge_tx.c projects/vnet/sys/dev/sfxge/sfxge_tx.h projects/vnet/sys/dev/sfxge/sfxge_version.h projects/vnet/sys/dev/siba/siba_bwn.c projects/vnet/sys/dev/spibus/ofw_spibus.c projects/vnet/sys/dev/spibus/spi.h projects/vnet/sys/dev/spibus/spibus.c projects/vnet/sys/dev/spibus/spibusvar.h projects/vnet/sys/dev/urtwn/if_urtwn.c projects/vnet/sys/dev/urtwn/if_urtwnreg.h projects/vnet/sys/dev/usb/controller/generic_ohci.c projects/vnet/sys/dev/usb/usb_dev.c projects/vnet/sys/dev/usb/usb_device.c projects/vnet/sys/dev/usb/usb_device.h projects/vnet/sys/dev/vnic/mrml_bridge.c projects/vnet/sys/dev/vnic/nic_main.c projects/vnet/sys/dev/vnic/nicvf_main.c projects/vnet/sys/dev/vnic/thunder_bgx.c projects/vnet/sys/dev/vnic/thunder_mdio.c projects/vnet/sys/dev/wi/if_wi.c projects/vnet/sys/dev/wi/if_wivar.h projects/vnet/sys/fs/cd9660/cd9660_vfsops.c projects/vnet/sys/fs/devfs/devfs_devs.c projects/vnet/sys/fs/ext2fs/ext2_alloc.c projects/vnet/sys/fs/ext2fs/ext2_vfsops.c projects/vnet/sys/fs/msdosfs/msdosfs_vfsops.c projects/vnet/sys/fs/udf/udf_vfsops.c projects/vnet/sys/geom/eli/g_eli.c projects/vnet/sys/geom/geom.h projects/vnet/sys/geom/geom_dev.c projects/vnet/sys/geom/geom_disk.c projects/vnet/sys/geom/geom_disk.h projects/vnet/sys/geom/geom_event.c projects/vnet/sys/geom/geom_io.c projects/vnet/sys/geom/geom_kern.c projects/vnet/sys/geom/geom_mbr.c projects/vnet/sys/geom/geom_pc98.c projects/vnet/sys/geom/geom_subr.c projects/vnet/sys/geom/journal/g_journal.c projects/vnet/sys/geom/mirror/g_mirror.c projects/vnet/sys/geom/mountver/g_mountver.c projects/vnet/sys/geom/raid/g_raid.c projects/vnet/sys/geom/raid3/g_raid3.c projects/vnet/sys/gnu/dev/bwn/phy_n/if_bwn_phy_n_core.c projects/vnet/sys/gnu/dts/mips/3G150B.dts projects/vnet/sys/gnu/dts/mips/3G300M.dts projects/vnet/sys/gnu/dts/mips/A5-V11.dts projects/vnet/sys/gnu/dts/mips/AIR3GII.dts projects/vnet/sys/gnu/dts/mips/ALL0256N-4M.dts projects/vnet/sys/gnu/dts/mips/ALL0256N-8M.dts projects/vnet/sys/gnu/dts/mips/ALL5002.dts projects/vnet/sys/gnu/dts/mips/ALL5003.dts projects/vnet/sys/gnu/dts/mips/ASL26555-16M.dts projects/vnet/sys/gnu/dts/mips/ASL26555-8M.dts projects/vnet/sys/gnu/dts/mips/AWAPN2403.dts projects/vnet/sys/gnu/dts/mips/AWM002.dtsi projects/vnet/sys/gnu/dts/mips/ArcherC20i.dts projects/vnet/sys/gnu/dts/mips/CF-WR800N.dts projects/vnet/sys/gnu/dts/mips/CS-QR10.dts projects/vnet/sys/gnu/dts/mips/DB-WRT01.dts projects/vnet/sys/gnu/dts/mips/DCS-930L-B1.dts projects/vnet/sys/gnu/dts/mips/DIR-300-B7.dts projects/vnet/sys/gnu/dts/mips/DIR-320-B1.dts projects/vnet/sys/gnu/dts/mips/DIR-610-A1.dts projects/vnet/sys/gnu/dts/mips/DIR-615-H1.dts projects/vnet/sys/gnu/dts/mips/DIR-620-D1.dts projects/vnet/sys/gnu/dts/mips/DIR-645.dts projects/vnet/sys/gnu/dts/mips/DIR-810L.dts projects/vnet/sys/gnu/dts/mips/DIR-860L-B1.dts projects/vnet/sys/gnu/dts/mips/E1700.dts projects/vnet/sys/gnu/dts/mips/EX2700.dts projects/vnet/sys/gnu/dts/mips/F7C027.dts projects/vnet/sys/gnu/dts/mips/FIREWRT.dts projects/vnet/sys/gnu/dts/mips/GL-MT300A.dts projects/vnet/sys/gnu/dts/mips/GL-MT300N.dts projects/vnet/sys/gnu/dts/mips/GL-MT750.dts projects/vnet/sys/gnu/dts/mips/HC5XXX.dtsi projects/vnet/sys/gnu/dts/mips/HLKRM04.dts projects/vnet/sys/gnu/dts/mips/HT-TM02.dts projects/vnet/sys/gnu/dts/mips/JHR-N805R.dts projects/vnet/sys/gnu/dts/mips/LINKIT7688.dts projects/vnet/sys/gnu/dts/mips/M2M.dts projects/vnet/sys/gnu/dts/mips/M3.dts projects/vnet/sys/gnu/dts/mips/M4-4M.dts projects/vnet/sys/gnu/dts/mips/M4-8M.dts projects/vnet/sys/gnu/dts/mips/MINIEMBPLUG.dts projects/vnet/sys/gnu/dts/mips/MIWIFI-MINI.dts projects/vnet/sys/gnu/dts/mips/MIWIFI-NANO.dts projects/vnet/sys/gnu/dts/mips/MLW221.dts projects/vnet/sys/gnu/dts/mips/MLWG2.dts projects/vnet/sys/gnu/dts/mips/MPRA1.dts projects/vnet/sys/gnu/dts/mips/MPRA2.dts projects/vnet/sys/gnu/dts/mips/MT7620a.dts projects/vnet/sys/gnu/dts/mips/MT7620a_MT7530.dts projects/vnet/sys/gnu/dts/mips/MT7620a_MT7610e.dts projects/vnet/sys/gnu/dts/mips/MT7628.dts projects/vnet/sys/gnu/dts/mips/MZK-750DHP.dts projects/vnet/sys/gnu/dts/mips/MZK-DP150N.dts projects/vnet/sys/gnu/dts/mips/MZK-EX300NP.dts projects/vnet/sys/gnu/dts/mips/MZK-EX750NP.dts projects/vnet/sys/gnu/dts/mips/MicroWRT.dts projects/vnet/sys/gnu/dts/mips/NCS601W.dts projects/vnet/sys/gnu/dts/mips/NW718.dts projects/vnet/sys/gnu/dts/mips/OY-0001.dts projects/vnet/sys/gnu/dts/mips/PBR-M1.dts projects/vnet/sys/gnu/dts/mips/PSG1208.dts projects/vnet/sys/gnu/dts/mips/PX-4885-4M.dts projects/vnet/sys/gnu/dts/mips/PX-4885-8M.dts projects/vnet/sys/gnu/dts/mips/PX-4885.dtsi projects/vnet/sys/gnu/dts/mips/RE6500.dts projects/vnet/sys/gnu/dts/mips/RP-N53.dts projects/vnet/sys/gnu/dts/mips/RT-G32-B1.dts projects/vnet/sys/gnu/dts/mips/RT-N14U.dts projects/vnet/sys/gnu/dts/mips/RT5350F-OLINUXINO-EVB.dts projects/vnet/sys/gnu/dts/mips/RT5350F-OLINUXINO.dts projects/vnet/sys/gnu/dts/mips/RUT5XX.dts projects/vnet/sys/gnu/dts/mips/SAP-G3200U3.dts projects/vnet/sys/gnu/dts/mips/SK-WB8.dts projects/vnet/sys/gnu/dts/mips/TINY-AC.dts projects/vnet/sys/gnu/dts/mips/VOCORE-16M.dts projects/vnet/sys/gnu/dts/mips/VOCORE-8M.dts projects/vnet/sys/gnu/dts/mips/VOCORE.dtsi projects/vnet/sys/gnu/dts/mips/WHR-1166D.dts projects/vnet/sys/gnu/dts/mips/WHR-300HP2.dts projects/vnet/sys/gnu/dts/mips/WHR-600D.dts projects/vnet/sys/gnu/dts/mips/WITI.dts projects/vnet/sys/gnu/dts/mips/WIZARD8800.dts projects/vnet/sys/gnu/dts/mips/WIZFI630A.dts projects/vnet/sys/gnu/dts/mips/WL-330N.dts projects/vnet/sys/gnu/dts/mips/WL-330N3G.dts projects/vnet/sys/gnu/dts/mips/WMR-300.dts projects/vnet/sys/gnu/dts/mips/WNCE2001.dts projects/vnet/sys/gnu/dts/mips/WNDR3700V5.dts projects/vnet/sys/gnu/dts/mips/WRH-300CR.dts projects/vnet/sys/gnu/dts/mips/WRTNODE.dts projects/vnet/sys/gnu/dts/mips/WRTNODE2.dtsi projects/vnet/sys/gnu/dts/mips/WSR-1166.dts projects/vnet/sys/gnu/dts/mips/WSR-600.dts projects/vnet/sys/gnu/dts/mips/WT1520-4M.dts projects/vnet/sys/gnu/dts/mips/WT1520-8M.dts projects/vnet/sys/gnu/dts/mips/WT1520.dtsi projects/vnet/sys/gnu/dts/mips/WT3020-4M.dts projects/vnet/sys/gnu/dts/mips/WT3020-8M.dts projects/vnet/sys/gnu/dts/mips/X5.dts projects/vnet/sys/gnu/dts/mips/X8.dts projects/vnet/sys/gnu/dts/mips/Y1.dtsi projects/vnet/sys/gnu/dts/mips/YOUKU-YK1.dts projects/vnet/sys/gnu/dts/mips/ZBT-WA05.dts projects/vnet/sys/gnu/dts/mips/ZBT-WE826.dts projects/vnet/sys/gnu/dts/mips/ZBT-WG2626.dts projects/vnet/sys/gnu/dts/mips/ZBT-WG3526.dts projects/vnet/sys/gnu/dts/mips/ZBT-WR8305RT.dts projects/vnet/sys/gnu/dts/mips/ZTE-Q7.dts projects/vnet/sys/gnu/dts/mips/mt7620a.dtsi projects/vnet/sys/gnu/dts/mips/mt7620n.dtsi projects/vnet/sys/gnu/dts/mips/mt7621.dtsi projects/vnet/sys/gnu/dts/mips/rt3352.dtsi projects/vnet/sys/gnu/dts/mips/rt5350.dtsi projects/vnet/sys/i386/i386/sys_machdep.c projects/vnet/sys/i386/i386/vm_machdep.c projects/vnet/sys/i386/linux/linux_proto.h projects/vnet/sys/i386/linux/linux_syscall.h projects/vnet/sys/i386/linux/linux_syscalls.c projects/vnet/sys/i386/linux/linux_sysent.c projects/vnet/sys/i386/linux/linux_systrace_args.c projects/vnet/sys/i386/linux/syscalls.master projects/vnet/sys/kern/bus_if.m projects/vnet/sys/kern/imgact_elf.c projects/vnet/sys/kern/kern_event.c projects/vnet/sys/kern/kern_malloc.c projects/vnet/sys/kern/kern_synch.c projects/vnet/sys/kern/kern_sysctl.c projects/vnet/sys/kern/subr_bus.c projects/vnet/sys/kern/subr_devmap.c projects/vnet/sys/kern/subr_devstat.c projects/vnet/sys/kern/subr_intr.c projects/vnet/sys/kern/subr_rman.c projects/vnet/sys/kern/subr_sglist.c projects/vnet/sys/kern/subr_taskqueue.c projects/vnet/sys/kern/subr_unit.c projects/vnet/sys/kern/sys_socket.c projects/vnet/sys/kern/uipc_socket.c projects/vnet/sys/kern/vfs_aio.c projects/vnet/sys/mips/conf/BCM projects/vnet/sys/mips/conf/RT3883_FDT projects/vnet/sys/mips/include/clock.h projects/vnet/sys/mips/mediatek/files.mediatek projects/vnet/sys/mips/mediatek/std.mediatek projects/vnet/sys/modules/bhnd/Makefile projects/vnet/sys/modules/bhnd/bhndb/Makefile projects/vnet/sys/modules/bhnd/cores/bhnd_chipc/Makefile projects/vnet/sys/modules/hyperv/vmbus/Makefile projects/vnet/sys/net/if.c projects/vnet/sys/net/if_tun.c projects/vnet/sys/net/if_tun.h projects/vnet/sys/net/mp_ring.c projects/vnet/sys/net80211/ieee80211.c projects/vnet/sys/net80211/ieee80211_action.c projects/vnet/sys/net80211/ieee80211_crypto_none.c projects/vnet/sys/net80211/ieee80211_freebsd.c projects/vnet/sys/net80211/ieee80211_hostap.c projects/vnet/sys/net80211/ieee80211_ht.c projects/vnet/sys/net80211/ieee80211_hwmp.c projects/vnet/sys/net80211/ieee80211_ioctl.c projects/vnet/sys/net80211/ieee80211_mesh.c projects/vnet/sys/net80211/ieee80211_phy.c projects/vnet/sys/net80211/ieee80211_regdomain.c projects/vnet/sys/net80211/ieee80211_scan_sta.c projects/vnet/sys/net80211/ieee80211_scan_sw.c projects/vnet/sys/net80211/ieee80211_sta.c projects/vnet/sys/net80211/ieee80211_superg.c projects/vnet/sys/netinet/ip_icmp.c projects/vnet/sys/netinet/raw_ip.c projects/vnet/sys/netinet/sctp_uio.h projects/vnet/sys/netinet/sctp_usrreq.c projects/vnet/sys/netinet/tcp_input.c projects/vnet/sys/netinet/tcp_lro.c projects/vnet/sys/netinet/tcp_lro.h projects/vnet/sys/netinet/tcp_output.c projects/vnet/sys/netinet6/ip6_output.c projects/vnet/sys/netinet6/nd6.c projects/vnet/sys/netinet6/nd6.h projects/vnet/sys/netpfil/ipfw/ip_fw_dynamic.c projects/vnet/sys/netpfil/pf/pf.c projects/vnet/sys/netpfil/pf/pf_norm.c projects/vnet/sys/ofed/drivers/infiniband/core/cma.c projects/vnet/sys/ofed/drivers/infiniband/core/mad.c projects/vnet/sys/ofed/drivers/infiniband/core/multicast.c projects/vnet/sys/ofed/drivers/infiniband/core/umem.c projects/vnet/sys/ofed/drivers/infiniband/core/uverbs_cmd.c projects/vnet/sys/ofed/drivers/infiniband/debug/memtrack.c projects/vnet/sys/ofed/drivers/infiniband/hw/mlx4/main.c projects/vnet/sys/ofed/drivers/infiniband/hw/mthca/mthca_catas.c projects/vnet/sys/ofed/drivers/infiniband/hw/mthca/mthca_cmd.c projects/vnet/sys/ofed/drivers/infiniband/hw/mthca/mthca_main.c projects/vnet/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib.h projects/vnet/sys/ofed/drivers/infiniband/ulp/sdp/sdp.h projects/vnet/sys/ofed/drivers/infiniband/util/madeye.c projects/vnet/sys/ofed/drivers/net/mlx4/catas.c projects/vnet/sys/ofed/drivers/net/mlx4/en_main.c projects/vnet/sys/ofed/drivers/net/mlx4/en_tx.c projects/vnet/sys/ofed/drivers/net/mlx4/fw.c projects/vnet/sys/ofed/drivers/net/mlx4/main.c projects/vnet/sys/ofed/drivers/net/mlx4/port.c projects/vnet/sys/powerpc/powermac/powermac_thermal.h projects/vnet/sys/powerpc/powermac/smu.c projects/vnet/sys/powerpc/powermac/smusat.c projects/vnet/sys/powerpc/powerpc/exec_machdep.c projects/vnet/sys/riscv/include/frame.h projects/vnet/sys/riscv/include/riscvreg.h projects/vnet/sys/riscv/include/setjmp.h projects/vnet/sys/riscv/riscv/exception.S projects/vnet/sys/riscv/riscv/trap.c projects/vnet/sys/rpc/svc.c projects/vnet/sys/sparc64/include/vm.h projects/vnet/sys/sparc64/sparc64/vm_machdep.c projects/vnet/sys/sys/_task.h projects/vnet/sys/sys/ata.h projects/vnet/sys/sys/bio.h projects/vnet/sys/sys/bitstring.h projects/vnet/sys/sys/bus.h projects/vnet/sys/sys/cdefs.h projects/vnet/sys/sys/disk.h projects/vnet/sys/sys/elf_common.h projects/vnet/sys/sys/kobj.h projects/vnet/sys/sys/malloc.h projects/vnet/sys/sys/param.h projects/vnet/sys/sys/rman.h projects/vnet/sys/sys/sglist.h projects/vnet/sys/sys/sysctl.h projects/vnet/sys/sys/sysent.h projects/vnet/sys/sys/taskqueue.h projects/vnet/sys/sys/vmmeter.h projects/vnet/sys/ufs/ffs/ffs_alloc.c projects/vnet/sys/ufs/ffs/ffs_vfsops.c projects/vnet/sys/vm/swap_pager.c projects/vnet/sys/vm/vm.h projects/vnet/sys/vm/vm_fault.c projects/vnet/sys/vm/vm_glue.c projects/vnet/sys/vm/vm_page.c projects/vnet/sys/vm/vm_page.h projects/vnet/sys/x86/x86/local_apic.c projects/vnet/sys/x86/x86/nexus.c projects/vnet/tests/sys/aio/aio_test.c projects/vnet/tests/sys/kern/Makefile projects/vnet/tests/sys/sys/bitstring_test.c projects/vnet/tools/build/options/WITH_META_MODE projects/vnet/usr.bin/ar/ar.c projects/vnet/usr.bin/bmake/Makefile projects/vnet/usr.bin/fortune/unstr/unstr.c projects/vnet/usr.bin/kdump/kdump.c projects/vnet/usr.bin/mt/mt.1 projects/vnet/usr.bin/sed/process.c projects/vnet/usr.bin/whois/whois.c projects/vnet/usr.sbin/Makefile projects/vnet/usr.sbin/acpi/acpidb/acpidb.c projects/vnet/usr.sbin/acpi/acpidump/acpi.c projects/vnet/usr.sbin/apmd/apmd.c projects/vnet/usr.sbin/apmd/apmdlex.l projects/vnet/usr.sbin/apmd/apmdparse.y projects/vnet/usr.sbin/bsdinstall/scripts/netconfig_ipv4 projects/vnet/usr.sbin/bsdinstall/scripts/zfsboot projects/vnet/usr.sbin/camdd/camdd.c projects/vnet/usr.sbin/ctld/discovery.c projects/vnet/usr.sbin/diskinfo/diskinfo.c projects/vnet/usr.sbin/iscsid/Makefile projects/vnet/usr.sbin/iscsid/discovery.c projects/vnet/usr.sbin/mptutil/mpt_cam.c projects/vnet/usr.sbin/periodic/periodic.8 projects/vnet/usr.sbin/periodic/periodic.sh projects/vnet/usr.sbin/pmcstat/pmcpl_gprof.c projects/vnet/usr.sbin/pw/pw_log.c projects/vnet/usr.sbin/rpc.yppasswdd/yppasswdd_server.c projects/vnet/usr.sbin/tzsetup/tzsetup.c projects/vnet/usr.sbin/ypldap/aldap.c projects/vnet/usr.sbin/ypldap/ber.c projects/vnet/usr.sbin/ypldap/ldapclient.c projects/vnet/usr.sbin/ypserv/yp_dnslookup.c projects/vnet/usr.sbin/ypserv/yp_server.c Directory Properties: projects/vnet/ (props changed) projects/vnet/cddl/ (props changed) projects/vnet/cddl/contrib/opensolaris/ (props changed) projects/vnet/contrib/binutils/ (props changed) projects/vnet/contrib/bmake/ (props changed) projects/vnet/contrib/elftoolchain/ (props changed) projects/vnet/contrib/elftoolchain/brandelf/ (props changed) projects/vnet/contrib/elftoolchain/elfdump/ (props changed) projects/vnet/contrib/gcc/ (props changed) projects/vnet/contrib/llvm/ (props changed) projects/vnet/contrib/llvm/tools/clang/ (props changed) projects/vnet/contrib/top/ (props changed) projects/vnet/gnu/usr.bin/cc/cc_tools/ (props changed) projects/vnet/sys/cddl/contrib/opensolaris/ (props changed) projects/vnet/sys/contrib/ipfilter/ (props changed) Modified: projects/vnet/Makefile.inc1 ============================================================================== --- projects/vnet/Makefile.inc1 Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/Makefile.inc1 Thu May 26 13:34:08 2016 (r300740) @@ -48,6 +48,7 @@ .error "Both TARGET and TARGET_ARCH must be defined." .endif +SRCDIR?= ${.CURDIR} LOCALBASE?= /usr/local # Cross toolchain changes must be in effect before bsd.compiler.mk @@ -56,8 +57,104 @@ LOCALBASE?= /usr/local .include "${LOCALBASE}/share/toolchains/${CROSS_TOOLCHAIN}.mk" CROSSENV+=CROSS_TOOLCHAIN="${CROSS_TOOLCHAIN}" .endif -.include # don't depend on src.opts.mk doing it -.include "share/mk/src.opts.mk" +.if defined(CROSS_TOOLCHAIN_PREFIX) +CROSS_COMPILER_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} +.endif + +XCOMPILERS= CC CXX CPP +.for COMPILER in ${XCOMPILERS} +.if defined(CROSS_COMPILER_PREFIX) +X${COMPILER}?= ${CROSS_COMPILER_PREFIX}${${COMPILER}} +.else +X${COMPILER}?= ${${COMPILER}} +.endif +.endfor +# If a full path to an external cross compiler is given, don't build +# a cross compiler. +.if ${XCC:N${CCACHE_BIN}:M/*} +MK_CROSS_COMPILER= no +.endif + +# Pull in COMPILER_TYPE and COMPILER_FREEBSD_VERSION early. +.include +.include "share/mk/src.opts.mk" + +# Check if there is a local compiler that can satisfy as an external compiler. +.if ${MK_SYSTEM_COMPILER} == "yes" && ${MK_CROSS_COMPILER} == "yes" && \ + (${MK_CLANG_BOOTSTRAP} == "yes" || ${MK_GCC_BOOTSTRAP} == "yes") && \ + !make(showconfig) +# Which compiler is expected to be used? +.if ${MK_CLANG_BOOTSTRAP} == "yes" +_expected_compiler_type= clang +.elif ${MK_GCC_BOOTSTRAP} == "yes" +_expected_compiler_type= gcc +.endif +# If the expected vs CC is different then we can't skip. +# GCC cannot be used for cross-arch yet. For clang we pass -target later if +# TARGET_ARCH!=MACHINE_ARCH. +.if ${_expected_compiler_type} == ${COMPILER_TYPE} && \ + (${COMPILER_TYPE} == "clang" || ${TARGET_ARCH} == ${MACHINE_ARCH}) +# It needs to be the same revision as we would build for the bootstrap. +.if !defined(CROSS_COMPILER_FREEBSD_VERSION) +.if ${_expected_compiler_type} == "clang" +CROSS_COMPILER_FREEBSD_VERSION!= \ + awk '$$2 == "FREEBSD_CC_VERSION" {printf("%d\n", $$3)}' \ + ${SRCDIR}/lib/clang/include/clang/Basic/Version.inc || echo unknown +CROSS_COMPILER_VERSION!= \ + awk '$$2 == "CLANG_VERSION" {split($$3, a, "."); print a[1] * 10000 + a[2] * 100 + a[3]}' \ + ${SRCDIR}/lib/clang/include/clang/Basic/Version.inc || echo unknown +.elif ${_expected_compiler_type} == "gcc" +CROSS_COMPILER_FREEBSD_VERSION!= \ + awk '$$2 == "FBSD_CC_VER" {printf("%d\n", $$3)}' \ + ${SRCDIR}/gnu/usr.bin/cc/cc_tools/freebsd-native.h || echo unknown +CROSS_COMPILER_VERSION!= \ + awk -F. '{print $$1 * 10000 + $$2 * 100 + $$3}' \ + ${SRCDIR}/contrib/gcc/BASE-VER || echo unknown +.endif +.export CROSS_COMPILER_FREEBSD_VERSION CROSS_COMPILER_VERSION +.endif # !defined(CROSS_COMPILER_FREEBSD_VERSION) +.if ${COMPILER_VERSION} == ${CROSS_COMPILER_VERSION} && \ + ${COMPILER_FREEBSD_VERSION} == ${CROSS_COMPILER_FREEBSD_VERSION} +# Everything matches, disable the bootstrap compiler. +MK_CLANG_BOOTSTRAP= no +MK_GCC_BOOTSTRAP= no +CROSSENV+= COMPILER_VERSION=${COMPILER_VERSION} \ + COMPILER_TYPE=${COMPILER_TYPE} \ + COMPILER_FREEBSD_VERSION=${COMPILER_FREEBSD_VERSION} +.if make(buildworld) +.info SYSTEM_COMPILER: Determined that CC=${CC} matches the source tree. Not bootstrapping a cross-compiler. +.endif +.endif # ${COMPILER_VERSION} == ${CROSS_COMPILER_VERSION} +.endif # ${_expected_compiler_type} == ${COMPILER_TYPE} +.endif # ${XCC:N${CCACHE_BIN}:M/*} + +# Handle external binutils. +.if defined(CROSS_TOOLCHAIN_PREFIX) +CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} +.endif +# If we do not have a bootstrap binutils (because the in-tree one does not +# support the target architecture), provide a default cross-binutils prefix. +# This allows aarch64 builds, for example, to automatically use the +# aarch64-binutils port or package. +.if !make(showconfig) +.if !empty(BROKEN_OPTIONS:MBINUTILS_BOOTSTRAP) && \ + !defined(CROSS_BINUTILS_PREFIX) +CROSS_BINUTILS_PREFIX=/usr/local/${TARGET_ARCH}-freebsd/bin/ +.if !exists(${CROSS_BINUTILS_PREFIX}) +.error In-tree binutils does not support the ${TARGET_ARCH} architecture. Install the ${TARGET_ARCH}-binutils port or package or set CROSS_BINUTILS_PREFIX. +.endif +.endif +.endif +XBINUTILS= AS AR LD NM OBJCOPY OBJDUMP RANLIB SIZE STRINGS +.for BINUTIL in ${XBINUTILS} +.if defined(CROSS_BINUTILS_PREFIX) && \ + exists(${CROSS_BINUTILS_PREFIX}${${BINUTIL}}) +X${BINUTIL}?= ${CROSS_BINUTILS_PREFIX}${${BINUTIL}} +.else +X${BINUTIL}?= ${${BINUTIL}} +.endif +.endfor + # We must do lib/ and libexec/ before bin/ in case of a mid-install error to # keep the users system reasonably usable. For static->dynamic root upgrades, @@ -67,7 +164,6 @@ CROSSENV+=CROSS_TOOLCHAIN="${CROSS_TOOLC # This ordering is not a guarantee though. The only guarantee of a working # system here would require fine-grained ordering of all components based # on their dependencies. -SRCDIR?= ${.CURDIR} .if !empty(SUBDIR_OVERRIDE) SUBDIR= ${SUBDIR_OVERRIDE} .else @@ -404,42 +500,6 @@ HMAKE= PATH=${TMPPATH} ${MAKE} LOCAL_MT HMAKE+= PATH=${TMPPATH} METALOG=${METALOG} -DNO_ROOT .endif -.if defined(CROSS_TOOLCHAIN_PREFIX) -CROSS_COMPILER_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} -CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} -.endif - -# If we do not have a bootstrap binutils (because the in-tree one does not -# support the target architecture), provide a default cross-binutils prefix. -# This allows aarch64 builds, for example, to automatically use the -# aarch64-binutils port or package. -.if !make(showconfig) -.if !empty(BROKEN_OPTIONS:MBINUTILS_BOOTSTRAP) && \ - !defined(CROSS_BINUTILS_PREFIX) -CROSS_BINUTILS_PREFIX=/usr/local/${TARGET_ARCH}-freebsd/bin/ -.if !exists(${CROSS_BINUTILS_PREFIX}) -.error In-tree binutils does not support the ${TARGET_ARCH} architecture. Install the ${TARGET_ARCH}-binutils port or package or set CROSS_BINUTILS_PREFIX. -.endif -.endif -.endif - -XCOMPILERS= CC CXX CPP -.for COMPILER in ${XCOMPILERS} -.if defined(CROSS_COMPILER_PREFIX) -X${COMPILER}?= ${CROSS_COMPILER_PREFIX}${${COMPILER}} -.else -X${COMPILER}?= ${${COMPILER}} -.endif -.endfor -XBINUTILS= AS AR LD NM OBJCOPY OBJDUMP RANLIB SIZE STRINGS -.for BINUTIL in ${XBINUTILS} -.if defined(CROSS_BINUTILS_PREFIX) && \ - exists(${CROSS_BINUTILS_PREFIX}${${BINUTIL}}) -X${BINUTIL}?= ${CROSS_BINUTILS_PREFIX}${${BINUTIL}} -.else -X${BINUTIL}?= ${${BINUTIL}} -.endif -.endfor CROSSENV+= CC="${XCC} ${XCFLAGS}" CXX="${XCXX} ${XCFLAGS} ${XCXXFLAGS}" \ CPP="${XCPP} ${XCFLAGS}" \ AS="${XAS}" AR="${XAR}" LD="${XLD}" NM=${XNM} \ @@ -455,7 +515,8 @@ BFLAGS+= -B${CROSS_BINUTILS_PREFIX} .endif # External compiler needs sysroot and target flags. -.if ${XCC:N${CCACHE_BIN}:M/*} || ${MK_CROSS_COMPILER} == "no" +.if ${MK_CROSS_COMPILER} == "no" || \ + (${MK_CLANG_BOOTSTRAP} == "no" && ${MK_GCC_BOOTSTRAP} == "no") .if !defined(CROSS_BINUTILS_PREFIX) || !exists(${CROSS_BINUTILS_PREFIX}) BFLAGS+= -B${WORLDTMP}/usr/bin .endif @@ -479,7 +540,7 @@ XCFLAGS+= -target ${TARGET_TRIPLE} .endif XCFLAGS+= --sysroot=${WORLDTMP} .else -.endif # ${XCC:M/*} || ${MK_CROSS_COMPILER} == "no" +.endif # ${MK_CROSS_COMPILER} == "no" .if !empty(BFLAGS) XCFLAGS+= ${BFLAGS} @@ -533,7 +594,7 @@ KMAKE= ${KMAKEENV} ${MAKE} ${.MAKEFLAGS .if ${MK_META_MODE} == "yes" # meta mode normally is disallowed when building from curdir==objdir, but we # want to allow it for the kernel build. -KMAKE+= .MAKE.MODE="${.MAKE.MODE} curdirOk=yes" +KMAKEENV+= META_MODE="${.MAKE.MODE} curdirOk=yes" .endif # @@ -1715,9 +1776,7 @@ _elftctools= lib/libelftc \ usr.bin/elfcopy .endif -# If an full path to an external cross compiler is given, don't build -# a cross compiler. -.if ${XCC:N${CCACHE_BIN}:M/*} == "" && ${MK_CROSS_COMPILER} != "no" +.if ${MK_CROSS_COMPILER} != "no" .if ${MK_CLANG_BOOTSTRAP} != "no" _clang= usr.bin/clang _clang_libs= lib/clang Modified: projects/vnet/ObsoleteFiles.inc ============================================================================== --- projects/vnet/ObsoleteFiles.inc Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/ObsoleteFiles.inc Thu May 26 13:34:08 2016 (r300740) @@ -38,6 +38,15 @@ # xargs -n1 | sort | uniq -d; # done +# 20160519: remove DTrace Toolkit from base +OLD_FILES+=usr/share/dtrace/toolkit/execsnoop +OLD_FILES+=usr/share/dtrace/toolkit/hotkernel +OLD_FILES+=usr/share/dtrace/toolkit/hotuser +OLD_FILES+=usr/share/dtrace/toolkit/opensnoop +OLD_FILES+=usr/share/dtrace/toolkit/procsystime +OLD_DIRS+=usr/share/dtrace/toolkit +# 20160519: stale MLINK removed +OLD_FILES+=usr/share/man/man9/rman_await_resource.9.gz # 20160517: ReiserFS removed OLD_FILES+=usr/share/man/man5/reiserfs.5.gz # 20160430: kvm_getfiles(3) removed from kvm(3) Modified: projects/vnet/UPDATING ============================================================================== --- projects/vnet/UPDATING Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/UPDATING Thu May 26 13:34:08 2016 (r300740) @@ -31,6 +31,18 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20160523: + The bitstring(3) API has been updated with new functionality and + improved performance. But it is binary-incompatible with the old API. + Objects built with the new headers may not be linked against objects + built with the old headers. + +20160520: + The brk and sbrk functions have been removed from libc on arm64. + Binutils from ports has been updated to not link to these + functions and should be updated to the latest version before + installing a new libc. + 20160517: The armv6 port now defaults to hard float ABI. Limited support for running both hardfloat and soft float on the same system @@ -39,6 +51,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 and packages may fail or need manual intervention to run. New packages will be needed. + To update an existing self-hosted armv6hf system, you must add + TARGET_ARCH=armv6 on the make command line for both the build + and the install steps. + 20160510: Kernel modules compiled outside of a kernel build now default to installing to /boot/modules instead of /boot/kernel. Many kernel Modified: projects/vnet/bin/ed/cbc.c ============================================================================== --- projects/vnet/bin/ed/cbc.c Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/bin/ed/cbc.c Thu May 26 13:34:08 2016 (r300740) @@ -90,16 +90,13 @@ void init_des_cipher(void) { #ifdef DES - int i; - des_ct = des_n = 0; /* initialize the initialization vector */ MEMZERO(ivec, 8); /* initialize the padding vector */ - for (i = 0; i < 8; i++) - pvec[i] = (char) (arc4random() % 256); + arc4random_buf(pvec, sizeof(pvec)); #endif } @@ -164,7 +161,7 @@ get_keyword(void) /* * get the key */ - if (*(p = getpass("Enter key: "))) { + if ((p = getpass("Enter key: ")) != NULL && *p != '\0') { /* * copy it, nul-padded, into the key area Modified: projects/vnet/bin/ed/io.c ============================================================================== --- projects/vnet/bin/ed/io.c Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/bin/ed/io.c Thu May 26 13:34:08 2016 (r300740) @@ -36,20 +36,24 @@ read_file(char *fn, long n) { FILE *fp; long size; - + int cs; fp = (*fn == '!') ? popen(fn + 1, "r") : fopen(strip_escapes(fn), "r"); if (fp == NULL) { fprintf(stderr, "%s: %s\n", fn, strerror(errno)); errmsg = "cannot open input file"; return ERR; - } else if ((size = read_stream(fp, n)) < 0) - return ERR; - else if (((*fn == '!') ? pclose(fp) : fclose(fp)) < 0) { + } + if ((size = read_stream(fp, n)) < 0) { + fprintf(stderr, "%s: %s\n", fn, strerror(errno)); + errmsg = "error reading input file"; + } + if ((cs = (*fn == '!') ? pclose(fp) : fclose(fp)) < 0) { fprintf(stderr, "%s: %s\n", fn, strerror(errno)); errmsg = "cannot close input file"; - return ERR; } + if (size < 0 || cs < 0) + return ERR; if (!scripted) fprintf(stdout, "%lu\n", size); return current_addr - n; @@ -143,19 +147,24 @@ write_file(char *fn, const char *mode, l { FILE *fp; long size; + int cs; fp = (*fn == '!') ? popen(fn+1, "w") : fopen(strip_escapes(fn), mode); if (fp == NULL) { fprintf(stderr, "%s: %s\n", fn, strerror(errno)); errmsg = "cannot open output file"; return ERR; - } else if ((size = write_stream(fp, n, m)) < 0) - return ERR; - else if (((*fn == '!') ? pclose(fp) : fclose(fp)) < 0) { + } + if ((size = write_stream(fp, n, m)) < 0) { + fprintf(stderr, "%s: %s\n", fn, strerror(errno)); + errmsg = "error writing output file"; + } + if ((cs = (*fn == '!') ? pclose(fp) : fclose(fp)) < 0) { fprintf(stderr, "%s: %s\n", fn, strerror(errno)); errmsg = "cannot close output file"; - return ERR; } + if (size < 0 || cs < 0) + return ERR; if (!scripted) fprintf(stdout, "%lu\n", size); return n ? m - n + 1 : 0; Modified: projects/vnet/bin/mv/mv.c ============================================================================== --- projects/vnet/bin/mv/mv.c Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/bin/mv/mv.c Thu May 26 13:34:08 2016 (r300740) @@ -286,6 +286,7 @@ fastcopy(const char *from, const char *t } if (bp == NULL && (bp = malloc((size_t)blen)) == NULL) { warnx("malloc(%u) failed", blen); + (void)close(from_fd); return (1); } while ((to_fd = Modified: projects/vnet/bin/ps/ps.c ============================================================================== --- projects/vnet/bin/ps/ps.c Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/bin/ps/ps.c Thu May 26 13:34:08 2016 (r300740) @@ -1235,6 +1235,7 @@ fmt(char **(*fn)(kvm_t *, const struct k static void saveuser(KINFO *ki) { + char *argsp; if (ki->ki_p->ki_flag & P_INMEM) { /* @@ -1253,10 +1254,12 @@ saveuser(KINFO *ki) if (ki->ki_p->ki_stat == SZOMB) ki->ki_args = strdup(""); else if (UREADOK(ki) || (ki->ki_p->ki_args != NULL)) - ki->ki_args = strdup(fmt(kvm_getargv, ki, - ki->ki_p->ki_comm, ki->ki_p->ki_tdname, MAXCOMLEN)); - else - asprintf(&ki->ki_args, "(%s)", ki->ki_p->ki_comm); + ki->ki_args = fmt(kvm_getargv, ki, + ki->ki_p->ki_comm, ki->ki_p->ki_tdname, MAXCOMLEN); + else { + asprintf(&argsp, "(%s)", ki->ki_p->ki_comm); + ki->ki_args = argsp; + } if (ki->ki_args == NULL) xo_errx(1, "malloc failed"); } else { @@ -1264,8 +1267,8 @@ saveuser(KINFO *ki) } if (needenv) { if (UREADOK(ki)) - ki->ki_env = strdup(fmt(kvm_getenvv, ki, - (char *)NULL, (char *)NULL, 0)); + ki->ki_env = fmt(kvm_getenvv, ki, + (char *)NULL, (char *)NULL, 0); else ki->ki_env = strdup("()"); if (ki->ki_env == NULL) Modified: projects/vnet/bin/ps/ps.h ============================================================================== --- projects/vnet/bin/ps/ps.h Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/bin/ps/ps.h Thu May 26 13:34:08 2016 (r300740) @@ -42,8 +42,8 @@ typedef struct kinfo_str { typedef struct kinfo { struct kinfo_proc *ki_p; /* kinfo_proc structure */ - char *ki_args; /* exec args */ - char *ki_env; /* environment */ + const char *ki_args; /* exec args */ + const char *ki_env; /* environment */ int ki_valid; /* 1 => uarea stuff valid */ double ki_pcpu; /* calculated in main() */ segsz_t ki_memsize; /* calculated in main() */ Modified: projects/vnet/bin/setfacl/file.c ============================================================================== --- projects/vnet/bin/setfacl/file.c Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/bin/setfacl/file.c Thu May 26 13:34:08 2016 (r300740) @@ -43,7 +43,7 @@ acl_t get_acl_from_file(const char *filename) { FILE *file; - char buf[BUFSIZ]; + char buf[BUFSIZ+1]; if (filename == NULL) err(1, "(null) filename in get_acl_from_file()"); @@ -61,7 +61,7 @@ get_acl_from_file(const char *filename) err(1, "fopen() %s failed", filename); } - fread(buf, sizeof(buf), (size_t)1, file); + fread(buf, sizeof(buf) - 1, (size_t)1, file); if (ferror(file) != 0) { fclose(file); err(1, "error reading from %s", filename); Modified: projects/vnet/bin/sh/parser.c ============================================================================== --- projects/vnet/bin/sh/parser.c Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/bin/sh/parser.c Thu May 26 13:34:08 2016 (r300740) @@ -1998,7 +1998,7 @@ getprompt(void *unused __unused) /* * Format prompt string. */ - for (i = 0; (i < 127) && (*fmt != '\0'); i++, fmt++) + for (i = 0; (i < PROMPTLEN - 1) && (*fmt != '\0'); i++, fmt++) if (*fmt == '\\') switch (*++fmt) { @@ -2011,7 +2011,8 @@ getprompt(void *unused __unused) case 'h': case 'H': ps[i] = '\0'; - gethostname(&ps[i], PROMPTLEN - i); + gethostname(&ps[i], PROMPTLEN - i - 1); + ps[PROMPTLEN - 1] = '\0'; /* Skip to end of hostname. */ trim = (*fmt == 'h') ? '.' : '\0'; while ((ps[i] != '\0') && (ps[i] != trim)) @@ -2061,8 +2062,9 @@ getprompt(void *unused __unused) * Emit unrecognized formats verbatim. */ default: - ps[i++] = '\\'; - ps[i] = *fmt; + ps[i] = '\\'; + if (i < PROMPTLEN - 1) + ps[++i] = *fmt; break; } else Modified: projects/vnet/bin/sh/sh.1 ============================================================================== --- projects/vnet/bin/sh/sh.1 Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/bin/sh/sh.1 Thu May 26 13:34:08 2016 (r300740) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd January 30, 2016 +.Dd May 24, 2016 .Dt SH 1 .Os .Sh NAME @@ -1403,9 +1403,9 @@ may include any of the following formatt which are replaced by the given information: .Bl -tag -width indent .It Li \eH -The local hostname. -.It Li \eh The fully-qualified hostname. +.It Li \eh +The local hostname. .It Li \eW The final component of the current working directory. .It Li \ew Modified: projects/vnet/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c ============================================================================== --- projects/vnet/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Thu May 26 13:34:08 2016 (r300740) @@ -250,6 +250,9 @@ printf("%s:%s(%d): DOODAD\n",__FUNCTION_ dofr[j].dofr_offset + 4; rel->r_info = ELF32_R_INFO(count + dep->de_global, R_PPC_REL32); +#elif defined(__riscv__) +/* XXX */ +printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); #elif defined(__sparc) /* * Add 4 bytes to hit the low half of this 64-bit @@ -440,6 +443,8 @@ prepare_elf64(dtrace_hdl_t *dtp, const d dofr[j].dofr_offset; rel->r_info = ELF64_R_INFO(count + dep->de_global, R_PPC64_REL64); +#elif defined(__riscv__) +/* XXX */ #elif defined(__i386) || defined(__amd64) rel->r_offset = s->dofs_offset + dofr[j].dofr_offset; @@ -935,7 +940,15 @@ dt_modtext(dtrace_hdl_t *dtp, char *p, i return (0); } - +#elif defined(__riscv__) +/* XXX */ +static int +dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, + uint32_t *off) +{ +printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); + return (0); +} #elif defined(__sparc) #define DT_OP_RET 0x81c7e008 Modified: projects/vnet/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c ============================================================================== --- projects/vnet/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c Thu May 26 13:34:08 2016 (r300740) @@ -310,7 +310,8 @@ pfprint_fp(dtrace_hdl_t *dtp, FILE *fp, case sizeof (double): return (dt_printf(dtp, fp, format, *((double *)addr) / n)); -#if !defined(__arm__) && !defined(__powerpc__) && !defined(__mips__) +#if !defined(__arm__) && !defined(__powerpc__) && \ + !defined(__mips__) && !defined(__riscv__) case sizeof (long double): return (dt_printf(dtp, fp, format, *((long double *)addr) / ldn)); Modified: projects/vnet/cddl/lib/Makefile ============================================================================== --- projects/vnet/cddl/lib/Makefile Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/cddl/lib/Makefile Thu May 26 13:34:08 2016 (r300740) @@ -26,7 +26,7 @@ _libzpool= libzpool .endif .endif -.if ${MACHINE_CPUARCH} != "sparc64" && ${MACHINE_CPUARCH} != "riscv" +.if ${MACHINE_CPUARCH} != "sparc64" _drti= drti _libdtrace= libdtrace .endif Modified: projects/vnet/cddl/lib/libdtrace/Makefile ============================================================================== --- projects/vnet/cddl/lib/libdtrace/Makefile Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/cddl/lib/libdtrace/Makefile Thu May 26 13:34:08 2016 (r300740) @@ -95,6 +95,10 @@ CFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/ut CFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/powerpc .PATH: ${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libdtrace/powerpc .PATH: ${.CURDIR}/../../../sys/cddl/dev/dtrace/powerpc +.elif ${MACHINE_CPUARCH} == "riscv" +CFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/riscv +.PATH: ${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libdtrace/riscv +.PATH: ${.CURDIR}/../../../sys/cddl/dev/dtrace/riscv .elif ${MACHINE_CPUARCH} == "sparc64" CFLAGS+= -I${OPENSOLARIS_SYS_DISTDIR}/uts/sparc .PATH: ${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libdtrace/sparc Modified: projects/vnet/cddl/usr.sbin/Makefile ============================================================================== --- projects/vnet/cddl/usr.sbin/Makefile Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/cddl/usr.sbin/Makefile Thu May 26 13:34:08 2016 (r300740) @@ -3,7 +3,6 @@ .include SUBDIR= ${_dtrace} \ - ${_dtruss} \ ${_lockstat} \ ${_plockstat} \ ${_tests} \ @@ -23,14 +22,13 @@ _zhack= zhack .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" _dtrace= dtrace -_dtruss= dtruss _lockstat= lockstat _plockstat= plockstat .endif -.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm" +.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm" || \ + ${MACHINE_CPUARCH} == "riscv" _dtrace= dtrace -_dtruss= dtruss _lockstat= lockstat .endif @@ -40,7 +38,6 @@ _dtrace= dtrace .if ${MACHINE_CPUARCH} == "powerpc" _dtrace= dtrace -_dtruss= dtruss _lockstat= lockstat .endif Modified: projects/vnet/contrib/binutils/gas/config/tc-arm.c ============================================================================== --- projects/vnet/contrib/binutils/gas/config/tc-arm.c Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/contrib/binutils/gas/config/tc-arm.c Thu May 26 13:34:08 2016 (r300740) @@ -2284,6 +2284,37 @@ s_unreq (int a ATTRIBUTE_UNUSED) demand_empty_rest_of_line (); } +static void +s_inst(int unused ATTRIBUTE_UNUSED) +{ + expressionS exp; + + if (thumb_mode) { + as_bad(".inst not implemented for Thumb mode"); + ignore_rest_of_line(); + return; + } + + if (is_it_end_of_statement()) { + demand_empty_rest_of_line(); + return; + } + + do { + expression(&exp); + + if (exp.X_op != O_constant) + as_bad("constant expression required"); + else + emit_expr(&exp, 4); + + } while (*input_line_pointer++ == ','); + + /* Put terminator back into stream. */ + input_line_pointer--; + demand_empty_rest_of_line(); +} + /* Directives: Instruction set selection. */ #ifdef OBJ_ELF @@ -3837,10 +3868,10 @@ s_arm_eabi_attribute (int ignored ATTRIB #endif /* OBJ_ELF */ static void s_arm_arch (int); -static void s_arm_arch_extension (int); static void s_arm_object_arch (int); static void s_arm_cpu (int); static void s_arm_fpu (int); +static void s_arm_arch_extension (int); #ifdef TE_PE @@ -3892,9 +3923,10 @@ const pseudo_typeS md_pseudo_table[] = { "syntax", s_syntax, 0 }, { "cpu", s_arm_cpu, 0 }, { "arch", s_arm_arch, 0 }, - { "arch_extension", s_arm_arch_extension, 0 }, { "object_arch", s_arm_object_arch, 0 }, { "fpu", s_arm_fpu, 0 }, + { "arch_extension", s_arm_arch_extension, 0 }, + { "inst", s_inst, 0 }, #ifdef OBJ_ELF { "word", s_arm_elf_cons, 4 }, { "long", s_arm_elf_cons, 4 }, Modified: projects/vnet/contrib/bmake/ChangeLog ============================================================================== --- projects/vnet/contrib/bmake/ChangeLog Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/contrib/bmake/ChangeLog Thu May 26 13:34:08 2016 (r300740) @@ -1,3 +1,26 @@ +2016-05-12 Simon J. Gerraty + + * Makefile (_MAKE_VERSION): 20160512 + Merge with NetBSD make, pick up + o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS + this is useful for gcov builds. + o propagate errors from filemon(4). + +2016-05-09 Simon J. Gerraty + + * Makefile (_MAKE_VERSION): 20160509 + Merge with NetBSD make, pick up + o remove use of non-standard types u_int etc. + o meta.c: apply realpath() before matching against metaIgnorePaths + +2016-04-04 Simon J. Gerraty + + * Makefile (_MAKE_VERSION): 20160404 + Merge with NetBSD make, pick up + o allow makefile to set .MAKE.JOBS + + * Makefile (PROG_NAME): use ${_MAKE_VERSION} + 2016-03-15 Simon J. Gerraty * Makefile (_MAKE_VERSION): 20160315 Modified: projects/vnet/contrib/bmake/Makefile ============================================================================== --- projects/vnet/contrib/bmake/Makefile Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/contrib/bmake/Makefile Thu May 26 13:34:08 2016 (r300740) @@ -1,7 +1,7 @@ -# $Id: Makefile,v 1.58 2016/03/15 23:39:12 sjg Exp $ +# $Id: Makefile,v 1.63 2016/05/12 20:34:46 sjg Exp $ # Base version on src date -_MAKE_VERSION= 20160315 +_MAKE_VERSION= 20160512 PROG= bmake @@ -131,9 +131,9 @@ OPTIONS_DEFAULT_NO+= \ .include .if ${MK_PROG_VERSION} == "yes" -PROG_NAME= ${PROG}-${MAKE_VERSION} +PROG_NAME= ${PROG}-${_MAKE_VERSION} .if ${MK_PROG_LINK} == "yes" -SYMLINKS+= ${PROG}-${MAKE_VERSION} ${BINDIR}/${PROG} +SYMLINKS+= ${PROG_NAME} ${BINDIR}/${PROG} .endif .endif Modified: projects/vnet/contrib/bmake/arch.c ============================================================================== --- projects/vnet/contrib/bmake/arch.c Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/contrib/bmake/arch.c Thu May 26 13:34:08 2016 (r300740) @@ -1,4 +1,4 @@ -/* $NetBSD: arch.c,v 1.68 2016/02/18 18:29:14 christos Exp $ */ +/* $NetBSD: arch.c,v 1.69 2016/04/06 09:57:00 gson Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,14 +69,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: arch.c,v 1.68 2016/02/18 18:29:14 christos Exp $"; +static char rcsid[] = "$NetBSD: arch.c,v 1.69 2016/04/06 09:57:00 gson Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)arch.c 8.2 (Berkeley) 1/2/94"; #else -__RCSID("$NetBSD: arch.c,v 1.68 2016/02/18 18:29:14 christos Exp $"); +__RCSID("$NetBSD: arch.c,v 1.69 2016/04/06 09:57:00 gson Exp $"); #endif #endif /* not lint */ #endif @@ -832,7 +832,7 @@ ArchSVR4Entry(Arch *ar, char *name, size } if (DEBUG(ARCH)) { fprintf(debug_file, "Found svr4 archive name table with %lu entries\n", - (u_long)entry); + (unsigned long)entry); } return 0; } @@ -850,7 +850,7 @@ ArchSVR4Entry(Arch *ar, char *name, size if (entry >= ar->fnamesize) { if (DEBUG(ARCH)) { fprintf(debug_file, "SVR4 entry offset %s is greater than %lu\n", - name, (u_long)ar->fnamesize); + name, (unsigned long)ar->fnamesize); } return 2; } Modified: projects/vnet/contrib/bmake/bmake.1 ============================================================================== --- projects/vnet/contrib/bmake/bmake.1 Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/contrib/bmake/bmake.1 Thu May 26 13:34:08 2016 (r300740) @@ -1,4 +1,4 @@ -.\" $NetBSD: make.1,v 1.255 2016/03/14 07:42:15 matthias Exp $ +.\" $NetBSD: make.1,v 1.257 2016/05/10 23:45:45 sjg Exp $ .\" .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" from: @(#)make.1 8.4 (Berkeley) 3/19/94 .\" -.Dd February 19, 2016 +.Dd May 10, 2016 .Dt MAKE 1 .Os .Sh NAME @@ -913,6 +913,9 @@ Provides a list of path prefixes that sh because the contents are expected to change over time. The default list includes: .Ql Pa /dev /etc /proc /tmp /var/run /var/tmp +.It Va .MAKE.META.IGNORE_PATTERNS +Provides a list of patterns to match against pathnames. +Ignore any that match. .It Va .MAKE.META.PREFIX Defines the message printed for each meta file updated in "meta verbose" mode. The default value is: Modified: projects/vnet/contrib/bmake/bmake.cat1 ============================================================================== --- projects/vnet/contrib/bmake/bmake.cat1 Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/contrib/bmake/bmake.cat1 Thu May 26 13:34:08 2016 (r300740) @@ -586,6 +586,10 @@ VVAARRIIAABBLLEE AASSSSIIGG The default list includes: `_/_d_e_v _/_e_t_c _/_p_r_o_c _/_t_m_p _/_v_a_r_/_r_u_n _/_v_a_r_/_t_m_p' + _._M_A_K_E_._M_E_T_A_._I_G_N_O_R_E___P_A_T_T_E_R_N_S + Provides a list of patterns to match against pathnames. + Ignore any that match. + _._M_A_K_E_._M_E_T_A_._P_R_E_F_I_X Defines the message printed for each meta file updated in "meta verbose" mode. The default value is: @@ -1471,4 +1475,4 @@ BBUUGGSS There is no way of escaping a space character in a filename. -NetBSD 5.1 February 19, 2016 NetBSD 5.1 +NetBSD 5.1 May 10, 2016 NetBSD 5.1 Modified: projects/vnet/contrib/bmake/compat.c ============================================================================== --- projects/vnet/contrib/bmake/compat.c Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/contrib/bmake/compat.c Thu May 26 13:34:08 2016 (r300740) @@ -1,4 +1,4 @@ -/* $NetBSD: compat.c,v 1.104 2016/02/18 18:29:14 christos Exp $ */ +/* $NetBSD: compat.c,v 1.105 2016/05/12 20:28:34 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -70,14 +70,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: compat.c,v 1.104 2016/02/18 18:29:14 christos Exp $"; +static char rcsid[] = "$NetBSD: compat.c,v 1.105 2016/05/12 20:28:34 sjg Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)compat.c 8.2 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: compat.c,v 1.104 2016/02/18 18:29:14 christos Exp $"); +__RCSID("$NetBSD: compat.c,v 1.105 2016/05/12 20:28:34 sjg Exp $"); #endif #endif /* not lint */ #endif @@ -586,7 +586,8 @@ Compat_Make(void *gnp, void *pgnp) } #ifdef USE_META if (useMeta && !NoExecute(gn)) { - meta_job_finish(NULL); + if (meta_job_finish(NULL) != 0) + gn->made = ERROR; } #endif Modified: projects/vnet/contrib/bmake/job.c ============================================================================== --- projects/vnet/contrib/bmake/job.c Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/contrib/bmake/job.c Thu May 26 13:34:08 2016 (r300740) @@ -1,4 +1,4 @@ -/* $NetBSD: job.c,v 1.186 2016/02/18 18:29:14 christos Exp $ */ +/* $NetBSD: job.c,v 1.187 2016/05/12 20:28:34 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990 The Regents of the University of California. @@ -70,14 +70,14 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: job.c,v 1.186 2016/02/18 18:29:14 christos Exp $"; +static char rcsid[] = "$NetBSD: job.c,v 1.187 2016/05/12 20:28:34 sjg Exp $"; #else #include #ifndef lint #if 0 static char sccsid[] = "@(#)job.c 8.2 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: job.c,v 1.186 2016/02/18 18:29:14 christos Exp $"); +__RCSID("$NetBSD: job.c,v 1.187 2016/05/12 20:28:34 sjg Exp $"); #endif #endif /* not lint */ #endif @@ -1072,7 +1072,11 @@ JobFinish (Job *job, WAIT_T status) #ifdef USE_META if (useMeta) { - meta_job_finish(job); + int x; + + if ((x = meta_job_finish(job)) != 0 && status == 0) { + status = x; + } } #endif Modified: projects/vnet/contrib/bmake/main.c ============================================================================== --- projects/vnet/contrib/bmake/main.c Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/contrib/bmake/main.c Thu May 26 13:34:08 2016 (r300740) @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.242 2016/03/07 21:45:43 christos Exp $ */ +/* $NetBSD: main.c,v 1.244 2016/04/05 04:25:43 sjg Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 @@ -69,7 +69,7 @@ */ #ifndef MAKE_NATIVE -static char rcsid[] = "$NetBSD: main.c,v 1.242 2016/03/07 21:45:43 christos Exp $"; +static char rcsid[] = "$NetBSD: main.c,v 1.244 2016/04/05 04:25:43 sjg Exp $"; #else #include #ifndef lint @@ -81,7 +81,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988, 19 #if 0 static char sccsid[] = "@(#)main.c 8.3 (Berkeley) 3/19/94"; #else -__RCSID("$NetBSD: main.c,v 1.242 2016/03/07 21:45:43 christos Exp $"); +__RCSID("$NetBSD: main.c,v 1.244 2016/04/05 04:25:43 sjg Exp $"); #endif #endif /* not lint */ #endif @@ -1152,14 +1152,6 @@ main(int argc, char **argv) } /* - * Be compatible if user did not specify -j and did not explicitly - * turned compatibility on - */ - if (!compatMake && !forceJobs) { - compatMake = TRUE; - } - - /* * Initialize archive, target and suffix modules in preparation for * parsing the makefile(s) */ @@ -1275,6 +1267,36 @@ main(int argc, char **argv) Var_Append("MFLAGS", Var_Value(MAKEFLAGS, VAR_GLOBAL, &p1), VAR_GLOBAL); free(p1); + if (!forceJobs && !compatMake && + Var_Exists(".MAKE.JOBS", VAR_GLOBAL)) { + char *value; + int n; + + value = Var_Subst(NULL, "${.MAKE.JOBS}", VAR_GLOBAL, VARF_WANTRES); + n = strtol(value, NULL, 0); + if (n < 1) { + (void)fprintf(stderr, "%s: illegal value for .MAKE.JOBS -- must be positive integer!\n", + progname); + exit(1); + } + if (n != maxJobs) { + Var_Append(MAKEFLAGS, "-j", VAR_GLOBAL); + Var_Append(MAKEFLAGS, value, VAR_GLOBAL); + } + maxJobs = n; + maxJobTokens = maxJobs; + forceJobs = TRUE; + free(value); + } + + /* + * Be compatible if user did not specify -j and did not explicitly + * turned compatibility on + */ + if (!compatMake && !forceJobs) { + compatMake = TRUE; + } + if (!compatMake) Job_ServerStart(maxJobTokens, jp_0, jp_1); if (DEBUG(JOB)) Modified: projects/vnet/contrib/bmake/make.1 ============================================================================== --- projects/vnet/contrib/bmake/make.1 Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/contrib/bmake/make.1 Thu May 26 13:34:08 2016 (r300740) @@ -1,4 +1,4 @@ -.\" $NetBSD: make.1,v 1.255 2016/03/14 07:42:15 matthias Exp $ +.\" $NetBSD: make.1,v 1.257 2016/05/10 23:45:45 sjg Exp $ .\" .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" from: @(#)make.1 8.4 (Berkeley) 3/19/94 .\" -.Dd February 19, 2016 +.Dd May 10, 2016 .Dt MAKE 1 .Os .Sh NAME @@ -924,6 +924,9 @@ Provides a list of path prefixes that sh because the contents are expected to change over time. The default list includes: .Ql Pa /dev /etc /proc /tmp /var/run /var/tmp +.It Va .MAKE.META.IGNORE_PATTERNS +Provides a list of patterns to match against pathnames. +Ignore any that match. .It Va .MAKE.META.PREFIX Defines the message printed for each meta file updated in "meta verbose" mode. The default value is: Modified: projects/vnet/contrib/bmake/meta.c ============================================================================== --- projects/vnet/contrib/bmake/meta.c Thu May 26 13:19:44 2016 (r300739) +++ projects/vnet/contrib/bmake/meta.c Thu May 26 13:34:08 2016 (r300740) @@ -1,4 +1,4 @@ -/* $NetBSD: meta.c,v 1.54 2016/03/11 07:01:21 sjg Exp $ */ +/* $NetBSD: meta.c,v 1.57 2016/05/12 20:28:34 sjg Exp $ */ /* * Implement 'meta' mode. @@ -66,6 +66,9 @@ static char *metaIgnorePathsStr; /* stri #ifndef MAKE_META_IGNORE_PATHS #define MAKE_META_IGNORE_PATHS ".MAKE.META.IGNORE_PATHS" #endif +#ifndef MAKE_META_IGNORE_PATTERNS +#define MAKE_META_IGNORE_PATTERNS ".MAKE.META.IGNORE_PATTERNS" +#endif Boolean useMeta = FALSE; static Boolean useFilemon = FALSE; @@ -73,6 +76,7 @@ static Boolean writeMeta = FALSE; static Boolean metaEnv = FALSE; /* don't save env unless asked */ static Boolean metaVerbose = FALSE; static Boolean metaIgnoreCMDs = FALSE; /* ignore CMDs in .meta files */ +static Boolean metaIgnorePatterns = FALSE; /* do we need to do pattern matches */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Thu May 26 14:02:42 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F2BEBB4B656 for ; Thu, 26 May 2016 14:02:42 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C11421BE4; Thu, 26 May 2016 14:02:42 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4QE2f4q066174; Thu, 26 May 2016 14:02:41 GMT (envelope-from bz@FreeBSD.org) Received: (from bz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4QE2f55066173; Thu, 26 May 2016 14:02:41 GMT (envelope-from bz@FreeBSD.org) Message-Id: <201605261402.u4QE2f55066173@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org using -f From: "Bjoern A. Zeeb" Date: Thu, 26 May 2016 14:02:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300742 - projects/vnet/sys/net X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.22 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, 26 May 2016 14:02:43 -0000 Author: bz Date: Thu May 26 14:02:41 2016 New Revision: 300742 URL: https://svnweb.freebsd.org/changeset/base/300742 Log: Revert the movement of if_afdata_initialized to after we do the actual work and keep it before under the same lock. The possible race condition exists one way or antoher due to unlocking but in if_detach_internal() we do check for if_afdata[] to not be NULL before trying to free, so not extra harm is done. Sponsored by: The FreeBSD Foundation Modified: projects/vnet/sys/net/if.c Modified: projects/vnet/sys/net/if.c ============================================================================== --- projects/vnet/sys/net/if.c Thu May 26 13:49:40 2016 (r300741) +++ projects/vnet/sys/net/if.c Thu May 26 14:02:41 2016 (r300742) @@ -828,6 +828,7 @@ if_attachdomain1(struct ifnet *ifp) __func__, ifp->if_xname); return; } + ifp->if_afdata_initialized = domain_init_status; IF_AFDATA_UNLOCK(ifp); /* address family dependent data region */ @@ -837,10 +838,6 @@ if_attachdomain1(struct ifnet *ifp) ifp->if_afdata[dp->dom_family] = (*dp->dom_ifattach)(ifp); } - - IF_AFDATA_LOCK(ifp); - ifp->if_afdata_initialized = domain_init_status; - IF_AFDATA_UNLOCK(ifp); } /* From owner-svn-src-projects@freebsd.org Thu May 26 14:13:11 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 07968B4B910 for ; Thu, 26 May 2016 14:13:11 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CE98D128A; Thu, 26 May 2016 14:13:10 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4QEDAk6069747; Thu, 26 May 2016 14:13:10 GMT (envelope-from bz@FreeBSD.org) Received: (from bz@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4QEDAXd069746; Thu, 26 May 2016 14:13:10 GMT (envelope-from bz@FreeBSD.org) Message-Id: <201605261413.u4QEDAXd069746@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: bz set sender to bz@FreeBSD.org using -f From: "Bjoern A. Zeeb" Date: Thu, 26 May 2016 14:13:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300743 - projects/vnet/sys/net X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.22 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, 26 May 2016 14:13:11 -0000 Author: bz Date: Thu May 26 14:13:09 2016 New Revision: 300743 URL: https://svnweb.freebsd.org/changeset/base/300743 Log: Rather than just protecting the removal from the list, also protect the check even if it means we may lock and unlock without doing any work, plugging possible race condition in a rarely exercised path of if_detach_internal(). Sponsored by: The FreeBSD Foundation Modified: projects/vnet/sys/net/if.c Modified: projects/vnet/sys/net/if.c ============================================================================== --- projects/vnet/sys/net/if.c Thu May 26 14:02:41 2016 (r300742) +++ projects/vnet/sys/net/if.c Thu May 26 14:13:09 2016 (r300743) @@ -1054,13 +1054,14 @@ if_detach_internal(struct ifnet *ifp, in ifp->if_addr = NULL; /* We can now free link ifaddr. */ + IF_ADDR_WLOCK(ifp); if (!TAILQ_EMPTY(&ifp->if_addrhead)) { ifa = TAILQ_FIRST(&ifp->if_addrhead); - IF_ADDR_WLOCK(ifp); TAILQ_REMOVE(&ifp->if_addrhead, ifa, ifa_link); IF_ADDR_WUNLOCK(ifp); ifa_free(ifa); - } + } else + IF_ADDR_WUNLOCK(ifp); } rt_flushifroutes(ifp); From owner-svn-src-projects@freebsd.org Fri May 27 06:22:26 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 36B09B4CA40 for ; Fri, 27 May 2016 06:22:26 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D864012F7; Fri, 27 May 2016 06:22:25 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4R6MPXe027402; Fri, 27 May 2016 06:22:25 GMT (envelope-from grehan@FreeBSD.org) Received: (from grehan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4R6MPXZ027401; Fri, 27 May 2016 06:22:25 GMT (envelope-from grehan@FreeBSD.org) Message-Id: <201605270622.u4R6MPXZ027401@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: grehan set sender to grehan@FreeBSD.org using -f From: Peter Grehan Date: Fri, 27 May 2016 06:22:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300828 - projects/bhyve_graphics 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.22 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 May 2016 06:22:26 -0000 Author: grehan Date: Fri May 27 06:22:24 2016 New Revision: 300828 URL: https://svnweb.freebsd.org/changeset/base/300828 Log: Create branch for bhyve graphics import. Added: - copied from r300827, head/usr.sbin/bhyve/ Directory Properties: projects/bhyve_graphics/ (props changed) From owner-svn-src-projects@freebsd.org Fri May 27 06:30:37 2016 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AB1B3B4CB99 for ; Fri, 27 May 2016 06:30:37 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 457D01873; Fri, 27 May 2016 06:30:37 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4R6Ua8g027850; Fri, 27 May 2016 06:30:36 GMT (envelope-from grehan@FreeBSD.org) Received: (from grehan@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4R6UZhW027840; Fri, 27 May 2016 06:30:35 GMT (envelope-from grehan@FreeBSD.org) Message-Id: <201605270630.u4R6UZhW027840@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: grehan set sender to grehan@FreeBSD.org using -f From: Peter Grehan Date: Fri, 27 May 2016 06:30:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r300829 - projects/bhyve_graphics 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.22 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 May 2016 06:30:37 -0000 Author: grehan Date: Fri May 27 06:30:35 2016 New Revision: 300829 URL: https://svnweb.freebsd.org/changeset/base/300829 Log: Initial bhyve native graphics support. This adds emulations for a raw framebuffer device, PS2 keyboard/mouse, XHCI USB controller and a USB tablet. A simple VNC server is provided for keyboard/mouse input, and graphics output. A VGA emulation is included, but is currently disconnected until an additional bhyve change to block out VGA memory is committed. Credits: - raw framebuffer, VNC server, XHCI controller, USB bus/device emulation and UEFI f/w support by Leon Dang - VGA, console/g, initial VNC server by tychon@ - PS2 keyboard/mouse jointly done by tychon@ and Leon Dang - hypervisor framebuffer mem support by neel@ Tested by: Michael Dexter, in a number of revisions of this code. With the appropriate UEFI image, FreeBSD, Windows and Linux guests can installed and run in graphics mode using the UEFI/GOP framebuffer. Added: projects/bhyve_graphics/atkbdc.h (contents, props changed) projects/bhyve_graphics/bhyvegc.c (contents, props changed) projects/bhyve_graphics/bhyvegc.h (contents, props changed) projects/bhyve_graphics/console.c (contents, props changed) projects/bhyve_graphics/console.h (contents, props changed) projects/bhyve_graphics/pci_fbuf.c (contents, props changed) projects/bhyve_graphics/pci_xhci.c (contents, props changed) projects/bhyve_graphics/pci_xhci.h (contents, props changed) projects/bhyve_graphics/ps2kbd.c (contents, props changed) projects/bhyve_graphics/ps2kbd.h (contents, props changed) projects/bhyve_graphics/ps2mouse.c (contents, props changed) projects/bhyve_graphics/ps2mouse.h (contents, props changed) projects/bhyve_graphics/rfb.c (contents, props changed) projects/bhyve_graphics/rfb.h (contents, props changed) projects/bhyve_graphics/sockstream.c (contents, props changed) projects/bhyve_graphics/sockstream.h (contents, props changed) projects/bhyve_graphics/usb_emul.c (contents, props changed) projects/bhyve_graphics/usb_emul.h (contents, props changed) projects/bhyve_graphics/usb_mouse.c (contents, props changed) projects/bhyve_graphics/vga.c (contents, props changed) projects/bhyve_graphics/vga.h (contents, props changed) Modified: projects/bhyve_graphics/Makefile projects/bhyve_graphics/atkbdc.c projects/bhyve_graphics/bhyverun.c Modified: projects/bhyve_graphics/Makefile ============================================================================== --- projects/bhyve_graphics/Makefile Fri May 27 06:22:24 2016 (r300828) +++ projects/bhyve_graphics/Makefile Fri May 27 06:30:35 2016 (r300829) @@ -14,9 +14,11 @@ BHYVE_SYSDIR?=${SRCTOP} SRCS= \ atkbdc.c \ acpi.c \ + bhyvegc.c \ bhyverun.c \ block_if.c \ bootrom.c \ + console.c \ consport.c \ dbgport.c \ fwctl.c \ @@ -27,6 +29,7 @@ SRCS= \ mptbl.c \ pci_ahci.c \ pci_emul.c \ + pci_fbuf.c \ pci_hostbridge.c \ pci_irq.c \ pci_lpc.c \ @@ -35,20 +38,30 @@ SRCS= \ pci_virtio_net.c \ pci_virtio_rnd.c \ pci_uart.c \ + pci_xhci.c \ pm.c \ post.c \ + ps2kbd.c \ + ps2mouse.c \ + rfb.c \ rtc.c \ smbiostbl.c \ + sockstream.c \ task_switch.c \ uart_emul.c \ + usb_emul.c \ + usb_mouse.c \ virtio.c \ + vga.c \ xmsr.c \ spinup_ap.c .PATH: ${BHYVE_SYSDIR}/sys/amd64/vmm SRCS+= vmm_instruction_emul.c -LIBADD= vmmapi md pthread +LIBADD= vmmapi md pthread z + +CFLAGS+= -I${BHYVE_SYSDIR}/sys/dev/usb/controller WARNS?= 2 Modified: projects/bhyve_graphics/atkbdc.c ============================================================================== --- projects/bhyve_graphics/atkbdc.c Fri May 27 06:22:24 2016 (r300828) +++ projects/bhyve_graphics/atkbdc.c Fri May 27 06:30:35 2016 (r300829) @@ -1,5 +1,6 @@ /*- * Copyright (c) 2014 Tycho Nightingale + * Copyright (c) 2015 Nahanni Systems Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,56 +36,548 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include #include +#include +#include +#include +#include +#include "acpi.h" #include "inout.h" +#include "pci_emul.h" +#include "pci_irq.h" #include "pci_lpc.h" +#include "ps2kbd.h" +#include "ps2mouse.h" #define KBD_DATA_PORT 0x60 #define KBD_STS_CTL_PORT 0x64 -#define KBD_SYS_FLAG 0x4 #define KBDC_RESET 0xfe +#define KBD_DEV_IRQ 1 +#define AUX_DEV_IRQ 12 + +/* controller commands */ +#define KBDC_SET_COMMAND_BYTE 0x60 +#define KBDC_GET_COMMAND_BYTE 0x20 +#define KBDC_DISABLE_AUX_PORT 0xa7 +#define KBDC_ENABLE_AUX_PORT 0xa8 +#define KBDC_TEST_AUX_PORT 0xa9 +#define KBDC_TEST_CTRL 0xaa +#define KBDC_TEST_KBD_PORT 0xab +#define KBDC_DISABLE_KBD_PORT 0xad +#define KBDC_ENABLE_KBD_PORT 0xae +#define KBDC_READ_INPORT 0xc0 +#define KBDC_READ_OUTPORT 0xd0 +#define KBDC_WRITE_OUTPORT 0xd1 +#define KBDC_WRITE_KBD_OUTBUF 0xd2 +#define KBDC_WRITE_AUX_OUTBUF 0xd3 +#define KBDC_WRITE_TO_AUX 0xd4 + +/* controller command byte (set by KBDC_SET_COMMAND_BYTE) */ +#define KBD_TRANSLATION 0x40 +#define KBD_SYS_FLAG_BIT 0x04 +#define KBD_DISABLE_KBD_PORT 0x10 +#define KBD_DISABLE_AUX_PORT 0x20 +#define KBD_ENABLE_AUX_INT 0x02 +#define KBD_ENABLE_KBD_INT 0x01 +#define KBD_KBD_CONTROL_BITS (KBD_DISABLE_KBD_PORT | KBD_ENABLE_KBD_INT) +#define KBD_AUX_CONTROL_BITS (KBD_DISABLE_AUX_PORT | KBD_ENABLE_AUX_INT) + +/* controller status bits */ +#define KBDS_KBD_BUFFER_FULL 0x01 +#define KBDS_SYS_FLAG 0x04 +#define KBDS_CTRL_FLAG 0x08 +#define KBDS_AUX_BUFFER_FULL 0x20 + +/* controller output port */ +#define KBDO_KBD_OUTFULL 0x10 +#define KBDO_AUX_OUTFULL 0x20 + +#define RAMSZ 32 +#define FIFOSZ 15 +#define CTRL_CMD_FLAG 0x8000 + +struct kbd_dev { + bool irq_active; + int irq; + + uint8_t buffer[FIFOSZ]; + int brd, bwr; + int bcnt; +}; + +struct aux_dev { + bool irq_active; + int irq; +}; + +struct atkbdc_softc { + struct vmctx *ctx; + pthread_mutex_t mtx; + + struct ps2kbd_softc *ps2kbd_sc; + struct ps2mouse_softc *ps2mouse_sc; + + uint8_t status; /* status register */ + uint8_t outport; /* controller output port */ + uint8_t ram[RAMSZ]; /* byte0 = controller config */ + + uint32_t curcmd; /* current command for next byte */ + uint32_t ctrlbyte; + + struct kbd_dev kbd; + struct aux_dev aux; +}; + +static void +atkbdc_assert_kbd_intr(struct atkbdc_softc *sc) +{ + if ((sc->ram[0] & KBD_ENABLE_KBD_INT) != 0) { + sc->kbd.irq_active = true; + vm_isa_pulse_irq(sc->ctx, sc->kbd.irq, sc->kbd.irq); + } +} + +static void +atkbdc_assert_aux_intr(struct atkbdc_softc *sc) +{ + if ((sc->ram[0] & KBD_ENABLE_AUX_INT) != 0) { + sc->aux.irq_active = true; + vm_isa_pulse_irq(sc->ctx, sc->aux.irq, sc->aux.irq); + } +} + +static int +atkbdc_kbd_queue_data(struct atkbdc_softc *sc, uint8_t val) +{ + assert(pthread_mutex_isowned_np(&sc->mtx)); + + if (sc->kbd.bcnt < FIFOSZ) { + sc->kbd.buffer[sc->kbd.bwr] = val; + sc->kbd.bwr = (sc->kbd.bwr + 1) % FIFOSZ; + sc->kbd.bcnt++; + sc->status |= KBDS_KBD_BUFFER_FULL; + sc->outport |= KBDO_KBD_OUTFULL; + } else { + printf("atkbd data buffer full\n"); + } + + return (sc->kbd.bcnt < FIFOSZ); +} + +static void +atkbdc_kbd_read(struct atkbdc_softc *sc) +{ + const uint8_t translation[256] = { + 0xff, 0x43, 0x41, 0x3f, 0x3d, 0x3b, 0x3c, 0x58, + 0x64, 0x44, 0x42, 0x40, 0x3e, 0x0f, 0x29, 0x59, + 0x65, 0x38, 0x2a, 0x70, 0x1d, 0x10, 0x02, 0x5a, + 0x66, 0x71, 0x2c, 0x1f, 0x1e, 0x11, 0x03, 0x5b, + 0x67, 0x2e, 0x2d, 0x20, 0x12, 0x05, 0x04, 0x5c, + 0x68, 0x39, 0x2f, 0x21, 0x14, 0x13, 0x06, 0x5d, + 0x69, 0x31, 0x30, 0x23, 0x22, 0x15, 0x07, 0x5e, + 0x6a, 0x72, 0x32, 0x24, 0x16, 0x08, 0x09, 0x5f, + 0x6b, 0x33, 0x25, 0x17, 0x18, 0x0b, 0x0a, 0x60, + 0x6c, 0x34, 0x35, 0x26, 0x27, 0x19, 0x0c, 0x61, + 0x6d, 0x73, 0x28, 0x74, 0x1a, 0x0d, 0x62, 0x6e, + 0x3a, 0x36, 0x1c, 0x1b, 0x75, 0x2b, 0x63, 0x76, + 0x55, 0x56, 0x77, 0x78, 0x79, 0x7a, 0x0e, 0x7b, + 0x7c, 0x4f, 0x7d, 0x4b, 0x47, 0x7e, 0x7f, 0x6f, + 0x52, 0x53, 0x50, 0x4c, 0x4d, 0x48, 0x01, 0x45, + 0x57, 0x4e, 0x51, 0x4a, 0x37, 0x49, 0x46, 0x54, + 0x80, 0x81, 0x82, 0x41, 0x54, 0x85, 0x86, 0x87, + 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, + 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, + 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, + 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, + 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, + 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, + 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, + 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, + 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, + 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, + 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, + 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, + 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, + 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff + }; + uint8_t val; + uint8_t release = 0; + + assert(pthread_mutex_isowned_np(&sc->mtx)); + + if (sc->ram[0] & KBD_TRANSLATION) { + while (ps2kbd_read(sc->ps2kbd_sc, &val) != -1) { + if (val == 0xf0) { + release = 0x80; + continue; + } else { + val = translation[val] | release; + } + atkbdc_kbd_queue_data(sc, val); + break; + } + } else { + while (sc->kbd.bcnt < FIFOSZ) { + if (ps2kbd_read(sc->ps2kbd_sc, &val) != -1) + atkbdc_kbd_queue_data(sc, val); + else + break; + } + } + + if (((sc->ram[0] & KBD_DISABLE_AUX_PORT) || + ps2mouse_fifocnt(sc->ps2mouse_sc) == 0) && sc->kbd.bcnt > 0) + atkbdc_assert_kbd_intr(sc); +} + +static void +atkbdc_aux_poll(struct atkbdc_softc *sc) +{ + if (ps2mouse_fifocnt(sc->ps2mouse_sc) > 0) { + sc->status |= KBDS_AUX_BUFFER_FULL | KBDS_KBD_BUFFER_FULL; + sc->outport |= KBDO_AUX_OUTFULL; + atkbdc_assert_aux_intr(sc); + } +} + +static void +atkbdc_kbd_poll(struct atkbdc_softc *sc) +{ + assert(pthread_mutex_isowned_np(&sc->mtx)); + + atkbdc_kbd_read(sc); +} + +static void +atkbdc_poll(struct atkbdc_softc *sc) +{ + atkbdc_aux_poll(sc); + atkbdc_kbd_poll(sc); +} + +static void +atkbdc_dequeue_data(struct atkbdc_softc *sc, uint8_t *buf) +{ + assert(pthread_mutex_isowned_np(&sc->mtx)); + + if (ps2mouse_read(sc->ps2mouse_sc, buf) == 0) { + if (ps2mouse_fifocnt(sc->ps2mouse_sc) == 0) { + if (sc->kbd.bcnt == 0) + sc->status &= ~(KBDS_AUX_BUFFER_FULL | + KBDS_KBD_BUFFER_FULL); + else + sc->status &= ~(KBDS_AUX_BUFFER_FULL); + sc->outport &= ~KBDO_AUX_OUTFULL; + } + + atkbdc_poll(sc); + return; + } + + if (sc->kbd.bcnt > 0) { + *buf = sc->kbd.buffer[sc->kbd.brd]; + sc->kbd.brd = (sc->kbd.brd + 1) % FIFOSZ; + sc->kbd.bcnt--; + if (sc->kbd.bcnt == 0) { + sc->status &= ~KBDS_KBD_BUFFER_FULL; + sc->outport &= ~KBDO_KBD_OUTFULL; + } + + atkbdc_poll(sc); + } + + if (ps2mouse_fifocnt(sc->ps2mouse_sc) == 0 && sc->kbd.bcnt == 0) { + sc->status &= ~(KBDS_AUX_BUFFER_FULL | KBDS_KBD_BUFFER_FULL); + } +} + static int atkbdc_data_handler(struct vmctx *ctx, int vcpu, int in, int port, int bytes, uint32_t *eax, void *arg) { + struct atkbdc_softc *sc; + uint8_t buf; + int retval; + if (bytes != 1) return (-1); + sc = arg; + retval = 0; + + pthread_mutex_lock(&sc->mtx); + if (in) { + sc->curcmd = 0; + if (sc->ctrlbyte != 0) { + *eax = sc->ctrlbyte & 0xff; + sc->ctrlbyte = 0; + } else { + /* read device buffer; includes kbd cmd responses */ + atkbdc_dequeue_data(sc, &buf); + *eax = buf; + } + + sc->status &= ~KBDS_CTRL_FLAG; + pthread_mutex_unlock(&sc->mtx); + return (retval); + } + + if (sc->status & KBDS_CTRL_FLAG) { + /* + * Command byte for the controller. + */ + switch (sc->curcmd) { + case KBDC_SET_COMMAND_BYTE: + sc->ram[0] = *eax; + if (sc->ram[0] & KBD_SYS_FLAG_BIT) + sc->status |= KBDS_SYS_FLAG; + else + sc->status &= ~KBDS_SYS_FLAG; + break; + case KBDC_WRITE_OUTPORT: + sc->outport = *eax; + break; + case KBDC_WRITE_TO_AUX: + ps2mouse_write(sc->ps2mouse_sc, *eax, 0); + atkbdc_poll(sc); + break; + case KBDC_WRITE_KBD_OUTBUF: + atkbdc_kbd_queue_data(sc, *eax); + break; + case KBDC_WRITE_AUX_OUTBUF: + ps2mouse_write(sc->ps2mouse_sc, *eax, 1); + sc->status |= (KBDS_AUX_BUFFER_FULL | KBDS_KBD_BUFFER_FULL); + atkbdc_aux_poll(sc); + break; + default: + /* write to particular RAM byte */ + if (sc->curcmd >= 0x61 && sc->curcmd <= 0x7f) { + int byten; + + byten = (sc->curcmd - 0x60) & 0x1f; + sc->ram[byten] = *eax & 0xff; + } + break; + } - *eax = 0; + sc->curcmd = 0; + sc->status &= ~KBDS_CTRL_FLAG; - return (0); + pthread_mutex_unlock(&sc->mtx); + return (retval); + } + + /* + * Data byte for the device. + */ + ps2kbd_write(sc->ps2kbd_sc, *eax); + atkbdc_poll(sc); + + pthread_mutex_unlock(&sc->mtx); + + return (retval); } static int atkbdc_sts_ctl_handler(struct vmctx *ctx, int vcpu, int in, int port, int bytes, uint32_t *eax, void *arg) { - int error, retval; + struct atkbdc_softc *sc; + int error, retval; if (bytes != 1) return (-1); + sc = arg; retval = 0; + + pthread_mutex_lock(&sc->mtx); + if (in) { - *eax = KBD_SYS_FLAG; /* system passed POST */ - } else { - switch (*eax) { - case KBDC_RESET: /* Pulse "reset" line. */ - error = vm_suspend(ctx, VM_SUSPEND_RESET); - assert(error == 0 || errno == EALREADY); - break; + /* read status register */ + *eax = sc->status; + pthread_mutex_unlock(&sc->mtx); + return (retval); + } + + + sc->curcmd = 0; + sc->status |= KBDS_CTRL_FLAG; + sc->ctrlbyte = 0; + + switch (*eax) { + case KBDC_GET_COMMAND_BYTE: + sc->ctrlbyte = CTRL_CMD_FLAG | sc->ram[0]; + break; + case KBDC_TEST_CTRL: + sc->ctrlbyte = CTRL_CMD_FLAG | 0x55; + break; + case KBDC_TEST_AUX_PORT: + case KBDC_TEST_KBD_PORT: + sc->ctrlbyte = CTRL_CMD_FLAG | 0; + break; + case KBDC_READ_INPORT: + sc->ctrlbyte = CTRL_CMD_FLAG | 0; + break; + case KBDC_READ_OUTPORT: + sc->ctrlbyte = CTRL_CMD_FLAG | sc->outport; + break; + case KBDC_SET_COMMAND_BYTE: + case KBDC_WRITE_OUTPORT: + case KBDC_WRITE_KBD_OUTBUF: + case KBDC_WRITE_AUX_OUTBUF: + sc->curcmd = *eax; + break; + case KBDC_DISABLE_KBD_PORT: + sc->ram[0] |= KBD_DISABLE_KBD_PORT; + break; + case KBDC_ENABLE_KBD_PORT: + sc->ram[0] &= ~KBD_DISABLE_KBD_PORT; + if (sc->kbd.bcnt > 0) + sc->status |= KBDS_KBD_BUFFER_FULL; + atkbdc_poll(sc); + break; + case KBDC_WRITE_TO_AUX: + sc->curcmd = *eax; + break; + case KBDC_DISABLE_AUX_PORT: + sc->ram[0] |= KBD_DISABLE_AUX_PORT; + ps2mouse_toggle(sc->ps2mouse_sc, 0); + sc->status &= ~(KBDS_AUX_BUFFER_FULL | KBDS_KBD_BUFFER_FULL); + sc->outport &= ~KBDS_AUX_BUFFER_FULL; + break; + case KBDC_ENABLE_AUX_PORT: + sc->ram[0] &= ~KBD_DISABLE_AUX_PORT; + ps2mouse_toggle(sc->ps2mouse_sc, 1); + if (ps2mouse_fifocnt(sc->ps2mouse_sc) > 0) + sc->status |= KBDS_AUX_BUFFER_FULL | KBDS_KBD_BUFFER_FULL; + break; + case KBDC_RESET: /* Pulse "reset" line */ + error = vm_suspend(ctx, VM_SUSPEND_RESET); + assert(error == 0 || errno == EALREADY); + break; + default: + if (*eax >= 0x21 && *eax <= 0x3f) { + /* read "byte N" from RAM */ + int byten; + + byten = (*eax - 0x20) & 0x1f; + sc->ctrlbyte = CTRL_CMD_FLAG | sc->ram[byten]; } + break; + } + + pthread_mutex_unlock(&sc->mtx); + + if (sc->ctrlbyte != 0) { + sc->status |= KBDS_KBD_BUFFER_FULL; + sc->status &= ~KBDS_AUX_BUFFER_FULL; + atkbdc_assert_kbd_intr(sc); + } else if (ps2mouse_fifocnt(sc->ps2mouse_sc) > 0 && + (sc->ram[0] & KBD_DISABLE_AUX_PORT) == 0) { + sc->status |= KBDS_AUX_BUFFER_FULL | KBDS_KBD_BUFFER_FULL; + atkbdc_assert_aux_intr(sc); + } else if (sc->kbd.bcnt > 0 && (sc->ram[0] & KBD_DISABLE_KBD_PORT) == 0) { + sc->status |= KBDS_KBD_BUFFER_FULL; + atkbdc_assert_kbd_intr(sc); } return (retval); } -INOUT_PORT(atkdbc, KBD_DATA_PORT, IOPORT_F_INOUT, atkbdc_data_handler); -SYSRES_IO(KBD_DATA_PORT, 1); -INOUT_PORT(atkbdc, KBD_STS_CTL_PORT, IOPORT_F_INOUT, - atkbdc_sts_ctl_handler); -SYSRES_IO(KBD_STS_CTL_PORT, 1); +void +atkbdc_event(struct atkbdc_softc *sc, int iskbd) +{ + pthread_mutex_lock(&sc->mtx); + + if (iskbd) + atkbdc_kbd_poll(sc); + else + atkbdc_aux_poll(sc); + pthread_mutex_unlock(&sc->mtx); +} + +void +atkbdc_init(struct vmctx *ctx) +{ + struct inout_port iop; + struct atkbdc_softc *sc; + int error; + + sc = calloc(1, sizeof(struct atkbdc_softc)); + sc->ctx = ctx; + + pthread_mutex_init(&sc->mtx, NULL); + + bzero(&iop, sizeof(struct inout_port)); + iop.name = "atkdbc"; + iop.port = KBD_STS_CTL_PORT; + iop.size = 1; + iop.flags = IOPORT_F_INOUT; + iop.handler = atkbdc_sts_ctl_handler; + iop.arg = sc; + + error = register_inout(&iop); + assert(error == 0); + + bzero(&iop, sizeof(struct inout_port)); + iop.name = "atkdbc"; + iop.port = KBD_DATA_PORT; + iop.size = 1; + iop.flags = IOPORT_F_INOUT; + iop.handler = atkbdc_data_handler; + iop.arg = sc; + + error = register_inout(&iop); + assert(error == 0); + + pci_irq_reserve(KBD_DEV_IRQ); + sc->kbd.irq = KBD_DEV_IRQ; + + pci_irq_reserve(AUX_DEV_IRQ); + sc->aux.irq = AUX_DEV_IRQ; + + sc->ps2kbd_sc = ps2kbd_init(sc); + sc->ps2mouse_sc = ps2mouse_init(sc); +} + +static void +atkbdc_dsdt(void) +{ + + dsdt_line(""); + dsdt_line("Device (KBD)"); + dsdt_line("{"); + dsdt_line(" Name (_HID, EisaId (\"PNP0303\"))"); + dsdt_line(" Name (_CRS, ResourceTemplate ()"); + dsdt_line(" {"); + dsdt_indent(2); + dsdt_fixed_ioport(KBD_DATA_PORT, 1); + dsdt_fixed_ioport(KBD_STS_CTL_PORT, 1); + dsdt_fixed_irq(1); + dsdt_unindent(2); + dsdt_line(" })"); + dsdt_line("}"); + + dsdt_line(""); + dsdt_line("Device (MOU)"); + dsdt_line("{"); + dsdt_line(" Name (_HID, EisaId (\"PNP0F13\"))"); + dsdt_line(" Name (_CRS, ResourceTemplate ()"); + dsdt_line(" {"); + dsdt_indent(2); + dsdt_fixed_ioport(KBD_DATA_PORT, 1); + dsdt_fixed_ioport(KBD_STS_CTL_PORT, 1); + dsdt_fixed_irq(12); + dsdt_unindent(2); + dsdt_line(" })"); + dsdt_line("}"); +} +LPC_DSDT(atkbdc_dsdt); + Added: projects/bhyve_graphics/atkbdc.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bhyve_graphics/atkbdc.h Fri May 27 06:30:35 2016 (r300829) @@ -0,0 +1,38 @@ +/*- + * Copyright (c) 2015 Tycho Nightingale + * 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 ``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$ + */ + +#ifndef _ATKBDC_H_ +#define _ATKBDC_H_ + +struct atkbdc_softc; +struct vmctx; + +void atkbdc_init(struct vmctx *ctx); +void atkbdc_event(struct atkbdc_softc *sc, int iskbd); + +#endif /* _ATKBDC_H_ */ Added: projects/bhyve_graphics/bhyvegc.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bhyve_graphics/bhyvegc.c Fri May 27 06:30:35 2016 (r300829) @@ -0,0 +1,72 @@ +#include + +#include + +#include +#include +#include + +#include "bhyvegc.h" + +struct bhyvegc { + struct bhyvegc_image *gc_image; + int raw; +}; + +struct bhyvegc * +bhyvegc_init(int width, int height, void *fbaddr) +{ + struct bhyvegc *gc; + struct bhyvegc_image *gc_image; + + gc = calloc(1, sizeof (struct bhyvegc)); + + gc_image = calloc(1, sizeof(struct bhyvegc_image)); + gc_image->width = width; + gc_image->height = height; + if (fbaddr) { + gc_image->data = fbaddr; + gc->raw = 1; + } else { + gc_image->data = calloc(width * height, sizeof (uint32_t)); + gc->raw = 0; + } + + gc->gc_image = gc_image; + + return (gc); +} + +void +bhyvegc_set_fbaddr(struct bhyvegc *gc, void *fbaddr) +{ + gc->raw = 1; + if (gc->gc_image->data && gc->gc_image->data != fbaddr) + free(gc->gc_image->data); + gc->gc_image->data = fbaddr; +} + +void +bhyvegc_resize(struct bhyvegc *gc, int width, int height) +{ + struct bhyvegc_image *gc_image; + + gc_image = gc->gc_image; + + gc_image->width = width; + gc_image->height = height; + if (!gc->raw) { + gc_image->data = realloc(gc_image->data, + sizeof (uint32_t) * width * height); + memset(gc_image->data, 0, width * height * sizeof (uint32_t)); + } +} + +struct bhyvegc_image * +bhyvegc_get_image(struct bhyvegc *gc) +{ + if (gc == NULL) + return (NULL); + + return (gc->gc_image); +} Added: projects/bhyve_graphics/bhyvegc.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bhyve_graphics/bhyvegc.h Fri May 27 06:30:35 2016 (r300829) @@ -0,0 +1,46 @@ +/*- + * Copyright (c) 2015 Tycho Nightingale + * 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 ``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$ + */ + +#ifndef _BHYVEGC_H_ +#define _BHYVEGC_H_ + +struct bhyvegc; + +struct bhyvegc_image { + int vgamode; + int width; + int height; + uint32_t *data; +}; + +struct bhyvegc *bhyvegc_init(int width, int height, void *fbaddr); +void bhyvegc_set_fbaddr(struct bhyvegc *gc, void *fbaddr); +void bhyvegc_resize(struct bhyvegc *gc, int width, int height); +struct bhyvegc_image *bhyvegc_get_image(struct bhyvegc *gc); + +#endif /* _BHYVEGC_H_ */ Modified: projects/bhyve_graphics/bhyverun.c ============================================================================== --- projects/bhyve_graphics/bhyverun.c Fri May 27 06:22:24 2016 (r300828) +++ projects/bhyve_graphics/bhyverun.c Fri May 27 06:30:35 2016 (r300829) @@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$"); #include "bhyverun.h" #include "acpi.h" +#include "atkbdc.h" #include "inout.h" #include "dbgport.h" #include "fwctl.h" @@ -901,6 +902,7 @@ main(int argc, char *argv[]) init_mem(); init_inout(); + atkbdc_init(ctx); pci_irq_init(ctx); ioapic_init(ctx); Added: projects/bhyve_graphics/console.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bhyve_graphics/console.c Fri May 27 06:30:35 2016 (r300829) @@ -0,0 +1,118 @@ +/*- + * Copyright (c) 2015 Tycho Nightingale + * 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 ``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. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include + +#include "bhyvegc.h" +#include "console.h" + +static struct { + struct bhyvegc *gc; + + fb_render_func_t fb_render_cb; + void *fb_arg; + + kbd_event_func_t kbd_event_cb; + void *kbd_arg; + int kbd_priority; + + ptr_event_func_t ptr_event_cb; + void *ptr_arg; + int ptr_priority; +} console; + +void +console_init(int w, int h, void *fbaddr) +{ + console.gc = bhyvegc_init(w, h, fbaddr); +} + +void +console_set_fbaddr(void *fbaddr) +{ + bhyvegc_set_fbaddr(console.gc, fbaddr); +} + +struct bhyvegc_image * +console_get_image(void) +{ + struct bhyvegc_image *bhyvegc_image; + + bhyvegc_image = bhyvegc_get_image(console.gc); + + return (bhyvegc_image); +} + +void +console_fb_register(fb_render_func_t render_cb, void *arg) +{ + console.fb_render_cb = render_cb; + console.fb_arg = arg; +} + +void +console_refresh(void) +{ + if (console.fb_render_cb) + (*console.fb_render_cb)(console.gc, console.fb_arg); +} + +void +console_kbd_register(kbd_event_func_t event_cb, void *arg, int pri) +{ + if (pri > console.kbd_priority) { + console.kbd_event_cb = event_cb; + console.kbd_arg = arg; + console.kbd_priority = pri; + } +} + +void +console_ptr_register(ptr_event_func_t event_cb, void *arg, int pri) +{ + if (pri > console.ptr_priority) { + console.ptr_event_cb = event_cb; + console.ptr_arg = arg; + console.ptr_priority = pri; + } +} + +void +console_key_event(int down, uint32_t keysym) +{ + if (console.kbd_event_cb) + (*console.kbd_event_cb)(down, keysym, console.kbd_arg); +} + +void +console_ptr_event(uint8_t button, int x, int y) +{ + if (console.ptr_event_cb) + (*console.ptr_event_cb)(button, x, y, console.ptr_arg); +} Added: projects/bhyve_graphics/console.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bhyve_graphics/console.h Fri May 27 06:30:35 2016 (r300829) @@ -0,0 +1,53 @@ +/*- + * Copyright (c) 2015 Tycho Nightingale + * 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 ``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$ + */ + +#ifndef _CONSOLE_H_ +#define _CONSOLE_H_ + +struct bhyvegc; + +typedef void (*fb_render_func_t)(struct bhyvegc *gc, void *arg); +typedef void (*kbd_event_func_t)(int down, uint32_t keysym, void *arg); +typedef void (*ptr_event_func_t)(uint8_t mask, int x, int y, void *arg); + +void console_init(int w, int h, void *fbaddr); + +void console_set_fbaddr(void *fbaddr); + +struct bhyvegc_image *console_get_image(void); + +void console_fb_register(fb_render_func_t render_cb, void *arg); +void console_refresh(void); + +void console_kbd_register(kbd_event_func_t event_cb, void *arg, int pri); +void console_key_event(int down, uint32_t keysym); + +void console_ptr_register(ptr_event_func_t event_cb, void *arg, int pri); +void console_ptr_event(uint8_t button, int x, int y); + +#endif /* _CONSOLE_H_ */ Added: projects/bhyve_graphics/pci_fbuf.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bhyve_graphics/pci_fbuf.c Fri May 27 06:30:35 2016 (r300829) @@ -0,0 +1,406 @@ +/*- + * Copyright (c) 2015 Nahanni Systems, 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. *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***