From owner-svn-soc-all@freebsd.org Sun Aug 16 08:59:12 2015 Return-Path: Delivered-To: svn-soc-all@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 F06589B977D for ; Sun, 16 Aug 2015 08:59:11 +0000 (UTC) (envelope-from stefano@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 D4D4C110C for ; Sun, 16 Aug 2015 08:59:11 +0000 (UTC) (envelope-from stefano@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7G8xBUx039257 for ; Sun, 16 Aug 2015 08:59:11 GMT (envelope-from stefano@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7G8xBKg039254 for svn-soc-all@FreeBSD.org; Sun, 16 Aug 2015 08:59:11 GMT (envelope-from stefano@FreeBSD.org) Date: Sun, 16 Aug 2015 08:59:11 GMT Message-Id: <201508160859.t7G8xBKg039254@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to stefano@FreeBSD.org using -f From: stefano@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289801 - soc2015/stefano MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2015 08:59:12 -0000 Author: stefano Date: Sun Aug 16 08:59:10 2015 New Revision: 289801 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289801 Log: update README ================================ ==================================== Modified: soc2015/stefano/README Modified: soc2015/stefano/README ============================================================================== --- soc2015/stefano/README Sun Aug 16 01:08:59 2015 (r289800) +++ soc2015/stefano/README Sun Aug 16 08:59:10 2015 (r289801) @@ -1,4 +1,4 @@ -A FreeBSD/bhyve version of the netmap virtual passthrough (ptnetmap) for VMs. +AFreeBSD/bhyve version of the netmap virtual passthrough (ptnetmap) for VMs. Student: Stefano Garzarella Mentor: Luigi Rizzo @@ -78,9 +78,130 @@ implement kernel thread in netmap host adapter [D3]. Week 9: --- DONE --- test and bugfix [D3]. -Week 10: --- STARTED --- +Week 10: --- DONE --- implement notification mechanism in bhyve/freebsd [D4]. -Week 11: +Week 11: --- DONE --- test and performance evaluation [D4]. -Week 12: +Week 12: --- DONE --- clean code and prepare documents to final evaluation. + + +=========================== Final Documentation =============================== +My code is available here: +https://svnweb.freebsd.org/socsvn/soc2015/stefano/ptnetmap/stable/10/ +I used the 10-STABLE branch for my work. +To get the patches of modified modules you can follow the following steps: + - bhyve + svn diff -r 287649 usr.sbin/bhyve + - virtio-net + svn diff -r 287649 sys/dev/virtio/network + - vmm.ko + svn diff -r 287649 lib/libvmmapi sys/modules/vmm sys/amd64 + - netmap + the changes will be shortly committed in HEAD and R10 + svn diff -r 287649 sys/conf/files sys/modules/netmap sys/dev/cxgbe \ + sys/dev/netmap sys/net + +The ptnetmap support for linux-KVM and QEMU is available here: +https://github.com/stefano-garzarella/ptnetmap + +I implemented ptnetmap on bhyve working on the following steps: + +- bhyve network backends + I reused the code developed by Luigi Rizzo (my mentor) and Vincenzo + Maffione to support multiple backend in bhyve and to interface them + with a fronteds. + The backends availabale are: + - tap + - netmap (netmap, vale) + - ptnetmap (ptnetmap, ptvale) + +- ptnetmap support on virtio-net device for FreeBSD + I modified the virtio-net guest device driver and the virtio-net fronted + of thh host hypervisor (bhyve) to support ptnetmap. + + guest: + - new PTNETMAP config flag in virtio-net device driver to check + if ptnetmap is supported. + - ptnetmap device-specific code (netmap - if_vtnet_netmap.h) + + host (hypervisor): + - ptnetmap support on virtio-net fronted (bhyve - pci_virtio_ptnetmap.h) + - ptnetmap backend [name: ptnetmap, ptvale] (bhyve - net_backends.c) + +- map netmap host memory into the guest + I added a new IOCTL to vmm.ko to map an userspace guest buffer in the + guest VM. Then I implemented a new PCI device (ptnetmap-memdev) to map + the netmap host memory in the guest through PCI MEMORY-BAR. + + kernel host (vmm.ko): + - new VM_MAP_USER_BUF ioctl to map buffer in the guest + + userspace host (bhyve): + - vm_map_user_buf() in libvmmapi + - ptnetmap‐memdev device emulation (bhyve - pci_ptnetmap_memdev.c) + + kernel guest (netmap): + - device driver for ptnetmap-memdev inluded in netmap module + +- ptnetmap support for FreeBSD host: + I implemented kernel thread in netmap module to support ptnetmap on + FreeBSD host. + + kernel host (netmap): + - nm_os_kthread_*() functions to handle netmap kthreads. + (netmap - netmap_freebsd.c ptnetmap.c) + +- netmap guest/host notification mechanisms. + I needed two mechanisms: + 1) notification from ptnetmap kthread to guest VM (interrupt/irq) + vmm.ko already has IOCTL to send interrupt to the guest and I used it + in the ptnetmap kernel threads. + 2) notification from guest VM to ptnetmap kthread (write into the + specific register) + I added new IOCTL on vmm.ko (VM_IO_REG_HANDLER) to catch write/read + on specific I/O address and send notification. + For now I've implemented only one type of handler (VM_IO_REGH_KWEVENTS) + to use these events in the kernel through wakeup() and tsleep()/msleep(), + but I wrote the code to be easily extended to support other type of + handler (cond_signal, write/ioctl on fd, etc). + + kernel host (vmm.ko): + - new VM_IO_REG_HANDLER ioctl to catch write/read on specific + I/O address and to choose an handler. (eg. wakeup(event_id) + - vm_io_reg_handler() in libvmmapi + + kernel host (netmap) + - msleep() on event_id. + + userspace host (bhyve) + - vm_io_reg_handler(VTCFG_R_QNOTIFY, event_id) + send guest notifications to ptnetmap kthreads when the guest + writes on this virtio register (bhyve - pci_virtio_ptnetmap.h) + - tell to netmap kthreads the event_id where they can wait for + events + + +Example: + +Run a 2GB single‐CPU virtual machine with three network ports which use +netmap and ptnetmap backends: + +bhyve ‐s 0,hostbridge ‐s 1,lpc \ + ‐s 2:1,virtio‐net,vale0:1 \ /* normal vale backend */ + ‐s 2:2,ptnetmap‐memdev \ /* ptnetmap-memdev is needed for each + * ptnetmap port + * (If two or more ptnetmap ports + * share the same netmap memory allocator, + * only one ptnetmap‐memdev is required) + */ + ‐s 2:3,virtio‐net,ptvale1:1 \ /* vale port in ptnetmap mode + * If "pt" prefix is used, the port + * is opened in passthrough mode (ptnetmap) + */ + ‐s 2:2,ptnetmap‐memdev \ + ‐s 2:3,virtio‐net,ptvale2{1 \ /* netmap-pipe in ptnetmap mode */ + ‐s 3,ptnetmap‐memdev \ + ‐s 4,virtio‐net,ptnetmap:ix0 \ /* NIC in ptnetmap mode */ + ‐l com1,stdio ‐A ‐H ‐P ‐m 2G netmapvm + From owner-svn-soc-all@freebsd.org Sun Aug 16 14:54:48 2015 Return-Path: Delivered-To: svn-soc-all@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 1AD4F9BB05D for ; Sun, 16 Aug 2015 14:54:48 +0000 (UTC) (envelope-from pratiksinghal@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 D971FBA9 for ; Sun, 16 Aug 2015 14:54:47 +0000 (UTC) (envelope-from pratiksinghal@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7GEsluB092925 for ; Sun, 16 Aug 2015 14:54:47 GMT (envelope-from pratiksinghal@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7GEslDL092923 for svn-soc-all@FreeBSD.org; Sun, 16 Aug 2015 14:54:47 GMT (envelope-from pratiksinghal@FreeBSD.org) Date: Sun, 16 Aug 2015 14:54:47 GMT Message-Id: <201508161454.t7GEslDL092923@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to pratiksinghal@FreeBSD.org using -f From: pratiksinghal@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289808 - soc2015/pratiksinghal/cubie-head/sys/arm/allwinner MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Aug 2015 14:54:48 -0000 Author: pratiksinghal Date: Sun Aug 16 14:54:46 2015 New Revision: 289808 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289808 Log: PCM channels are now initialized correctly Modified: soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_ac97.c Modified: soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_ac97.c ============================================================================== --- soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_ac97.c Sun Aug 16 13:59:11 2015 (r289807) +++ soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_ac97.c Sun Aug 16 14:54:46 2015 (r289808) @@ -40,6 +40,9 @@ #include "a10_ac97.h" +#define A10_NREC_CHANNEL 1 +#define A10_NPLAY_CHANNEL 1 + /* TODO :- Add DMA support after the pio mode works corectly. */ struct a10_ac97_channel @@ -78,6 +81,14 @@ static void *a10_ac97_chan_init(kobj_t, void *, struct snd_dbuf *, struct pcm_channel *, int); static int a10_ac97_setfmt(kobj_t, void *, uint32_t); +static kobj_method_t a10_ac97_chan_methods[] = { + KOBJMETHOD(channel_init, a10_ac97_chan_init), + KOBJMETHOD(channel_setformat, a10_ac97_setfmt), + KOBJMETHOD_END +}; + +CHANNEL_DECLARE(a10_ac97_chan); + #define AC97_READ(_sc, _reg) \ bus_space_read_4((_sc)->ac97_bst, (_sc)->ac97_bsh, _reg) #define AC97_WRITE(_sc, _reg, _value) \ @@ -132,6 +143,12 @@ sc->ac97_bst = rman_get_bustag(sc->mem_res); sc->ac97_bsh = rman_get_bushandle(sc->mem_res); + if (pcm_register(sc->ac_dev, sc, A10_NPLAY_CHANNEL, A10_NREC_CHANNEL)) + goto fail; + + pcm_addchan(sc->ac_dev, PCMDIR_PLAY, &a10_ac97_chan_class, sc); + pcm_addchan(sc->ac_dev, PCMDIR_REC, &a10_ac97_chan_class, sc); + mtx_init(&sc->ac97_mtx, device_get_nameunit(dev), "a10_ac97", MTX_DEF); uint32_t val,total; @@ -226,20 +243,6 @@ } } -static kobj_method_t a10_ac97_chan_methods[] = { - KOBJMETHOD(channel_init, a10_ac97_chan_init), - KOBJMETHOD(channel_setformat, a10_ac97_setfmt), - //KOBJMETHOD(channel_setspeed, a10_ac97_speed), - //KOBJMETHOD(channel_setblocksize, a10_ac97_setblksz), - //KOBJMETHOD(channel_setfragments, a10_ac97_setfragments), - //KOBJMETHOD(channel_trigger, a10_ac97_chan_trigger), - //KOBJMETHOD(channel_getptr, a10_ac97_getptr), - //KOBJMETHOD(channel_getcaps, a10_ac97_getcaps) - KOBJMETHOD_END -}; - -CHANNEL_DECLARE(a10_ac97_chan); - static device_method_t a10_ac97_methods[] = { DEVMETHOD(device_probe, ac97_probe), DEVMETHOD(device_attach, ac97_attach), From owner-svn-soc-all@freebsd.org Mon Aug 17 09:13:45 2015 Return-Path: Delivered-To: svn-soc-all@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 05F899BB4E0 for ; Mon, 17 Aug 2015 09:13:45 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 E0BF41DC8 for ; Mon, 17 Aug 2015 09:13:44 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7H9Dijm098177 for ; Mon, 17 Aug 2015 09:13:44 GMT (envelope-from iateaca@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7H9DiaI098136 for svn-soc-all@FreeBSD.org; Mon, 17 Aug 2015 09:13:44 GMT (envelope-from iateaca@FreeBSD.org) Date: Mon, 17 Aug 2015 09:13:44 GMT Message-Id: <201508170913.t7H9DiaI098136@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to iateaca@FreeBSD.org using -f From: iateaca@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289821 - soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2015 09:13:45 -0000 Author: iateaca Date: Mon Aug 17 09:13:43 2015 New Revision: 289821 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289821 Log: redesign the emulation of the CR register Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c ============================================================================== --- soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Mon Aug 17 07:36:12 2015 (r289820) +++ soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Mon Aug 17 09:13:43 2015 (r289821) @@ -124,6 +124,8 @@ ne2000_write_asic(struct pci_ne2000_softc *sc, uint8_t offset, uint16_t value); static int +ne2000_emul_reg_cr(struct pci_ne2000_softc *sc, uint8_t value); +static int ne2000_emul_reg_page0(struct pci_ne2000_softc *sc, uint8_t offset, uint8_t value); static int @@ -653,24 +655,9 @@ { int err; - /* check is not selected a new page */ - if (offset == ED_P0_CR) { - switch (value & (ED_CR_PS0 | ED_CR_PS1)) { - case ED_CR_PAGE_0: - sc->page = NE2000_P0; - break; - case ED_CR_PAGE_1: - sc->page = NE2000_P1; - break; - case ED_CR_PAGE_2: - DPRINTF("The ED driver seleted PAGE2"); - assert(0); - break; - case ED_CR_PAGE_3: - sc->page = NE2000_P3; - break; - } - } + /* the CR register is located always at offset = 0 */ + if (offset == ED_P0_CR || offset == ED_P1_CR || offset == ED_P2_CR) + return ne2000_emul_reg_cr(sc, value); if (!(sc->page == NE2000_P0 && offset == ED_P0_ISR)) ne2000_set_reg_by_offset(sc, sc->page, offset, value); @@ -768,8 +755,7 @@ } static int -ne2000_emul_reg_page0(struct pci_ne2000_softc *sc, uint8_t offset, - uint8_t value) +ne2000_emul_reg_cr(struct pci_ne2000_softc *sc, uint8_t value) { int err; uint8_t rbcr0 = 0; @@ -786,56 +772,85 @@ uint16_t tbcr = 0; uint8_t tpsr = 0; + /* check is not selected a new page */ + switch (value & (ED_CR_PS0 | ED_CR_PS1)) { + case ED_CR_PAGE_0: + sc->page = NE2000_P0; + break; + case ED_CR_PAGE_1: + sc->page = NE2000_P1; + break; + case ED_CR_PAGE_2: + DPRINTF("The ED driver seleted PAGE2"); + assert(0); + break; + case ED_CR_PAGE_3: + sc->page = NE2000_P3; + break; + } + + /* emulate any command specified in the CR register */ + if (value & ED_CR_STP) { + err = ne2000_software_reset(sc); + assert(err == 0); + } + if (value & ED_CR_RD2) + assert(!(sc->remote_read || sc->remote_write)); + if (value & (ED_CR_RD0 | ED_CR_RD1)) { + assert(value & ED_CR_STA); + + if (value & ED_CR_RD0) + sc->remote_read = 1; + else + sc->remote_write = 1; + + rbcr0 = ne2000_get_reg_by_offset(sc, NE2000_P0, + ED_P0_RBCR0); + rbcr1 = ne2000_get_reg_by_offset(sc, NE2000_P0, + ED_P0_RBCR1); + rbcr = rbcr0 | (rbcr1 << 8); + + rsar0 = ne2000_get_reg_by_offset(sc, NE2000_P0, + ED_P0_RSAR0); + rsar1 = ne2000_get_reg_by_offset(sc, NE2000_P0, + ED_P0_RSAR1); + rsar = rsar0 | (rsar1 << 8); + + DPRINTF("Remote DMA %s: from %d address of %d bytes", + sc->remote_read ? "read" : "write", rsar, rbcr); + } + if (value & ED_CR_TXP) { + assert(!(sc->remote_read || sc->remote_write)); + assert(value & ED_CR_STA); + + tpsr = ne2000_get_reg_by_offset(sc, NE2000_P0, + ED_P0_TPSR); + tbcr0 = ne2000_get_reg_by_offset(sc, NE2000_P0, + ED_P0_TBCR0); + tbcr1 = ne2000_get_reg_by_offset(sc, NE2000_P0, + ED_P0_TBCR1); + tbcr = tbcr0 | (tbcr1 << 8); + + err = ne2000_tap_tx(sc, tpsr, tbcr); + assert(err == 0); + } + + /* store the value in the CR register located in the Page0 */ + ne2000_set_reg_by_offset(sc, NE2000_P0, ED_P0_CR, value); + + return 0; +} + +static int +ne2000_emul_reg_page0(struct pci_ne2000_softc *sc, uint8_t offset, + uint8_t value) +{ uint8_t pstart = 0; uint8_t pstop = 0; - switch (offset) { - case ED_P0_CR: - if (value & ED_CR_STP) { - err = ne2000_software_reset(sc); - assert(err == 0); - } - if (value & ED_CR_RD2) - assert(!(sc->remote_read || sc->remote_write)); - if (value & (ED_CR_RD0 | ED_CR_RD1)) { - assert(value & ED_CR_STA); - - if (value & ED_CR_RD0) - sc->remote_read = 1; - else - sc->remote_write = 1; - - rbcr0 = ne2000_get_reg_by_offset(sc, NE2000_P0, - ED_P0_RBCR0); - rbcr1 = ne2000_get_reg_by_offset(sc, NE2000_P0, - ED_P0_RBCR1); - rbcr = rbcr0 | (rbcr1 << 8); - - rsar0 = ne2000_get_reg_by_offset(sc, NE2000_P0, - ED_P0_RSAR0); - rsar1 = ne2000_get_reg_by_offset(sc, NE2000_P0, - ED_P0_RSAR1); - rsar = rsar0 | (rsar1 << 8); + assert(offset != ED_P0_CR); - DPRINTF("Remote DMA %s: from %d address of %d bytes", - sc->remote_read ? "read" : "write", rsar, rbcr); - } - if (value & ED_CR_TXP) { - assert(!(sc->remote_read || sc->remote_write)); - assert(value & ED_CR_STA); - - tpsr = ne2000_get_reg_by_offset(sc, NE2000_P0, - ED_P0_TPSR); - tbcr0 = ne2000_get_reg_by_offset(sc, NE2000_P0, - ED_P0_TBCR0); - tbcr1 = ne2000_get_reg_by_offset(sc, NE2000_P0, - ED_P0_TBCR1); - tbcr = tbcr0 | (tbcr1 << 8); - - err = ne2000_tap_tx(sc, tpsr, tbcr); - assert(err == 0); - } - break; + switch (offset) { case ED_P0_PSTART: DPRINTF("Page Start Register: %d", value); assert(value > 0 && value * ED_PAGE_SIZE < NE2000_MEM_SIZE); @@ -867,15 +882,12 @@ ne2000_emul_reg_page1(struct pci_ne2000_softc *sc, uint8_t offset, uint8_t value) { - int err; uint8_t pstart = 0; uint8_t pstop = 0; + assert(offset != ED_P1_CR); + switch (offset) { - case ED_P1_CR: - err = ne2000_emul_reg_page0(sc, offset, value); - assert(err == 0); - break; case ED_P1_PAR0 ... ED_P1_PAR5: DPRINTF("PAR[%d]: 0x%x", offset - ED_P1_PAR0, value); break; From owner-svn-soc-all@freebsd.org Mon Aug 17 15:27:28 2015 Return-Path: Delivered-To: svn-soc-all@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 D5D6E9BBBC9 for ; Mon, 17 Aug 2015 15:27:28 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 C5D301E13 for ; Mon, 17 Aug 2015 15:27:28 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7HFRSZI094514 for ; Mon, 17 Aug 2015 15:27:28 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7HFRRJ5094496 for svn-soc-all@FreeBSD.org; Mon, 17 Aug 2015 15:27:27 GMT (envelope-from def@FreeBSD.org) Date: Mon, 17 Aug 2015 15:27:27 GMT Message-Id: <201508171527.t7HFRRJ5094496@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289827 - in soc2013/def/crashdump-head: sbin/cryptcore sys/kern sys/sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2015 15:27:29 -0000 Author: def Date: Mon Aug 17 15:27:26 2015 New Revision: 289827 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289827 Log: Use only one sysctl to setup EKCD. Modified: soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c soc2013/def/crashdump-head/sys/kern/kern_shutdown.c soc2013/def/crashdump-head/sys/sys/kerneldump.h Modified: soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c ============================================================================== --- soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Mon Aug 17 13:07:12 2015 (r289826) +++ soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Mon Aug 17 15:27:26 2015 (r289827) @@ -30,10 +30,10 @@ static void cryptcore_genkey(const char *pubkeyfile) { - uint8_t key[KERNELDUMP_KEY_SIZE]; - uint8_t *encryptedkey; FILE *fp; + struct kerneldumpsetup *kds; RSA *pubkey; + size_t kdssize; int pubkeysize; PJDLOG_ASSERT(pubkeyfile != NULL); @@ -51,13 +51,14 @@ pjdlog_exitx(1, "Unable to read data from %s.", pubkeyfile); pubkeysize = RSA_size(pubkey); - encryptedkey = calloc(1, pubkeysize); - if (encryptedkey == NULL) - pjdlog_exit(1, "Unable to allocate encrypted key"); - - arc4random_buf(key, sizeof(key)); - if (RSA_public_encrypt(sizeof(key), key, encryptedkey, pubkey, - RSA_PKCS1_PADDING) != pubkeysize) { + kdssize = sizeof(*kds) + pubkeysize; + kds = calloc(1, kdssize); + if (kds == NULL) + pjdlog_exit(1, "Unable to allocate kernel dump setup"); + + arc4random_buf(kds->kds_key, sizeof(kds->kds_key)); + if (RSA_public_encrypt(sizeof(kds->kds_key), kds->kds_key, + kds->kds_encryptedkey, pubkey, RSA_PKCS1_PADDING) != pubkeysize) { pjdlog_errno(LOG_ERR, "Unable to encrypt the one-time key"); goto failed; } @@ -65,25 +66,20 @@ /* * From this moment on keys have to be erased before exit. */ - if (sysctlbyname("security.ekcd.key", NULL, NULL, key, - KERNELDUMP_KEY_SIZE) != 0) { + if (sysctlbyname("security.ekcd.setup", NULL, NULL, + kds, kdssize) != 0) { pjdlog_errno(LOG_ERR, "Unable to set key"); goto failed; } - if (sysctlbyname("security.ekcd.encryptedkey", NULL, NULL, - encryptedkey, pubkeysize) != 0) { - pjdlog_errno(LOG_ERR, "Unable to set encrypted key"); - goto failed; - } - bzero(key, sizeof(key)); - free(encryptedkey); + bzero(kds, kdssize); + free(kds); RSA_free(pubkey); return; failed: - bzero(key, sizeof(key)); - free(encryptedkey); + bzero(kds, kdssize); + free(kds); RSA_free(pubkey); exit(1); } Modified: soc2013/def/crashdump-head/sys/kern/kern_shutdown.c ============================================================================== --- soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Mon Aug 17 13:07:12 2015 (r289826) +++ soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Mon Aug 17 15:27:26 2015 (r289827) @@ -159,8 +159,7 @@ static struct kerneldumpkey *dumpkey; static int kerneldump_sysctl_enable(SYSCTL_HANDLER_ARGS); -static int kerneldump_sysctl_key(SYSCTL_HANDLER_ARGS); -static int kerneldump_sysctl_encryptedkey(SYSCTL_HANDLER_ARGS); +static int kerneldump_sysctl_setup(SYSCTL_HANDLER_ARGS); SYSCTL_NODE(_security, OID_AUTO, ekcd, CTLFLAG_RW, 0, "Encrypted kernel crash dumps"); @@ -168,11 +167,8 @@ SYSCTL_PROC(_security_ekcd, OID_AUTO, enable, CTLTYPE_INT | CTLFLAG_RW, NULL, 0, kerneldump_sysctl_enable, "I", "Enable encrypted kernel crash dumps"); -SYSCTL_PROC(_security_ekcd, OID_AUTO, key, CTLTYPE_OPAQUE | CTLFLAG_WR, NULL, 0, - kerneldump_sysctl_key, "", "Key"); - -SYSCTL_PROC(_security_ekcd, OID_AUTO, encryptedkey, CTLTYPE_OPAQUE | CTLFLAG_WR, - NULL, 0, kerneldump_sysctl_encryptedkey, "", "Encrypted key"); +SYSCTL_PROC(_security_ekcd, OID_AUTO, setup, CTLTYPE_OPAQUE | CTLFLAG_WR, NULL, + 0, kerneldump_sysctl_setup, "", "Setup"); #endif /* EKCD */ /* @@ -884,6 +880,9 @@ kdc->kdc_lastoffset = 0; kdc->kdc_lastlength = 0; + di->kdc = kdc; + di->kdk = kdk; + return (0); } @@ -901,47 +900,36 @@ if (error != 0) return (error); - if (enable == 1) - dumper.kdk = dumpkey; - else + if (enable == 0) { + free(dumpkey, M_KDK); + dumpkey = NULL; dumper.kdk = NULL; + } return (0); } static int -kerneldump_sysctl_key(SYSCTL_HANDLER_ARGS) +kerneldump_sysctl_setup(SYSCTL_HANDLER_ARGS) { + struct kerneldumpsetup kds; + struct kerneldumpkey *kdk; + size_t kdksize; int error; if (req->newptr == NULL) return (EPERM); - error = sysctl_handle_opaque(oidp, dumpcrypto.kdc_key, - sizeof(dumpcrypto.kdc_key), req); + error = sysctl_handle_opaque(oidp, &kds, sizeof(kds), req); if (error != 0) return (error); + bcopy(kds.kds_key, dumpcrypto.kdc_key, sizeof(dumpcrypto.kdc_key)); arc4rand(dumpcrypto.kdc_iv, sizeof(dumpcrypto.kdc_iv), 0); - return (kerneldump_crypto_init(&dumper, &dumpcrypto, dumpkey)); -} - -static int -kerneldump_sysctl_encryptedkey(SYSCTL_HANDLER_ARGS) -{ - struct kerneldumpkey *kdk; - size_t encryptedkeylen, kdksize; - int error; - - if (req->newptr == NULL) - return (EPERM); - - encryptedkeylen = req->newlen; - kdksize = ((sizeof(*kdk) + encryptedkeylen + + kdksize = ((sizeof(*kdk) + kds.kds_encryptedkeylen + KERNELDUMP_BLOCK_SIZE - 1) / KERNELDUMP_BLOCK_SIZE) * KERNELDUMP_BLOCK_SIZE; - kdk = (struct kerneldumpkey *)malloc(kdksize, M_KDK, M_WAITOK); if (kdk == NULL) return (ENOMEM); @@ -950,7 +938,7 @@ kdk->kdk_algorithm = CRYPTO_AES_CBC; kdk->kdk_keysize = KERNELDUMP_KEY_SIZE; bcopy(dumpcrypto.kdc_iv, kdk->kdk_iv, sizeof(kdk->kdk_iv)); - kdk->kdk_encryptedkeylen = encryptedkeylen; + kdk->kdk_encryptedkeylen = kds.kds_encryptedkeylen; error = sysctl_handle_opaque(oidp, kdk->kdk_encryptedkey, kdk->kdk_encryptedkeylen, req); @@ -963,7 +951,7 @@ dumpkey = kdk; dumper.kdk = dumpkey; - return (0); + return (kerneldump_crypto_init(&dumper, &dumpcrypto, dumpkey)); } #endif /* EKCD */ Modified: soc2013/def/crashdump-head/sys/sys/kerneldump.h ============================================================================== --- soc2013/def/crashdump-head/sys/sys/kerneldump.h Mon Aug 17 13:07:12 2015 (r289826) +++ soc2013/def/crashdump-head/sys/sys/kerneldump.h Mon Aug 17 15:27:26 2015 (r289827) @@ -91,6 +91,12 @@ uint32_t parity; }; +struct kerneldumpsetup { + uint8_t kds_key[KERNELDUMP_KEY_SIZE]; + uint32_t kds_encryptedkeylen; + uint8_t kds_encryptedkey[]; +}; + struct kerneldumpkey { uint32_t kdk_size; uint8_t kdk_algorithm; From owner-svn-soc-all@freebsd.org Mon Aug 17 16:20:28 2015 Return-Path: Delivered-To: svn-soc-all@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 61AD39BB9A3 for ; Mon, 17 Aug 2015 16:20:28 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 52F291E65 for ; Mon, 17 Aug 2015 16:20:28 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7HGKSZc017897 for ; Mon, 17 Aug 2015 16:20:28 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7HGKRr1017887 for svn-soc-all@FreeBSD.org; Mon, 17 Aug 2015 16:20:27 GMT (envelope-from def@FreeBSD.org) Date: Mon, 17 Aug 2015 16:20:27 GMT Message-Id: <201508171620.t7HGKRr1017887@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289828 - soc2013/def/crashdump-head/sbin/cryptcore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2015 16:20:28 -0000 Author: def Date: Mon Aug 17 16:20:27 2015 New Revision: 289828 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289828 Log: Set encrypted key length. Modified: soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Modified: soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c ============================================================================== --- soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Mon Aug 17 15:27:26 2015 (r289827) +++ soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Mon Aug 17 16:20:27 2015 (r289828) @@ -62,6 +62,7 @@ pjdlog_errno(LOG_ERR, "Unable to encrypt the one-time key"); goto failed; } + kds->kds_encryptedkeylen = pubkeysize; /* * From this moment on keys have to be erased before exit. From owner-svn-soc-all@freebsd.org Mon Aug 17 17:44:07 2015 Return-Path: Delivered-To: svn-soc-all@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 B51DB9BBAA8 for ; Mon, 17 Aug 2015 17:44:07 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 A5F6E188E for ; Mon, 17 Aug 2015 17:44:07 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7HHi7d8096509 for ; Mon, 17 Aug 2015 17:44:07 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7HHi7mh096484 for svn-soc-all@FreeBSD.org; Mon, 17 Aug 2015 17:44:07 GMT (envelope-from def@FreeBSD.org) Date: Mon, 17 Aug 2015 17:44:07 GMT Message-Id: <201508171744.t7HHi7mh096484@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289830 - soc2013/def/crashdump-head/sbin/cryptcore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2015 17:44:07 -0000 Author: def Date: Mon Aug 17 17:44:06 2015 New Revision: 289830 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289830 Log: Use a variable instead of a structure name to calculate size. Modified: soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Modified: soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c ============================================================================== --- soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Mon Aug 17 16:51:37 2015 (r289829) +++ soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Mon Aug 17 17:44:06 2015 (r289830) @@ -111,20 +111,20 @@ pjdlog_exitx(1, "Unable to allocate an RSA structure."); EVP_CIPHER_CTX_init(&ctx); - kdk = calloc(1, sizeof(struct kerneldumpkey)); + kdk = calloc(1, sizeof(*kdk)); if (kdk == NULL) pjdlog_exit(1, "Unable to allocate kernel dump key"); fd = open(keyfile, O_RDONLY); if (fd == -1) pjdlog_exit(1, "Unable to open %s", keyfile); - size = read(fd, kdk, sizeof(struct kerneldumpkey)); - if (size == (ssize_t)sizeof(struct kerneldumpkey)) { + size = read(fd, kdk, sizeof(*kdk)); + if (size == (ssize_t)sizeof(*kdk)) { kdk = realloc(kdk, kdk->kdk_size); if (kdk == NULL) pjdlog_exit(1, "Unable to reallocate kernel dump key"); size += read(fd, &kdk->kdk_encryptedkey, - kdk->kdk_size - sizeof(struct kerneldumpkey)); + kdk->kdk_size - sizeof(*kdk)); } err = errno; close(fd); From owner-svn-soc-all@freebsd.org Mon Aug 17 22:32:37 2015 Return-Path: Delivered-To: svn-soc-all@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 001CC9BC134 for ; Mon, 17 Aug 2015 22:32:36 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 E502316F6 for ; Mon, 17 Aug 2015 22:32:36 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7HMWaUj061770 for ; Mon, 17 Aug 2015 22:32:36 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7HMWa7M061766 for svn-soc-all@FreeBSD.org; Mon, 17 Aug 2015 22:32:36 GMT (envelope-from def@FreeBSD.org) Date: Mon, 17 Aug 2015 22:32:36 GMT Message-Id: <201508172232.t7HMWa7M061766@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289847 - soc2013/def/crashdump-head/sys/kern MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Aug 2015 22:32:37 -0000 Author: def Date: Mon Aug 17 22:32:35 2015 New Revision: 289847 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289847 Log: Remove key as soon as it's not needed. Modified: soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Modified: soc2013/def/crashdump-head/sys/kern/kern_shutdown.c ============================================================================== --- soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Mon Aug 17 21:07:21 2015 (r289846) +++ soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Mon Aug 17 22:32:35 2015 (r289847) @@ -925,15 +925,13 @@ return (error); bcopy(kds.kds_key, dumpcrypto.kdc_key, sizeof(dumpcrypto.kdc_key)); + bzero(kds.kds_key, sizeof(kds.kds_key)); arc4rand(dumpcrypto.kdc_iv, sizeof(dumpcrypto.kdc_iv), 0); kdksize = ((sizeof(*kdk) + kds.kds_encryptedkeylen + KERNELDUMP_BLOCK_SIZE - 1) / KERNELDUMP_BLOCK_SIZE) * KERNELDUMP_BLOCK_SIZE; - kdk = (struct kerneldumpkey *)malloc(kdksize, M_KDK, M_WAITOK); - if (kdk == NULL) - return (ENOMEM); - + kdk = malloc(kdksize, M_KDK, M_WAITOK | M_ZERO); kdk->kdk_size = kdksize; kdk->kdk_algorithm = CRYPTO_AES_CBC; kdk->kdk_keysize = KERNELDUMP_KEY_SIZE; From owner-svn-soc-all@freebsd.org Tue Aug 18 08:35:39 2015 Return-Path: Delivered-To: svn-soc-all@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 B33D49BB4D5 for ; Tue, 18 Aug 2015 08:35:39 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 A2EEE1604 for ; Tue, 18 Aug 2015 08:35:39 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7I8ZdBc080903 for ; Tue, 18 Aug 2015 08:35:39 GMT (envelope-from iateaca@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7I8ZdZX080841 for svn-soc-all@FreeBSD.org; Tue, 18 Aug 2015 08:35:39 GMT (envelope-from iateaca@FreeBSD.org) Date: Tue, 18 Aug 2015 08:35:39 GMT Message-Id: <201508180835.t7I8ZdZX080841@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to iateaca@FreeBSD.org using -f From: iateaca@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289857 - soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2015 08:35:39 -0000 Author: iateaca Date: Tue Aug 18 08:35:38 2015 New Revision: 289857 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289857 Log: implement the software reset workaround, and the software reset routine Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c ============================================================================== --- soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Tue Aug 18 06:28:37 2015 (r289856) +++ soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Tue Aug 18 08:35:38 2015 (r289857) @@ -286,13 +286,18 @@ /* clear the Receiver Status Register */ ne2000_set_reg_by_offset(sc, NE2000_P0_RO, ED_P0_RSR, 0x00); + if (!ne2000_receive_ring_is_valid(sc)) { + DPRINTF("Drop the packet: the ring is not valid"); + return 0; + } + if (!ne2000_ether_frame_is_valid(sc)) { - DPRINTF("Drop the packet since the ether frame did not match"); + DPRINTF("Drop the packet: the ether frame did not match"); return 0; } if (ne2000_receive_ring_is_full(sc)) { - DPRINTF("Drop the packet since the ring is full"); + DPRINTF("Drop the packet: the ring is full"); return 0; } @@ -367,12 +372,20 @@ static int ne2000_receive_ring_is_valid(struct pci_ne2000_softc *sc) { + uint8_t cr = 0; + uint8_t pstart = 0; uint8_t pstop = 0; uint8_t curr = 0; uint8_t bnry = 0; + cr = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_CR); + if (cr & ED_CR_STP) { + DPRINTF("Ring is not valid: the NIC is Stopped"); + return 0; + } + pstart = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_PSTART); pstop = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_PSTOP); @@ -772,6 +785,8 @@ uint16_t tbcr = 0; uint8_t tpsr = 0; + uint8_t old_cr = 0; + /* check is not selected a new page */ switch (value & (ED_CR_PS0 | ED_CR_PS1)) { case ED_CR_PAGE_0: @@ -789,10 +804,14 @@ break; } + old_cr = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_CR); + /* emulate any command specified in the CR register */ - if (value & ED_CR_STP) { - err = ne2000_software_reset(sc); - assert(err == 0); + if (value & ED_CR_STA) { + if ((old_cr & ED_CR_STA) == 0) { + ne2000_set_field_by_offset(sc, NE2000_P0, ED_P0_ISR, + ED_ISR_RST, 0); + } } if (value & ED_CR_RD2) assert(!(sc->remote_read || sc->remote_write)); @@ -910,6 +929,18 @@ static int ne2000_software_reset(struct pci_ne2000_softc *sc) { + DPRINTF("The NIC is in Software Reset State"); + + /* reset the Receive Ring Registers */ + ne2000_set_reg_by_offset(sc, NE2000_P0, ED_P0_PSTART, 0); + ne2000_set_reg_by_offset(sc, NE2000_P0, ED_P0_PSTOP, 0); + ne2000_set_reg_by_offset(sc, NE2000_P1, ED_P1_CURR, 0); + ne2000_set_reg_by_offset(sc, NE2000_P0, ED_P0_BNRY, 0); + + /* disable the interrupts */ + ne2000_set_reg_by_offset(sc, NE2000_P0, ED_P0_IMR, 0); + + /* the NIC enters the reset state */ ne2000_set_field_by_offset(sc, NE2000_P0, ED_P0_ISR, ED_ISR_RST, ED_ISR_RST); @@ -952,7 +983,9 @@ static uint8_t ne2000_read_nic(struct pci_ne2000_softc *sc, uint8_t offset) { + int err; uint8_t value = 0; + uint8_t cr = 0; /* * check is either a RTL8029 Register Defined in Page0 @@ -980,6 +1013,21 @@ /* read a read-only register from page 0 */ value = ne2000_get_reg_by_offset(sc, NE2000_P0_RO, offset); break; + case ED_P0_ISR: + /* + * Software Reset Workaround: the NIC enters the reset state + * in about 5us after the STP bit was set. Because of this + * we don't reset it every time the STP bit is set, but only + * when the ED driver polls the ISR register looking for + * the RST bit. + */ + cr = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_CR); + if (cr & ED_CR_STP) { + err = ne2000_software_reset(sc); + assert(err == 0); + } + value = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_ISR); + break; default: value = ne2000_get_reg_by_offset(sc, NE2000_P0, offset); break; From owner-svn-soc-all@freebsd.org Tue Aug 18 10:05:34 2015 Return-Path: Delivered-To: svn-soc-all@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 34BCB9BC080 for ; Tue, 18 Aug 2015 10:05:34 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 0BEF2149C for ; Tue, 18 Aug 2015 10:05:34 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7IA5XSa031291 for ; Tue, 18 Aug 2015 10:05:33 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7IA5XJQ031285 for svn-soc-all@FreeBSD.org; Tue, 18 Aug 2015 10:05:33 GMT (envelope-from def@FreeBSD.org) Date: Tue, 18 Aug 2015 10:05:33 GMT Message-Id: <201508181005.t7IA5XJQ031285@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289866 - soc2013/def/crashdump-head/sbin/cryptcore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2015 10:05:34 -0000 Author: def Date: Tue Aug 18 10:05:32 2015 New Revision: 289866 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289866 Log: Create a separate process to decrypt a crash dump. Modified: soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Modified: soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c ============================================================================== --- soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Tue Aug 18 09:09:39 2015 (r289865) +++ soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Tue Aug 18 10:05:32 2015 (r289866) @@ -1,6 +1,8 @@ #include +#include #include #include +#include #include #include @@ -27,6 +29,35 @@ " cryptcore decrypt [-Fv] -p privatekey -k encryptedkey -i encryptedcore -o decryptedcore"); } +static int +wait_for_process(pid_t pid) +{ + struct kevent event; + int kq, nevents; + + kq = kqueue(); + if (kq == -1) + pjdlog_exit(1, "Unable to create a kqueue"); + + EV_SET(&event, pid, EVFILT_PROC, EV_ADD, NOTE_EXIT, 0, NULL); + if (kevent(kq, &event, 1, NULL, 0, NULL) < 0) + pjdlog_exit(1, "Unable to register an event"); + + for (;;) { + nevents = kevent(kq, NULL, 0, &event, 1, NULL); + if (nevents < 0) + pjdlog_exit(1, "Unable to receive an event"); + + if (nevents > 0) { + PJDLOG_ASSERT(event.filter == EVFILT_PROC); + PJDLOG_ASSERT(event.ident == (uintptr_t)pid); + return ((int)event.data); + } + } + + PJDLOG_ABORT("Parent process didn't handle the exit status of its child."); +} + static void cryptcore_genkey(const char *pubkeyfile) { @@ -85,7 +116,7 @@ exit(1); } -static void +static bool cryptcore_decrypt(const char *privkeyfile, const char *keyfile, const char *input, const char *output) { @@ -97,12 +128,22 @@ int err, fd, ofd, olen, privkeysize; ssize_t bytes, size; size_t bufused; + pid_t pid; PJDLOG_ASSERT(privkeyfile != NULL); PJDLOG_ASSERT(keyfile != NULL); PJDLOG_ASSERT(input != NULL); PJDLOG_ASSERT(output != NULL); + pid = fork(); + if (pid == -1) { + pjdlog_exit(1, "Unable to create child process"); + return (false); + } + + if (pid > 0) + return (wait_for_process(pid) == 0); + ofd = -1; fd = -1; @@ -205,7 +246,7 @@ close(ofd); close(fd); - return; + exit(0); failed: if (ofd >= 0) close(ofd); @@ -300,7 +341,10 @@ cryptcore_genkey(rsakeyfile); break; case CRYPTCORE_CMD_DECRYPT: - cryptcore_decrypt(rsakeyfile, keyfile, input, output); + if (!cryptcore_decrypt(rsakeyfile, keyfile, input, output)) { + if (unlink(output) != 0) + pjdlog_exit(1, "Unable to remove output"); + } break; } From owner-svn-soc-all@freebsd.org Tue Aug 18 10:38:20 2015 Return-Path: Delivered-To: svn-soc-all@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 1A2529BC698 for ; Tue, 18 Aug 2015 10:38:20 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 0AA608B8 for ; Tue, 18 Aug 2015 10:38:20 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7IAcJUE089523 for ; Tue, 18 Aug 2015 10:38:19 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7IAcJoq089518 for svn-soc-all@FreeBSD.org; Tue, 18 Aug 2015 10:38:19 GMT (envelope-from def@FreeBSD.org) Date: Tue, 18 Aug 2015 10:38:19 GMT Message-Id: <201508181038.t7IAcJoq089518@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289867 - soc2013/def/crashdump-head/sbin/cryptcore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2015 10:38:20 -0000 Author: def Date: Tue Aug 18 10:38:18 2015 New Revision: 289867 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289867 Log: Decrypt a crash dump in the capability mode. Modified: soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Modified: soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c ============================================================================== --- soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Tue Aug 18 10:05:32 2015 (r289866) +++ soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Tue Aug 18 10:38:18 2015 (r289867) @@ -1,3 +1,4 @@ +#include #include #include #include @@ -21,6 +22,14 @@ #define CRYPTCORE_CMD_DECRYPT 0x02 static void +sandbox(void) +{ + + if (cap_enter() != 0) + pjdlog_exit(1, "Unable to enter capability mode"); +} + +static void usage(void) { @@ -58,7 +67,7 @@ PJDLOG_ABORT("Parent process didn't handle the exit status of its child."); } -static void +static bool cryptcore_genkey(const char *pubkeyfile) { FILE *fp; @@ -107,13 +116,12 @@ bzero(kds, kdssize); free(kds); RSA_free(pubkey); - - return; + return (true); failed: bzero(kds, kdssize); free(kds); RSA_free(pubkey); - exit(1); + return (false); } static bool @@ -125,7 +133,7 @@ FILE *fp; struct kerneldumpkey *kdk; RSA *privkey; - int err, fd, ofd, olen, privkeysize; + int error, ifd, kfd, ofd, olen, privkeysize; ssize_t bytes, size; size_t bufused; pid_t pid; @@ -135,57 +143,85 @@ PJDLOG_ASSERT(input != NULL); PJDLOG_ASSERT(output != NULL); + fp = NULL; + ifd = -1; + kdk = NULL; + kfd = -1; + ofd = -1; + privkey = NULL; + pid = fork(); if (pid == -1) { - pjdlog_exit(1, "Unable to create child process"); + pjdlog_errno(LOG_ERR, "Unable to create child process"); return (false); } if (pid > 0) return (wait_for_process(pid) == 0); - ofd = -1; - fd = -1; + kfd = open(keyfile, O_RDONLY); + if (kfd == -1) { + pjdlog_errno(LOG_ERR, "Unable to open %s", keyfile); + goto failed; + } + ifd = open(input, O_RDONLY); + if (ifd == -1) { + pjdlog_errno(LOG_ERR, "Unable to open %s", input); + goto failed; + } + ofd = open(output, O_WRONLY | O_CREAT | O_TRUNC, 0600); + if (ofd == -1) { + pjdlog_errno(LOG_ERR, "Unable to open %s", output); + goto failed; + } + fp = fopen(privkeyfile, "r"); + if (fp == NULL) { + pjdlog_errno(LOG_ERR, "Unable to open %s", privkeyfile); + goto failed; + } + + sandbox(); privkey = RSA_new(); - if (privkey == NULL) - pjdlog_exitx(1, "Unable to allocate an RSA structure."); + if (privkey == NULL) { + pjdlog_error("Unable to allocate an RSA structure."); + goto failed; + } EVP_CIPHER_CTX_init(&ctx); kdk = calloc(1, sizeof(*kdk)); - if (kdk == NULL) - pjdlog_exit(1, "Unable to allocate kernel dump key"); + if (kdk == NULL) { + pjdlog_errno(LOG_ERR, "Unable to allocate kernel dump key"); + goto failed; + } - fd = open(keyfile, O_RDONLY); - if (fd == -1) - pjdlog_exit(1, "Unable to open %s", keyfile); - size = read(fd, kdk, sizeof(*kdk)); + size = read(kfd, kdk, sizeof(*kdk)); if (size == (ssize_t)sizeof(*kdk)) { kdk = realloc(kdk, kdk->kdk_size); - if (kdk == NULL) - pjdlog_exit(1, "Unable to reallocate kernel dump key"); - size += read(fd, &kdk->kdk_encryptedkey, + if (kdk == NULL) { + pjdlog_errno(LOG_ERR, "Unable to reallocate kernel dump key"); + goto failed; + } + size += read(kfd, &kdk->kdk_encryptedkey, kdk->kdk_size - sizeof(*kdk)); } - err = errno; - close(fd); - fd = -1; + error = errno; + close(kfd); + kfd = -1; if (size != (ssize_t)kdk->kdk_size) { - errno = err; - pjdlog_exit(1, "Unable to read data from %s", keyfile); + errno = error; + pjdlog_errno(LOG_ERR, "Unable to read data from %s", keyfile); + goto failed; } - fp = fopen(privkeyfile, "r"); - if (fp == NULL) - pjdlog_exit(1, "Unable to open %s", privkeyfile); privkey = PEM_read_RSAPrivateKey(fp, &privkey, NULL, NULL); fclose(fp); - if (privkey == NULL) - pjdlog_exitx(1, "Unable to read data from %s.", privkeyfile); + fp = NULL; + if (privkey == NULL) { + pjdlog_error("Unable to read data from %s.", privkeyfile); + goto failed; + } - /* - * From this moment on keys have to be erased before exit. - */ privkeysize = RSA_size(privkey); if (privkeysize != (int)kdk->kdk_encryptedkeylen) { pjdlog_error("RSA modulus size mismatch: equals %db and should be %ub.", @@ -197,24 +233,15 @@ pjdlog_error("Unable to decrypt key."); goto failed; } - - fd = open(input, O_RDONLY); - if (fd == -1) { - pjdlog_errno(LOG_ERR, "Unable to open %s", input); - goto failed; - } - ofd = open(output, O_WRONLY | O_CREAT | O_TRUNC, 0600); - if (ofd == -1) { - pjdlog_errno(LOG_ERR, "Unable to open %s", output); - goto failed; - } + RSA_free(privkey); + privkey = NULL; EVP_DecryptInit_ex(&ctx, EVP_aes_256_cbc(), NULL, key, kdk->kdk_iv); EVP_CIPHER_CTX_set_key_length(&ctx, sizeof(key)); EVP_CIPHER_CTX_set_padding(&ctx, 0); bufused = 0; - while ((bytes = read(fd, buf + bufused, sizeof(buf) - bufused)) > 0) { + while ((bytes = read(ifd, buf + bufused, sizeof(buf) - bufused)) > 0) { bufused += bytes; if (bufused != sizeof(buf)) continue; @@ -238,23 +265,26 @@ goto failed; } + close(ofd); + close(ifd); bzero(key, sizeof(key)); bzero(buf, sizeof(buf)); EVP_CIPHER_CTX_cleanup(&ctx); - RSA_free(privkey); - - close(ofd); - close(fd); - + free(kdk); exit(0); failed: if (ofd >= 0) close(ofd); - if (fd >= 0) - close(fd); + if (ifd >= 0) + close(kfd); + if (kfd >= 0) + close(kfd); + if (fp != NULL) + fclose(fp); bzero(key, sizeof(key)); bzero(buf, sizeof(buf)); EVP_CIPHER_CTX_cleanup(&ctx); + free(kdk); RSA_free(privkey); exit(1); } @@ -338,12 +368,14 @@ switch (cmd) { case CRYPTCORE_CMD_GENKEY: - cryptcore_genkey(rsakeyfile); + if (!cryptcore_genkey(rsakeyfile)) + exit(1); break; case CRYPTCORE_CMD_DECRYPT: if (!cryptcore_decrypt(rsakeyfile, keyfile, input, output)) { if (unlink(output) != 0) pjdlog_exit(1, "Unable to remove output"); + exit(1); } break; } From owner-svn-soc-all@freebsd.org Tue Aug 18 10:45:29 2015 Return-Path: Delivered-To: svn-soc-all@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 F347C9BC851 for ; Tue, 18 Aug 2015 10:45:29 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 E47EADD4 for ; Tue, 18 Aug 2015 10:45:29 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7IAjTl4005723 for ; Tue, 18 Aug 2015 10:45:29 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7IAjTYh005641 for svn-soc-all@FreeBSD.org; Tue, 18 Aug 2015 10:45:29 GMT (envelope-from def@FreeBSD.org) Date: Tue, 18 Aug 2015 10:45:29 GMT Message-Id: <201508181045.t7IAjTYh005641@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289868 - soc2013/def/crashdump-head/sbin/cryptcore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2015 10:45:30 -0000 Author: def Date: Tue Aug 18 10:45:28 2015 New Revision: 289868 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289868 Log: Generate a key in the capability mode. Modified: soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Modified: soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c ============================================================================== --- soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Tue Aug 18 10:38:18 2015 (r289867) +++ soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Tue Aug 18 10:45:28 2015 (r289868) @@ -75,9 +75,19 @@ RSA *pubkey; size_t kdssize; int pubkeysize; + pid_t pid; PJDLOG_ASSERT(pubkeyfile != NULL); + pid = fork(); + if (pid == -1) { + pjdlog_errno(LOG_ERR, "Unable to create child process"); + return (false); + } + + if (pid > 0) + return (wait_for_process(pid) == 0); + pubkey = RSA_new(); if (pubkey == NULL) pjdlog_exitx(1, "Unable to allocate an RSA structure."); @@ -116,12 +126,12 @@ bzero(kds, kdssize); free(kds); RSA_free(pubkey); - return (true); + exit(0); failed: bzero(kds, kdssize); free(kds); RSA_free(pubkey); - return (false); + exit(1); } static bool From owner-svn-soc-all@freebsd.org Tue Aug 18 15:14:07 2015 Return-Path: Delivered-To: svn-soc-all@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 E27A69BCB11 for ; Tue, 18 Aug 2015 15:14:06 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 C6DA036F for ; Tue, 18 Aug 2015 15:14:06 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7IFE6Rq021996 for ; Tue, 18 Aug 2015 15:14:06 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7IFE5L5021447 for svn-soc-all@FreeBSD.org; Tue, 18 Aug 2015 15:14:05 GMT (envelope-from def@FreeBSD.org) Date: Tue, 18 Aug 2015 15:14:05 GMT Message-Id: <201508181514.t7IFE5L5021447@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289881 - soc2013/def/crashdump-head/sbin/cryptcore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2015 15:14:07 -0000 Author: def Date: Tue Aug 18 15:14:05 2015 New Revision: 289881 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289881 Log: Generate a key in the capability mode. Modified: soc2013/def/crashdump-head/sbin/cryptcore/Makefile soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Modified: soc2013/def/crashdump-head/sbin/cryptcore/Makefile ============================================================================== --- soc2013/def/crashdump-head/sbin/cryptcore/Makefile Tue Aug 18 14:54:29 2015 (r289880) +++ soc2013/def/crashdump-head/sbin/cryptcore/Makefile Tue Aug 18 15:14:05 2015 (r289881) @@ -2,11 +2,13 @@ SRCS= ${PROG}.c -LIBADD= crypto pjdlog +LIBADD= capsicum crypto nv pjdlog MAN= CFLAGS+=-I${.CURDIR}/../../sys +CFLAGS+=-I${.CURDIR}/../../lib/libcapsicum +CFLAGS+=-I${.CURDIR}/../../lib/libnv CFLAGS+=-I${.CURDIR}/../../lib/libpjdlog .include Modified: soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c ============================================================================== --- soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Tue Aug 18 14:54:29 2015 (r289880) +++ soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Tue Aug 18 15:14:05 2015 (r289881) @@ -16,20 +16,16 @@ #include #include +#include +#include +#include +#include #include #define CRYPTCORE_CMD_GENKEY 0x01 #define CRYPTCORE_CMD_DECRYPT 0x02 static void -sandbox(void) -{ - - if (cap_enter() != 0) - pjdlog_exit(1, "Unable to enter capability mode"); -} - -static void usage(void) { @@ -67,9 +63,44 @@ PJDLOG_ABORT("Parent process didn't handle the exit status of its child."); } +static cap_channel_t * +cryptcore_genkey_sandbox(cap_channel_t *capcas) +{ + cap_channel_t *capsysctl; + nvlist_t *limits; + + capsysctl = cap_service_open(capcas, "system.sysctl"); + if (capsysctl == NULL) { + pjdlog_errno(LOG_ERR, "Unable to open system.sysctl service"); + goto failed; + } + + limits = nvlist_create(0); + if (limits == NULL) { + pjdlog_error("Unable to create an nvlist."); + goto failed; + } + nvlist_add_number(limits, "security.ekcd.setup", CAP_SYSCTL_WRITE); + if (cap_limit_set(capsysctl, limits) == -1) { + pjdlog_errno(LOG_ERR, "Unable to limit system.sysctl service"); + goto failed; + } + + if (cap_enter() == -1) { + pjdlog_errno(LOG_ERR, "Unable to enter capability mode"); + goto failed; + } + + return (capsysctl); +failed: + cap_close(capsysctl); + return (NULL); +} + static bool cryptcore_genkey(const char *pubkeyfile) { + cap_channel_t *capcas, *capsysctl; FILE *fp; struct kerneldumpsetup *kds; RSA *pubkey; @@ -79,6 +110,11 @@ PJDLOG_ASSERT(pubkeyfile != NULL); + capsysctl = NULL; + fp = NULL; + kds = NULL; + pubkey = NULL; + pid = fork(); if (pid == -1) { pjdlog_errno(LOG_ERR, "Unable to create child process"); @@ -88,23 +124,39 @@ if (pid > 0) return (wait_for_process(pid) == 0); + fp = fopen(pubkeyfile, "r"); + if (fp == NULL) { + pjdlog_errno(LOG_ERR, "Unable to open %s", pubkeyfile); + goto failed; + } + + capcas = cap_init(); + if (capcas != NULL) { + capsysctl = cryptcore_genkey_sandbox(capcas); + if (capsysctl == NULL) + goto failed; + } + cap_close(capcas); + pubkey = RSA_new(); if (pubkey == NULL) pjdlog_exitx(1, "Unable to allocate an RSA structure."); - fp = fopen(pubkeyfile, "r"); - if (fp == NULL) - pjdlog_exit(1, "Unable to open %s", pubkeyfile); pubkey = PEM_read_RSA_PUBKEY(fp, &pubkey, NULL, NULL); fclose(fp); - if (pubkey == NULL) - pjdlog_exitx(1, "Unable to read data from %s.", pubkeyfile); + fp = NULL; + if (pubkey == NULL) { + pjdlog_error("Unable to read data from %s.", pubkeyfile); + goto failed; + } pubkeysize = RSA_size(pubkey); kdssize = sizeof(*kds) + pubkeysize; kds = calloc(1, kdssize); - if (kds == NULL) - pjdlog_exit(1, "Unable to allocate kernel dump setup"); + if (kds == NULL) { + pjdlog_errno(LOG_ERR, "Unable to allocate kernel dump setup"); + goto failed; + } arc4random_buf(kds->kds_key, sizeof(kds->kds_key)); if (RSA_public_encrypt(sizeof(kds->kds_key), kds->kds_key, @@ -113,28 +165,54 @@ goto failed; } kds->kds_encryptedkeylen = pubkeysize; + RSA_free(pubkey); + pubkey = NULL; /* * From this moment on keys have to be erased before exit. */ - if (sysctlbyname("security.ekcd.setup", NULL, NULL, - kds, kdssize) != 0) { - pjdlog_errno(LOG_ERR, "Unable to set key"); - goto failed; + if (capsysctl != NULL) { + if (cap_sysctlbyname(capsysctl, "security.ekcd.setup", NULL, + NULL, kds, kdssize) != 0) { + pjdlog_errno(LOG_ERR, "Unable to set key"); + goto failed; + } + } else { + if (sysctlbyname("security.ekcd.setup", NULL, NULL, + kds, kdssize) != 0) { + pjdlog_errno(LOG_ERR, "Unable to set key"); + goto failed; + } } bzero(kds, kdssize); free(kds); - RSA_free(pubkey); + cap_close(capsysctl); exit(0); failed: - bzero(kds, kdssize); + if (fp != NULL) + fclose(fp); + if (kds != NULL) + bzero(kds, kdssize); free(kds); RSA_free(pubkey); + cap_close(capsysctl); exit(1); } static bool +cryptcore_decrypt_sandbox(void) +{ + + if (cap_enter() == -1) { + pjdlog_errno(LOG_ERR, "Unable to enter capability mode"); + return (false); + } + + return (true); +} + +static bool cryptcore_decrypt(const char *privkeyfile, const char *keyfile, const char *input, const char *output) { @@ -190,7 +268,8 @@ goto failed; } - sandbox(); + if (!cryptcore_decrypt_sandbox()) + goto failed; privkey = RSA_new(); if (privkey == NULL) { From owner-svn-soc-all@freebsd.org Tue Aug 18 15:15:05 2015 Return-Path: Delivered-To: svn-soc-all@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 B8D769BCB69 for ; Tue, 18 Aug 2015 15:15:05 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 A9D5F692 for ; Tue, 18 Aug 2015 15:15:05 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7IFF51s045006 for ; Tue, 18 Aug 2015 15:15:05 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7IFF5jD044612 for svn-soc-all@FreeBSD.org; Tue, 18 Aug 2015 15:15:05 GMT (envelope-from def@FreeBSD.org) Date: Tue, 18 Aug 2015 15:15:05 GMT Message-Id: <201508181515.t7IFF5jD044612@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289882 - soc2013/def/crashdump-head/etc/rc.d MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2015 15:15:05 -0000 Author: def Date: Tue Aug 18 15:15:04 2015 New Revision: 289882 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289882 Log: cryptcore depends on casperd. cryptcore enables EKCD once a key is set. Modified: soc2013/def/crashdump-head/etc/rc.d/cryptcore Modified: soc2013/def/crashdump-head/etc/rc.d/cryptcore ============================================================================== --- soc2013/def/crashdump-head/etc/rc.d/cryptcore Tue Aug 18 15:14:05 2015 (r289881) +++ soc2013/def/crashdump-head/etc/rc.d/cryptcore Tue Aug 18 15:15:04 2015 (r289882) @@ -1,7 +1,7 @@ #!/bin/sh # PROVIDE: cryptcore -# REQUIRE: savecore syslogd +# REQUIRE: casperd savecore syslogd # KEYWORD: nojail . /etc/rc.subr @@ -33,8 +33,6 @@ if [ $? -ne 0 ]; then err 1 "Unable to generate an one-time key." fi - - sysctl security.ekcd.enable=1 } cryptcore_stop() From owner-svn-soc-all@freebsd.org Tue Aug 18 15:26:11 2015 Return-Path: Delivered-To: svn-soc-all@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 2F1A29BCDA2 for ; Tue, 18 Aug 2015 15:26:11 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 1F840CB0 for ; Tue, 18 Aug 2015 15:26:11 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7IFQAMN076970 for ; Tue, 18 Aug 2015 15:26:10 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7IFQAeO076958 for svn-soc-all@FreeBSD.org; Tue, 18 Aug 2015 15:26:10 GMT (envelope-from def@FreeBSD.org) Date: Tue, 18 Aug 2015 15:26:10 GMT Message-Id: <201508181526.t7IFQAeO076958@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289883 - soc2013/def/crashdump-head/sbin/cryptcore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2015 15:26:11 -0000 Author: def Date: Tue Aug 18 15:26:09 2015 New Revision: 289883 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289883 Log: Print to stdout by default. Modified: soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Modified: soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c ============================================================================== --- soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Tue Aug 18 15:15:04 2015 (r289882) +++ soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Tue Aug 18 15:26:09 2015 (r289883) @@ -30,8 +30,8 @@ { pjdlog_exitx(1, "%s\n%s", - "usage: cryptcore genkey [-Fv] -p publickey", - " cryptcore decrypt [-Fv] -p privatekey -k encryptedkey -i encryptedcore -o decryptedcore"); + "usage: cryptcore genkey [-Lv] -p publickey", + " cryptcore decrypt [-Lv] -p privatekey -k encryptedkey -i encryptedcore -o decryptedcore"); } static int @@ -384,7 +384,7 @@ const char *input, *keyfile, *optstr, *output, *rsakeyfile; int cmd, debug; char ch; - bool foreground; + bool usesyslog; pjdlog_init(PJDLOG_MODE_STD); pjdlog_prefix_set("(cryptcore) "); @@ -395,23 +395,23 @@ optstr = NULL; if (strcmp("genkey", argv[1]) == 0) { cmd = CRYPTCORE_CMD_GENKEY; - optstr = "Fp:v"; + optstr = "Lp:v"; } else if (strcmp("decrypt", argv[1]) == 0) { cmd = CRYPTCORE_CMD_DECRYPT; - optstr = "Fi:k:o:p:v"; + optstr = "Li:k:o:p:v"; } else { usage(); } argc--; argv++; - foreground = false; debug = 0; rsakeyfile = NULL; + usesyslog = false; while ((ch = getopt(argc, argv, optstr)) != -1) { switch (ch) { - case 'F': - foreground = true; + case 'L': + usesyslog = true; break; case 'i': input = optarg; @@ -451,7 +451,7 @@ break; } - if (!foreground) + if (usesyslog) pjdlog_mode_set(PJDLOG_MODE_SYSLOG); pjdlog_debug_set(debug); From owner-svn-soc-all@freebsd.org Tue Aug 18 15:39:26 2015 Return-Path: Delivered-To: svn-soc-all@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 8F4499BC011 for ; Tue, 18 Aug 2015 15:39:26 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 803561375 for ; Tue, 18 Aug 2015 15:39:26 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7IFdQ4e099496 for ; Tue, 18 Aug 2015 15:39:26 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7IFdPnx099487 for svn-soc-all@FreeBSD.org; Tue, 18 Aug 2015 15:39:25 GMT (envelope-from def@FreeBSD.org) Date: Tue, 18 Aug 2015 15:39:25 GMT Message-Id: <201508181539.t7IFdPnx099487@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289884 - soc2013/def/crashdump-head/sys/ddb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2015 15:39:26 -0000 Author: def Date: Tue Aug 18 15:39:25 2015 New Revision: 289884 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289884 Log: Use TEXTDUMP_BLOCKSIZE macro. Set kernel dump key size to zero. Modified: soc2013/def/crashdump-head/sys/ddb/db_textdump.c Modified: soc2013/def/crashdump-head/sys/ddb/db_textdump.c ============================================================================== --- soc2013/def/crashdump-head/sys/ddb/db_textdump.c Tue Aug 18 15:26:09 2015 (r289883) +++ soc2013/def/crashdump-head/sys/ddb/db_textdump.c Tue Aug 18 15:39:25 2015 (r289884) @@ -113,7 +113,7 @@ * Various size assertions -- pretty much everything must be one block in * size. */ -CTASSERT(sizeof(struct kerneldumpheader) == 512); +CTASSERT(sizeof(struct kerneldumpheader) == TEXTDUMP_BLOCKSIZE); CTASSERT(sizeof(struct ustar_header) == TEXTDUMP_BLOCKSIZE); /* @@ -463,8 +463,8 @@ */ textdump_offset = di->mediasize - sizeof(kdh); textdump_saveoff(&trailer_offset); - mkdumpheader(&kdh, TEXTDUMPMAGIC, KERNELDUMP_TEXT_VERSION, 0, - kerneldumpkey_size(di->kdk), TEXTDUMP_BLOCKSIZE); + mkdumpheader(&kdh, TEXTDUMPMAGIC, KERNELDUMP_TEXT_VERSION, 0, 0, + TEXTDUMP_BLOCKSIZE); (void)textdump_writenextblock(di, (char *)&kdh); /* @@ -489,8 +489,8 @@ * size. */ dumplen = trailer_offset - (textdump_offset + TEXTDUMP_BLOCKSIZE); - mkdumpheader(&kdh, TEXTDUMPMAGIC, KERNELDUMP_TEXT_VERSION, dumplen, - kerneldumpkey_size(di->kdk), TEXTDUMP_BLOCKSIZE); + mkdumpheader(&kdh, TEXTDUMPMAGIC, KERNELDUMP_TEXT_VERSION, dumplen, 0, + TEXTDUMP_BLOCKSIZE); (void)textdump_writenextblock(di, (char *)&kdh); textdump_restoreoff(trailer_offset); (void)textdump_writenextblock(di, (char *)&kdh); From owner-svn-soc-all@freebsd.org Tue Aug 18 16:01:38 2015 Return-Path: Delivered-To: svn-soc-all@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 5F8249BC671 for ; Tue, 18 Aug 2015 16:01:38 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 50821896 for ; Tue, 18 Aug 2015 16:01:38 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7IG1cCB065380 for ; Tue, 18 Aug 2015 16:01:38 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7IG1bAd065369 for svn-soc-all@FreeBSD.org; Tue, 18 Aug 2015 16:01:37 GMT (envelope-from def@FreeBSD.org) Date: Tue, 18 Aug 2015 16:01:37 GMT Message-Id: <201508181601.t7IG1bAd065369@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289888 - soc2013/def/crashdump-head/sys/kern MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Aug 2015 16:01:38 -0000 Author: def Date: Tue Aug 18 16:01:37 2015 New Revision: 289888 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289888 Log: Remove a message. Set dumpkey after a key is initialized. Modified: soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Modified: soc2013/def/crashdump-head/sys/kern/kern_shutdown.c ============================================================================== --- soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Tue Aug 18 15:50:02 2015 (r289887) +++ soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Tue Aug 18 16:01:37 2015 (r289888) @@ -863,11 +863,6 @@ { int error; - if (kdc == NULL) { - printf("Attempt to use an invalid kernel dump crypto."); - return (EINVAL); - } - error = rijndael_makeKey(&kdc->kdc_ki, DIR_ENCRYPT, 8 * KERNELDUMP_KEY_SIZE, kdc->kdc_key); if (error <= 0) @@ -945,11 +940,15 @@ return (error); } + error = kerneldump_crypto_init(&dumper, &dumpcrypto, kdk); + if (error != 0) { + free(kdk, M_KDK); + return (error); + } + free(dumpkey, M_KDK); dumpkey = kdk; - dumper.kdk = dumpkey; - - return (kerneldump_crypto_init(&dumper, &dumpcrypto, dumpkey)); + return (0); } #endif /* EKCD */ From owner-svn-soc-all@freebsd.org Wed Aug 19 09:24:36 2015 Return-Path: Delivered-To: svn-soc-all@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 9E3379BC1CD for ; Wed, 19 Aug 2015 09:24:36 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 8E031B02 for ; Wed, 19 Aug 2015 09:24:36 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7J9OaLC098091 for ; Wed, 19 Aug 2015 09:24:36 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7J9OZF1098079 for svn-soc-all@FreeBSD.org; Wed, 19 Aug 2015 09:24:35 GMT (envelope-from def@FreeBSD.org) Date: Wed, 19 Aug 2015 09:24:35 GMT Message-Id: <201508190924.t7J9OZF1098079@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289913 - in soc2013/def/crashdump-head: sbin/cryptcore sys/kern sys/sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2015 09:24:36 -0000 Author: def Date: Wed Aug 19 09:24:34 2015 New Revision: 289913 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289913 Log: Allocate in dump_encrypted_write instead of kerneldumpcrypto. Modified: soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c soc2013/def/crashdump-head/sys/kern/kern_shutdown.c soc2013/def/crashdump-head/sys/sys/kerneldump.h Modified: soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c ============================================================================== --- soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Wed Aug 19 06:08:11 2015 (r289912) +++ soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Wed Aug 19 09:24:34 2015 (r289913) @@ -216,7 +216,7 @@ cryptcore_decrypt(const char *privkeyfile, const char *keyfile, const char *input, const char *output) { - uint8_t buf[KERNELDUMP_BUFFER_SIZE], key[KERNELDUMP_KEY_SIZE]; + uint8_t buf[2 * KERNELDUMP_BLOCK_SIZE], key[KERNELDUMP_KEY_SIZE]; EVP_CIPHER_CTX ctx; FILE *fp; struct kerneldumpkey *kdk; Modified: soc2013/def/crashdump-head/sys/kern/kern_shutdown.c ============================================================================== --- soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Wed Aug 19 06:08:11 2015 (r289912) +++ soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Wed Aug 19 09:24:34 2015 (r289913) @@ -153,7 +153,6 @@ cipherInstance kdc_ci; off_t kdc_lastoffset; size_t kdc_lastlength; - uint8_t kdc_buf[KERNELDUMP_BUFFER_SIZE]; } dumpcrypto; static struct kerneldumpkey *dumpkey; @@ -1014,13 +1013,12 @@ dump_encrypted_write(struct dumperinfo *di, void *virtual, vm_offset_t physical, off_t offset, size_t length) { + uint8_t buf[2 * KERNELDUMP_BLOCK_SIZE]; struct kerneldumpcrypto *kdc; - struct kerneldumpkey *kdk; int error; size_t nbytes; kdc = di->kdc; - kdk = di->kdk; error = dump_check_bounds(di, offset, length); if (error != 0) @@ -1041,23 +1039,22 @@ kdc->kdc_lastlength = length; while (length > 0) { - if (length >= KERNELDUMP_BUFFER_SIZE) - nbytes = KERNELDUMP_BUFFER_SIZE; + if (length >= sizeof(buf)) + nbytes = sizeof(buf); else nbytes = length; - memcpy(kdc->kdc_buf, virtual, nbytes); + memcpy(buf, virtual, nbytes); - error = rijndael_blockEncrypt(&kdc->kdc_ci, &kdc->kdc_ki, - kdc->kdc_buf, 8 * nbytes, kdc->kdc_buf); + error = rijndael_blockEncrypt(&kdc->kdc_ci, &kdc->kdc_ki, buf, + 8 * nbytes, buf); if (error <= 0) return (EIO); error = rijndael_cipherInit(&kdc->kdc_ci, MODE_CBC, - kdc->kdc_buf + nbytes - KERNELDUMP_IV_SIZE); + buf + nbytes - KERNELDUMP_IV_SIZE); if (error <= 0) return (EIO); - error = di->dumper(di->priv, kdc->kdc_buf, physical, - offset, nbytes); + error = di->dumper(di->priv, buf, physical, offset, nbytes); if (error != 0) return (error); Modified: soc2013/def/crashdump-head/sys/sys/kerneldump.h ============================================================================== --- soc2013/def/crashdump-head/sys/sys/kerneldump.h Wed Aug 19 06:08:11 2015 (r289912) +++ soc2013/def/crashdump-head/sys/sys/kerneldump.h Wed Aug 19 09:24:34 2015 (r289913) @@ -55,7 +55,6 @@ #endif #define KERNELDUMP_BLOCK_SIZE 512 -#define KERNELDUMP_BUFFER_SIZE 1024 #define KERNELDUMP_IV_SIZE 16 #define KERNELDUMP_KEY_SIZE 32 From owner-svn-soc-all@freebsd.org Wed Aug 19 09:26:38 2015 Return-Path: Delivered-To: svn-soc-all@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 8CD0D9BC20C for ; Wed, 19 Aug 2015 09:26:38 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 7D6FFB2C for ; Wed, 19 Aug 2015 09:26:38 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7J9Qcri000431 for ; Wed, 19 Aug 2015 09:26:38 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7J9QbXG000418 for svn-soc-all@FreeBSD.org; Wed, 19 Aug 2015 09:26:37 GMT (envelope-from def@FreeBSD.org) Date: Wed, 19 Aug 2015 09:26:37 GMT Message-Id: <201508190926.t7J9QbXG000418@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289914 - soc2013/def/crashdump-head/sys/kern MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2015 09:26:38 -0000 Author: def Date: Wed Aug 19 09:26:37 2015 New Revision: 289914 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289914 Log: Don't allow to write blocks in the reverse order. Modified: soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Modified: soc2013/def/crashdump-head/sys/kern/kern_shutdown.c ============================================================================== --- soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Wed Aug 19 09:24:34 2015 (r289913) +++ soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Wed Aug 19 09:26:37 2015 (r289914) @@ -1030,8 +1030,7 @@ /* Data have to be written continuously. */ if (kdc->kdc_lastoffset != 0 && - kdc->kdc_lastoffset + kdc->kdc_lastlength != offset && - offset + length != kdc->kdc_lastoffset) { + kdc->kdc_lastoffset + kdc->kdc_lastlength != offset) { return (EINVAL); } From owner-svn-soc-all@freebsd.org Wed Aug 19 09:37:33 2015 Return-Path: Delivered-To: svn-soc-all@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 D5EB39BC484 for ; Wed, 19 Aug 2015 09:37:33 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 C6E881218 for ; Wed, 19 Aug 2015 09:37:33 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7J9bXZS018452 for ; Wed, 19 Aug 2015 09:37:33 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7J9bXJ2018434 for svn-soc-all@FreeBSD.org; Wed, 19 Aug 2015 09:37:33 GMT (envelope-from def@FreeBSD.org) Date: Wed, 19 Aug 2015 09:37:33 GMT Message-Id: <201508190937.t7J9bXJ2018434@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289915 - soc2013/def/crashdump-head/sys/kern MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2015 09:37:33 -0000 Author: def Date: Wed Aug 19 09:37:32 2015 New Revision: 289915 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289915 Log: Remember next offset instead of last offset. Modified: soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Modified: soc2013/def/crashdump-head/sys/kern/kern_shutdown.c ============================================================================== --- soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Wed Aug 19 09:26:37 2015 (r289914) +++ soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Wed Aug 19 09:37:32 2015 (r289915) @@ -151,8 +151,7 @@ uint8_t kdc_iv[KERNELDUMP_IV_SIZE]; keyInstance kdc_ki; cipherInstance kdc_ci; - off_t kdc_lastoffset; - size_t kdc_lastlength; + off_t kdc_nextoffset; } dumpcrypto; static struct kerneldumpkey *dumpkey; @@ -871,8 +870,7 @@ if (error <= 0) return (EINVAL); - kdc->kdc_lastoffset = 0; - kdc->kdc_lastlength = 0; + kdc->kdc_nextoffset = 0; di->kdc = kdc; di->kdk = kdk; @@ -1017,6 +1015,7 @@ struct kerneldumpcrypto *kdc; int error; size_t nbytes; + off_t nextoffset; kdc = di->kdc; @@ -1029,13 +1028,10 @@ return (EINVAL); /* Data have to be written continuously. */ - if (kdc->kdc_lastoffset != 0 && - kdc->kdc_lastoffset + kdc->kdc_lastlength != offset) { + if (kdc->kdc_nextoffset != 0 && kdc->kdc_nextoffset != offset) return (EINVAL); - } - kdc->kdc_lastoffset = offset; - kdc->kdc_lastlength = length; + nextoffset = offset + (off_t)length; while (length > 0) { if (length >= sizeof(buf)) @@ -1062,6 +1058,8 @@ length -= nbytes; } + kdc->kdc_nextoffset = nextoffset; + return (0); } #endif From owner-svn-soc-all@freebsd.org Wed Aug 19 14:29:17 2015 Return-Path: Delivered-To: svn-soc-all@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 EDEC09BEDE2 for ; Wed, 19 Aug 2015 14:29:17 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 DF4581BE6 for ; Wed, 19 Aug 2015 14:29:17 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7JETH61073891 for ; Wed, 19 Aug 2015 14:29:17 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7JETH6h073872 for svn-soc-all@FreeBSD.org; Wed, 19 Aug 2015 14:29:17 GMT (envelope-from def@FreeBSD.org) Date: Wed, 19 Aug 2015 14:29:17 GMT Message-Id: <201508191429.t7JETH6h073872@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289922 - soc2013/def/crashdump-head/sys/sparc64/sparc64 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2015 14:29:18 -0000 Author: def Date: Wed Aug 19 14:29:16 2015 New Revision: 289922 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289922 Log: Move current offset after writing the second kernel dump header. Modified: soc2013/def/crashdump-head/sys/sparc64/sparc64/dump_machdep.c Modified: soc2013/def/crashdump-head/sys/sparc64/sparc64/dump_machdep.c ============================================================================== --- soc2013/def/crashdump-head/sys/sparc64/sparc64/dump_machdep.c Wed Aug 19 13:23:07 2015 (r289921) +++ soc2013/def/crashdump-head/sys/sparc64/sparc64/dump_machdep.c Wed Aug 19 14:29:16 2015 (r289922) @@ -162,6 +162,7 @@ error = dump_write_header(di, &kdh, 0, dumplo); if (error) goto fail; + dumplo += sizeof(kdh); /* Signal completion, signoff and exit stage left. */ dump_write(di, NULL, 0, 0, 0); From owner-svn-soc-all@freebsd.org Wed Aug 19 14:54:56 2015 Return-Path: Delivered-To: svn-soc-all@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 21CB59BC44D for ; Wed, 19 Aug 2015 14:54:56 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 136A7E1F for ; Wed, 19 Aug 2015 14:54:56 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7JEsto3022336 for ; Wed, 19 Aug 2015 14:54:55 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7JEstdH022327 for svn-soc-all@FreeBSD.org; Wed, 19 Aug 2015 14:54:55 GMT (envelope-from def@FreeBSD.org) Date: Wed, 19 Aug 2015 14:54:55 GMT Message-Id: <201508191454.t7JEstdH022327@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289923 - soc2013/def/crashdump-head/sys/kern MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2015 14:54:56 -0000 Author: def Date: Wed Aug 19 14:54:54 2015 New Revision: 289923 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289923 Log: Support trivial case when dump_write is called to signal completion. Modified: soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Modified: soc2013/def/crashdump-head/sys/kern/kern_shutdown.c ============================================================================== --- soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Wed Aug 19 14:29:16 2015 (r289922) +++ soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Wed Aug 19 14:54:54 2015 (r289923) @@ -1023,6 +1023,12 @@ if (error != 0) return (error); + /* Signal completion. */ + if (virtual == NULL && physical == 0 && offset == 0 && length == 0) { + return (di->dumper(di->priv, virtual, physical, offset, + length)); + } + /* Data have to be aligned to block size. */ if ((length % KERNELDUMP_BLOCK_SIZE) != 0) return (EINVAL); From owner-svn-soc-all@freebsd.org Wed Aug 19 14:56:45 2015 Return-Path: Delivered-To: svn-soc-all@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 76AAA9BC4E1 for ; Wed, 19 Aug 2015 14:56:45 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 4E021F00 for ; Wed, 19 Aug 2015 14:56:45 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7JEujWf024552 for ; Wed, 19 Aug 2015 14:56:45 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7JEuiuh024541 for svn-soc-all@FreeBSD.org; Wed, 19 Aug 2015 14:56:44 GMT (envelope-from def@FreeBSD.org) Date: Wed, 19 Aug 2015 14:56:44 GMT Message-Id: <201508191456.t7JEuiuh024541@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289924 - in soc2013/def/crashdump-head/sys: kern sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2015 14:56:45 -0000 Author: def Date: Wed Aug 19 14:56:43 2015 New Revision: 289924 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289924 Log: Write zeroes for headers' alignment. Modified: soc2013/def/crashdump-head/sys/kern/kern_dump.c soc2013/def/crashdump-head/sys/sys/kerneldump.h Modified: soc2013/def/crashdump-head/sys/kern/kern_dump.c ============================================================================== --- soc2013/def/crashdump-head/sys/kern/kern_dump.c Wed Aug 19 14:54:54 2015 (r289923) +++ soc2013/def/crashdump-head/sys/kern/kern_dump.c Wed Aug 19 14:56:43 2015 (r289924) @@ -115,6 +115,32 @@ } int +dumpsys_buf_seek(struct dumperinfo *di, size_t sz) +{ + uint8_t buf[DEV_BSIZE]; + size_t nbytes; + int error; + + bzero(buf, sizeof(buf)); + + while (sz > 0) { + if (sz >= sizeof(buf)) + nbytes = sizeof(buf); + else + nbytes = sz; + + error = dump_write(di, buf, 0, dumplo, nbytes); + if (error) + return (error); + dumplo += nbytes; + + sz -= nbytes; + } + + return (0); +} + +int dumpsys_buf_write(struct dumperinfo *di, char *ptr, size_t sz) { size_t len; @@ -370,7 +396,9 @@ * boundary. We cannot use MD_ALIGN on dumplo, because we don't * care and may very well be unaligned within the dump device. */ - dumplo += hdrgap; + error = dumpsys_buf_seek(di, (size_t)hdrgap); + if (error) + goto fail; /* Dump memory chunks (updates dumplo) */ error = dumpsys_foreach_chunk(dumpsys_cb_dumpdata, di); @@ -381,6 +409,7 @@ error = dump_write_header(di, &kdh, 0, dumplo); if (error) goto fail; + dumplo += sizeof(kdh); /* Signal completion, signoff and exit stage left. */ dump_write(di, NULL, 0, 0, 0); Modified: soc2013/def/crashdump-head/sys/sys/kerneldump.h ============================================================================== --- soc2013/def/crashdump-head/sys/sys/kerneldump.h Wed Aug 19 14:54:54 2015 (r289923) +++ soc2013/def/crashdump-head/sys/sys/kerneldump.h Wed Aug 19 14:56:43 2015 (r289924) @@ -145,6 +145,7 @@ typedef int dumpsys_callback_t(struct dump_pa *, int, void *); int dumpsys_foreach_chunk(dumpsys_callback_t, void *); int dumpsys_cb_dumpdata(struct dump_pa *, int, void *); +int dumpsys_buf_seek(struct dumperinfo *, size_t); int dumpsys_buf_write(struct dumperinfo *, char *, size_t); int dumpsys_buf_flush(struct dumperinfo *); From owner-svn-soc-all@freebsd.org Wed Aug 19 15:56:10 2015 Return-Path: Delivered-To: svn-soc-all@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 CB8989BE64E for ; Wed, 19 Aug 2015 15:56:10 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 A453E1F8F for ; Wed, 19 Aug 2015 15:56:10 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7JFuAdA076820 for ; Wed, 19 Aug 2015 15:56:10 GMT (envelope-from roam@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7JFuAOt076814 for svn-soc-all@FreeBSD.org; Wed, 19 Aug 2015 15:56:10 GMT (envelope-from roam@FreeBSD.org) Date: Wed, 19 Aug 2015 15:56:10 GMT Message-Id: <201508191556.t7JFuAOt076814@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to roam@FreeBSD.org using -f From: roam@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289925 - soc2015/roam/ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2015 15:56:10 -0000 Author: roam Date: Wed Aug 19 15:56:09 2015 New Revision: 289925 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289925 Log: Add a script for updating /usr/ports/ with these. ObQuote: "Mama's gonna keep baby cosy and warm" Added: soc2015/roam/ports/update.pl Added: soc2015/roam/ports/update.pl ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/roam/ports/update.pl Wed Aug 19 15:56:09 2015 (r289925) @@ -0,0 +1,75 @@ +#!/usr/bin/perl + +use v5.012; +use strict; +use warnings; + +use Cwd 'abs_path'; +use POSIX ':sys_wait_h'; + +sub find_ports($); +sub process_port($ $ $); + +MAIN: +{ + my ($base, $tgt) = ('.', '/usr/ports'); + + my @ports = find_ports $base; + process_port $_, $base, $tgt for @ports; +} + +sub find_ports($) +{ + my ($base) = @_; + my @res; + + opendir my $db, $base or die "opendir($base): $!\n"; + while (my $d = readdir $db) { + next if $d eq '.' || $d eq '..'; + chdir $db or die "chdir($base): $!\n"; + next unless -d $d; + + opendir my $ds, $d or die "opendir($base/$d): $!\n"; + while (my $p = readdir $ds) { + next if $p eq '.' || $p eq '..'; + chdir $ds or die "chdir($base/$d): $!\n"; + next unless -d $p && -f "$p/Makefile" && -f "$p/pkg-plist"; + + push @res, "$d/$p"; + } + closedir $ds or die "closedir($base/$d): $!\n"; + } + closedir $db or die "closedir($base): $!\n"; + + return @res; +} + +sub process_port($ $ $) +{ + my ($port, $base, $tgt) = @_; + + my ($basename, $tgtname) = ("$base/$port", "$tgt/$port"); + my $baseabs = abs_path($basename); + + if (-l $tgtname) { + my $lname = readlink $tgtname or die "readlink($tgtname): $!\n"; + if (abs_path($lname) ne $baseabs) { + die "FIXME: remove $tgtname to be replaced by a symlink to $baseabs"; + } + else { say "RDBG just fine: $tgtname is a symlink to $baseabs"; } + } elsif (-d $tgtname) { + my @cmd = ('rsync', '-av', '--delete', '--', "$baseabs/", "$tgtname/"); + my $res = system { $cmd[0] } @cmd; + if (!WIFEXITED($res) || WEXITSTATUS($res) != 0) { + die "@cmd failed\n"; + } + say "RDBG just fine: rsynced $baseabs to $tgtname successfully"; + } elsif (-e $tgtname) { + unlink $tgtname or die "unlink($tgtname): $!\n"; + } + + if (! -e $tgtname) { + symlink $baseabs, $tgtname or + die "symlink($baseabs, $tgtname): $!\n"; + } +} From owner-svn-soc-all@freebsd.org Wed Aug 19 15:56:19 2015 Return-Path: Delivered-To: svn-soc-all@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 8FE8A9BE670 for ; Wed, 19 Aug 2015 15:56:19 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 8028E1FE2 for ; Wed, 19 Aug 2015 15:56:19 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7JFuJ8U077025 for ; Wed, 19 Aug 2015 15:56:19 GMT (envelope-from roam@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7JFuGsr076963 for svn-soc-all@FreeBSD.org; Wed, 19 Aug 2015 15:56:16 GMT (envelope-from roam@FreeBSD.org) Date: Wed, 19 Aug 2015 15:56:16 GMT Message-Id: <201508191556.t7JFuGsr076963@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to roam@FreeBSD.org using -f From: roam@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289926 - in soc2015/roam: . ayiya_listen ayiya_resp ng_ayiya MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2015 15:56:19 -0000 Author: roam Date: Wed Aug 19 15:56:16 2015 New Revision: 289926 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289926 Log: Add ayiya_listen for server-side ng_ayiya use. Add a daemon that listens for UDP packets coming in for port 5072, figures out which of the pre-configured tunnels the packet is for, then sets up the ng_ayiya/ng_ksocket/ng_iface set and starts an instance of ayiya_resp to inject the packet and then handle any incoming AYIYA queries. ayiya_resp: - add NO_WCAST_ALIGN to the Makefile; I do believe that most of the casts should be safe, even though the compiler does not realize that - add the -i inputfd command-line option to specify a fd for packets that have arrived before the ng_ayiya node was set up - inject these packets using ng_ayiya's new "inject from AYIYA" control message ng_ayiya: - add the "inject from AYIYA" control message with a data packet that must be processed as if it was received from the "ayiya" hook Added: soc2015/roam/ayiya_listen/ soc2015/roam/ayiya_listen/Makefile - copied, changed from r289925, soc2015/roam/ayiya_resp/Makefile soc2015/roam/ayiya_listen/main.c Modified: soc2015/roam/Makefile soc2015/roam/ayiya_resp/Makefile soc2015/roam/ayiya_resp/main.c soc2015/roam/ng_ayiya/ng_ayiya.c soc2015/roam/ng_ayiya/ng_ayiya.h Modified: soc2015/roam/Makefile ============================================================================== --- soc2015/roam/Makefile Wed Aug 19 15:56:09 2015 (r289925) +++ soc2015/roam/Makefile Wed Aug 19 15:56:16 2015 (r289926) @@ -22,12 +22,12 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -SUBDIR= ayiya_resp ng_ayiya +SUBDIR= ayiya_listen ayiya_resp ng_ayiya .include NAME= ng_ayiya -VERSION= 0.1.0.dev210 +VERSION= 0.1.0.dev225 DISTNAME= ${NAME}-${VERSION} DISTDIR= ${DISTNAME} Copied and modified: soc2015/roam/ayiya_listen/Makefile (from r289925, soc2015/roam/ayiya_resp/Makefile) ============================================================================== --- soc2015/roam/ayiya_resp/Makefile Wed Aug 19 15:56:09 2015 (r289925, copy source) +++ soc2015/roam/ayiya_listen/Makefile Wed Aug 19 15:56:16 2015 (r289926) @@ -22,12 +22,13 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. -PROG= ayiya_resp +PROG= ayiya_listen SRCS= main.c NO_MAN= yes WARNS?= 9 -DPADD= ${LIBNETGRAPH} -LDADD= -lnetgraph +NO_WCAST_ALIGN= 1 +DPADD= ${LIBMD} ${LIBNETGRAPH} +LDADD= -lmd -lnetgraph CFLAGS+= -I${.CURDIR}/.. Added: soc2015/roam/ayiya_listen/main.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/roam/ayiya_listen/main.c Wed Aug 19 15:56:16 2015 (r289926) @@ -0,0 +1,880 @@ +/*- + * Copyright (c) 2015 Peter Pentchev + * 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. + */ + +#define _WITH_GETLINE + +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#define MAX_TUNNELS 4 +#define MAX_RESPAWNS 3 +#define INET_ADDRPORTSTRLEN (INET_ADDRSTRLEN + 1 + 5) + +struct tunnel { + char id[16 + 1]; + struct in6_addr local_addr, remote_addr; + char password[20]; + unsigned prefix_len; + unsigned mtu; + + char remote_outer[INET_ADDRPORTSTRLEN]; + int comm[2]; + pid_t pid; + ng_ID_t node_id; + unsigned respawned; +}; + +static struct tunnel tunnels[MAX_TUNNELS]; +static size_t tunnels_count; + +static struct sockaddr_in local; +static int ng_cs, ng_ds; +static const char *resppath; + +static int quiet; +static int verbose; + +static void usage(int _ferr); +static void version(void); +static void debug(const char *fmt, ...) __printflike(1, 2); + +static void parse_tunnels(const char *); +static int setup_listener(const char *); +static void accept_connection(int); +static void handle_tunnel(struct tunnel *, const char *, + const struct sockaddr_in *, const char *, size_t); +static void stop_tunnel(struct tunnel *, int); +static void start_tunnel(struct tunnel *, + const struct sockaddr_in *, const char *); +static void check_wait_result(pid_t res, int stat, pid_t expected, + const char *progname); +static void spawn_child(const struct tunnel *) __dead2; +static int inet_addrport(const struct sockaddr_in *, + char *, size_t); +static void get_ayiya_node(char *, size_t, const struct tunnel *, + const char *); +static void sigchld_handler(int); + +static void report_regerror(int, const regex_t * restrict); + +int +main(int argc, char * const argv[]) +{ + int ch, hflag, Vflag; + const char *addr, *tunnelsfile; + + hflag = Vflag = 0; + addr = tunnelsfile = NULL; + while (ch = getopt(argc, argv, "a:hqr:t:Vv"), ch != -1) + switch (ch) { + case 'a': + if (addr != NULL) + errx(1, "Duplicate address specified"); + addr = optarg; + break; + + case 'h': + hflag = 1; + break; + + case 'q': + quiet = 1; + break; + + case 'r': + resppath = optarg; + break; + + case 't': + tunnelsfile = optarg; + break; + + case 'V': + Vflag = 1; + break; + + case 'v': + verbose++; + break; + + default: + usage(1); + /* NOTREACHED */ + } + if (Vflag) + version(); + if (hflag) + usage(0); + if (Vflag || hflag) + return (0); + + if (addr == NULL) { + warnx("No address (-a) specified"); + usage(1); + } else if (tunnelsfile == NULL) { + warnx("No tunnels file (-t) specified"); + usage(1); + } else if (resppath == NULL) { + warnx("No ayiya_resp path (-r) specified"); + usage(1); + } + + argc -= optind; + argv += optind; + if (argc > 0) { + warnx("No positional arguments expected"); + usage(1); + } + + parse_tunnels(tunnelsfile); + + signal(SIGPIPE, SIG_IGN); + const struct sigaction sa = { + .sa_handler = sigchld_handler, + .sa_flags = SA_NOCLDSTOP | SA_RESETHAND, + }; + sigaction(SIGCHLD, &sa, NULL); + + const int fd = setup_listener(addr); + while (1) + accept_connection(fd); + /* NOTREACHED */ +} + +void +usage(const int _ferr) +{ + const char * const s = + "Usage:\tayiya_listen [-v] -a address -r resppath -t tunnelsfile config\n" + "\tayiya_listen [-qv] loop\n" + "\tayiya_listen -V | -h\n" + "\n" + "\t-a\tspecify the IPv4 address to listen on\n" + "\t-h\tdisplay program usage information and exit\n" + "\t-n\tspecify the name of the AYIYA node to accept the connection\n" + "\t-q\tquiet mode; only respond, do not originate AYIYA packets\n" + "\t-r\tspecify the path to the ayiya_resp executable\n" + "\t-t\tspecify the path to the tunnel information file\n" + "\t-V\tdisplay program version information and exit\n" + "\t-v\tverbose operation; display diagnostic output\n"; + + fprintf(_ferr? stderr: stdout, "%s", s); + if (_ferr) + exit(1); +} + +void +version(void) +{ + puts("ayiya_resp 0.1.0.dev225"); +} + +void +debug(const char * const fmt, ...) +{ + va_list v; + + va_start(v, fmt); + if (verbose) + vfprintf(stderr, fmt, v); + va_end(v); +} + +int +setup_listener(const char * const addr) +{ + assert(addr != NULL); + + if (NgMkSockNode("ayiya_listen", &ng_cs, &ng_ds) == -1) + err(1, "Could not create the Netgraph socket node"); + + struct addrinfo hints; + bzero(&hints, sizeof(hints)); + hints.ai_family = AF_INET; + hints.ai_socktype = SOCK_DGRAM; + hints.ai_protocol = IPPROTO_UDP; + hints.ai_flags = AI_ADDRCONFIG | AI_NUMERICSERV | AI_PASSIVE; + struct addrinfo *res; + const int ares = getaddrinfo(addr, "5072", &hints, &res); + if (ares != 0) + errx(1, "Could not parse the '%s' address", + gai_strerror(ares)); + if (res == NULL) + errx(1, "Invalid address '%s' specified", addr); + + for (; res != NULL; res = res->ai_next) { + const int fd = socket(res->ai_family, res->ai_socktype, + res->ai_protocol); + if (fd == -1) { + warn("Could not create a %d/%d/%d socket", + res->ai_family, res->ai_socktype, + res->ai_protocol); + continue; + } + const int optval = 1; + if (setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, + &optval, sizeof(optval)) == -1) { + warn("Could not set the 'reuse port' socket option"); + close(fd); + continue; + } + if (bind(fd, res->ai_addr, res->ai_addrlen) == -1) { + warn("Could not bind to %s", addr); + close(fd); + continue; + } + + debug("Looks like we've set up the socket\n"); + bcopy(res->ai_addr, &local, sizeof(local)); + return fd; + } + errx(1, "Could not set up a listener on %s", addr); +} + +void +accept_connection(const int fd) +{ + static char buf[32768]; + struct sockaddr_in sin; + socklen_t sin_len; +retry: + sin_len = sizeof(sin); + ssize_t len = recvfrom(fd, buf, sizeof(buf), 0, + (struct sockaddr *)&sin, &sin_len); + if (len == -1) { + if (errno == EINTR) { + debug("Hm, was a SIGCHLD received?\n"); + while (1) { + int stat; + const pid_t pid = waitpid(-1, &stat, WNOHANG); + if (pid == -1) { + if (errno != ECHILD) + err(1, "waitpid() failed"); + /** + * recvfrom() was not interrupted by + * a SIGCHLD? Ah well, never mind :) + */ + break; + } else if (pid == 0) { + break; + } + for (size_t idx = 0; idx < tunnels_count; idx++) { + struct tunnel * const t = + tunnels + idx; + if (t->pid == pid) { + check_wait_result(pid, stat, + t->pid, "AYIYA responder"); + stop_tunnel(t, 1); + break; + } + } + } + goto retry; + } + err(1, "Could not receive an incoming message"); + } else if (len < 1) { + errx(1, "Short read on an incoming message"); + } + + char sender[INET_ADDRPORTSTRLEN]; + if (!inet_addrport(&sin, sender, sizeof(sender))) + return; + debug("Received a message from %s\n", sender); + + const struct ng_ayiya_header * const ay = + (const struct ng_ayiya_header *)buf; + if (ayiya_length_id(ay) != 16) { + warnx("Invalid AYIYA identity header in the message"); + return; + } + const struct in6_addr * const addr = + (const struct in6_addr *)(buf + ayiya_offset_id(ay)); + char id[INET6_ADDRSTRLEN]; + if (inet_ntop(AF_INET6, addr, id, sizeof(id)) == NULL) { + warn("Could not convert the AYIYA identity to an IPv6 address string"); + return; + } + debug("- AYIYA sender identity: %s\n", id); + + struct tunnel *t; + for (t = tunnels; t < tunnels + tunnels_count; t++) + if (bcmp(addr, &t->remote_addr, sizeof(addr)) == 0) { + handle_tunnel(t, sender, &sin, buf, len); + return; + } + debug("- unknown sender, ignoring the packet\n"); +} + +void +handle_tunnel(struct tunnel * const t, const char * const sender, + const struct sockaddr_in * const sin, + const char * const buf, const size_t len) +{ + /* Do we need to kill a tunnel first? */ + if (strcmp(t->remote_outer, sender) != 0) { + stop_tunnel(t, 0); + snprintf(t->remote_outer, sizeof(t->remote_outer), "%s", sender); + } + + if (t->pid == 0) { + /* Silently ignore the packet if too many respanws. */ + if (t->respawned > MAX_RESPAWNS) + return; + + debug("Starting a new tunnel instance for %s\n", t->id); + start_tunnel(t, sin, sender); + } + + debug("Sending a packet of size %zu to process %jd for %s\n", + len, (intmax_t)t->pid, t->id); + const uint16_t slen = len; + size_t written = 0; + while (written < sizeof(slen) + len) { + ssize_t n; + if (written < sizeof(slen)) + n = write(t->comm[1], ((const char *)&slen) + written, + sizeof(slen) - written); + else + n = write(t->comm[1], buf + written - sizeof(slen), + len - written + sizeof(slen)); + if (n < 1) { + /* Oof, kill and respawn the child process. */ + debug("Could not send the packet to child process %jd, respawning the child\n", + (intmax_t)t->pid); + bzero(&t->remote_outer, sizeof(t->remote_outer)); + t->respawned++; + handle_tunnel(t, sender, sin, buf, len); + return; + } + + written += n; + } + debug("Packet sent successfully\n"); +} + +void +stop_tunnel(struct tunnel * const t, const int waited) +{ + if (t->pid != 0) { + close(t->comm[1]); + if (!waited) { + kill(t->pid, SIGTERM); + int stat; + const pid_t wpid = waitpid(t->pid, &stat, 0); + check_wait_result(wpid, stat, t->pid, "AYIYA responder"); + } + t->pid = 0; + } + + /** + * Always try to shut the Netgraph nodes down, no matter if + * we created them a while ago or they were there before + * we started. + */ + char path[NG_PATHSIZ]; + get_ayiya_node(path, sizeof(path), t, ":inet6"); + debug("Shutting down the ng_iface node %s\n", path); + if (NgSendMsg(ng_cs, path, NGM_GENERIC_COOKIE, + NGM_SHUTDOWN, NULL, 0) == -1 && errno != ENOENT) + err(1, "Could not shut down the ng_iface node %s", + path); + + get_ayiya_node(path, sizeof(path), t, ":"); + debug("Shutting down the ng_ayiya node %s\n", path); + if (NgSendMsg(ng_cs, path, NGM_GENERIC_COOKIE, + NGM_SHUTDOWN, NULL, 0) == -1 && errno != ENOENT) + err(1, "Could not shut down the AYIYA node %s", + path); + t->node_id = 0; + + t->respawned = 0; +} + +void +start_tunnel(struct tunnel * const t, const struct sockaddr_in * const sin, + const char * const sender) +{ + debug("Creating a new node for %s\n", t->id); + assert(t->node_id == 0); + struct ngm_mkpeer pa = { + .type = "ayiya", + .ourhook = "a", + .peerhook = "control", + }; + if (NgSendMsg(ng_cs, ".", NGM_GENERIC_COOKIE, NGM_MKPEER, + &pa, sizeof(pa)) == -1) + err(1, "Could not create an AYIYA node"); + char node_name[NG_NODESIZ]; + get_ayiya_node(node_name, sizeof(node_name), t, ""); + if (NgNameNode(ng_cs, "a", node_name, t->id) == -1) { + warn("Could not set the AYIYA node's name"); + goto ng_error; + } + + static union { + struct ng_mesg msg; + char buf[2000]; + } ng_buf; + char ng_path[NG_PATHSIZ]; + if (NgSendMsg(ng_cs, "a", NGM_GENERIC_COOKIE, NGM_NODEINFO, + NULL, 0) == -1) { + warn("Could not request the AYIYA node's ID"); + goto ng_error; + } + if (NgRecvMsg(ng_cs, &ng_buf.msg, sizeof(ng_buf.buf), ng_path) == -1) { + warn("Could not receive the AYIYA node's ID"); + goto ng_error; + } + const struct nodeinfo * const info = + (const struct nodeinfo *)ng_buf.msg.data; + debug("Created the ng_ayiya node %s [%jx], it seems\n", + node_name, (intmax_t)info->id); + t->node_id = info->id; + + struct ngm_mkpeer pk = { + .type = "ksocket", + .ourhook = "ayiya", + .peerhook = "inet/dgram/udp", + }; + if (NgSendMsg(ng_cs, "a", NGM_GENERIC_COOKIE, NGM_MKPEER, + &pk, sizeof(pk)) == -1) { + warn("Could not create a ksocket node"); + goto ng_error; + } + get_ayiya_node(node_name, sizeof(node_name), t, "_conn"); + if (NgNameNode(ng_cs, "a.ayiya", node_name, t->id) == -1) { + warn("Could not set the ksocket node's name"); + goto ng_error; + } + debug("Created the %s ksocket node\n", node_name); + + union { + struct ng_ksocket_sockopt ks; + char buf[sizeof(struct ng_ksocket_sockopt) + sizeof(uint32_t)]; + } opt; + opt.ks.level = SOL_SOCKET, + opt.ks.name = SO_REUSEPORT, + *(uint32_t *)&opt.ks.value[0] = 1; + if (NgSendMsg(ng_cs, "a.ayiya", NGM_KSOCKET_COOKIE, NGM_KSOCKET_SETOPT, + &opt, sizeof(opt)) == -1) { + warn("Could not set the SO_REUSEPORT option on the ksocket node"); + goto ng_error; + } + + if (NgSendMsg(ng_cs, "a.ayiya", NGM_KSOCKET_COOKIE, NGM_KSOCKET_BIND, + &local, sizeof(local)) == -1) { + warn("Could not bind the ksocket node to %s:%d", + inet_ntoa(local.sin_addr), htons(local.sin_port)); + goto ng_error; + } + if (NgSendMsg(ng_cs, "a.ayiya", NGM_KSOCKET_COOKIE, NGM_KSOCKET_CONNECT, + sin, sizeof(*sin)) == -1) { + warn("Could not connect the ksocket node to %s:%d", + inet_ntoa(sin->sin_addr), htons(sin->sin_port)); + goto ng_error; + } + + struct ngm_mkpeer pi = { + .type = "iface", + .ourhook = "inet6", + .peerhook = "inet6", + }; + if (NgSendMsg(ng_cs, "a", NGM_GENERIC_COOKIE, NGM_MKPEER, + &pi, sizeof(pi)) == -1) { + warn("Could not create the iface node"); + goto ng_error; + } + if (NgSendMsg(ng_cs, "a.inet6", NGM_IFACE_COOKIE, NGM_IFACE_GET_IFNAME, + NULL, 0) == -1) { + warn("Could not request the iface node's name"); + goto ng_error; + } + if (NgRecvMsg(ng_cs, &ng_buf.msg, sizeof(ng_buf.buf), ng_path) == -1) { + warn("Could not receive the iface node's name"); + goto ng_error; + } + const char * const ifname = ng_buf.msg.data; + debug("Created the %s ng_iface node\n", ifname); + + char local6[INET6_ADDRSTRLEN], remote6[INET6_ADDRSTRLEN]; + inet_ntop(AF_INET6, &t->local_addr, local6, sizeof(local6)); + inet_ntop(AF_INET6, &t->remote_addr, remote6, sizeof(remote6)); + static char cmdbuf[1024]; + snprintf(cmdbuf, sizeof(cmdbuf), + "ifconfig %s inet6 %s %s prefixlen 128 alias mtu %u", + ifname, local6, remote6, t->mtu); + debug("Running %s\n", cmdbuf); + const int res = system(cmdbuf); + if (res == -1) { + warn("Could not run ifconfig for the %s tunnel", t->id); + goto ng_error; + } else if (!WIFEXITED(res) || WEXITSTATUS(res) != 0) { + warnx("Could not configure the %s tunnel using '%s'", + t->id, cmdbuf); + goto ng_error; + } + + debug("Sending the 'configure' message to the ng_ayiya node\n"); + if (NgSendMsg(ng_cs, "a", NGM_AYIYA_COOKIE, NGM_AYIYA_SECRETHASH, + t->password, sizeof(t->password)) == -1) { + warn("Could not set the AYIYA node's secret hash"); + goto ng_error; + } + if (NgSendMsg(ng_cs, "a", NGM_AYIYA_COOKIE, NGM_AYIYA_CONFIGURE, + NULL, 0) == -1) { + warn("Could not request the AYIYA node to start up"); + goto ng_error; + } + if (NgRecvMsg(ng_cs, &ng_buf.msg, sizeof(ng_buf.buf), ng_path) == -1) { + warn("Could not get the AYIYA node's configure response"); + goto ng_error; + } + const uint32_t presp = *(const uint32_t *)ng_buf.msg.data; + if (presp != 0) { + warnc(presp, "The AYIYA node failed to start up"); + goto ng_error; + } + debug("Well, well, it looks like we have a running ng_ayiya node!\n"); + + struct ngm_rmhook rm = { + .ourhook = "a", + }; + if (NgSendMsg(ng_cs, ".", NGM_GENERIC_COOKIE, NGM_RMHOOK, + &rm, sizeof(rm)) == -1) { + warn("Could not remove the hook to the AYIYA node"); + goto ng_error; + } + + debug("Spawning a new process for %s\n", t->id); + if (pipe(t->comm) == -1) + err(1, "Could not create a communications pipe"); + + const pid_t pid = fork(); + if (pid == -1) { + err(1, "Could not fork for a %s connection from %s", + t->id, sender); + } else if (pid == 0) { + close(t->comm[1]); + spawn_child(t); + /* NOTREACHED */ + } else { + close(t->comm[0]); + t->pid = pid; + } + return; + +ng_error: + NgSendMsg(ng_cs, "a.inet6", NGM_GENERIC_COOKIE, NGM_SHUTDOWN, NULL, 0); + NgSendMsg(ng_cs, "a", NGM_GENERIC_COOKIE, NGM_SHUTDOWN, NULL, 0); + t->node_id = 0; + exit(1); +} + +void +check_wait_result(const pid_t pid, const int stat, const pid_t expected, + const char * const progname) +{ + if (pid != expected) { + errx(1, "Waiting for %s: expected pid %ld, got %ld", progname, (long)expected, (long)pid); + } else if (WIFEXITED(stat)) { + if (WEXITSTATUS(stat) != 0) + errx(1, "Child %s (pid %ld) exited with code %d", progname, (long)pid, WEXITSTATUS(stat)); + } else if (WIFSIGNALED(stat)) { + if (WTERMSIG(stat) != SIGTERM) + errx(1, "Child %s (pid %ld) was killed by signal %d", progname, (long)pid, WTERMSIG(stat)); + } else if (WIFSTOPPED(stat)) { + errx(1, "Child %s (pid %ld) was stopped by signal %d", progname, (long)pid, WSTOPSIG(stat)); + } else { + errx(1, "Child %s (pid %ld) neither exited nor was killed or stopped; what in the world does wait(2) status %d mean?!", progname, (long)pid, stat); + } +} + +void +spawn_child(const struct tunnel * const t) +{ + debug("Starting ayiya_resp for tunnel %s, source %s\n", + t->id, t->remote_outer); + assert(resppath != NULL); + + char node_name[NG_NODESIZ]; + get_ayiya_node(node_name, sizeof(node_name), t, ""); + char input[10]; + snprintf(input, sizeof(input), "%d", t->comm[0]); + execl(resppath, "ayiya_resp", (verbose? "-vn": "-n"), node_name, + "-i", input, "loop", NULL); + err(1, "Could not execute the AYIYA responder %s for %s", + resppath, t->id); +} + +int +inet_addrport(const struct sockaddr_in * const sin, char * const buf, + const size_t size) +{ + char addr[INET_ADDRSTRLEN]; + char port[6]; + const int ares = getnameinfo((const struct sockaddr *)sin, + sizeof(*sin), addr, sizeof(addr), port, sizeof(port), + NI_NUMERICHOST | NI_NUMERICSERV); + if (ares != 0) { + warnx("Could not convert the message source to an IPv4 address:port string: %s", + gai_strerror(ares)); + return 0; + } + + const ssize_t len = snprintf(buf, size, "%s:%s", addr, port); + if (len < 0) { + warn("Message source snprintf() failed"); + return 0; + } else if ((size_t)len >= size) { + warnx("Could not convert the message source to an IPv4 " + "address:port string, tried to store %zd bytes in " + "a %zu byte buffer", len, size); + return 0; + } + return 1; +} + +void +parse_tunnels(const char * const fname) +{ + FILE * const fp = fopen(fname, "r"); + if (fp == NULL) + err(1, "Could not open the tunnels file %s", fname); + + regex_t re_tunnel, re_line; + int rerr = regcomp(&re_tunnel, "^T[0-9]+$", REG_EXTENDED); + if (rerr != 0) + report_regerror(rerr, &re_tunnel); + rerr = regcomp(&re_line, "^[[:space:]]+([^:]+):[[:space:]]*(.*)$", + REG_EXTENDED); + if (rerr != 0) + report_regerror(rerr, &re_line); + + char *line = NULL; + size_t cap = 0; + int in = 0; + struct tunnel *t = tunnels; + debug("Parsing the tunnels file %s\n", fname); + unsigned flags; + while (1) { + ssize_t len = getline(&line, &cap, fp); + if (len == -1) { + if (ferror(fp)) + err(1, "Could not read the tunnels file %s", + fname); + else + break; + } + while (len > 0 && strchr(" \t\r\n", line[len - 1]) != NULL) + line[--len] = '\0'; + if (len == 0) + continue; + + regmatch_t match[3]; + rerr = regexec(&re_tunnel, line, 1, match, 0); + if (rerr == 0) { + assert(match[0].rm_so == 0); + assert(match[0].rm_eo == len); + + if (in) { + if (flags != (1 << 5) - 1) + errx(1, + "Error in the tunnels file %s: " + "incomplete specification for " + "tunnel %s", fname, t->id); + + debug("- tunnel %s complete, moving on\n", + t->id); + t++; + tunnels_count++; + } + + if ((size_t)len + 1 >= sizeof(t->id)) + errx(1, + "Error in the tunnels file %s: " + "tunnel name '%s' too long, must be " + "at most %zu characters long", + fname, line, sizeof(t->id) - 1); + snprintf(t->id, sizeof(t->id), "%s", line); + /* Let's hope that the rest is pre-zeroed */ + debug("- parsing tunnel %s\n", line); + + flags = 0; + in = 1; + continue; + } else if (rerr != REG_NOMATCH) { + report_regerror(rerr, &re_tunnel); + } + + rerr = regexec(&re_line, line, 3, match, 0); + if (rerr == 0) { + if (!in) + errx(1, "Error in the tunnels file %s: " + "data before the tunnel name", fname); + assert(match[1].rm_so != -1); + const char * const var = line + match[1].rm_so; + line[match[1].rm_eo] = '\0'; + assert(match[2].rm_so != -1); + const char * const value = line + match[2].rm_so; + line[match[2].rm_eo] = '\0'; + + if (strcmp(var, "IPv6 Endpoint") == 0) { + debug(" - local address %s\n", value); + const int res = inet_pton(AF_INET6, value, + &t->local_addr); + if (res == 0) + errx(1, + "Error in the tunnels file %s: " + "invalid IPv6 endpoint '%s' for " + "tunnel %s", fname, value, t->id); + else if (res == -1) + errx(1, "Could not parse the IPv6 " + "endpoint '%s' for tunnel %s", + value, t->id); + flags |= 1 << 0; + } else if (strcmp(var, "IPv6 POP") == 0) { + debug(" - remote address %s\n", value); + const int res = inet_pton(AF_INET6, value, + &t->remote_addr); + if (res == 0) + errx(1, + "Error in the tunnels file %s: " + "invalid IPv6 client '%s' for " + "tunnel %s", fname, value, t->id); + else if (res == -1) + errx(1, "Could not parse the IPv6 " + "client '%s' for tunnel %s", + value, t->id); + flags |= 1 << 1; + } else if (strcmp(var, "IPv6 PrefixLength") == 0) { + debug(" - prefix length %s\n", value); + char *end; + const unsigned long v = + strtoul(value, &end, 10); + if (v > 127 || *end != '\0') + errx(1, + "Error in the tunnels file %s: " + "invalid prefix length '%s' for " + "tunnel %s", fname, value, t->id); + t->prefix_len = v; + flags |= 1 << 2; + } else if (strcmp(var, "Password") == 0) { + debug(" - tunnel password %s\n", value); + SHA_CTX ctx; + SHA1_Init(&ctx); + SHA1_Update(&ctx, value, + match[2].rm_eo - match[2].rm_so); + SHA1_Final(t->password, &ctx); + flags |= 1 << 3; + } else if (strcmp(var, "Tunnel MTU") == 0) { + debug(" - MTU %s\n", value); + char *end; + const unsigned long v = + strtoul(value, &end, 10); + if (v > 100000 || *end != '\0') + errx(1, + "Error in the tunnels file %s: " + "invalid MTU '%s' for " + "tunnel %s", fname, value, t->id); + t->mtu = v; + flags |= 1 << 4; + } + } else if (rerr != REG_NOMATCH) { + report_regerror(rerr, &re_tunnel); + } else { + errx(1, "Error in the tunnels file %s: " + "unrecognized line '%s'", fname, line); + } + } + + if (flags != (1 << 5) - 1) + errx(1, "Error in the tunnels file %s: " + "incomplete specification for tunnel %s", fname, t->id); + tunnels_count++; + debug("- tunnel %s complete\n", t->id); +} + +void +report_regerror(const int code, const regex_t * restrict const preg) +{ + char *buf = NULL; + size_t sz = 0; + + while (1) { + const size_t newsz = regerror(code, preg, buf, sz); + if (newsz <= sz) + break; + + char * const nbuf = realloc(buf, newsz); + if (nbuf == NULL) + err(1, "No memory for an regerror buffer"); + buf = nbuf; + sz = newsz; + } + errx(1, "Internal error compiling a regular expression: %s", buf); +} + +void +get_ayiya_node(char * const buf, const size_t sz, + const struct tunnel * const t,const char * const suffix) +{ + snprintf(buf, sz, "ayiya_%s%s", t->id, suffix); +} + +void +sigchld_handler(int sig) +{ + /** + * The only purpose of this signal handler is to make sure + * that accept_connection()'s recvfrom() is interrupted. + */ + (void)sig; +} Modified: soc2015/roam/ayiya_resp/Makefile ============================================================================== --- soc2015/roam/ayiya_resp/Makefile Wed Aug 19 15:56:09 2015 (r289925) +++ soc2015/roam/ayiya_resp/Makefile Wed Aug 19 15:56:16 2015 (r289926) @@ -26,6 +26,7 @@ SRCS= main.c NO_MAN= yes WARNS?= 9 +NO_WCAST_ALIGN= 1 DPADD= ${LIBNETGRAPH} LDADD= -lnetgraph Modified: soc2015/roam/ayiya_resp/main.c ============================================================================== --- soc2015/roam/ayiya_resp/main.c Wed Aug 19 15:56:09 2015 (r289925) +++ soc2015/roam/ayiya_resp/main.c Wed Aug 19 15:56:16 2015 (r289926) @@ -25,10 +25,13 @@ */ #include +#include #include #include +#include #include +#include #include #include #include @@ -47,6 +50,7 @@ #define A_SEL_RD_DATA 0x0001 #define A_SEL_WR_DATA 0x0002 #define A_SEL_EXC 0x0004 +#define A_SEL_RD_INPUT 0x0008 #define MOTD \ "1435504634\n" \ @@ -54,6 +58,15 @@ "Welcome to the system, here's the situation;\n" \ "It's a bit confusing, welcome to the maze!\n" +struct ayqueue { + size_t sz; + STAILQ_ENTRY(ayqueue) next; + char buf[]; +}; + +static int inputfd = -1; +static STAILQ_HEAD(ayqhead, ayqueue) injectq; + static int quiet; static int verbose; @@ -69,6 +82,10 @@ static unsigned ayiya_select(int, bool, bool); static void send_packet(int, ayiya_opcode, const char *, size_t); static void send_empty_packet(int, ayiya_opcode); +static void inject_packets(int); + +static size_t check_ayiya_packet(const char *, size_t); +static void inject_ayiya_packet(const char *, size_t); static struct { const char *name; @@ -79,7 +96,7 @@ }; #define COMMANDS (sizeof(commands) / sizeof(commands[0])) -#define AYIYA_ND "sc_ayiya" +static const char *node_name = "sc_ayiya"; static union { struct ng_mesg msg; @@ -93,12 +110,32 @@ int ch, hflag, Vflag; hflag = Vflag = 0; - while (ch = getopt(argc, argv, "hqVv"), ch != -1) + while (ch = getopt(argc, argv, "hi:n:qVv"), ch != -1) switch (ch) { case 'h': hflag = 1; break; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-soc-all@freebsd.org Wed Aug 19 15:56:24 2015 Return-Path: Delivered-To: svn-soc-all@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 5CA709BE68A for ; Wed, 19 Aug 2015 15:56:24 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 419F21FF8 for ; Wed, 19 Aug 2015 15:56:24 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7JFuOoB077107 for ; Wed, 19 Aug 2015 15:56:24 GMT (envelope-from roam@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7JFuNbK077103 for svn-soc-all@FreeBSD.org; Wed, 19 Aug 2015 15:56:23 GMT (envelope-from roam@FreeBSD.org) Date: Wed, 19 Aug 2015 15:56:23 GMT Message-Id: <201508191556.t7JFuNbK077103@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to roam@FreeBSD.org using -f From: roam@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289927 - soc2015/roam/ayiya_listen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2015 15:56:24 -0000 Author: roam Date: Wed Aug 19 15:56:23 2015 New Revision: 289927 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289927 Log: ayiya_listen: autodetect the path to ayiya_resp Modified: soc2015/roam/ayiya_listen/main.c Modified: soc2015/roam/ayiya_listen/main.c ============================================================================== --- soc2015/roam/ayiya_listen/main.c Wed Aug 19 15:56:16 2015 (r289926) +++ soc2015/roam/ayiya_listen/main.c Wed Aug 19 15:56:23 2015 (r289927) @@ -28,6 +28,7 @@ #include #include +#include #include #include @@ -162,9 +163,6 @@ } else if (tunnelsfile == NULL) { warnx("No tunnels file (-t) specified"); usage(1); - } else if (resppath == NULL) { - warnx("No ayiya_resp path (-r) specified"); - usage(1); } argc -= optind; @@ -174,6 +172,68 @@ usage(1); } + if (resppath == NULL) { + debug("Trying to autodetect the ayiya_resp location\n"); + int makev[2]; + if (pipe(makev) == -1) + err(1, "pipe() failed"); + const pid_t makepid = fork(); + if (makepid == -1) { + err(1, "fork() for make -V .OBJDIR failed"); + } else if (makepid == 0) { + if (chdir("ayiya_resp") == -1) { + if (errno != ENOENT) + err(1, "chdir('ayiya_resp') failed"); + if (chdir("../ayiya_resp") == -1) + err(1, "chdir('../ayiya_resp') failed"); + } + + close(makev[0]); + if (makev[1] != 1) { + close(1); + if (dup2(makev[1], 1) == -1) + err(1, "dup2() failed"); + } + execlp("make", "make", "-V", ".OBJDIR", NULL); + err(1, "exec('make') failed"); + } + debug("makepid is %jd\n", (intmax_t)makepid); + close(makev[1]); + FILE * const fp = fdopen(makev[0], "r"); + if (fp == NULL) + err(1, "fdopen(%d) for make -V .OBJDIR failed", + makev[0]); + char *line = NULL; + size_t sz = 0; + ssize_t len = getline(&line, &sz, fp); + if (len < 1) { + if (feof(fp)) + errx(1, "make -V .OBJDIR produced no output"); + else + err(1, "getline() for make -V .OBJDIR failed"); + } + fclose(fp); + int stat; + const pid_t wpid = waitpid(makepid, &stat, 0); + check_wait_result(wpid, stat, makepid, "make -V .OBJDIR"); + + while (len > 0 && (line[len - 1] == '\r' || line[len - 1] == '\n')) + line[--len] = '\0'; + debug("make -V .OBJDIR for ayiya_resp returned '%s'\n", line); + char *path; + asprintf(&path, "%s/%s", line, "ayiya_resp"); + if (path == NULL) + err(1, "Could not build the ayiya_resp path"); + resppath = path; + debug("Autodetected ayiya_resp path '%s'\n", resppath); + } + debug("Checking the ayiya_resp path '%s' for validity\n", resppath); + struct stat st; + if (stat(resppath, &st) == -1) + err(1, "Invalid ayiya_resp path '%s'", resppath); + else if (!S_ISREG(st.st_mode) || ((st.st_mode & 0111) == 0)) + errx(1, "Non-executable file '%s'", resppath); + parse_tunnels(tunnelsfile); signal(SIGPIPE, SIG_IGN); From owner-svn-soc-all@freebsd.org Wed Aug 19 15:56:27 2015 Return-Path: Delivered-To: svn-soc-all@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 42C2B9BE696 for ; Wed, 19 Aug 2015 15:56:27 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 3072C1FFF for ; Wed, 19 Aug 2015 15:56:27 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7JFuRZQ077125 for ; Wed, 19 Aug 2015 15:56:27 GMT (envelope-from roam@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7JFuQRS077121 for svn-soc-all@FreeBSD.org; Wed, 19 Aug 2015 15:56:26 GMT (envelope-from roam@FreeBSD.org) Date: Wed, 19 Aug 2015 15:56:26 GMT Message-Id: <201508191556.t7JFuQRS077121@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to roam@FreeBSD.org using -f From: roam@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289928 - soc2015/roam MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Aug 2015 15:56:27 -0000 Author: roam Date: Wed Aug 19 15:56:26 2015 New Revision: 289928 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289928 Log: Makefile: add a ayiya-server test target Modified: soc2015/roam/Makefile Modified: soc2015/roam/Makefile ============================================================================== --- soc2015/roam/Makefile Wed Aug 19 15:56:23 2015 (r289927) +++ soc2015/roam/Makefile Wed Aug 19 15:56:26 2015 (r289928) @@ -38,6 +38,8 @@ RM?= rm -rf MKDIR?= mkdir -p +SUDO?= sudo + down: cd ${.CURDIR}/ng_ayiya && ${MAKE} down @@ -66,3 +68,25 @@ distclean: ${RM} $D/ cd $S && ${MAKE} cleandir && ${MAKE} cleandir + +shutdown: + ${SUDO} ngctl list | awk "/Type: ayiya/ { print \$$2 }" | while read node; do \ + ${SUDO} ngctl shutdown "$$node:inet6" || true; \ + ${SUDO} ngctl shutdown "$$node:"; \ + done + +ayiya-server: + @if [ -z "${TUNNELSFILE}" ] || [ -z "${LISTENADDR}" ]; then \ + printf "\n\nYou must specify the path to the tic-tunnels.txt file in the TUNNELSFILE variable and the IPv4 address to listen on in the LISTENADDR variable\n\n"; \ + false; \ + fi + + ${MAKE} -C ${.CURDIR} obj + ${MAKE} -C ${.CURDIR} depend + ${MAKE} -C ${.CURDIR} + + ${MAKE} -C ${.CURDIR} shutdown + ${SUDO} ${MAKE} -C ${.CURDIR}/ng_ayiya unload || true + ${SUDO} ${MAKE} -C ${.CURDIR}/ng_ayiya load + + cd ${.CURDIR} && ${SUDO} `${MAKE} -C ${.CURDIR}/ayiya_listen -V .OBJDIR`/ayiya_listen -v -a "${LISTENADDR}" -t "${TUNNELSFILE}" -v From owner-svn-soc-all@freebsd.org Thu Aug 20 12:52:44 2015 Return-Path: Delivered-To: svn-soc-all@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 6CAAF9BDB7F for ; Thu, 20 Aug 2015 12:52:44 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 513F433A for ; Thu, 20 Aug 2015 12:52:44 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7KCqinr095234 for ; Thu, 20 Aug 2015 12:52:44 GMT (envelope-from iateaca@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7KCqh47095216 for svn-soc-all@FreeBSD.org; Thu, 20 Aug 2015 12:52:43 GMT (envelope-from iateaca@FreeBSD.org) Date: Thu, 20 Aug 2015 12:52:43 GMT Message-Id: <201508201252.t7KCqh47095216@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to iateaca@FreeBSD.org using -f From: iateaca@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289960 - soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2015 12:52:44 -0000 Author: iateaca Date: Thu Aug 20 12:52:43 2015 New Revision: 289960 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289960 Log: redesign: rename the ne2000 data structure Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c ============================================================================== --- soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Thu Aug 20 11:26:26 2015 (r289959) +++ soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Thu Aug 20 12:52:43 2015 (r289960) @@ -61,7 +61,7 @@ /* * NE2000 data structures */ -struct pci_ne2000_softc { +struct ne2000_softc { struct pci_devinst *asc_pi; /* @@ -89,68 +89,56 @@ }; /* - * NE2000 debug functions - */ -void vm_inject_fault(void *vm, int vcpuid, int vector, int errcode_valid, - int errcode); - -static void -pci_ne2000_inject_ud(struct pci_ne2000_softc *sc) -{ - vm_inject_fault(sc->asc_pi->pi_vmctx, 0, 6, 0, 0); -} - -/* * NE2000 module function declarations */ static void -ne2000_set_reg_by_offset(struct pci_ne2000_softc *sc, uint8_t page, +ne2000_set_reg_by_offset(struct ne2000_softc *sc, uint8_t page, uint8_t offset, uint8_t value); static uint8_t -ne2000_get_reg_by_offset(struct pci_ne2000_softc *sc, uint8_t page, +ne2000_get_reg_by_offset(struct ne2000_softc *sc, uint8_t page, uint8_t offset); static void -ne2000_set_field_by_offset(struct pci_ne2000_softc *sc, uint8_t page, +ne2000_set_field_by_offset(struct ne2000_softc *sc, uint8_t page, uint8_t offset, uint8_t mask, uint8_t value); static uint8_t -ne2000_read_nic(struct pci_ne2000_softc *sc, uint8_t offset); +ne2000_read_nic(struct ne2000_softc *sc, uint8_t offset); static uint16_t -ne2000_read_asic(struct pci_ne2000_softc *sc, uint8_t offset); +ne2000_read_asic(struct ne2000_softc *sc, uint8_t offset); static int -ne2000_write_nic(struct pci_ne2000_softc *sc, uint8_t offset, uint8_t value); +ne2000_write_nic(struct ne2000_softc *sc, uint8_t offset, uint8_t value); static int -ne2000_write_asic(struct pci_ne2000_softc *sc, uint8_t offset, uint16_t value); +ne2000_write_asic(struct ne2000_softc *sc, uint8_t offset, uint16_t value); static int -ne2000_emul_reg_cr(struct pci_ne2000_softc *sc, uint8_t value); +ne2000_emul_reg_cr(struct ne2000_softc *sc, uint8_t value); static int -ne2000_emul_reg_page0(struct pci_ne2000_softc *sc, uint8_t offset, +ne2000_emul_reg_page0(struct ne2000_softc *sc, uint8_t offset, uint8_t value); static int -ne2000_emul_reg_page1(struct pci_ne2000_softc *sc, uint8_t offset, +ne2000_emul_reg_page1(struct ne2000_softc *sc, uint8_t offset, uint8_t value); static int ne2000_reset_board(void); -static int ne2000_software_reset(struct pci_ne2000_softc *sc); +static int ne2000_software_reset(struct ne2000_softc *sc); static int -ne2000_tap_init(struct pci_ne2000_softc *sc, char *tap_name); +ne2000_tap_init(struct ne2000_softc *sc, char *tap_name); static int -ne2000_tap_tx(struct pci_ne2000_softc *sc, uint8_t tpsr, uint16_t tbcr); +ne2000_tap_tx(struct ne2000_softc *sc, uint8_t tpsr, uint16_t tbcr); static int -ne2000_tap_rx(struct pci_ne2000_softc *sc); +ne2000_tap_rx(struct ne2000_softc *sc); static void ne2000_tap_callback(int fd, enum ev_type type, void *param); static int -ne2000_receive_ring_is_valid(struct pci_ne2000_softc *sc); +ne2000_receive_ring_is_valid(struct ne2000_softc *sc); static int -ne2000_receive_ring_is_full(struct pci_ne2000_softc *sc); +ne2000_receive_ring_is_full(struct ne2000_softc *sc); static int -ne2000_ether_frame_is_valid(struct pci_ne2000_softc *sc); +ne2000_ether_frame_is_valid(struct ne2000_softc *sc); static uint32_t ne2000_ether_crc32_be(const uint8_t *buf, size_t len); @@ -162,7 +150,7 @@ * NE2000 module function definitions */ static void -ne2000_set_reg_by_offset(struct pci_ne2000_softc *sc, uint8_t page, +ne2000_set_reg_by_offset(struct ne2000_softc *sc, uint8_t page, uint8_t offset, uint8_t value) { assert(page < NE2000_PAGE_COUNT); @@ -172,7 +160,7 @@ } static uint8_t -ne2000_get_reg_by_offset(struct pci_ne2000_softc *sc, uint8_t page, +ne2000_get_reg_by_offset(struct ne2000_softc *sc, uint8_t page, uint8_t offset) { assert(page < NE2000_PAGE_COUNT); @@ -182,7 +170,7 @@ } static void -ne2000_set_field_by_offset(struct pci_ne2000_softc *sc, uint8_t page, +ne2000_set_field_by_offset(struct ne2000_softc *sc, uint8_t page, uint8_t offset, uint8_t mask, uint8_t value) { uint8_t reg_value = 0; @@ -196,7 +184,7 @@ } static void -pci_ne2000_update_intr(struct pci_ne2000_softc *sc) +pci_ne2000_update_intr(struct ne2000_softc *sc) { uint8_t isr = 0; uint8_t imr = 0; @@ -218,7 +206,7 @@ } static int -ne2000_tap_init(struct pci_ne2000_softc *sc, char *tap_name) +ne2000_tap_init(struct ne2000_softc *sc, char *tap_name) { int err; int opt = 1; @@ -241,7 +229,7 @@ } static int -ne2000_tap_tx(struct pci_ne2000_softc *sc, uint8_t tpsr, uint16_t tbcr) +ne2000_tap_tx(struct ne2000_softc *sc, uint8_t tpsr, uint16_t tbcr) { ssize_t write_len; @@ -259,7 +247,7 @@ } static int -ne2000_tap_rx(struct pci_ne2000_softc *sc) +ne2000_tap_rx(struct ne2000_softc *sc) { uint8_t pstart = 0; uint8_t pstop = 0; @@ -354,7 +342,7 @@ ne2000_tap_callback(int fd, enum ev_type type, void *param) { int err; - struct pci_ne2000_softc *sc = (struct pci_ne2000_softc *)param; + struct ne2000_softc *sc = (struct ne2000_softc *)param; assert(sc != NULL); err = pthread_mutex_lock(&sc->mtx); @@ -370,7 +358,7 @@ } static int -ne2000_receive_ring_is_valid(struct pci_ne2000_softc *sc) +ne2000_receive_ring_is_valid(struct ne2000_softc *sc) { uint8_t cr = 0; @@ -403,7 +391,7 @@ } static int -ne2000_receive_ring_is_full(struct pci_ne2000_softc *sc) +ne2000_receive_ring_is_full(struct ne2000_softc *sc) { uint32_t avail = 0; uint32_t start = 0; @@ -440,7 +428,7 @@ } static int -ne2000_ether_frame_is_valid(struct pci_ne2000_softc *sc) +ne2000_ether_frame_is_valid(struct ne2000_softc *sc) { uint8_t key = 0; uint8_t mar_offset = 0; @@ -569,7 +557,7 @@ static int pci_ne2000_init(struct vmctx *ctx, struct pci_devinst *pi, char *opts) { - struct pci_ne2000_softc *sc = NULL; + struct ne2000_softc *sc = NULL; int err; /* the default mac address is 00:a0:98:4a:0e:ee */ @@ -583,7 +571,7 @@ assert(ctx != NULL); assert(pi != NULL); - sc = calloc(1, sizeof(struct pci_ne2000_softc)); + sc = calloc(1, sizeof(struct ne2000_softc)); pi->pi_arg = sc; sc->asc_pi = pi; @@ -632,7 +620,7 @@ pci_ne2000_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, int baridx, uint64_t offset, int size, uint64_t value) { - struct pci_ne2000_softc *sc = pi->pi_arg; + struct ne2000_softc *sc = pi->pi_arg; int err; assert(sc != NULL); @@ -664,7 +652,7 @@ } static int -ne2000_write_nic(struct pci_ne2000_softc *sc, uint8_t offset, uint8_t value) +ne2000_write_nic(struct ne2000_softc *sc, uint8_t offset, uint8_t value) { int err; @@ -690,7 +678,7 @@ } static int -ne2000_write_asic(struct pci_ne2000_softc *sc, uint8_t offset, uint16_t value) +ne2000_write_asic(struct ne2000_softc *sc, uint8_t offset, uint16_t value) { uint8_t dcr = 0; uint8_t rbcr0 = 0; @@ -768,7 +756,7 @@ } static int -ne2000_emul_reg_cr(struct pci_ne2000_softc *sc, uint8_t value) +ne2000_emul_reg_cr(struct ne2000_softc *sc, uint8_t value) { int err; uint8_t rbcr0 = 0; @@ -861,7 +849,7 @@ } static int -ne2000_emul_reg_page0(struct pci_ne2000_softc *sc, uint8_t offset, +ne2000_emul_reg_page0(struct ne2000_softc *sc, uint8_t offset, uint8_t value) { uint8_t pstart = 0; @@ -898,7 +886,7 @@ } static int -ne2000_emul_reg_page1(struct pci_ne2000_softc *sc, uint8_t offset, +ne2000_emul_reg_page1(struct ne2000_softc *sc, uint8_t offset, uint8_t value) { uint8_t pstart = 0; @@ -927,7 +915,7 @@ } static int -ne2000_software_reset(struct pci_ne2000_softc *sc) +ne2000_software_reset(struct ne2000_softc *sc) { DPRINTF("The NIC is in Software Reset State"); @@ -951,7 +939,7 @@ pci_ne2000_read(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, int baridx, uint64_t offset, int size) { - struct pci_ne2000_softc *sc = pi->pi_arg; + struct ne2000_softc *sc = pi->pi_arg; uint64_t value = 0; int err; @@ -981,7 +969,7 @@ } static uint8_t -ne2000_read_nic(struct pci_ne2000_softc *sc, uint8_t offset) +ne2000_read_nic(struct ne2000_softc *sc, uint8_t offset) { int err; uint8_t value = 0; @@ -1041,7 +1029,7 @@ } static uint16_t -ne2000_read_asic(struct pci_ne2000_softc *sc, uint8_t offset) +ne2000_read_asic(struct ne2000_softc *sc, uint8_t offset) { int err; uint8_t dcr = 0; From owner-svn-soc-all@freebsd.org Thu Aug 20 13:54:33 2015 Return-Path: Delivered-To: svn-soc-all@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 4705F9BEE26 for ; Thu, 20 Aug 2015 13:54:33 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 2B26918AC for ; Thu, 20 Aug 2015 13:54:33 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7KDsXUi040440 for ; Thu, 20 Aug 2015 13:54:33 GMT (envelope-from iateaca@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7KDsWwp040437 for svn-soc-all@FreeBSD.org; Thu, 20 Aug 2015 13:54:32 GMT (envelope-from iateaca@FreeBSD.org) Date: Thu, 20 Aug 2015 13:54:32 GMT Message-Id: <201508201354.t7KDsWwp040437@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to iateaca@FreeBSD.org using -f From: iateaca@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289965 - soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2015 13:54:33 -0000 Author: iateaca Date: Thu Aug 20 13:54:32 2015 New Revision: 289965 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289965 Log: redesign: implement ne2000 init function Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c ============================================================================== --- soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Thu Aug 20 12:49:56 2015 (r289964) +++ soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Thu Aug 20 13:54:32 2015 (r289965) @@ -62,7 +62,7 @@ * NE2000 data structures */ struct ne2000_softc { - struct pci_devinst *asc_pi; + struct pci_devinst *pci_inst; /* * one single mutex used to lock the reception flow with @@ -101,6 +101,9 @@ ne2000_set_field_by_offset(struct ne2000_softc *sc, uint8_t page, uint8_t offset, uint8_t mask, uint8_t value); +static int +ne2000_init(struct ne2000_softc *sc, char *opts); + static uint8_t ne2000_read_nic(struct ne2000_softc *sc, uint8_t offset); static uint16_t @@ -147,6 +150,18 @@ ne2000_parse_input(char *opts, char *tap_name, uint8_t *mac); /* + * PCI NE2000 function declarations + */ +static int +pci_ne2000_init(struct vmctx *ctx, struct pci_devinst *pi, char *opts); +static void +pci_ne2000_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, + int baridx, uint64_t offset, int size, uint64_t value); +static uint64_t +pci_ne2000_read(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, + int baridx, uint64_t offset, int size); + +/* * NE2000 module function definitions */ static void @@ -194,12 +209,12 @@ if (imr & isr) { if (!sc->lintr) { - pci_lintr_assert(sc->asc_pi); + pci_lintr_assert(sc->pci_inst); sc->lintr = 1; } } else { if (sc->lintr) { - pci_lintr_deassert(sc->asc_pi); + pci_lintr_deassert(sc->pci_inst); sc->lintr = 0; } } @@ -555,103 +570,6 @@ } static int -pci_ne2000_init(struct vmctx *ctx, struct pci_devinst *pi, char *opts) -{ - struct ne2000_softc *sc = NULL; - int err; - - /* the default mac address is 00:a0:98:4a:0e:ee */ - uint8_t mac[ETHER_ADDR_LEN] = {0x00, 0xa0, 0x98, 0x4a, 0x0e, 0xee}; - char tap_name[MAX_INPUT_LEN]; - -#if DEBUG_NE2000 == 1 - dbg = fopen("/tmp/bhyve_ne2000.log", "w+"); -#endif - - assert(ctx != NULL); - assert(pi != NULL); - - sc = calloc(1, sizeof(struct ne2000_softc)); - pi->pi_arg = sc; - sc->asc_pi = pi; - - err = ne2000_parse_input(opts, tap_name, mac); - if (err != 0) { - printf("Use input param like: -s x:y,ne2000-net,tap_name[,mac address]"); - free(sc); - return 1; - } - - err = pthread_mutex_init(&sc->mtx, NULL); - assert(err == 0); - - err = ne2000_tap_init(sc, tap_name); - assert(err == 0); - - /* probe a RTL8029 PCI card as a generic NE2000 device */ - pci_set_cfgdata16(pi, PCIR_DEVICE, 0x8029); - pci_set_cfgdata16(pi, PCIR_VENDOR, 0x10ec); - - /* allocate two BAR registers for both NIC and ASIC I/O bus address offsets */ - pci_emul_alloc_bar(pi, 0, PCIBAR_IO, 16); - pci_emul_alloc_bar(pi, 1, PCIBAR_IO, 16); - - /* allocate an IRQ pin for our slot */ - pci_lintr_request(pi); - - /* set network medium type as 10BaseT and full-duplex */ - ne2000_set_reg_by_offset(sc, NE2000_P3, - ED_RTL80X9_CONFIG2, ED_RTL80X9_CF2_10_T); - ne2000_set_reg_by_offset(sc, NE2000_P3, - ED_RTL80X9_CONFIG3, ED_RTL80X9_CF3_FUDUP); - - /* the NE2000 card has his MAC address located in the first 6 words of the RAM memory */ - sc->ram[0] = mac[0]; - sc->ram[2] = mac[1]; - sc->ram[4] = mac[2]; - sc->ram[6] = mac[3]; - sc->ram[8] = mac[4]; - sc->ram[10] = mac[5]; - - return 0; -} - -static void -pci_ne2000_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, - int baridx, uint64_t offset, int size, uint64_t value) -{ - struct ne2000_softc *sc = pi->pi_arg; - int err; - - assert(sc != NULL); - assert(offset <= 0x0f); - - err = pthread_mutex_lock(&sc->mtx); - assert(err == 0); - - switch (baridx) { - case NE2000_BAR_NIC: - assert(size == 1); - assert(value <= 0xff); - err = ne2000_write_nic(sc, offset, value); - break; - case NE2000_BAR_ASIC: - assert(size <= 2); - err = ne2000_write_asic(sc, offset, value); - break; - default: - assert(0); - } - - assert(err == 0); - - err = pthread_mutex_unlock(&sc->mtx); - assert(err == 0); - - return; -} - -static int ne2000_write_nic(struct ne2000_softc *sc, uint8_t offset, uint8_t value) { int err; @@ -935,37 +853,46 @@ return 0; } -static uint64_t -pci_ne2000_read(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, - int baridx, uint64_t offset, int size) +static int +ne2000_init(struct ne2000_softc *sc, char *opts) { - struct ne2000_softc *sc = pi->pi_arg; - uint64_t value = 0; + /* the default mac address is 00:a0:98:4a:0e:ee */ + uint8_t mac[ETHER_ADDR_LEN] = {0x00, 0xa0, 0x98, 0x4a, 0x0e, 0xee}; + char tap_name[MAX_INPUT_LEN]; int err; - assert(sc != NULL); - assert(offset <= 0x0f); - - err = pthread_mutex_lock(&sc->mtx); - assert(err == 0); +#if DEBUG_NE2000 == 1 + dbg = fopen("/tmp/bhyve_ne2000.log", "w+"); +#endif - switch (baridx) { - case NE2000_BAR_NIC: - assert(size == 1); - value = ne2000_read_nic(sc, offset); - break; - case NE2000_BAR_ASIC: - assert(size <= 2); - value = ne2000_read_asic(sc, offset); - break; - default: - assert(0); + err = ne2000_parse_input(opts, tap_name, mac); + if (err != 0) { + printf("Use input param like: -s x:y,ne2000-net,tap_name[,mac address]"); + free(sc); + return -1; } - err = pthread_mutex_unlock(&sc->mtx); + err = pthread_mutex_init(&sc->mtx, NULL); assert(err == 0); - return value; + err = ne2000_tap_init(sc, tap_name); + assert(err == 0); + + /* set network medium type as 10BaseT and full-duplex */ + ne2000_set_reg_by_offset(sc, NE2000_P3, + ED_RTL80X9_CONFIG2, ED_RTL80X9_CF2_10_T); + ne2000_set_reg_by_offset(sc, NE2000_P3, + ED_RTL80X9_CONFIG3, ED_RTL80X9_CF3_FUDUP); + + /* the NE2000 card has his MAC address located in the first 6 words of the RAM memory */ + sc->ram[0] = mac[0]; + sc->ram[2] = mac[1]; + sc->ram[4] = mac[2]; + sc->ram[6] = mac[3]; + sc->ram[8] = mac[4]; + sc->ram[10] = mac[5]; + + return 0; } static uint8_t @@ -1101,6 +1028,109 @@ return 0; } +/* + * PCI NE2000 function definitions + */ +static int +pci_ne2000_init(struct vmctx *ctx, struct pci_devinst *pi, char *opts) +{ + struct ne2000_softc *sc = NULL; + + assert(ctx != NULL); + assert(pi != NULL); + + sc = calloc(1, sizeof(struct ne2000_softc)); + + /* initialize the ne2000 data structure */ + if (ne2000_init(sc, opts) != 0) + return 1; + + /* save the pci instance into the ne2000 structure */ + sc->pci_inst = pi; + pi->pi_arg = sc; + + /* probe a RTL8029 PCI card as a generic NE2000 device */ + pci_set_cfgdata16(pi, PCIR_DEVICE, 0x8029); + pci_set_cfgdata16(pi, PCIR_VENDOR, 0x10ec); + + /* allocate two BAR registers for both NIC and ASIC I/O bus address offsets */ + pci_emul_alloc_bar(pi, 0, PCIBAR_IO, 16); + pci_emul_alloc_bar(pi, 1, PCIBAR_IO, 16); + + /* allocate an IRQ pin for our slot */ + pci_lintr_request(pi); + + return 0; +} + +static void +pci_ne2000_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, + int baridx, uint64_t offset, int size, uint64_t value) +{ + struct ne2000_softc *sc = pi->pi_arg; + int err; + + assert(sc != NULL); + assert(offset <= 0x0f); + + err = pthread_mutex_lock(&sc->mtx); + assert(err == 0); + + switch (baridx) { + case NE2000_BAR_NIC: + assert(size == 1); + assert(value <= 0xff); + err = ne2000_write_nic(sc, offset, value); + break; + case NE2000_BAR_ASIC: + assert(size <= 2); + err = ne2000_write_asic(sc, offset, value); + break; + default: + assert(0); + } + + assert(err == 0); + + err = pthread_mutex_unlock(&sc->mtx); + assert(err == 0); + + return; +} + +static uint64_t +pci_ne2000_read(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, + int baridx, uint64_t offset, int size) +{ + struct ne2000_softc *sc = pi->pi_arg; + uint64_t value = 0; + int err; + + assert(sc != NULL); + assert(offset <= 0x0f); + + err = pthread_mutex_lock(&sc->mtx); + assert(err == 0); + + switch (baridx) { + case NE2000_BAR_NIC: + assert(size == 1); + value = ne2000_read_nic(sc, offset); + break; + case NE2000_BAR_ASIC: + assert(size <= 2); + value = ne2000_read_asic(sc, offset); + break; + default: + assert(0); + } + + err = pthread_mutex_unlock(&sc->mtx); + assert(err == 0); + + return value; +} + struct pci_devemu pci_de_ne2000_net = { .pe_emu = "ne2000-net", .pe_init = pci_ne2000_init, From owner-svn-soc-all@freebsd.org Thu Aug 20 14:52:54 2015 Return-Path: Delivered-To: svn-soc-all@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 58ACB9BF879 for ; Thu, 20 Aug 2015 14:52:54 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 48BC41C29 for ; Thu, 20 Aug 2015 14:52:54 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7KEqsWX078204 for ; Thu, 20 Aug 2015 14:52:54 GMT (envelope-from iateaca@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7KEqra9078187 for svn-soc-all@FreeBSD.org; Thu, 20 Aug 2015 14:52:53 GMT (envelope-from iateaca@FreeBSD.org) Date: Thu, 20 Aug 2015 14:52:53 GMT Message-Id: <201508201452.t7KEqra9078187@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to iateaca@FreeBSD.org using -f From: iateaca@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289968 - soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2015 14:52:54 -0000 Author: iateaca Date: Thu Aug 20 14:52:53 2015 New Revision: 289968 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289968 Log: redesign: add locked wrappers for the read/write register functions Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c ============================================================================== --- soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Thu Aug 20 13:37:08 2015 (r289967) +++ soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Thu Aug 20 14:52:53 2015 (r289968) @@ -114,6 +114,16 @@ static int ne2000_write_asic(struct ne2000_softc *sc, uint8_t offset, uint16_t value); +static uint8_t +ne2000_read_nic_locked(struct ne2000_softc *sc, uint8_t offset); +static uint16_t +ne2000_read_asic_locked(struct ne2000_softc *sc, uint8_t offset); + +static int +ne2000_write_nic_locked(struct ne2000_softc *sc, uint8_t offset, uint8_t value); +static int +ne2000_write_asic_locked(struct ne2000_softc *sc, uint8_t offset, uint16_t value); + static int ne2000_emul_reg_cr(struct ne2000_softc *sc, uint8_t value); static int @@ -570,7 +580,7 @@ } static int -ne2000_write_nic(struct ne2000_softc *sc, uint8_t offset, uint8_t value) +ne2000_write_nic_locked(struct ne2000_softc *sc, uint8_t offset, uint8_t value) { int err; @@ -596,7 +606,7 @@ } static int -ne2000_write_asic(struct ne2000_softc *sc, uint8_t offset, uint16_t value) +ne2000_write_asic_locked(struct ne2000_softc *sc, uint8_t offset, uint16_t value) { uint8_t dcr = 0; uint8_t rbcr0 = 0; @@ -900,6 +910,74 @@ { int err; uint8_t value = 0; + + err = pthread_mutex_lock(&sc->mtx); + assert(err == 0); + + value = ne2000_read_nic_locked(sc, offset); + + err = pthread_mutex_unlock(&sc->mtx); + assert(err == 0); + + return value; +} + +static uint16_t +ne2000_read_asic(struct ne2000_softc *sc, uint8_t offset) +{ + int err; + uint16_t value = 0; + + err = pthread_mutex_lock(&sc->mtx); + assert(err == 0); + + value = ne2000_read_asic_locked(sc, offset); + + err = pthread_mutex_unlock(&sc->mtx); + assert(err == 0); + + return value; +} + +static int +ne2000_write_nic(struct ne2000_softc *sc, uint8_t offset, uint8_t value) +{ + int err; + int rc = -1; + + err = pthread_mutex_lock(&sc->mtx); + assert(err == 0); + + rc = ne2000_write_nic_locked(sc, offset, value); + + err = pthread_mutex_unlock(&sc->mtx); + assert(err == 0); + + return rc; +} + +static int +ne2000_write_asic(struct ne2000_softc *sc, uint8_t offset, uint16_t value) +{ + int err; + int rc = -1; + + err = pthread_mutex_lock(&sc->mtx); + assert(err == 0); + + rc = ne2000_write_asic_locked(sc, offset, value); + + err = pthread_mutex_unlock(&sc->mtx); + assert(err == 0); + + return rc; +} + +static uint8_t +ne2000_read_nic_locked(struct ne2000_softc *sc, uint8_t offset) +{ + int err; + uint8_t value = 0; uint8_t cr = 0; /* @@ -956,7 +1034,7 @@ } static uint16_t -ne2000_read_asic(struct ne2000_softc *sc, uint8_t offset) +ne2000_read_asic_locked(struct ne2000_softc *sc, uint8_t offset) { int err; uint8_t dcr = 0; @@ -1073,9 +1151,6 @@ assert(sc != NULL); assert(offset <= 0x0f); - err = pthread_mutex_lock(&sc->mtx); - assert(err == 0); - switch (baridx) { case NE2000_BAR_NIC: assert(size == 1); @@ -1092,9 +1167,6 @@ assert(err == 0); - err = pthread_mutex_unlock(&sc->mtx); - assert(err == 0); - return; } @@ -1104,14 +1176,10 @@ { struct ne2000_softc *sc = pi->pi_arg; uint64_t value = 0; - int err; assert(sc != NULL); assert(offset <= 0x0f); - err = pthread_mutex_lock(&sc->mtx); - assert(err == 0); - switch (baridx) { case NE2000_BAR_NIC: assert(size == 1); @@ -1125,9 +1193,6 @@ assert(0); } - err = pthread_mutex_unlock(&sc->mtx); - assert(err == 0); - return value; } From owner-svn-soc-all@freebsd.org Thu Aug 20 14:55:02 2015 Return-Path: Delivered-To: svn-soc-all@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 371EE9BF8B0 for ; Thu, 20 Aug 2015 14:55:02 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 275681C88 for ; Thu, 20 Aug 2015 14:55:02 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7KEt2hm080661 for ; Thu, 20 Aug 2015 14:55:02 GMT (envelope-from kczekirda@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7KEt1Q8080635 for svn-soc-all@FreeBSD.org; Thu, 20 Aug 2015 14:55:01 GMT (envelope-from kczekirda@FreeBSD.org) Date: Thu, 20 Aug 2015 14:55:01 GMT Message-Id: <201508201455.t7KEt1Q8080635@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to kczekirda@FreeBSD.org using -f From: kczekirda@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289969 - in soc2015/kczekirda/www: . tpl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2015 14:55:02 -0000 Author: kczekirda Date: Thu Aug 20 14:55:00 2015 New Revision: 289969 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289969 Log: add node status, change changing task status from mac to hostname Modified: soc2015/kczekirda/www/menu.py soc2015/kczekirda/www/tpl/main.tpl Modified: soc2015/kczekirda/www/menu.py ============================================================================== --- soc2015/kczekirda/www/menu.py Thu Aug 20 14:52:53 2015 (r289968) +++ soc2015/kczekirda/www/menu.py Thu Aug 20 14:55:00 2015 (r289969) @@ -34,7 +34,7 @@ return output else: conn = sqlite3.connect(database) - conn.execute("CREATE TABLE nodes (id INTEGER PRIMARY KEY, host char(254) NOT NULL, mac char(20) NOT NULL, ip char(20) NOT NULL, boot char(50) NOT NULL)") + conn.execute("CREATE TABLE nodes (id INTEGER PRIMARY KEY, host char(254) NOT NULL, mac char(20) NOT NULL, ip char(20) NOT NULL, boot char(50) NOT NULL, status char(50))") conn.execute("CREATE TABLE tasks (id INTEGER PRIMARY KEY, revision char(20) NOT NULL, host char(254), status char(20))") conn.commit() return redirect('/admin') @@ -69,11 +69,11 @@ current_data = c.fetchone() return template(edit_node_tpl,old=current_data,id=id) -@route('/admin/change_boot/:mac/:new', method='GET') -def change_boot(mac,new): +@route('/admin/change_boot/:host/:new', method='GET') +def change_boot(host,new): conn = sqlite3.connect(database) c = conn.cursor() - c.execute("UPDATE nodes SET boot = ? WHERE mac LIKE ?", (new,mac)) + c.execute("UPDATE nodes SET boot = ? WHERE host LIKE ?", (new,host)) conn.commit() return redirect('/admin') @@ -84,9 +84,10 @@ mac = request.GET.get('mac','').strip() ip = request.GET.get('ip','').strip() boot = request.GET.get('boot','').strip() + status = "?" conn = sqlite3.connect(database) c = conn.cursor() - c.execute("INSERT INTO nodes (host, mac, ip, boot) VALUES (?,?,?,?)", (host,mac,ip,boot)) + c.execute("INSERT INTO nodes (host, mac, ip, boot, status) VALUES (?,?,?,?,?)", (host,mac,ip,boot,status)) conn.commit() c.close() return redirect('/admin') @@ -117,14 +118,22 @@ else: return template(delete_task_tpl,revision=revision) -@route('/admin/change_status/:revision/:new_status', method='GET') -def change_status(revision,new_status): +@route('/admin/change_task_status/:revision/:new_status', method='GET') +def change_task_status(revision,new_status): conn = sqlite3.connect(database) c = conn.cursor() c.execute("UPDATE tasks SET status = ? WHERE revision LIKE ?", (new_status,revision)) conn.commit() return redirect('/admin') +@route('/admin/change_node_status/:hostname/:new_status', method='GET') +def change_node_status(hostname,new_status): + conn = sqlite3.connect(database) + c = conn.cursor() + c.execute("UPDATE nodes SET status = ? WHERE host LIKE ?", (new_status,hostname)) + conn.commit() + return redirect('/admin') + @route('/admin/take_task/:revision/:host', method='GET') def take_task(revision,host): conn = sqlite3.connect(database) Modified: soc2015/kczekirda/www/tpl/main.tpl ============================================================================== --- soc2015/kczekirda/www/tpl/main.tpl Thu Aug 20 14:52:53 2015 (r289968) +++ soc2015/kczekirda/www/tpl/main.tpl Thu Aug 20 14:55:00 2015 (r289969) @@ -5,19 +5,21 @@
- + %for row in rows_nodes: %id = row[0] %host = row[1] %mac = row[2] %ip = row[3] %boot = row[4] + %status = row[5] + From owner-svn-soc-all@freebsd.org Thu Aug 20 17:24:16 2015 Return-Path: Delivered-To: svn-soc-all@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 9B1569BF415 for ; Thu, 20 Aug 2015 17:24:16 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 81A391B15 for ; Thu, 20 Aug 2015 17:24:16 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7KHOGca070489 for ; Thu, 20 Aug 2015 17:24:16 GMT (envelope-from iateaca@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7KHOF65070468 for svn-soc-all@FreeBSD.org; Thu, 20 Aug 2015 17:24:15 GMT (envelope-from iateaca@FreeBSD.org) Date: Thu, 20 Aug 2015 17:24:15 GMT Message-Id: <201508201724.t7KHOF65070468@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to iateaca@FreeBSD.org using -f From: iateaca@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289975 - soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2015 17:24:16 -0000 Author: iateaca Date: Thu Aug 20 17:24:15 2015 New Revision: 289975 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289975 Log: redesign: implement the ne2000_update_intr function with generic handlers for both PCI and LPC Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c ============================================================================== --- soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Thu Aug 20 16:07:51 2015 (r289974) +++ soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Thu Aug 20 17:24:15 2015 (r289975) @@ -58,18 +58,12 @@ #define ETHER_MAX_FRAME_LEN (ETHER_MAX_LEN - ETHER_CRC_LEN) #define ETHER_MIN_FRAME_LEN (ETHER_MIN_LEN - ETHER_CRC_LEN) +typedef void (*ne2000_intr_func_t)(void *arg); + /* * NE2000 data structures */ struct ne2000_softc { - struct pci_devinst *pci_inst; - - /* - * one single mutex used to lock the reception flow with - * the .pe_barwrite and .pe_barwrite flows - */ - pthread_mutex_t mtx; - /* NIC registers */ uint8_t nic_regs[NE2000_PAGE_COUNT][NE2000_PAGE_SIZE]; @@ -86,6 +80,19 @@ /* NIC memory is 16k */ uint8_t ram[NE2000_MEM_SIZE]; uint8_t rcv_buf[ETHER_MAX_FRAME_LEN]; + + /* + * one single mutex used to lock the reception flow with + * the .pe_barwrite and .pe_barwrite flows + */ + pthread_mutex_t mtx; + + /* Interrupts callbacks (PCI or LPC) */ + ne2000_intr_func_t intr_assert; + ne2000_intr_func_t intr_deassert; + + /* The argument used by the interrupts callbacks */ + void *intr_arg; }; /* @@ -101,8 +108,12 @@ ne2000_set_field_by_offset(struct ne2000_softc *sc, uint8_t page, uint8_t offset, uint8_t mask, uint8_t value); -static int -ne2000_init(struct ne2000_softc *sc, char *opts); +static struct ne2000_softc * +ne2000_init(ne2000_intr_func_t intr_assert, ne2000_intr_func_t intr_deassert, + void *intr_arg, char *opts); + +static void +ne2000_update_intr(struct ne2000_softc *sc); static uint8_t ne2000_read_nic(struct ne2000_softc *sc, uint8_t offset); @@ -171,6 +182,11 @@ pci_ne2000_read(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, int baridx, uint64_t offset, int size); +static void +pci_ne2000_intr_assert(void *arg); +static void +pci_ne2000_intr_deassert(void *arg); + /* * NE2000 module function definitions */ @@ -208,28 +224,6 @@ ne2000_set_reg_by_offset(sc, page, offset, reg_value); } -static void -pci_ne2000_update_intr(struct ne2000_softc *sc) -{ - uint8_t isr = 0; - uint8_t imr = 0; - - isr = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_ISR); - imr = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_IMR); - - if (imr & isr) { - if (!sc->lintr) { - pci_lintr_assert(sc->pci_inst); - sc->lintr = 1; - } - } else { - if (sc->lintr) { - pci_lintr_deassert(sc->pci_inst); - sc->lintr = 0; - } - } -} - static int ne2000_tap_init(struct ne2000_softc *sc, char *tap_name) { @@ -266,7 +260,7 @@ ne2000_set_field_by_offset(sc, NE2000_P0, ED_P0_ISR, ED_ISR_PTX, ED_ISR_PTX); - pci_ne2000_update_intr(sc); + ne2000_update_intr(sc); return 0; } @@ -358,7 +352,7 @@ ne2000_set_field_by_offset(sc, NE2000_P0, ED_P0_ISR, ED_ISR_PRX, ED_ISR_PRX); - pci_ne2000_update_intr(sc); + ne2000_update_intr(sc); return 0; } @@ -803,7 +797,7 @@ case ED_P0_ISR: DPRINTF("ISR Register: %d", value); ne2000_set_field_by_offset(sc, NE2000_P0, ED_P0_ISR, value, 0); - pci_ne2000_update_intr(sc); + ne2000_update_intr(sc); break; case ED_P0_RCR: DPRINTF("RCR Register: %d", value); @@ -863,23 +857,36 @@ return 0; } -static int -ne2000_init(struct ne2000_softc *sc, char *opts) +static struct ne2000_softc * +ne2000_init(ne2000_intr_func_t intr_assert, ne2000_intr_func_t intr_deassert, + void *intr_arg, char *opts) { + struct ne2000_softc *sc = NULL; + /* the default mac address is 00:a0:98:4a:0e:ee */ uint8_t mac[ETHER_ADDR_LEN] = {0x00, 0xa0, 0x98, 0x4a, 0x0e, 0xee}; char tap_name[MAX_INPUT_LEN]; int err; + assert(intr_assert); + assert(intr_deassert); + assert(intr_arg); + #if DEBUG_NE2000 == 1 dbg = fopen("/tmp/bhyve_ne2000.log", "w+"); #endif + sc = calloc(1, sizeof(struct ne2000_softc)); + + sc->intr_assert = intr_assert; + sc->intr_deassert = intr_deassert; + sc->intr_arg = intr_arg; + err = ne2000_parse_input(opts, tap_name, mac); if (err != 0) { printf("Use input param like: -s x:y,ne2000-net,tap_name[,mac address]"); free(sc); - return -1; + return NULL; } err = pthread_mutex_init(&sc->mtx, NULL); @@ -902,7 +909,29 @@ sc->ram[8] = mac[4]; sc->ram[10] = mac[5]; - return 0; + return sc; +} + +static void +ne2000_update_intr(struct ne2000_softc *sc) +{ + uint8_t isr = 0; + uint8_t imr = 0; + + isr = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_ISR); + imr = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_IMR); + + if (imr & isr) { + if (!sc->lintr) { + sc->intr_assert(sc->intr_arg); + sc->lintr = 1; + } + } else { + if (sc->lintr) { + sc->intr_deassert(sc->intr_arg); + sc->lintr = 0; + } + } } static uint8_t @@ -1117,16 +1146,6 @@ assert(ctx != NULL); assert(pi != NULL); - sc = calloc(1, sizeof(struct ne2000_softc)); - - /* initialize the ne2000 data structure */ - if (ne2000_init(sc, opts) != 0) - return 1; - - /* save the pci instance into the ne2000 structure */ - sc->pci_inst = pi; - pi->pi_arg = sc; - /* probe a RTL8029 PCI card as a generic NE2000 device */ pci_set_cfgdata16(pi, PCIR_DEVICE, 0x8029); pci_set_cfgdata16(pi, PCIR_VENDOR, 0x10ec); @@ -1138,6 +1157,13 @@ /* allocate an IRQ pin for our slot */ pci_lintr_request(pi); + /* initialize the ne2000 data structure */ + sc = ne2000_init(pci_ne2000_intr_assert, pci_ne2000_intr_deassert, pi, opts); + if (sc == NULL) + return 1; + + pi->pi_arg = sc; + return 0; } @@ -1196,6 +1222,26 @@ return value; } +static void +pci_ne2000_intr_assert(void *arg) +{ + struct pci_devinst *pi = (struct pci_devinst *)arg; + + pci_lintr_assert(pi); + + return; +} + +static void +pci_ne2000_intr_deassert(void *arg) +{ + struct pci_devinst *pi = (struct pci_devinst *)arg; + + pci_lintr_deassert(pi); + + return; +} + struct pci_devemu pci_de_ne2000_net = { .pe_emu = "ne2000-net", .pe_init = pci_ne2000_init, From owner-svn-soc-all@freebsd.org Thu Aug 20 18:27:27 2015 Return-Path: Delivered-To: svn-soc-all@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 147A49BFEA6 for ; Thu, 20 Aug 2015 18:27:27 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 0484A339 for ; Thu, 20 Aug 2015 18:27:27 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7KIRQpd026482 for ; Thu, 20 Aug 2015 18:27:26 GMT (envelope-from kczekirda@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7KIRQFG026476 for svn-soc-all@FreeBSD.org; Thu, 20 Aug 2015 18:27:26 GMT (envelope-from kczekirda@FreeBSD.org) Date: Thu, 20 Aug 2015 18:27:26 GMT Message-Id: <201508201827.t7KIRQFG026476@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to kczekirda@FreeBSD.org using -f From: kczekirda@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289976 - soc2015/kczekirda/www MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2015 18:27:27 -0000 Author: kczekirda Date: Thu Aug 20 18:27:25 2015 New Revision: 289976 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289976 Log: take task Modified: soc2015/kczekirda/www/menu.py Modified: soc2015/kczekirda/www/menu.py ============================================================================== --- soc2015/kczekirda/www/menu.py Thu Aug 20 17:24:15 2015 (r289975) +++ soc2015/kczekirda/www/menu.py Thu Aug 20 18:27:25 2015 (r289976) @@ -134,13 +134,19 @@ conn.commit() return redirect('/admin') -@route('/admin/take_task/:revision/:host', method='GET') -def take_task(revision,host): +@route('/admin/take_task/:mac', method='GET') +def take_task(mac): conn = sqlite3.connect(database) c = conn.cursor() + c.execute("SELECT host from nodes WHERE mac LIKE '%s'" %mac) + result = c.fetchone() + host = result[0] + c.execute("SELECT revision from tasks WHERE status LIKE 'new' ORDER by ID LIMIT 1") + result = c.fetchone() + revision = result[0] c.execute("UPDATE tasks SET host = ? WHERE revision LIKE ?", (host,revision)) conn.commit() - return redirect('/admin') + return redirect('/static/wait.ipxe') @route('/menu/:mac', method='GET') def static(mac): From owner-svn-soc-all@freebsd.org Thu Aug 20 18:28:20 2015 Return-Path: Delivered-To: svn-soc-all@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 B97B39BFEE6 for ; Thu, 20 Aug 2015 18:28:20 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 AA360614 for ; Thu, 20 Aug 2015 18:28:20 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7KISKLh027581 for ; Thu, 20 Aug 2015 18:28:20 GMT (envelope-from kczekirda@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7KISJlg027571 for svn-soc-all@FreeBSD.org; Thu, 20 Aug 2015 18:28:19 GMT (envelope-from kczekirda@FreeBSD.org) Date: Thu, 20 Aug 2015 18:28:19 GMT Message-Id: <201508201828.t7KISJlg027571@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to kczekirda@FreeBSD.org using -f From: kczekirda@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289977 - soc2015/kczekirda/www/static MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2015 18:28:20 -0000 Author: kczekirda Date: Thu Aug 20 18:28:19 2015 New Revision: 289977 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289977 Log: take task ipxe scripts Added: soc2015/kczekirda/www/static/take_task.ipxe soc2015/kczekirda/www/static/wait.ipxe Added: soc2015/kczekirda/www/static/take_task.ipxe ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/kczekirda/www/static/take_task.ipxe Thu Aug 20 18:28:19 2015 (r289977) @@ -0,0 +1,7 @@ +#!ipxe + +set www 192.168.22.3 +set port 8080 + +chain http://${www}:${port}/admin/take_task/${net0/mac} + Added: soc2015/kczekirda/www/static/wait.ipxe ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/kczekirda/www/static/wait.ipxe Thu Aug 20 18:28:19 2015 (r289977) @@ -0,0 +1,14 @@ +#!ipxe +set www 192.168.22.3 +set port 8080 +set timeout 30000 + +:menu +menu Creating environment, please wait... +item next Please wait... +choose --timeout ${timeout} selected +goto ${selected} + +:next +chain http://${www}:${port}/menu/${net0/mac} + From owner-svn-soc-all@freebsd.org Thu Aug 20 19:17:46 2015 Return-Path: Delivered-To: svn-soc-all@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 037909BF619 for ; Thu, 20 Aug 2015 19:17:46 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 E71A21D5E for ; Thu, 20 Aug 2015 19:17:45 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7KJHjGJ043918 for ; Thu, 20 Aug 2015 19:17:45 GMT (envelope-from iateaca@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7KJHjMa043916 for svn-soc-all@FreeBSD.org; Thu, 20 Aug 2015 19:17:45 GMT (envelope-from iateaca@FreeBSD.org) Date: Thu, 20 Aug 2015 19:17:45 GMT Message-Id: <201508201917.t7KJHjMa043916@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to iateaca@FreeBSD.org using -f From: iateaca@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289980 - soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2015 19:17:46 -0000 Author: iateaca Date: Thu Aug 20 19:17:44 2015 New Revision: 289980 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289980 Log: redesign: use 1 BAR register instead of 2 Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c ============================================================================== --- soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Thu Aug 20 18:31:05 2015 (r289979) +++ soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Thu Aug 20 19:17:44 2015 (r289980) @@ -83,7 +83,7 @@ /* * one single mutex used to lock the reception flow with - * the .pe_barwrite and .pe_barwrite flows + * the read and write register flows */ pthread_mutex_t mtx; @@ -115,12 +115,16 @@ static void ne2000_update_intr(struct ne2000_softc *sc); +static uint16_t +ne2000_read(struct ne2000_softc *sc, uint8_t offset, int size); static uint8_t ne2000_read_nic(struct ne2000_softc *sc, uint8_t offset); static uint16_t ne2000_read_asic(struct ne2000_softc *sc, uint8_t offset); static int +ne2000_write(struct ne2000_softc *sc, uint8_t offset, uint16_t value, int size); +static int ne2000_write_nic(struct ne2000_softc *sc, uint8_t offset, uint8_t value); static int ne2000_write_asic(struct ne2000_softc *sc, uint8_t offset, uint16_t value); @@ -934,6 +938,25 @@ } } +static uint16_t +ne2000_read(struct ne2000_softc *sc, uint8_t offset, int size) +{ + uint16_t value = 0; + + assert(offset < ED_NOVELL_IO_PORTS); + + if (offset < ED_NOVELL_ASIC_OFFSET) { + assert(size == 1); + value = ne2000_read_nic(sc, offset); + } + else { + assert(size <= 2); + value = ne2000_read_asic(sc, offset - ED_NOVELL_ASIC_OFFSET); + } + + return value; +} + static uint8_t ne2000_read_nic(struct ne2000_softc *sc, uint8_t offset) { @@ -969,6 +992,25 @@ } static int +ne2000_write(struct ne2000_softc *sc, uint8_t offset, uint16_t value, int size) +{ + int err; + + assert(offset < ED_NOVELL_IO_PORTS); + + if (offset < ED_NOVELL_ASIC_OFFSET) { + assert(size == 1); + err = ne2000_write_nic(sc, offset, value); + } + else { + assert(size <= 2); + err = ne2000_write_asic(sc, offset - ED_NOVELL_ASIC_OFFSET, value); + } + + return err; +} + +static int ne2000_write_nic(struct ne2000_softc *sc, uint8_t offset, uint8_t value) { int err; @@ -1150,9 +1192,8 @@ pci_set_cfgdata16(pi, PCIR_DEVICE, 0x8029); pci_set_cfgdata16(pi, PCIR_VENDOR, 0x10ec); - /* allocate two BAR registers for both NIC and ASIC I/O bus address offsets */ - pci_emul_alloc_bar(pi, 0, PCIBAR_IO, 16); - pci_emul_alloc_bar(pi, 1, PCIBAR_IO, 16); + /* allocate one BAR register for both NIC and ASIC I/O bus address offsets */ + pci_emul_alloc_bar(pi, 0, PCIBAR_IO, ED_NOVELL_IO_PORTS); /* allocate an IRQ pin for our slot */ pci_lintr_request(pi); @@ -1175,22 +1216,8 @@ int err; assert(sc != NULL); - assert(offset <= 0x0f); - - switch (baridx) { - case NE2000_BAR_NIC: - assert(size == 1); - assert(value <= 0xff); - err = ne2000_write_nic(sc, offset, value); - break; - case NE2000_BAR_ASIC: - assert(size <= 2); - err = ne2000_write_asic(sc, offset, value); - break; - default: - assert(0); - } + err = ne2000_write(sc, offset, value, size); assert(err == 0); return; @@ -1204,20 +1231,8 @@ uint64_t value = 0; assert(sc != NULL); - assert(offset <= 0x0f); - switch (baridx) { - case NE2000_BAR_NIC: - assert(size == 1); - value = ne2000_read_nic(sc, offset); - break; - case NE2000_BAR_ASIC: - assert(size <= 2); - value = ne2000_read_asic(sc, offset); - break; - default: - assert(0); - } + value = ne2000_read(sc, offset, size); return value; } From owner-svn-soc-all@freebsd.org Thu Aug 20 20:00:52 2015 Return-Path: Delivered-To: svn-soc-all@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 BF2DE9BFC1C for ; Thu, 20 Aug 2015 20:00:52 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 AF9161372 for ; Thu, 20 Aug 2015 20:00:52 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7KK0qae021930 for ; Thu, 20 Aug 2015 20:00:52 GMT (envelope-from iateaca@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7KK0q62021670 for svn-soc-all@FreeBSD.org; Thu, 20 Aug 2015 20:00:52 GMT (envelope-from iateaca@FreeBSD.org) Date: Thu, 20 Aug 2015 20:00:52 GMT Message-Id: <201508202000.t7KK0q62021670@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to iateaca@FreeBSD.org using -f From: iateaca@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289983 - soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2015 20:00:52 -0000 Author: iateaca Date: Thu Aug 20 20:00:51 2015 New Revision: 289983 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289983 Log: redesign: dismiss one layer of wrappers for read/write registers Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c ============================================================================== --- soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Thu Aug 20 19:39:15 2015 (r289982) +++ soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Thu Aug 20 20:00:51 2015 (r289983) @@ -117,17 +117,8 @@ static uint16_t ne2000_read(struct ne2000_softc *sc, uint8_t offset, int size); -static uint8_t -ne2000_read_nic(struct ne2000_softc *sc, uint8_t offset); -static uint16_t -ne2000_read_asic(struct ne2000_softc *sc, uint8_t offset); - static int ne2000_write(struct ne2000_softc *sc, uint8_t offset, uint16_t value, int size); -static int -ne2000_write_nic(struct ne2000_softc *sc, uint8_t offset, uint8_t value); -static int -ne2000_write_asic(struct ne2000_softc *sc, uint8_t offset, uint16_t value); static uint8_t ne2000_read_nic_locked(struct ne2000_softc *sc, uint8_t offset); @@ -941,50 +932,23 @@ static uint16_t ne2000_read(struct ne2000_softc *sc, uint8_t offset, int size) { + int err; uint16_t value = 0; assert(offset < ED_NOVELL_IO_PORTS); + err = pthread_mutex_lock(&sc->mtx); + assert(err == 0); + if (offset < ED_NOVELL_ASIC_OFFSET) { assert(size == 1); - value = ne2000_read_nic(sc, offset); + value = ne2000_read_nic_locked(sc, offset); } else { assert(size <= 2); - value = ne2000_read_asic(sc, offset - ED_NOVELL_ASIC_OFFSET); + value = ne2000_read_asic_locked(sc, offset - ED_NOVELL_ASIC_OFFSET); } - return value; -} - -static uint8_t -ne2000_read_nic(struct ne2000_softc *sc, uint8_t offset) -{ - int err; - uint8_t value = 0; - - err = pthread_mutex_lock(&sc->mtx); - assert(err == 0); - - value = ne2000_read_nic_locked(sc, offset); - - err = pthread_mutex_unlock(&sc->mtx); - assert(err == 0); - - return value; -} - -static uint16_t -ne2000_read_asic(struct ne2000_softc *sc, uint8_t offset) -{ - int err; - uint16_t value = 0; - - err = pthread_mutex_lock(&sc->mtx); - assert(err == 0); - - value = ne2000_read_asic_locked(sc, offset); - err = pthread_mutex_unlock(&sc->mtx); assert(err == 0); @@ -998,50 +962,24 @@ assert(offset < ED_NOVELL_IO_PORTS); + err = pthread_mutex_lock(&sc->mtx); + assert(err == 0); + if (offset < ED_NOVELL_ASIC_OFFSET) { assert(size == 1); - err = ne2000_write_nic(sc, offset, value); + err = ne2000_write_nic_locked(sc, offset, value); } else { assert(size <= 2); - err = ne2000_write_asic(sc, offset - ED_NOVELL_ASIC_OFFSET, value); + err = ne2000_write_asic_locked(sc, offset - ED_NOVELL_ASIC_OFFSET, value); } - return err; -} - -static int -ne2000_write_nic(struct ne2000_softc *sc, uint8_t offset, uint8_t value) -{ - int err; - int rc = -1; - - err = pthread_mutex_lock(&sc->mtx); - assert(err == 0); - - rc = ne2000_write_nic_locked(sc, offset, value); - - err = pthread_mutex_unlock(&sc->mtx); assert(err == 0); - return rc; -} - -static int -ne2000_write_asic(struct ne2000_softc *sc, uint8_t offset, uint16_t value) -{ - int err; - int rc = -1; - - err = pthread_mutex_lock(&sc->mtx); - assert(err == 0); - - rc = ne2000_write_asic_locked(sc, offset, value); - err = pthread_mutex_unlock(&sc->mtx); assert(err == 0); - return rc; + return 0; } static uint8_t From owner-svn-soc-all@freebsd.org Thu Aug 20 20:11:17 2015 Return-Path: Delivered-To: svn-soc-all@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 98CB19BFED3 for ; Thu, 20 Aug 2015 20:11:17 +0000 (UTC) (envelope-from pratiksinghal@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 88FAA1A5D for ; Thu, 20 Aug 2015 20:11:17 +0000 (UTC) (envelope-from pratiksinghal@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7KKBHm2059533 for ; Thu, 20 Aug 2015 20:11:17 GMT (envelope-from pratiksinghal@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7KKBGic059515 for svn-soc-all@FreeBSD.org; Thu, 20 Aug 2015 20:11:16 GMT (envelope-from pratiksinghal@FreeBSD.org) Date: Thu, 20 Aug 2015 20:11:16 GMT Message-Id: <201508202011.t7KKBGic059515@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to pratiksinghal@FreeBSD.org using -f From: pratiksinghal@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289984 - in soc2015/pratiksinghal/cubie-head/sys/arm: allwinner conf MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2015 20:11:17 -0000 Author: pratiksinghal Date: Thu Aug 20 20:11:15 2015 New Revision: 289984 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289984 Log: NDMA API now working, made changes to header file Modified: soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_dma.c soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_dma.h soc2015/pratiksinghal/cubie-head/sys/arm/conf/CUBIEBOARD Modified: soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_dma.c ============================================================================== --- soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_dma.c Thu Aug 20 20:00:51 2015 (r289983) +++ soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_dma.c Thu Aug 20 20:11:15 2015 (r289984) @@ -42,44 +42,8 @@ #include "a10_dma.h" -enum a10_dma_channel_type { - NDMA, - DDMA -} ; - -struct a10_dma_channel { - enum a10_dma_channel_type ch_type; - uint32_t ch_index; - void (*ch_a10_dma_intr_handle) (void *); - void * ch_a10_dma_intr_args; - bus_size_t ch_offset; -}; - -struct a10_dma_softc { - device_t a10_dma_dev; - bus_space_tag_t a10_dma_bst; - bus_space_handle_t a10_dma_bsh; - struct resource * a10_dma_memory_resource; - struct resource * a10_dma_irq_resource; - void* a10_dma_intrhand; - int a10_dma_mem_rid; - int a10_dma_irq_rid; - struct mtx a10_dma_mtx; - struct a10_dma_channel a10_ndma_channels[NNDMA]; - struct a10_dma_channel a10_ddma_channels[NDDMA]; -} ; static struct a10_dma_softc *sc; -static int a10_dma_probe(device_t); -static int a10_dma_attach(device_t); -static int a10_dma_detach(device_t); -static void a10_dma_intr(void *); -static struct a10_dma_channel * a10_dma_alloc_channel(uint32_t, void (*) (void *), void *); -static int a10_dma_start_transfer(struct a10_dma_channel *, bus_addr_t, bus_addr_t, bus_size_t); -static void a10_dma_free_channel(struct a10_dma_channel *); -static void a10_dma_set_config(struct a10_dma_channel *, uint32_t); -static uint32_t a10_dma_get_config(struct a10_dma_channel *); -static void a10_dma_halt(struct a10_dma_channel *); #define A10_DMA_LOCK(_sc) mtx_lock(&(_sc)->a10_dma_mtx) #define A10_DMA_UNLOCK(_sc) mtx_unlock(&(_sc)->a10_dma_mtx) @@ -93,7 +57,7 @@ A10_DMA_WRITE_4(sc, (_reg) + (_sc)->ch_offset, _value) -static int +int a10_dma_probe(device_t dev) { if (!ofw_bus_status_okay(dev)) @@ -105,7 +69,7 @@ return (BUS_PROBE_DEFAULT) ; } -static int +int a10_dma_attach(device_t dev) { uint32_t ind; @@ -160,13 +124,13 @@ return (ENXIO); } -static int +int a10_dma_detach(device_t dev) { return (EBUSY); } -static void +void a10_dma_intr(void *arg) { uint32_t status,bit,index; @@ -202,7 +166,7 @@ } -static struct a10_dma_channel * +struct a10_dma_channel * a10_dma_alloc_channel(uint32_t type, void (*intr) (void *), void *args) { struct a10_dma_channel *list; @@ -238,23 +202,23 @@ return &list[index]; } -static int +int a10_dma_start_transfer(struct a10_dma_channel *channel, bus_addr_t src, bus_addr_t dest, bus_size_t count) { uint32_t config; config = a10_dma_get_config(channel); if (channel->ch_type == NDMA) { - if (config & A10_NDMA_CTRL_DMA_LOADING) + if (config & A10_NDMA_DMA_LOADING) return (EBUSY); A10_DMACH_WRITE_4(channel, A10_NDMA_SRC_ADDR, src); A10_DMACH_WRITE_4(channel, A10_NDMA_DEST_ADDR, dest); A10_DMACH_WRITE_4(channel, A10_NDMA_BC, count); - config |= A10_NDMA_CTRL_DMA_LOADING; + config |= A10_NDMA_DMA_LOADING; } else { - if (config & A10_DDMA_CTRL_DMA_LOADING) + if (config & A10_DDMA_DMA_LOADING) return (EBUSY); A10_DMACH_WRITE_4(channel, A10_DDMA_SRC_START_ADDR, src); A10_DMACH_WRITE_4(channel, A10_DDMA_DEST_START_ADDR, dest); @@ -264,7 +228,7 @@ __SHIFTIN(7, A10_DDMA_PARA_DST_WAIT_CYC) | //__SHIFTIN(31, A10_DDMA_PARA_SRC_DATA_BLK_SIZ) | __SHIFTIN(7, A10_DDMA_PARA_SRC_WAIT_CYC)) ; - config |= A10_DDMA_CTRL_DMA_LOADING; + config |= A10_DDMA_DMA_LOADING; } a10_dma_set_config(channel,config); @@ -272,7 +236,7 @@ } /* Do we have to write to the configuration register as well ? */ -static void +void a10_dma_free_channel(struct a10_dma_channel *channel) { uint32_t irqen, config; @@ -289,18 +253,18 @@ irqen = A10_DMA_READ_4(sc,A10_DMA_IRQ_EN); config = a10_dma_get_config(channel); if (channel->ch_type == NDMA) { - config &= ~(A10_NDMA_CTRL_DMA_LOADING); + config &= ~(A10_NDMA_DMA_LOADING); irqen &= ~(A10_DMA_IRQ_NDMA_END(channel->ch_index)); } else { - config &= ~(A10_DDMA_CTRL_DMA_LOADING); + config &= ~(A10_DDMA_DMA_LOADING); irqen &= ~(A10_DMA_IRQ_DDMA_END(channel->ch_index)); } A10_DMA_WRITE_4(sc, A10_DMA_IRQ_EN, irqen); a10_dma_set_config(channel, config); } -static void +void a10_dma_set_config(struct a10_dma_channel *channel, uint32_t config) { if (channel->ch_type == NDMA) @@ -309,7 +273,7 @@ A10_DMACH_WRITE_4(channel, A10_DDMA_CTRL, config); } -static uint32_t +uint32_t a10_dma_get_config(struct a10_dma_channel *channel) { if (channel->ch_type == NDMA) @@ -318,14 +282,14 @@ return (A10_DMACH_READ_4(channel, A10_DDMA_CTRL)); } -static void +void a10_dma_halt_transfer(struct a10_dma_channel *channel) { uint32_t config = a10_dma_get_config(channel); if (channel->ch_type == NDMA) - config &= ~A10_NDMA_CTRL_DMA_LOADING; + config &= ~A10_NDMA_DMA_LOADING; else - config &= ~A10_DDMA_CTRL_DMA_LOADING; + config &= ~A10_DDMA_DMA_LOADING; a10_dma_set_config(channel, config); } Modified: soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_dma.h ============================================================================== --- soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_dma.h Thu Aug 20 20:00:51 2015 (r289983) +++ soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_dma.h Thu Aug 20 20:11:15 2015 (r289984) @@ -36,9 +36,11 @@ /* Module base address. */ #define DMA (0x10C02000) +/* No of DMA channels available */ #define NNDMA 8 #define NDDMA 8 +/* Registers provided by DMA controller */ #define A10_DMA_IRQ_EN 0x0000 #define A10_DMA_IRQ_PEND_STA 0x0004 #define A10_NDMA_AUTO_GATE 0x0008 @@ -47,7 +49,6 @@ #define A10_NDMA_SRC_ADDR 0x0004 #define A10_NDMA_DEST_ADDR 0x0008 #define A10_NDMA_BC 0x000c - #define A10_DDMA(n) (0x300+0x20*(n)) #define A10_DDMA_REG(n) (0x300+0x20*(n)) #define A10_DDMA_CTRL 0x0000 @@ -56,6 +57,7 @@ #define A10_DDMA_BC 0x000c #define A10_DDMA_PARA 0x0018 +/* Interrupt masking values */ #define A10_DMA_IRQ_HF_MASK 0x55555555 #define A10_DMA_IRQ_DDMA __BITS(31,16) #define A10_DMA_IRQ_DDMA_END(n) __BIT(17+2*(n)) @@ -66,92 +68,122 @@ #define A10_NDMA_AUTO_GATING_DIS __BIT(16) -#define A10_DMA_CTRL_DST_DATA_WIDTH __BITS(26,25) -#define A10_DMA_CTRL_DATA_WIDTH_8 0 -#define A10_DMA_CTRL_DATA_WIDTH_16 1 -#define A10_DMA_CTRL_DATA_WIDTH_32 2 -#define A10_DMA_CTRL_DST_BURST_LEN __BITS(24,23) -#define A10_DMA_CTRL_BURST_LEN_1 0 -#define A10_DMA_CTRL_BURST_LEN_4 1 -#define A10_DMA_CTRL_BURST_LEN_8 2 -#define A10_DMA_CTRL_DST_DRQ_TYPE __BITS(20,16) -#define A10_DMA_CTRL_BC_REMAINING __BIT(15) -#define A10_DMA_CTRL_SRC_DATA_WIDTH __BITS(10,9) -#define A10_DMA_CTRL_SRC_BURST_LEN __BITS(8,7) -#define A10_DMA_CTRL_SRC_DRQ_TYPE __BITS(4,0) - -#define A10_NDMA_CTRL_DMA_LOADING __BIT(31) -#define A10_NDMA_CTRL_DMA_CONTIN_MODE __BIT(30) -#define A10_NDMA_CTRL_WAIT_STATE_LOG2 __BITS(29,27) -#define A10_NDMA_CTRL_DST_NON_SECURE __BIT(22) -#define A10_NDMA_CTRL_DST_ADDR_NOINCR __BIT(21) -#define A10_NDMA_CTRL_DRQ_IRO 0 -#define A10_NDMA_CTRL_DRQ_IR1 1 -#define A10_NDMA_CTRL_DRQ_SPDIF 2 -#define A10_NDMA_CTRL_DRQ_IISO 3 -#define A10_NDMA_CTRL_DRQ_IIS1 4 -#define A10_NDMA_CTRL_DRQ_AC97 5 -#define A10_NDMA_CTRL_DRQ_IIS2 6 -#define A10_NDMA_CTRL_DRQ_UARTO 8 -#define A10_NDMA_CTRL_DRQ_UART1 9 -#define A10_NDMA_CTRL_DRQ_UART2 10 -#define A10_NDMA_CTRL_DRQ_UART3 11 -#define A10_NDMA_CTRL_DRQ_UART4 12 -#define A10_NDMA_CTRL_DRQ_UART5 13 -#define A10_NDMA_CTRL_DRQ_UART6 14 -#define A10_NDMA_CTRL_DRQ_UART7 15 -#define A10_NDMA_CTRL_DRQ_DDC 16 -#define A10_NDMA_CTRL_DRQ_USB_EP1 17 -#define A10_NDMA_CTRL_DRQ_CODEC 19 -#define A10_NDMA_CTRL_DRQ_SRAM 21 -#define A10_NDMA_CTRL_DRQ_SDRAM 22 -#define A10_NDMA_CTRL_DRQ_TP_AD 23 -#define A10_NDMA_CTRL_DRQ_SPI0 24 -#define A10_NDMA_CTRL_DRQ_SPI1 25 -#define A10_NDMA_CTRL_DRQ_SPI2 26 -#define A10_NDMA_CTRL_DRQ_SPI3 27 -#define A10_NDMA_CTRL_DRQ_USB_EP2 28 -#define A10_NDMA_CTRL_DRQ_USB_EP3 29 -#define A10_NDMA_CTRL_DRQ_USB_EP4 30 -#define A10_NDMA_CTRL_DRQ_USB_EP5 31 -#define A10_NDMA_CTRL_SRC_NON_SECURE __BIT(6) -#define A10_NDMA_CTRL_SRC_ADDR_NOINCR __BIT(5) - -#define A10_NDMA_BC_COUNT __BITS(17,0) - -#define A10_DDMA_CTRL_DMA_LOADING __BIT(31) -#define A10_DDMA_CTRL_BUSY __BIT(30) -#define A10_DDMA_CTRL_DMA_CONTIN_MODE __BIT(29) -#define A10_DDMA_CTRL_DST_NON_SECURE __BIT(28) -#define A10_DDMA_CTRL_DST_ADDR_MODE __BITS(22,21) -#define A10_DDMA_CTRL_DMA_ADDR_LINEAR 0 -#define A10_DDMA_CTRL_DMA_ADDR_IO 1 -#define A10_DDMA_CTRL_DMA_ADDR_HPAGE 2 -#define A10_DDMA_CTRL_DMA_ADDR_VPAGE 3 -#define A10_DDMA_CTRL_DST_DRQ_TYPE __BITS(20,16) -#define A10_DDMA_CTRL_DRQ_SRAM 0 -#define A10_DDMA_CTRL_DRQ_SDRAM 1 -#define A10_DDMA_CTRL_DRQ_NFC 3 -#define A10_DDMA_CTRL_DRQ_USB0 4 -#define A10_DDMA_CTRL_DRQ_EMAC_TX 6 -#define A10_DDMA_CTRL_DRQ_EMAC_RX 7 -#define A10_DDMA_CTRL_DRQ_SPI1_TX 8 -#define A10_DDMA_CTRL_DRQ_SPI1_RX 9 -#define A10_DDMA_CTRL_DRQ_SS_TX 10 -#define A10_DDMA_CTRL_DRQ_SS_RX 11 -#define A10_DDMA_CTRL_DRQ_TCON0 14 -#define A10_DDMA_CTRL_DRQ_TCON1 15 -#define A10_DDMA_CTRL_DRQ_MS_TX 23 -#define A10_DDMA_CTRL_DRQ_MS_RX 23 -#define A10_DDMA_CTRL_DRQ_HDMI_AUDIO 24 -#define A10_DDMA_CTRL_DRQ_SPI0_TX 26 -#define A10_DDMA_CTRL_DRQ_SPI0_RX 27 -#define A10_DDMA_CTRL_DRQ_SPI2_TX 28 -#define A10_DDMA_CTRL_DRQ_SPI2_RX 29 -#define A10_DDMA_CTRL_DRQ_SPI3_TX 30 -#define A10_DDMA_CTRL_DRQ_SPI3_RX 31 -#define A10_DDMA_CTRL_SRC_NON_SECURE __BIT(12) -#define A10_DDMA_CTRL_SRC_ADDR_MODE __BITS(6,5) +/* Normal DMA connfiguration values */ +#define A10_NDMA_DMA_LOADING __BIT(31) +#define A10_NDMA_DMA_CONTIN_MODE __BIT(30) +#define A10_NDMA_WAIT_STATE(n) (n << 27) +#define A10_NDMA_DST_NON_SECURE __BIT(22) +#define A10_NDMA_DST_ADDR_NOINCR __BIT(21) +#define A10_NDMA_DEST_8 (0 << 25) +#define A10_NDMA_DEST_16 (1 << 25) +#define A10_NDMA_DEST_32 (2 << 25) +#define A10_NDMA_DEST_BST_1 (0 << 23) +#define A10_NDMA_DEST_BST_4 (1 << 23) +#define A10_NDMA_DEST_BST_8 (2 << 23) +#define A10_NDMA_DEST_NON_SEC (1 << 22) +#define A10_NDMA_DEST_ADDR_NCHANGE (1 << 21) +#define A10_NDMA_DEST_IRO (0 << 16) +#define A10_NDMA_DEST_IR1 (1 << 16) +#define A10_NDMA_DEST_SPDIF (2 << 16) +#define A10_NDMA_DEST_IISO (3 << 16) +#define A10_NDMA_DEST_IIS1 (4 << 16) +#define A10_NDMA_DEST_AC97 (5 << 16) +#define A10_NDMA_DEST_IIS2 (6 << 16) +#define A10_NDMA_DEST_UARTO (8 << 16) +#define A10_NDMA_DEST_UART1 (9 << 16) +#define A10_NDMA_DEST_UART2 (10 << 16) +#define A10_NDMA_DEST_UART3 (11 << 16) +#define A10_NDMA_DEST_UART4 (12 << 16) +#define A10_NDMA_DEST_UART5 (13 << 16) +#define A10_NDMA_DEST_UART6 (14 << 16) +#define A10_NDMA_DEST_UART7 (15 << 16) +#define A10_NDMA_DEST_DDC (16 << 16) +#define A10_NDMA_DEST_USB_EP1 (17 << 16) +#define A10_NDMA_DEST_CODEC (19 << 16) +#define A10_NDMA_DEST_SRAM (21 << 16) +#define A10_NDMA_DEST_SDRAM (22 << 16) +#define A10_NDMA_DEST_TP_AD (23 << 16) +#define A10_NDMA_DEST_SPI0 (24 << 16) +#define A10_NDMA_DEST_SPI1 (25 << 16) +#define A10_NDMA_DEST_SPI2 (26 << 16) +#define A10_NDMA_DEST_SPI3 (27 << 16) +#define A10_NDMA_DEST_USB_EP2 (28 << 16) +#define A10_NDMA_DEST_USB_EP3 (29 << 16) +#define A10_NDMA_DEST_USB_EP4 (30 << 16) +#define A10_NDMA_DEST_USB_EP5 (31 << 16) +#define A10_NDMA_BC_REMAIN (1 << 15) +#define A10_NDMA_SRC_8 (0 << 9) +#define A10_NDMA_SRC_16 (1 << 9) +#define A10_NDMA_SRC_32 (2 << 9) +#define A10_NDMA_SRC_BST_1 (0 << 7) +#define A10_NDMA_SRC_BST_4 (1 << 7) +#define A10_NDMA_SRC_BST_8 (2 << 7) +#define A10_NDMA_SRC_NON_SECURE (1 << 6) +#define A10_NDMA_SRC_ADDR_NCHANGE (1 << 5) +#define A10_NDMA_SRC_IRO 0 +#define A10_NDMA_SRC_IR1 1 +#define A10_NDMA_SRC_SPDIF 2 +#define A10_NDMA_SRC_IISO 3 +#define A10_NDMA_SRC_IIS1 4 +#define A10_NDMA_SRC_AC97 5 +#define A10_NDMA_SRC_IIS2 6 +#define A10_NDMA_SRC_UARTO 8 +#define A10_NDMA_SRC_UART1 9 +#define A10_NDMA_SRC_UART2 10 +#define A10_NDMA_SRC_UART3 11 +#define A10_NDMA_SRC_UART4 12 +#define A10_NDMA_SRC_UART5 13 +#define A10_NDMA_SRC_UART6 14 +#define A10_NDMA_SRC_UART7 15 +#define A10_NDMA_SRC_DDC 16 +#define A10_NDMA_SRC_USB_EP1 17 +#define A10_NDMA_SRC_CODEC 19 +#define A10_NDMA_SRC_SRAM 21 +#define A10_NDMA_SRC_SDRAM 22 +#define A10_NDMA_SRC_TP_AD 23 +#define A10_NDMA_SRC_SPI0 24 +#define A10_NDMA_SRC_SPI1 25 +#define A10_NDMA_SRC_SPI2 26 +#define A10_NDMA_SRC_SPI3 27 +#define A10_NDMA_SRC_USB_EP2 28 +#define A10_NDMA_SRC_USB_EP3 29 +#define A10_NDMA_SRC_USB_EP4 30 +#define A10_NDMA_SRC_USB_EP5 31 + + +#define A10_DDMA_DMA_LOADING __BIT(31) +#define A10_DDMA_BUSY __BIT(30) +#define A10_DDMA_DMA_CONTIN_MODE __BIT(29) +#define A10_DDMA_DST_NON_SECURE __BIT(28) +#define A10_DDMA_DST_ADDR_MODE __BITS(22,21) +#define A10_DDMA_DMA_ADDR_LINEAR 0 +#define A10_DDMA_DMA_ADDR_IO 1 +#define A10_DDMA_DMA_ADDR_HPAGE 2 +#define A10_DDMA_DMA_ADDR_VPAGE 3 +#define A10_DDMA_DST_DRQ_TYPE __BITS(20,16) +#define A10_DDMA_DRQ_SRAM 0 +#define A10_DDMA_DRQ_SDRAM 1 +#define A10_DDMA_DRQ_NFC 3 +#define A10_DDMA_DRQ_USB0 4 +#define A10_DDMA_DRQ_EMAC_TX 6 +#define A10_DDMA_DRQ_EMAC_RX 7 +#define A10_DDMA_DRQ_SPI1_TX 8 +#define A10_DDMA_DRQ_SPI1_RX 9 +#define A10_DDMA_DRQ_SS_TX 10 +#define A10_DDMA_DRQ_SS_RX 11 +#define A10_DDMA_DRQ_TCON0 14 +#define A10_DDMA_DRQ_TCON1 15 +#define A10_DDMA_DRQ_MS_TX 23 +#define A10_DDMA_DRQ_MS_RX 23 +#define A10_DDMA_DRQ_HDMI_AUDIO 24 +#define A10_DDMA_DRQ_SPI0_TX 26 +#define A10_DDMA_DRQ_SPI0_RX 27 +#define A10_DDMA_DRQ_SPI2_TX 28 +#define A10_DDMA_DRQ_SPI2_RX 29 +#define A10_DDMA_DRQ_SPI3_TX 30 +#define A10_DDMA_DRQ_SPI3_RX 31 +#define A10_DDMA_SRC_NON_SECURE __BIT(12) +#define A10_DDMA_SRC_ADDR_MODE __BITS(6,5) #define A10_DDMA_BC_COUNT __BITS(13,0) @@ -165,4 +197,42 @@ #define DMA_TYPE_HDMI_AUDIO 0x02 #define DMA_TYPE_OTHER 0x03 -#endif /* _A10_DMA_H */ \ No newline at end of file +enum a10_dma_channel_type { + NDMA, + DDMA +} ; + +struct a10_dma_channel { + enum a10_dma_channel_type ch_type; + uint32_t ch_index; + void (*ch_a10_dma_intr_handle) (void *); + void * ch_a10_dma_intr_args; + bus_size_t ch_offset; +}; + +struct a10_dma_softc { + device_t a10_dma_dev; + bus_space_tag_t a10_dma_bst; + bus_space_handle_t a10_dma_bsh; + struct resource * a10_dma_memory_resource; + struct resource * a10_dma_irq_resource; + void* a10_dma_intrhand; + int a10_dma_mem_rid; + int a10_dma_irq_rid; + struct mtx a10_dma_mtx; + struct a10_dma_channel a10_ndma_channels[NNDMA]; + struct a10_dma_channel a10_ddma_channels[NDDMA]; +} ; + +int a10_dma_probe(device_t); +int a10_dma_attach(device_t); +int a10_dma_detach(device_t); +void a10_dma_intr(void *); +struct a10_dma_channel * a10_dma_alloc_channel(uint32_t, void (*) (void *), void *); +int a10_dma_start_transfer(struct a10_dma_channel *, bus_addr_t, bus_addr_t, bus_size_t); +void a10_dma_free_channel(struct a10_dma_channel *); +void a10_dma_set_config(struct a10_dma_channel *, uint32_t); +uint32_t a10_dma_get_config(struct a10_dma_channel *); +void a10_dma_halt_transfer(struct a10_dma_channel *); + +#endif /* _A10_DMA_H */ Modified: soc2015/pratiksinghal/cubie-head/sys/arm/conf/CUBIEBOARD ============================================================================== --- soc2015/pratiksinghal/cubie-head/sys/arm/conf/CUBIEBOARD Thu Aug 20 20:00:51 2015 (r289983) +++ soc2015/pratiksinghal/cubie-head/sys/arm/conf/CUBIEBOARD Thu Aug 20 20:11:15 2015 (r289984) @@ -101,7 +101,7 @@ device emac #DMA controller -#device dma +device dma # USB ethernet support, requires miibus device miibus From owner-svn-soc-all@freebsd.org Thu Aug 20 20:14:16 2015 Return-Path: Delivered-To: svn-soc-all@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 8B5E59BFF0D for ; Thu, 20 Aug 2015 20:14:16 +0000 (UTC) (envelope-from clord@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 7C5211C4A for ; Thu, 20 Aug 2015 20:14:16 +0000 (UTC) (envelope-from clord@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7KKEG09065864 for ; Thu, 20 Aug 2015 20:14:16 GMT (envelope-from clord@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7KKEFjR065862 for svn-soc-all@FreeBSD.org; Thu, 20 Aug 2015 20:14:15 GMT (envelope-from clord@FreeBSD.org) Date: Thu, 20 Aug 2015 20:14:15 GMT Message-Id: <201508202014.t7KKEFjR065862@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to clord@FreeBSD.org using -f From: clord@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289985 - soc2015/clord/head/sys/contrib/ficl/ficlplatform MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Aug 2015 20:14:16 -0000 Author: clord Date: Thu Aug 20 20:14:15 2015 New Revision: 289985 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289985 Log: Call ficlCompilePlatform so FreeBSD words get added properly. Previously ficlSystemCompilePlatform simply returned empty, which was incorrect. Modified: soc2015/clord/head/sys/contrib/ficl/ficlplatform/unix.c Modified: soc2015/clord/head/sys/contrib/ficl/ficlplatform/unix.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/ficlplatform/unix.c Thu Aug 20 20:11:15 2015 (r289984) +++ soc2015/clord/head/sys/contrib/ficl/ficlplatform/unix.c Thu Aug 20 20:14:15 2015 (r289985) @@ -18,6 +18,7 @@ void ficlSystemCompilePlatform(ficlSystem *system) { + ficlCompilePlatform(system); return; } From owner-svn-soc-all@freebsd.org Fri Aug 21 01:02:28 2015 Return-Path: Delivered-To: svn-soc-all@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 812B99BE1ED for ; Fri, 21 Aug 2015 01:02:28 +0000 (UTC) (envelope-from btw@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 712A21233 for ; Fri, 21 Aug 2015 01:02:28 +0000 (UTC) (envelope-from btw@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7L12SpG009039 for ; Fri, 21 Aug 2015 01:02:28 GMT (envelope-from btw@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7L12REi009036 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 01:02:27 GMT (envelope-from btw@FreeBSD.org) Date: Fri, 21 Aug 2015 01:02:27 GMT Message-Id: <201508210102.t7L12REi009036@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to btw@FreeBSD.org using -f From: btw@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r289992 - soc2015/btw/head/share/man/man9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 01:02:28 -0000 Author: btw Date: Fri Aug 21 01:02:27 2015 New Revision: 289992 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289992 Log: Extend ifnet(9) to describe the ifring structure and related stuffs. Modified: soc2015/btw/head/share/man/man9/ifnet.9 Modified: soc2015/btw/head/share/man/man9/ifnet.9 ============================================================================== --- soc2015/btw/head/share/man/man9/ifnet.9 Thu Aug 20 22:44:26 2015 (r289991) +++ soc2015/btw/head/share/man/man9/ifnet.9 Fri Aug 21 01:02:27 2015 (r289992) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 29, 2014 +.Dd August 19, 2015 .Dt IFNET 9 .Os .Sh NAME @@ -133,7 +133,7 @@ .Sh DATA STRUCTURES The kernel mechanisms for handling network interfaces reside primarily in the -.Vt ifnet , if_data , ifaddr , +.Vt ifnet , if_data , ifaddr , ifring , and .Vt ifmultiaddr structures in @@ -155,7 +155,7 @@ The header file .In net/if_var.h defines the kernel-internal interfaces, including the -.Vt ifnet , ifaddr , +.Vt ifnet , ifaddr , ifring , and .Vt ifmultiaddr structures and the functions which manipulate them. @@ -181,7 +181,10 @@ Each interface structure contains an .Vt if_data -structure used for statistics and information. +structure used for statistics and information, +and an array of +.Vt ifring +structures used for per-ring statistics. Each interface also has a .Li TAILQ of interface addresses, described by @@ -440,6 +443,15 @@ but unlike .Va if_type , it would not be changed by drivers. +.It Va if_rings +.Pq Vt "struct ifring **" +A pointer to the array of rings, which contains the per-ring statistics. +(Initialized by +.Fn if_attach . ) +.It Va if_nrings +.Pq Vt int +The number of elements in +.Va if_rings . .El .Pp References to @@ -1111,6 +1123,72 @@ argument is the route in question; the .Fa info argument contains the specific destination being manipulated. +.Ss The Vt ifring Ss Structure +Every interface is associated with an array of rings pointed by the +interface structure's +.Va if_rings +member. +And the number of elements is indicated by the +.Va if_nrings +member. +The elements of this array consist of +.Vt ifring +structures. +The +.Vt ifring +structure contains the per-ring statistics, and which is exported to +user programs by way of the +.Xr ifmib 4 +branch of the +.Xr sysctl 3 +MIB. +.Pp +The members of +.Vt "struct ifring" +are as follows: +.Bl -tag -width ".Va ifr_stats" -offset indent +.It Va "ifr_stats" +.Pq Vt "struct ifrstat[MAXCPU]" +The per-cpu statistics of the ring. +.El +.Pp +The +.Vt "ifrstat" +structure is defined in +.In net/if_var.h . +The members of +.Vt "struct ifrstat" +are as follows: +.Bl -tag -width ".Va ifrs_ifinput" -offset indent +.It Va "ifrs_ifinput" +.Pq Vt "uint64_t" +The number of packets received on the corresponding ring and processed +on the corresponding CPU in the driver. +.It Va "ifrs_netisr" +.Pq Vt "uint64_t" +The number of packets received on the corresponding ring and processed +on the corresponding CPU in the netisr layer. +.It Va "ifrs_ether" +.Pq Vt "uint64_t" +The number of packets received on the corresponding ring and processed +on the corresponding CPU in the ethernet layer. +.It Va "ifrs_ip" +.Pq Vt "uint64_t" +The number of packets received on the corresponding ring and processed +on the corresponding CPU in the IP (version 4) layer. +.It Va "ifrs_ip6" +.Pq Vt "uint64_t" +The number of packets received on the corresponding ring and processed +on the corresponding CPU in the IP (version 6) layer. +.It Va "ifrs_tcp" +.Pq Vt "uint64_t" +The number of packets received on the corresponding ring and processed +on the corresponding CPU in the TCP layer. +.It Va "ifrs_udp" +.Pq Vt "uint64_t" +The number of packets received on the corresponding ring and processed +on the corresponding CPU in the UDP layer. +.El .Sh FUNCTIONS The functions provided by the generic interface code can be divided into two groups: those which manipulate interfaces, and those which @@ -1172,7 +1250,7 @@ (A pointer to this address structure is saved in the .Vt ifnet -structure and shall be accessed by the +structure and is accessed by the .Fn ifaddr_byindex function.) The From owner-svn-soc-all@freebsd.org Fri Aug 21 12:41:53 2015 Return-Path: Delivered-To: svn-soc-all@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 6267E9BD10A for ; Fri, 21 Aug 2015 12:41:53 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 5395AD66 for ; Fri, 21 Aug 2015 12:41:53 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LCfrMK033755 for ; Fri, 21 Aug 2015 12:41:53 GMT (envelope-from kczekirda@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LCfqis033747 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 12:41:52 GMT (envelope-from kczekirda@FreeBSD.org) Date: Fri, 21 Aug 2015 12:41:52 GMT Message-Id: <201508211241.t7LCfqis033747@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to kczekirda@FreeBSD.org using -f From: kczekirda@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290009 - soc2015/kczekirda/www MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 12:41:53 -0000 Author: kczekirda Date: Fri Aug 21 12:41:52 2015 New Revision: 290009 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290009 Log: take task script for preparing env Modified: soc2015/kczekirda/www/menu.py Modified: soc2015/kczekirda/www/menu.py ============================================================================== --- soc2015/kczekirda/www/menu.py Fri Aug 21 11:25:42 2015 (r290008) +++ soc2015/kczekirda/www/menu.py Fri Aug 21 12:41:52 2015 (r290009) @@ -146,6 +146,8 @@ revision = result[0] c.execute("UPDATE tasks SET host = ? WHERE revision LIKE ?", (host,revision)) conn.commit() + create_env = '/cluster/new_task.sh '+revision+' '+host+' &' + os.system(create_env) return redirect('/static/wait.ipxe') @route('/menu/:mac', method='GET') From owner-svn-soc-all@freebsd.org Fri Aug 21 14:07:09 2015 Return-Path: Delivered-To: svn-soc-all@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 B9E129BF6C5 for ; Fri, 21 Aug 2015 14:07:09 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 AAAE81671 for ; Fri, 21 Aug 2015 14:07:09 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LE79gF030338 for ; Fri, 21 Aug 2015 14:07:09 GMT (envelope-from kczekirda@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LE79DK030334 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 14:07:09 GMT (envelope-from kczekirda@FreeBSD.org) Date: Fri, 21 Aug 2015 14:07:09 GMT Message-Id: <201508211407.t7LE79DK030334@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to kczekirda@FreeBSD.org using -f From: kczekirda@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290010 - soc2015/kczekirda/www MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 14:07:09 -0000 Author: kczekirda Date: Fri Aug 21 14:07:08 2015 New Revision: 290010 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290010 Log: fix typo and change boot script when waiting for env Modified: soc2015/kczekirda/www/menu.py Modified: soc2015/kczekirda/www/menu.py ============================================================================== --- soc2015/kczekirda/www/menu.py Fri Aug 21 12:41:52 2015 (r290009) +++ soc2015/kczekirda/www/menu.py Fri Aug 21 14:07:08 2015 (r290010) @@ -144,8 +144,10 @@ c.execute("SELECT revision from tasks WHERE status LIKE 'new' ORDER by ID LIMIT 1") result = c.fetchone() revision = result[0] - c.execute("UPDATE tasks SET host = ? WHERE revision LIKE ?", (host,revision)) - conn.commit() + c.execute("UPDATE tasks SET host = ? WHERE revision LIKE ?", (host,revision)) + boot = "wait.ipxe" + c.execute("UPDATE nodes SET boot = ? WHERE host LIKE ?", (boot,host)) + conn.commit() create_env = '/cluster/new_task.sh '+revision+' '+host+' &' os.system(create_env) return redirect('/static/wait.ipxe') From owner-svn-soc-all@freebsd.org Fri Aug 21 15:42:36 2015 Return-Path: Delivered-To: svn-soc-all@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 E14899BFDDF for ; Fri, 21 Aug 2015 15:42:36 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 D25112E6 for ; Fri, 21 Aug 2015 15:42:36 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LFgaHA049843 for ; Fri, 21 Aug 2015 15:42:36 GMT (envelope-from roam@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LFgaC6049838 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 15:42:36 GMT (envelope-from roam@FreeBSD.org) Date: Fri, 21 Aug 2015 15:42:36 GMT Message-Id: <201508211542.t7LFgaC6049838@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to roam@FreeBSD.org using -f From: roam@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290013 - soc2015/roam/ayiya_listen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 15:42:37 -0000 Author: roam Date: Fri Aug 21 15:42:35 2015 New Revision: 290013 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290013 Log: This is ayiya_listen, not ayiya_resp! Modified: soc2015/roam/ayiya_listen/main.c Modified: soc2015/roam/ayiya_listen/main.c ============================================================================== --- soc2015/roam/ayiya_listen/main.c Fri Aug 21 14:28:14 2015 (r290012) +++ soc2015/roam/ayiya_listen/main.c Fri Aug 21 15:42:35 2015 (r290013) @@ -274,7 +274,7 @@ void version(void) { - puts("ayiya_resp 0.1.0.dev225"); + puts("ayiya_listen 0.1.0.dev225"); } void From owner-svn-soc-all@freebsd.org Fri Aug 21 15:42:40 2015 Return-Path: Delivered-To: svn-soc-all@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 D82B79BFDF3 for ; Fri, 21 Aug 2015 15:42:40 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 C8E7D2FD for ; Fri, 21 Aug 2015 15:42:40 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LFgec6049939 for ; Fri, 21 Aug 2015 15:42:40 GMT (envelope-from roam@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LFgeAO049932 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 15:42:40 GMT (envelope-from roam@FreeBSD.org) Date: Fri, 21 Aug 2015 15:42:40 GMT Message-Id: <201508211542.t7LFgeAO049932@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to roam@FreeBSD.org using -f From: roam@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290014 - soc2015/roam/ayiya_resp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 15:42:41 -0000 Author: roam Date: Fri Aug 21 15:42:39 2015 New Revision: 290014 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290014 Log: Make ayiya_resp a bit less talkative. ObQuote: "Silence is golden" Modified: soc2015/roam/ayiya_resp/main.c Modified: soc2015/roam/ayiya_resp/main.c ============================================================================== --- soc2015/roam/ayiya_resp/main.c Fri Aug 21 15:42:35 2015 (r290013) +++ soc2015/roam/ayiya_resp/main.c Fri Aug 21 15:42:39 2015 (r290014) @@ -251,40 +251,32 @@ srandomdev(); STAILQ_INIT(&injectq); time_t next_heartbeat = time(NULL); - time_t next_motd = next_heartbeat + 7 + (random() % 7); + time_t next_motd = next_heartbeat + 70 + (random() % 70); static char inbuf[65536]; size_t inofs = 0; for (;;) { const time_t now = time(NULL); - debug("Loop: now %ld heartbeat %ld motd %ld\n", - now, next_heartbeat, next_motd); const bool do_heartbeat = !quiet && now >= next_heartbeat; const bool do_motd = !quiet && now >= next_motd; const bool do_inject = !STAILQ_EMPTY(&injectq); - debug("- select, heartbeat %s, motd %s, inject %s\n", - do_heartbeat? "true": "false", - do_motd? "true": "false", - do_inject? "true": "false"); const unsigned sel = ayiya_select(ds, true, do_heartbeat || do_motd || do_inject); - if (sel == A_SEL_TIMEOUT) { - debug("- we got nothin'\n"); + if (sel == A_SEL_TIMEOUT) continue; - } const time_t rcvat = time(NULL); if (sel & A_SEL_WR_DATA) { if (do_heartbeat) { debug("Sending a heartbeat\n"); send_empty_packet(ds, AYIYA_OP_HEARTBEAT); - next_heartbeat = now + 10; + next_heartbeat = now + 100; } if (do_motd) { debug("Sending a MOTD\n"); send_packet(ds, AYIYA_OP_MOTD, MOTD, sizeof(MOTD) - 1); - next_motd = now + 7 + (random() % 7); + next_motd = now + 70 + (random() % 70); } if (do_inject) { @@ -302,12 +294,6 @@ warnx("Our Netgraph socket was closed"); return (0); } - debug("Got %d bytes of data:\n", len); - for (int d = 0; d < len; d++) - debug("%02hhX%c", ng_msgbuf.buf[d], - d % 16 == 15? '\n': ' '); - if (len % 16 != 0) - debug("\n"); const struct ng_ayiya_header * const hdr = (const struct ng_ayiya_header *)ng_msgbuf.buf; @@ -343,7 +329,6 @@ debug("The listener's trying to tell us something!\n"); while (true) { const ssize_t n = read(inputfd, inbuf + inofs, sizeof(inbuf) - inofs); - debug("- read() from the input stream returned %zd\n", n); if (n == -1) { if (errno == EAGAIN) break; @@ -353,25 +338,16 @@ break; assert(n > 0); inofs += (size_t)n; - debug("- for a total of %zu bytes in the buffer\n", inofs); - if (inofs >= sizeof(uint16_t)) - debug("- AYIYA packet length: %u\n", *(const uint16_t *)inbuf); - else - debug("- not even two bytes of length received\n"); size_t bite; while (bite = check_ayiya_packet(inbuf, inofs), bite > 0) { - debug("- we can bite off a %zu-byte packet\n", bite); assert(bite <= inofs); inject_ayiya_packet(inbuf, bite); - debug("- and now the queue is %sempty\n", STAILQ_EMPTY(&injectq)? "": "not "); const size_t rest = inofs - bite; bcopy(inbuf + bite, inbuf, rest); inofs = rest; - debug("- left %zu bytes in the buffer\n", inofs); } - debug("- no whole packet in the buffer\n"); if (inofs == sizeof(inbuf)) errx(1, "The listener is trying to send an AYIYA packet that won't fit in %zu bytes", sizeof(inbuf)); From owner-svn-soc-all@freebsd.org Fri Aug 21 15:42:44 2015 Return-Path: Delivered-To: svn-soc-all@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 77D919BFE0B for ; Fri, 21 Aug 2015 15:42:44 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 68DDC30F for ; Fri, 21 Aug 2015 15:42:44 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LFgijJ050071 for ; Fri, 21 Aug 2015 15:42:44 GMT (envelope-from roam@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LFghLf050052 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 15:42:43 GMT (envelope-from roam@FreeBSD.org) Date: Fri, 21 Aug 2015 15:42:43 GMT Message-Id: <201508211542.t7LFghLf050052@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to roam@FreeBSD.org using -f From: roam@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290015 - soc2015/roam/ayiya_listen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 15:42:44 -0000 Author: roam Date: Fri Aug 21 15:42:42 2015 New Revision: 290015 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290015 Log: Fix ayiya_listen's getopt() call and usage message. Remove some options that were left over from ayiya_resp. ObQuote: "I, me, mine" Modified: soc2015/roam/ayiya_listen/main.c Modified: soc2015/roam/ayiya_listen/main.c ============================================================================== --- soc2015/roam/ayiya_listen/main.c Fri Aug 21 15:42:39 2015 (r290014) +++ soc2015/roam/ayiya_listen/main.c Fri Aug 21 15:42:42 2015 (r290015) @@ -80,7 +80,6 @@ static int ng_cs, ng_ds; static const char *resppath; -static int quiet; static int verbose; static void usage(int _ferr); @@ -114,7 +113,7 @@ hflag = Vflag = 0; addr = tunnelsfile = NULL; - while (ch = getopt(argc, argv, "a:hqr:t:Vv"), ch != -1) + while (ch = getopt(argc, argv, "a:hr:t:Vv"), ch != -1) switch (ch) { case 'a': if (addr != NULL) @@ -126,10 +125,6 @@ hflag = 1; break; - case 'q': - quiet = 1; - break; - case 'r': resppath = optarg; break; @@ -254,13 +249,10 @@ { const char * const s = "Usage:\tayiya_listen [-v] -a address -r resppath -t tunnelsfile config\n" - "\tayiya_listen [-qv] loop\n" "\tayiya_listen -V | -h\n" "\n" "\t-a\tspecify the IPv4 address to listen on\n" "\t-h\tdisplay program usage information and exit\n" - "\t-n\tspecify the name of the AYIYA node to accept the connection\n" - "\t-q\tquiet mode; only respond, do not originate AYIYA packets\n" "\t-r\tspecify the path to the ayiya_resp executable\n" "\t-t\tspecify the path to the tunnel information file\n" "\t-V\tdisplay program version information and exit\n" From owner-svn-soc-all@freebsd.org Fri Aug 21 15:42:47 2015 Return-Path: Delivered-To: svn-soc-all@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 E9C279BFE1D for ; Fri, 21 Aug 2015 15:42:47 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 DAFD9326 for ; Fri, 21 Aug 2015 15:42:47 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LFglkf050139 for ; Fri, 21 Aug 2015 15:42:47 GMT (envelope-from roam@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LFglmh050131 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 15:42:47 GMT (envelope-from roam@FreeBSD.org) Date: Fri, 21 Aug 2015 15:42:47 GMT Message-Id: <201508211542.t7LFglmh050131@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to roam@FreeBSD.org using -f From: roam@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290016 - soc2015/roam/ayiya_listen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 15:42:48 -0000 Author: roam Date: Fri Aug 21 15:42:46 2015 New Revision: 290016 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290016 Log: Clean up ayiya_listen's #include directives. ObQuote: "Less is more" Modified: soc2015/roam/ayiya_listen/main.c Modified: soc2015/roam/ayiya_listen/main.c ============================================================================== --- soc2015/roam/ayiya_listen/main.c Fri Aug 21 15:42:42 2015 (r290015) +++ soc2015/roam/ayiya_listen/main.c Fri Aug 21 15:42:46 2015 (r290016) @@ -37,7 +37,6 @@ #include #include #include -#include #include #include #include @@ -47,7 +46,6 @@ #include #include #include -#include #include #include From owner-svn-soc-all@freebsd.org Fri Aug 21 15:42:52 2015 Return-Path: Delivered-To: svn-soc-all@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 3BB199BFE2E for ; Fri, 21 Aug 2015 15:42:52 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 2C89233A for ; Fri, 21 Aug 2015 15:42:52 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LFgq2d050226 for ; Fri, 21 Aug 2015 15:42:52 GMT (envelope-from roam@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LFgpaW050209 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 15:42:51 GMT (envelope-from roam@FreeBSD.org) Date: Fri, 21 Aug 2015 15:42:51 GMT Message-Id: <201508211542.t7LFgpaW050209@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to roam@FreeBSD.org using -f From: roam@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290017 - soc2015/roam/ports/net/p5-Net-SixXS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 15:42:52 -0000 Author: roam Date: Fri Aug 21 15:42:50 2015 New Revision: 290017 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290017 Log: Update to the released Net-SixXS-v0.1.0. ObQuote: "I'm going through changes" Modified: soc2015/roam/ports/net/p5-Net-SixXS/Makefile soc2015/roam/ports/net/p5-Net-SixXS/distinfo Modified: soc2015/roam/ports/net/p5-Net-SixXS/Makefile ============================================================================== --- soc2015/roam/ports/net/p5-Net-SixXS/Makefile Fri Aug 21 15:42:46 2015 (r290016) +++ soc2015/roam/ports/net/p5-Net-SixXS/Makefile Fri Aug 21 15:42:50 2015 (r290017) @@ -5,8 +5,7 @@ PORTVERSION= 0.1.0 DISTVERSIONPREFIX= v CATEGORIES= net ipv6 perl5 -#MASTER_SITES= CPAN -MASTER_SITES= http://www.freebsd.org/~roam/net/sixxs/ +MASTER_SITES= CPAN PKGNAMEPREFIX= p5- MAINTAINER= roam@FreeBSD.org Modified: soc2015/roam/ports/net/p5-Net-SixXS/distinfo ============================================================================== --- soc2015/roam/ports/net/p5-Net-SixXS/distinfo Fri Aug 21 15:42:46 2015 (r290016) +++ soc2015/roam/ports/net/p5-Net-SixXS/distinfo Fri Aug 21 15:42:50 2015 (r290017) @@ -1,2 +1,2 @@ -SHA256 (Net-SixXS-v0.1.0.tar.gz) = 67ff42ba996c6a1c2d5dbcad7dc4de94616dbf28d998a48a5aa7d61630e5cab2 -SIZE (Net-SixXS-v0.1.0.tar.gz) = 19552 +SHA256 (Net-SixXS-v0.1.0.tar.gz) = 9bf5a04ac01cebd675aa14cd0228cf328f190ff340d7612af94c8380078274d3 +SIZE (Net-SixXS-v0.1.0.tar.gz) = 19747 From owner-svn-soc-all@freebsd.org Fri Aug 21 15:43:02 2015 Return-Path: Delivered-To: svn-soc-all@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 CD35A9BFE45 for ; Fri, 21 Aug 2015 15:43:02 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 BE1A8359 for ; Fri, 21 Aug 2015 15:43:02 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LFh21l050468 for ; Fri, 21 Aug 2015 15:43:02 GMT (envelope-from roam@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LFh21I050446 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 15:43:02 GMT (envelope-from roam@FreeBSD.org) Date: Fri, 21 Aug 2015 15:43:02 GMT Message-Id: <201508211543.t7LFh21I050446@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to roam@FreeBSD.org using -f From: roam@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290018 - soc2015/roam/ports/devel/p5-MooseX-Role-JSONObject MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 15:43:02 -0000 Author: roam Date: Fri Aug 21 15:43:01 2015 New Revision: 290018 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290018 Log: Remove my local distsite for Moose-Role-JSONObject. ObQuote: "You're a grown man now" Modified: soc2015/roam/ports/devel/p5-MooseX-Role-JSONObject/Makefile Modified: soc2015/roam/ports/devel/p5-MooseX-Role-JSONObject/Makefile ============================================================================== --- soc2015/roam/ports/devel/p5-MooseX-Role-JSONObject/Makefile Fri Aug 21 15:42:50 2015 (r290017) +++ soc2015/roam/ports/devel/p5-MooseX-Role-JSONObject/Makefile Fri Aug 21 15:43:01 2015 (r290018) @@ -6,7 +6,6 @@ DISTVERSIONPREFIX= v CATEGORIES= devel perl5 MASTER_SITES= CPAN -#MASTER_SITES= http://www.freebsd.org/~roam/net/sixxs/ PKGNAMEPREFIX= p5- MAINTAINER= roam@FreeBSD.org From owner-svn-soc-all@freebsd.org Fri Aug 21 15:43:32 2015 Return-Path: Delivered-To: svn-soc-all@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 2183E9BFE60 for ; Fri, 21 Aug 2015 15:43:32 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 12A5F375 for ; Fri, 21 Aug 2015 15:43:32 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LFhV4B051033 for ; Fri, 21 Aug 2015 15:43:31 GMT (envelope-from roam@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LFhVGM051028 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 15:43:31 GMT (envelope-from roam@FreeBSD.org) Date: Fri, 21 Aug 2015 15:43:31 GMT Message-Id: <201508211543.t7LFhVGM051028@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to roam@FreeBSD.org using -f From: roam@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290019 - soc2015/roam/ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 15:43:32 -0000 Author: roam Date: Fri Aug 21 15:43:31 2015 New Revision: 290019 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290019 Log: ports/update.pl: diagnostics cosmetics. ObQuote: "Nothing to see here, move along" Modified: soc2015/roam/ports/update.pl Modified: soc2015/roam/ports/update.pl ============================================================================== --- soc2015/roam/ports/update.pl Fri Aug 21 15:43:01 2015 (r290018) +++ soc2015/roam/ports/update.pl Fri Aug 21 15:43:31 2015 (r290019) @@ -15,6 +15,8 @@ my ($base, $tgt) = ('.', '/usr/ports'); my @ports = find_ports $base; + say '===> Processing '.scalar(@ports)." ports:". + join '', map "\n $_", sort @ports; process_port $_, $base, $tgt for @ports; } @@ -51,24 +53,26 @@ my ($basename, $tgtname) = ("$base/$port", "$tgt/$port"); my $baseabs = abs_path($basename); + say "\n===> $port: $basename -> $tgtname"; if (-l $tgtname) { my $lname = readlink $tgtname or die "readlink($tgtname): $!\n"; if (abs_path($lname) ne $baseabs) { die "FIXME: remove $tgtname to be replaced by a symlink to $baseabs"; } - else { say "RDBG just fine: $tgtname is a symlink to $baseabs"; } + else { say "just fine: $tgtname is a symlink to $baseabs"; } } elsif (-d $tgtname) { my @cmd = ('rsync', '-av', '--delete', '--', "$baseabs/", "$tgtname/"); my $res = system { $cmd[0] } @cmd; if (!WIFEXITED($res) || WEXITSTATUS($res) != 0) { die "@cmd failed\n"; } - say "RDBG just fine: rsynced $baseabs to $tgtname successfully"; + say "just fine: rsynced $baseabs to $tgtname successfully"; } elsif (-e $tgtname) { unlink $tgtname or die "unlink($tgtname): $!\n"; } if (! -e $tgtname) { + say "creating a symlink: $baseabs -> $tgtname"; symlink $baseabs, $tgtname or die "symlink($baseabs, $tgtname): $!\n"; } From owner-svn-soc-all@freebsd.org Fri Aug 21 15:43:36 2015 Return-Path: Delivered-To: svn-soc-all@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 C4BED9BFE80 for ; Fri, 21 Aug 2015 15:43:36 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 A469C386 for ; Fri, 21 Aug 2015 15:43:36 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LFhaiZ051151 for ; Fri, 21 Aug 2015 15:43:36 GMT (envelope-from roam@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LFhZ3x051132 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 15:43:35 GMT (envelope-from roam@FreeBSD.org) Date: Fri, 21 Aug 2015 15:43:35 GMT Message-Id: <201508211543.t7LFhZ3x051132@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to roam@FreeBSD.org using -f From: roam@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290020 - in soc2015/roam: ayiya_listen ayiya_resp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 15:43:37 -0000 Author: roam Date: Fri Aug 21 15:43:35 2015 New Revision: 290020 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290020 Log: ayiya_listen, ayiya_resp: use C99's bool. ObQuote: "You say 'yes', I say 'no'" Modified: soc2015/roam/ayiya_listen/main.c soc2015/roam/ayiya_resp/main.c Modified: soc2015/roam/ayiya_listen/main.c ============================================================================== --- soc2015/roam/ayiya_listen/main.c Fri Aug 21 15:43:31 2015 (r290019) +++ soc2015/roam/ayiya_listen/main.c Fri Aug 21 15:43:35 2015 (r290020) @@ -42,6 +42,7 @@ #include #include #include +#include #include #include #include @@ -80,7 +81,7 @@ static int verbose; -static void usage(int _ferr); +static void usage(bool _ferr); static void version(void); static void debug(const char *fmt, ...) __printflike(1, 2); @@ -89,7 +90,7 @@ static void accept_connection(int); static void handle_tunnel(struct tunnel *, const char *, const struct sockaddr_in *, const char *, size_t); -static void stop_tunnel(struct tunnel *, int); +static void stop_tunnel(struct tunnel *, bool); static void start_tunnel(struct tunnel *, const struct sockaddr_in *, const char *); static void check_wait_result(pid_t res, int stat, pid_t expected, @@ -106,10 +107,11 @@ int main(int argc, char * const argv[]) { - int ch, hflag, Vflag; + int ch; + bool hflag, Vflag; const char *addr, *tunnelsfile; - hflag = Vflag = 0; + hflag = Vflag = false; addr = tunnelsfile = NULL; while (ch = getopt(argc, argv, "a:hr:t:Vv"), ch != -1) switch (ch) { @@ -120,7 +122,7 @@ break; case 'h': - hflag = 1; + hflag = true; break; case 'r': @@ -132,7 +134,7 @@ break; case 'V': - Vflag = 1; + Vflag = true; break; case 'v': @@ -140,29 +142,29 @@ break; default: - usage(1); + usage(true); /* NOTREACHED */ } if (Vflag) version(); if (hflag) - usage(0); + usage(true); if (Vflag || hflag) return (0); if (addr == NULL) { warnx("No address (-a) specified"); - usage(1); + usage(true); } else if (tunnelsfile == NULL) { warnx("No tunnels file (-t) specified"); - usage(1); + usage(true); } argc -= optind; argv += optind; if (argc > 0) { warnx("No positional arguments expected"); - usage(1); + usage(true); } if (resppath == NULL) { @@ -243,7 +245,7 @@ } void -usage(const int _ferr) +usage(const bool _ferr) { const char * const s = "Usage:\tayiya_listen [-v] -a address -r resppath -t tunnelsfile config\n" @@ -362,7 +364,7 @@ if (t->pid == pid) { check_wait_result(pid, stat, t->pid, "AYIYA responder"); - stop_tunnel(t, 1); + stop_tunnel(t, true); break; } } @@ -410,7 +412,7 @@ { /* Do we need to kill a tunnel first? */ if (strcmp(t->remote_outer, sender) != 0) { - stop_tunnel(t, 0); + stop_tunnel(t, false); snprintf(t->remote_outer, sizeof(t->remote_outer), "%s", sender); } @@ -451,7 +453,7 @@ } void -stop_tunnel(struct tunnel * const t, const int waited) +stop_tunnel(struct tunnel * const t, const bool waited) { if (t->pid != 0) { close(t->comm[1]); @@ -750,7 +752,7 @@ char *line = NULL; size_t cap = 0; - int in = 0; + bool in = false; struct tunnel *t = tunnels; debug("Parsing the tunnels file %s\n", fname); unsigned flags; @@ -798,7 +800,7 @@ debug("- parsing tunnel %s\n", line); flags = 0; - in = 1; + in = true; continue; } else if (rerr != REG_NOMATCH) { report_regerror(rerr, &re_tunnel); Modified: soc2015/roam/ayiya_resp/main.c ============================================================================== --- soc2015/roam/ayiya_resp/main.c Fri Aug 21 15:43:31 2015 (r290019) +++ soc2015/roam/ayiya_resp/main.c Fri Aug 21 15:43:35 2015 (r290020) @@ -67,10 +67,10 @@ static int inputfd = -1; static STAILQ_HEAD(ayqhead, ayqueue) injectq; -static int quiet; -static int verbose; +static bool quiet; +static bool verbose; -static void usage(int _ferr); +static void usage(bool _ferr); static void version(void); static void debug(const char *fmt, ...) __printflike(1, 2); @@ -107,13 +107,14 @@ int main(int argc, char * const argv[]) { - int ch, hflag, Vflag; + int ch; + bool hflag, Vflag; - hflag = Vflag = 0; + hflag = Vflag = false; while (ch = getopt(argc, argv, "hi:n:qVv"), ch != -1) switch (ch) { case 'h': - hflag = 1; + hflag = true; break; case 'i': @@ -137,25 +138,25 @@ break; case 'q': - quiet = 1; + quiet = true; break; case 'V': - Vflag = 1; + Vflag = true; break; case 'v': - verbose++; + verbose = true; break; default: - usage(1); + usage(true); /* NOTREACHED */ } if (Vflag) version(); if (hflag) - usage(0); + usage(false); if (Vflag || hflag) return (0); @@ -163,7 +164,7 @@ argv += optind; if (argc < 1) { warnx("No command specified"); - usage(1); + usage(true); } const size_t len = strlen(argv[0]); unsigned idx = COMMANDS; @@ -174,20 +175,20 @@ } else if (strncmp(argv[0], commands[i].name, len) == 0) { if (idx != COMMANDS) { warnx("Ambiguous command '%s'", argv[0]); - usage(1); + usage(true); } idx = i; } } if (idx == COMMANDS) { warnx("Unrecognized command '%s'", argv[0]); - usage(1); + usage(true); } return (commands[idx].func)(argv[0], argv + 1, argc - 1); } void -usage(const int _ferr) +usage(const bool _ferr) { const char * const s = "Usage:\tayiya_resp [-v] config\n" From owner-svn-soc-all@freebsd.org Fri Aug 21 16:11:20 2015 Return-Path: Delivered-To: svn-soc-all@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 001D39BF6E8 for ; Fri, 21 Aug 2015 16:11:19 +0000 (UTC) (envelope-from dpl@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 CB6D71F24 for ; Fri, 21 Aug 2015 16:11:19 +0000 (UTC) (envelope-from dpl@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LGBJTC032785 for ; Fri, 21 Aug 2015 16:11:19 GMT (envelope-from dpl@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LGBJP1032783 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 16:11:19 GMT (envelope-from dpl@FreeBSD.org) Date: Fri, 21 Aug 2015 16:11:19 GMT Message-Id: <201508211611.t7LGBJP1032783@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to dpl@FreeBSD.org using -f From: dpl@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290028 - soc2015/dpl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 16:11:20 -0000 Author: dpl Date: Fri Aug 21 16:11:19 2015 New Revision: 290028 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290028 Log: Create repo. All this is still hosted at GitHub (dplbsd/netmap-ipfwjit). Added: soc2015/dpl/ From owner-svn-soc-all@freebsd.org Fri Aug 21 16:14:19 2015 Return-Path: Delivered-To: svn-soc-all@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 7E2929BF7F9 for ; Fri, 21 Aug 2015 16:14:19 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 638DB84 for ; Fri, 21 Aug 2015 16:14:19 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LGEJhG038154 for ; Fri, 21 Aug 2015 16:14:19 GMT (envelope-from kczekirda@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LGEGC5038045 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 16:14:16 GMT (envelope-from kczekirda@FreeBSD.org) Date: Fri, 21 Aug 2015 16:14:16 GMT Message-Id: <201508211614.t7LGEGC5038045@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to kczekirda@FreeBSD.org using -f From: kczekirda@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290029 - in soc2015/kczekirda/master: . cluster cluster/node01 cluster/node01/cluster cluster/node01/usr cluster/node01/usr/obj cluster/node02 cluster/node02/cluster cluster/node02/... MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 16:14:19 -0000 Author: kczekirda Date: Fri Aug 21 16:14:15 2015 New Revision: 290029 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290029 Log: management infrastructure Added: soc2015/kczekirda/master/ soc2015/kczekirda/master/cluster/ soc2015/kczekirda/master/cluster/new_task.sh (contents, props changed) soc2015/kczekirda/master/cluster/node01/ soc2015/kczekirda/master/cluster/node01/cluster/ soc2015/kczekirda/master/cluster/node01/cluster/bsdinstall.input soc2015/kczekirda/master/cluster/node01/cluster/run.sh (contents, props changed) soc2015/kczekirda/master/cluster/node01/usr/ soc2015/kczekirda/master/cluster/node01/usr/obj/ soc2015/kczekirda/master/cluster/node02/ soc2015/kczekirda/master/cluster/node02/cluster/ soc2015/kczekirda/master/cluster/node02/cluster/bsdinstall.input soc2015/kczekirda/master/cluster/node02/cluster/run.sh (contents, props changed) soc2015/kczekirda/master/cluster/node02/usr/ soc2015/kczekirda/master/cluster/node02/usr/obj/ soc2015/kczekirda/master/cluster/node03/ soc2015/kczekirda/master/cluster/node03/cluster/ soc2015/kczekirda/master/cluster/node03/cluster/bsdinstall.input soc2015/kczekirda/master/cluster/node03/cluster/run.sh (contents, props changed) soc2015/kczekirda/master/cluster/node03/usr/ soc2015/kczekirda/master/cluster/node03/usr/obj/ Added: soc2015/kczekirda/master/cluster/new_task.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/kczekirda/master/cluster/new_task.sh Fri Aug 21 16:14:15 2015 (r290029) @@ -0,0 +1,24 @@ +#!/bin/sh + +cd /cluster/usr/src + +while [ -e pid ] +do + sleep 10 +done + +touch pid + +curl http://192.168.22.3:8080/admin/change_task_status/$1/preparing + +svn up -r $1 + +rsync -ahW --no-compress --exclude '.svn' /cluster/usr/src/ /cluster/$1/ + +echo "export revision=$1" > /cluster/$2/cluster/rev + +curl http://192.168.22.3:8080/admin/change_boot/$2/cluster.ipxe + +curl http://192.168.22.3:8080/admin/change_task_status/$1/running + +rm /cluster/usr/src/pid \ No newline at end of file Added: soc2015/kczekirda/master/cluster/node01/cluster/bsdinstall.input ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/kczekirda/master/cluster/node01/cluster/bsdinstall.input Fri Aug 21 16:14:15 2015 (r290029) @@ -0,0 +1,5 @@ +PARTITIONS=ada0 +DISTRIBUTIONS="kernel.txz base.txz" + +#!/bin/sh +echo "Installation complete, running in host system" \ No newline at end of file Added: soc2015/kczekirda/master/cluster/node01/cluster/run.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/kczekirda/master/cluster/node01/cluster/run.sh Fri Aug 21 16:14:15 2015 (r290029) @@ -0,0 +1,46 @@ +#!/bin/sh + +master="192.168.22.3:8080" +nfs="192.168.22.19" + +pkg update +yes | pkg install python +yes | pkg install curl + +. /cluster/rev + +mount -t nfs -o nolockd $nfs:/mnt/tank/freebsd/$revision /usr/src +mount -t nfs -o nolockd $nfs:/mnt/tank/freebsd/$(hostname)/usr/obj /usr/obj + +echo "make build start" >> /usr/src/log +echo $(date) >> /usr/src/log + +cd /usr/src +curl http://$master/admin/change_node_status/$(hostname)/buildworld +curl http://$master/admin/change_task_status/$revision/buildworld +make -j4 buildworld + +curl http://$master/admin/change_node_status/$(hostname)/buildkernel +curl http://$master/admin/change_task_status/$revision/buildkernel +make -j4 buildkernel + +echo "make ftp start" >> /usr/src/log +echo $(date) >> /usr/src/log + +cd /usr/src/release +curl http://$master/admin/change_node_status/$(hostname)/makeftp +curl http://$master/admin/change_task_status/$revision/makeftp +make ftp + +echo "finish" >> /usr/src/log +echo $(date) >> /usr/src/log + +curl http://$master/admin/change_node_status/$(hostname)/installation +curl http://$master/admin/change_task_status/$revision/installation + +export BSDINSTALL_DISTDIR=/usr/src/release/ftp/ +bsdinstall script /cluster/bsdinstall.input + +curl http://$master/admin/change_node_status/$(hostname)/rebooting +curl http://$master/admin/change_task_status/$revision/done +# reboot Added: soc2015/kczekirda/master/cluster/node02/cluster/bsdinstall.input ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/kczekirda/master/cluster/node02/cluster/bsdinstall.input Fri Aug 21 16:14:15 2015 (r290029) @@ -0,0 +1,5 @@ +PARTITIONS=ada0 +DISTRIBUTIONS="kernel.txz base.txz" + +#!/bin/sh +echo "Installation complete, running in host system" \ No newline at end of file Added: soc2015/kczekirda/master/cluster/node02/cluster/run.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/kczekirda/master/cluster/node02/cluster/run.sh Fri Aug 21 16:14:15 2015 (r290029) @@ -0,0 +1,46 @@ +#!/bin/sh + +master="192.168.22.3:8080" +nfs="192.168.22.19" + +pkg update +yes | pkg install python +yes | pkg install curl + +. /cluster/rev + +mount -t nfs -o nolockd $nfs:/mnt/tank/freebsd/$revision /usr/src +mount -t nfs -o nolockd $nfs:/mnt/tank/freebsd/$(hostname)/usr/obj /usr/obj + +echo "make build start" >> /usr/src/log +echo $(date) >> /usr/src/log + +cd /usr/src +curl http://$master/admin/change_node_status/$(hostname)/buildworld +curl http://$master/admin/change_task_status/$revision/buildworld +make -j4 buildworld + +curl http://$master/admin/change_node_status/$(hostname)/buildkernel +curl http://$master/admin/change_task_status/$revision/buildkernel +make -j4 buildkernel + +echo "make ftp start" >> /usr/src/log +echo $(date) >> /usr/src/log + +cd /usr/src/release +curl http://$master/admin/change_node_status/$(hostname)/makeftp +curl http://$master/admin/change_task_status/$revision/makeftp +make ftp + +echo "finish" >> /usr/src/log +echo $(date) >> /usr/src/log + +curl http://$master/admin/change_node_status/$(hostname)/installation +curl http://$master/admin/change_task_status/$revision/installation + +export BSDINSTALL_DISTDIR=/usr/src/release/ftp/ +bsdinstall script /cluster/bsdinstall.input + +curl http://$master/admin/change_node_status/$(hostname)/rebooting +curl http://$master/admin/change_task_status/$revision/done +# reboot Added: soc2015/kczekirda/master/cluster/node03/cluster/bsdinstall.input ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/kczekirda/master/cluster/node03/cluster/bsdinstall.input Fri Aug 21 16:14:15 2015 (r290029) @@ -0,0 +1,5 @@ +PARTITIONS=ada0 +DISTRIBUTIONS="kernel.txz base.txz" + +#!/bin/sh +echo "Installation complete, running in host system" \ No newline at end of file Added: soc2015/kczekirda/master/cluster/node03/cluster/run.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/kczekirda/master/cluster/node03/cluster/run.sh Fri Aug 21 16:14:15 2015 (r290029) @@ -0,0 +1,46 @@ +#!/bin/sh + +master="192.168.22.3:8080" +nfs="192.168.22.19" + +pkg update +yes | pkg install python +yes | pkg install curl + +. /cluster/rev + +mount -t nfs -o nolockd $nfs:/mnt/tank/freebsd/$revision /usr/src +mount -t nfs -o nolockd $nfs:/mnt/tank/freebsd/$(hostname)/usr/obj /usr/obj + +echo "make build start" >> /usr/src/log +echo $(date) >> /usr/src/log + +cd /usr/src +curl http://$master/admin/change_node_status/$(hostname)/buildworld +curl http://$master/admin/change_task_status/$revision/buildworld +make -j4 buildworld + +curl http://$master/admin/change_node_status/$(hostname)/buildkernel +curl http://$master/admin/change_task_status/$revision/buildkernel +make -j4 buildkernel + +echo "make ftp start" >> /usr/src/log +echo $(date) >> /usr/src/log + +cd /usr/src/release +curl http://$master/admin/change_node_status/$(hostname)/makeftp +curl http://$master/admin/change_task_status/$revision/makeftp +make ftp + +echo "finish" >> /usr/src/log +echo $(date) >> /usr/src/log + +curl http://$master/admin/change_node_status/$(hostname)/installation +curl http://$master/admin/change_task_status/$revision/installation + +export BSDINSTALL_DISTDIR=/usr/src/release/ftp/ +bsdinstall script /cluster/bsdinstall.input + +curl http://$master/admin/change_node_status/$(hostname)/rebooting +curl http://$master/admin/change_task_status/$revision/done +# reboot From owner-svn-soc-all@freebsd.org Fri Aug 21 16:18:54 2015 Return-Path: Delivered-To: svn-soc-all@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 2CE149BF83A for ; Fri, 21 Aug 2015 16:18:54 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 15C62EB for ; Fri, 21 Aug 2015 16:18:54 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LGIrV0044029 for ; Fri, 21 Aug 2015 16:18:53 GMT (envelope-from kczekirda@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LGIrOV044001 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 16:18:53 GMT (envelope-from kczekirda@FreeBSD.org) Date: Fri, 21 Aug 2015 16:18:53 GMT Message-Id: <201508211618.t7LGIrOV044001@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to kczekirda@FreeBSD.org using -f From: kczekirda@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290030 - soc2015/kczekirda/www/static MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 16:18:54 -0000 Author: kczekirda Date: Fri Aug 21 16:18:53 2015 New Revision: 290030 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290030 Log: timeout Modified: soc2015/kczekirda/www/static/wait.ipxe Modified: soc2015/kczekirda/www/static/wait.ipxe ============================================================================== --- soc2015/kczekirda/www/static/wait.ipxe Fri Aug 21 16:14:15 2015 (r290029) +++ soc2015/kczekirda/www/static/wait.ipxe Fri Aug 21 16:18:53 2015 (r290030) @@ -1,7 +1,7 @@ #!ipxe set www 192.168.22.3 set port 8080 -set timeout 30000 +set timeout 120000 :menu menu Creating environment, please wait... From owner-svn-soc-all@freebsd.org Fri Aug 21 16:19:36 2015 Return-Path: Delivered-To: svn-soc-all@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 411C29BF88D for ; Fri, 21 Aug 2015 16:19:36 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 323F9113 for ; Fri, 21 Aug 2015 16:19:36 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LGJajT044734 for ; Fri, 21 Aug 2015 16:19:36 GMT (envelope-from roam@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LGJZSD044731 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 16:19:35 GMT (envelope-from roam@FreeBSD.org) Date: Fri, 21 Aug 2015 16:19:35 GMT Message-Id: <201508211619.t7LGJZSD044731@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to roam@FreeBSD.org using -f From: roam@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290031 - soc2015/roam/ayiya_resp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 16:19:36 -0000 Author: roam Date: Fri Aug 21 16:19:35 2015 New Revision: 290031 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290031 Log: ayiya_resp: handle losing the listener. When a tunnel is reestablished with a different peer, ayiya_listen will close the socket to the currently running ayiya_resp process; deal with this gracefully and exit instead of outputting a barrage of incorrect diagnostic messages until ayiya_listen kills it. ObQuote: "It's so funny how we don't talk anymore" Modified: soc2015/roam/ayiya_resp/main.c Modified: soc2015/roam/ayiya_resp/main.c ============================================================================== --- soc2015/roam/ayiya_resp/main.c Fri Aug 21 16:18:53 2015 (r290030) +++ soc2015/roam/ayiya_resp/main.c Fri Aug 21 16:19:35 2015 (r290031) @@ -328,6 +328,7 @@ if (sel & A_SEL_RD_INPUT) { debug("The listener's trying to tell us something!\n"); + bool got_data = false; while (true) { const ssize_t n = read(inputfd, inbuf + inofs, sizeof(inbuf) - inofs); if (n == -1) { @@ -335,9 +336,14 @@ break; err(1, "Could not read from the listener input channel"); } - if (n == 0) - break; + if (n == 0) { + if (got_data) + break; + warnx("The listener closed the socket, giving up"); + exit(0); + } assert(n > 0); + got_data = true; inofs += (size_t)n; size_t bite; From owner-svn-soc-all@freebsd.org Fri Aug 21 16:24:22 2015 Return-Path: Delivered-To: svn-soc-all@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 554FA9BF9F9 for ; Fri, 21 Aug 2015 16:24:22 +0000 (UTC) (envelope-from dpl@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 42DB97C9 for ; Fri, 21 Aug 2015 16:24:22 +0000 (UTC) (envelope-from dpl@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LGOMh5055748 for ; Fri, 21 Aug 2015 16:24:22 GMT (envelope-from dpl@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LGOI0X055661 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 16:24:18 GMT (envelope-from dpl@FreeBSD.org) Date: Fri, 21 Aug 2015 16:24:18 GMT Message-Id: <201508211624.t7LGOI0X055661@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to dpl@FreeBSD.org using -f From: dpl@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290032 - in soc2015/dpl: . extra extra/sys extra/sys/contrib extra/sys/contrib/pf extra/sys/contrib/pf/net extra/sys/sys ipfw presentation sys sys/net sys/netgraph sys/netinet sys/n... MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 16:24:22 -0000 Author: dpl Date: Fri Aug 21 16:24:17 2015 New Revision: 290032 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290032 Log: Import all the code from github. This is just a copy of github.com/dplbsd/netmap-ipfwjit. Added: soc2015/dpl/BSDmakefile soc2015/dpl/BUGS soc2015/dpl/LICENSE soc2015/dpl/Makefile soc2015/dpl/Makefile.inc soc2015/dpl/Makefile.kipfw soc2015/dpl/README.md soc2015/dpl/extra/ soc2015/dpl/extra/expand_number.c soc2015/dpl/extra/glue.c soc2015/dpl/extra/glue.h soc2015/dpl/extra/humanize_number.c soc2015/dpl/extra/ipfw2_mod.c soc2015/dpl/extra/linux_defs.h soc2015/dpl/extra/missing.c soc2015/dpl/extra/missing.h soc2015/dpl/extra/netmap_io.c soc2015/dpl/extra/session.c soc2015/dpl/extra/sys/ soc2015/dpl/extra/sys/contrib/ soc2015/dpl/extra/sys/contrib/pf/ soc2015/dpl/extra/sys/contrib/pf/net/ soc2015/dpl/extra/sys/contrib/pf/net/pfvar.h soc2015/dpl/extra/sys/sys/ soc2015/dpl/extra/sys/sys/kernel.h soc2015/dpl/extra/sys/sys/malloc.h soc2015/dpl/extra/sys/sys/mbuf.h soc2015/dpl/extra/sys/sys/module.h soc2015/dpl/extra/sys/sys/systm.h soc2015/dpl/extra/sys/sys/taskqueue.h soc2015/dpl/ipfw/ soc2015/dpl/ipfw/Makefile soc2015/dpl/ipfw/altq.c soc2015/dpl/ipfw/dummynet.c soc2015/dpl/ipfw/ipfw2.c soc2015/dpl/ipfw/ipfw2.h soc2015/dpl/ipfw/ipv6.c soc2015/dpl/ipfw/main.c soc2015/dpl/ipfw/nat.c soc2015/dpl/presentation/ soc2015/dpl/presentation/Figure1.png (contents, props changed) soc2015/dpl/presentation/jit.pdf (contents, props changed) soc2015/dpl/presentation/jit.tex (contents, props changed) soc2015/dpl/sys/ soc2015/dpl/sys/net/ soc2015/dpl/sys/net/pfil.h soc2015/dpl/sys/net/radix.c soc2015/dpl/sys/net/radix.h soc2015/dpl/sys/netgraph/ soc2015/dpl/sys/netgraph/ng_ipfw.h soc2015/dpl/sys/netinet/ soc2015/dpl/sys/netinet/in_cksum.c soc2015/dpl/sys/netinet/ip_dummynet.h soc2015/dpl/sys/netinet/ip_fw.h soc2015/dpl/sys/netinet/tcp.h soc2015/dpl/sys/netinet/udp.h soc2015/dpl/sys/netpfil/ soc2015/dpl/sys/netpfil/ipfw/ soc2015/dpl/sys/netpfil/ipfw/dn_heap.c soc2015/dpl/sys/netpfil/ipfw/dn_heap.h soc2015/dpl/sys/netpfil/ipfw/dn_sched.h soc2015/dpl/sys/netpfil/ipfw/dn_sched_fifo.c soc2015/dpl/sys/netpfil/ipfw/dn_sched_prio.c soc2015/dpl/sys/netpfil/ipfw/dn_sched_qfq.c soc2015/dpl/sys/netpfil/ipfw/dn_sched_rr.c soc2015/dpl/sys/netpfil/ipfw/dn_sched_wf2q.c soc2015/dpl/sys/netpfil/ipfw/ip_dn_glue.c soc2015/dpl/sys/netpfil/ipfw/ip_dn_io.c soc2015/dpl/sys/netpfil/ipfw/ip_dn_private.h soc2015/dpl/sys/netpfil/ipfw/ip_dummynet.c soc2015/dpl/sys/netpfil/ipfw/ip_fw2.c soc2015/dpl/sys/netpfil/ipfw/ip_fw_dynamic.c soc2015/dpl/sys/netpfil/ipfw/ip_fw_log.c soc2015/dpl/sys/netpfil/ipfw/ip_fw_pfil.c soc2015/dpl/sys/netpfil/ipfw/ip_fw_private.h soc2015/dpl/sys/netpfil/ipfw/ip_fw_rules.c soc2015/dpl/sys/netpfil/ipfw/ip_fw_rules.h soc2015/dpl/sys/netpfil/ipfw/ip_fw_sockopt.c soc2015/dpl/sys/netpfil/ipfw/ip_fw_table.c soc2015/dpl/sys/netpfil/ipfw/jit.cc soc2015/dpl/sys/netpfil/ipfw/jit.h soc2015/dpl/tests/ soc2015/dpl/tests/README.md soc2015/dpl/tests/configs/ soc2015/dpl/tests/configs/kipfwclear.sh soc2015/dpl/tests/configs/kipfwpassDNS.sh soc2015/dpl/tests/configs/kipfwpassUDP.sh soc2015/dpl/tests/tests/ soc2015/dpl/tests/tests/pktgen-passall/ soc2015/dpl/tests/tests/pktgen-passall/conductor.cfg soc2015/dpl/tests/tests/pktgen-passall/dut.cfg soc2015/dpl/tests/tests/pktgen-passall/sink.cfg soc2015/dpl/tests/tests/pktgen-passall/source.cfg soc2015/dpl/tools/ soc2015/dpl/tools/GNUmakefile soc2015/dpl/tools/Makefile soc2015/dpl/tools/README soc2015/dpl/tools/bridge.c soc2015/dpl/tools/click-test.cfg soc2015/dpl/tools/pkt-gen.c soc2015/dpl/tools/test_nm.c soc2015/dpl/tools/test_select.c soc2015/dpl/tools/testcsum.c soc2015/dpl/tools/testlock.c soc2015/dpl/tools/testmmap.c soc2015/dpl/tools/testmod/ soc2015/dpl/tools/testmod/Makefile soc2015/dpl/tools/testmod/kern_test.c soc2015/dpl/tools/vale-ctl.c Added: soc2015/dpl/BSDmakefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/dpl/BSDmakefile Fri Aug 21 16:24:17 2015 (r290032) @@ -0,0 +1,8 @@ +# forward to use gmake +.PHONY: ipfw kipfw + +all: + gmake + +$(.TARGETS) : + gmake MAKE=gmake $(.TARGETS) Added: soc2015/dpl/BUGS ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/dpl/BUGS Fri Aug 21 16:24:17 2015 (r290032) @@ -0,0 +1,73 @@ +# This file contains the information for the bugs we've encountered during the +# development process. It sort of follows the guideline of: +# http://courses.cse.tamu.edu/cscd606fall13/walker/Papers/BugScientificMethod.pdf + +1 BUG: Firewall can't compile code. -- Solved. + Comments: We think this happens due to the change in the LLVM version we're + using now. During the last summer, I used devel/llvm-devel, and we're now + settling with LLVM 3.5, and I'll probably end up porting to the C API. + Error message(s): + * (LLVM ERROR: Target does not support MC emission!) + * () (empty errsrt after creating ExecutionEngine). + * (LLVM ERROR: Inline asm not supported by this streamer because we + don't have an asm parser for this target) When using + InitializeNativeTargetAsmParser(). + * KERNEL PANIC: Happens when at initialization we call: + InitializeNativeTarget(); + InitializeNativeTargetAsmPrinter(); + InitializeNativeTargetAsmParser(); + LLVMLinkInMCJIT(); + This is not expected at all. We're supposedly playing at userland. + + + TEST: LLVM build is broken. + PROOF: Use same LLVM build with another compiler using MCJIT as well. + DISPROVEN: Another LLVM project works perfectly + (CompileTeaching/MysoreScript). + + TEST: Final IR is wrong. + PROOF: Dump IR into a file and compile with clang's assembler. + DISPROVEN: Not needed having a module verfier. + PROOF: Use the runtime code checker. (.setVerifyModule(true)) + DISPROVEN: Even when checking the module, it doesn't work. + + TEST: Function and module optimization are the culprit. + PROOF: Just do not perform any optimization. I also didn't deleted + "void_function" a function used so that we can use an initial bitcode + with the needed structs and type information. + DISPROVEN: Not working despite change. + + TEST: LLVM is initialized inadequately. + PROOF: Perform the minimal initialization, see if it works. + DISPROVEN: It doesn't work this way. + PROOF: Myscript is correct, therefore, we can debug its initialization + and perform it ourselves in the same way. + Comment: Instead of run a debugger, I'm trying to use something to + get a function call graph. That should do the work too. + I ended up copying the code from MysoreScript after searching for + too long. + DISPROVEN: Still getting the "Target does not support MC emission!" + error. + + TEST: Project is not build adequatelly. + Comment: This has been double checked now. + PROOF: Compile a different compiler and compare results. + DISPROVEN: Changed the Makefile to reflect the compiling and linking + process of another working compiler (CompileTeaching/MysoreScript). + It works perfectly. + +2 BUG: Kernel panic when filtering an unbounded quantity of packets. + TEST: Is there any hardcoded limit at the number of packets? + OBS: 500 packets - Kernel panic. + 625 packets - Kernel panic. + 750 packets - Kernel panic. + 1000 packets - Kernel panic. + +3 BUG: Code emission didn't work properly for some functions. -- Solved. +4 BUG: Code emission for some rules isn't yet completed. -- Solved. + - Still working on call/return. + +5 BUG: Compilation error when compiling code emitted by emit_jail(). -- Solved. + Comment: There's something wrong going on with the BasicBlocks used by this + function. It's emission is correct, though. + Solved by instead creating two branchs, OR'ed the result of two comparisons. Added: soc2015/dpl/LICENSE ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/dpl/LICENSE Fri Aug 21 16:24:17 2015 (r290032) @@ -0,0 +1,24 @@ +Copyright (c) 2014, dpl +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER 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. + Added: soc2015/dpl/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/dpl/Makefile Fri Aug 21 16:24:17 2015 (r290032) @@ -0,0 +1,38 @@ +# +# This is a gnu makefile to build ipfw in userspace. +# Usage: +# +# make NETMAP_INC=/some/place/with/netmap-release/sys +# +# build with make NETMAP_INC=/place/with/netmap/sys + +SUBDIRS= ipfw dummynet +.PHONY: ipfw kipfw + +include Makefile.inc +all: ipfw kipfw + +ipfw: $(OBJDIR) + $(MSG) Building userspace ... + @(cd ipfw && $(MAKE) $(MAKECMDGOALS) ) + +$(OBJDIR): + -@mkdir $(OBJDIR) + +kipfw: $(OBJDIR) + $(MSG) Building datapath ... + @(cd $(OBJDIR) && $(MAKE) -f ../Makefile.kipfw && cp kipfw ..) + +clean: + -@rm -rf $(OBJDIR) kipfw + @(cd ipfw && $(MAKE) clean ) + -@rm -f *.bc + +tgz: + @$(MAKE) clean + (cd ..; tar cvzf /tmp/ipfw-user.tgz --exclude .svn ipfw-user) + +# compute diffs wrt FreeBSD head tree in BSD_HEAD +diffs: + -@diff -urp --exclude Makefile $(BSD_HEAD)/sbin/ipfw ipfw + -@diff -urp --exclude Makefile $(BSD_HEAD)/sys sys Added: soc2015/dpl/Makefile.inc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/dpl/Makefile.inc Fri Aug 21 16:24:17 2015 (r290032) @@ -0,0 +1,40 @@ +# +# this is a gnu makefile + +# Use LLVM 3.5. +# CXXFLAGS includes -g +LLVM_CONFIG=/home/dpl/wrk/llvm_build/bin/llvm-config +CC=clang35 +CCXX=clang++35 +LLVM_VERSION=-DLLVM_MAJOR=3 -DLLVM_MINOR=5 +LLVM_CXXFLAGS=`${LLVM_CONFIG} --cxxflags` +LLVM_LDFLAGS=`${LLVM_CONFIG} --ldflags` +LLVM_SYSLIBS=`${LLVM_CONFIG} --system-libs` +LLVM_LIBS=`${LLVM_CONFIG} --libs all` + + +BSD_HEAD ?= /home/luigi/FreeBSD/head +NETMAP_INC ?= ../netmap-release/sys + +OBJDIR=objs +OSARCH := $(shell uname) +OSARCH := $(findstring $(OSARCH),FreeBSD Linux Darwin) +ifeq ($(OSARCH),) + OSARCH := Windows +endif + +ifeq ($V,) # no echo + MSG=@echo + HIDE=@ +else + MSG=@\# + HIDE= +endif + +# ipfw and kipfw are built in subdirs so the paths for +# headers refer to one directory up +INCDIRS += -I ../$(OBJDIR)/include_e -DEMULATE_SYSCTL +INCDIRS += -I ../sys -I ../extra/sys -I ../extra/sys/contrib/pf +.c.o: + $(MSG) " CC $<" + $(HIDE) $(CC) $(CFLAGS) -O0 -g -c $< -o $@ Added: soc2015/dpl/Makefile.kipfw ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/dpl/Makefile.kipfw Fri Aug 21 16:24:17 2015 (r290032) @@ -0,0 +1,183 @@ +# gnu Makefile to build a userland version of the +# kernel code for ipfw+dummynet +# +# The kernel code is compiled with appropriate flags to make +# it see a kernel-like environment. +# The userland emulation code is compiler with regular flags. + +# M is the current directory, used in recursive builds +# so we allow it to be overridden +include ../Makefile.inc +VPATH = ../extra:../sys/netpfil/ipfw:../sys/netinet:../sys/net +M ?= $(shell pwd) +OBJPATH = $(M)/../$(OBJDIR) + +ifeq ($(OSARCH),Darwin) + CFLAGS2 += -D__BSD_VISIBLE + EFILES_. += libutil.h + EFILES_sys += condvar.h priv.h _lock.h rmlock.h + EFILES_machine += in_cksum.h + EFILES_netinet += ip_carp.h pim.h sctp.h + EFILES_net += netisr.h vnet.h +endif + +ifeq ($(OSARCH),Linux) + CFLAGS2 += -D__BSD_VISIBLE + CFLAGS2 += -include ../extra/linux_defs.h + CFLAGS2 += -Wno-unused-but-set-variable + EFILES_. += libutil.h + EFILES_sys += condvar.h priv.h _lock.h rmlock.h + EFILES_sys += lock.h ucred.h # taskqueue.h + EFILES_sys += sockio.h + EFILES_sys += cpuset.h + EFILES_machine += in_cksum.h + EFILES_netinet += in_pcb.h ip_carp.h pim.h sctp.h tcp_var.h + EFILES_net += if_types.h bpf.h netisr.h vnet.h + EFILES_linux += module.h +endif + +ifeq ($(OSARCH),Windows) + CFLAGS2 += -D__BSD_VISIBLE +# CFLAGS2 += -include ../extra/linux_defs.h + CFLAGS2 += -Wno-unused-but-set-variable +# EFILES_. += libutil.h +# EFILES_sys += condvar.h priv.h _lock.h rmlock.h +# EFILES_sys += lock.h ucred.h # taskqueue.h +# EFILES_sys += sockio.h +# EFILES_machine += in_cksum.h +# EFILES_netinet += in_pcb.h ip_carp.h pim.h sctp.h tcp_var.h +# EFILES_net += if_types.h bpf.h netisr.h vnet.h +# EFILES_linux += module.h + EFILES_sys += sockio.h + EFILES_net += ethernet.h + EFILES_sys += condvar.h priv.h socketvar.h ucred.h + EFILES_net += vnet.h + EFILES_netinet += in_pcb.h ip_carp.h pim.h sctp.h tcp_var.h +endif + +NETMAP_FLAGS = -DWITH_NETMAP -I$(NETMAP_INC) + +E_CFLAGS += $(INCDIRS) +E_CFLAGS += -include $(M)/../extra/glue.h # headers +E_CFLAGS += -include $(M)/../extra/missing.h # headers +E_CFLAGS += -O2 -Wall -Werror -fno-strict-aliasing +E_CFLAGS += -g +E_CFLAGS += -DKERNEL_SIDE # build the kernel side of the firewall +E_CFLAGS += -DUSERSPACE # communicate through userspace +E_CFLAGS += $(EFLAGS) $(NETMAP_FLAGS) +E_CFLAGS += -DINET +E_CFLAGS += -DIPFIREWALL_DEFAULT_TO_ACCEPT +E_CFLAGS += -D_BSD_SOURCE +# many of the kernel headers need _KERNEL +E_CFLAGS += -D_KERNEL +E_CFLAGS += $(CFLAGS2) + +#ipfw + dummynet section, other parts are not compiled in +SRCS_IPFW = ip_fw2.c ip_fw_pfil.c ip_fw_sockopt.c +SRCS_IPFW += ip_fw_dynamic.c ip_fw_table.c +SRCS_IPFW += ip_fw_log.c +SRCS_IPFW += ip_dummynet.c ip_dn_io.c ip_dn_glue.c +SRCS_IPFW += dn_heap.c +SRCS_IPFW += dn_sched_fifo.c dn_sched_wf2q.c +SRCS_IPFW += dn_sched_rr.c dn_sched_qfq.c +SRCS_IPFW += dn_sched_prio.c +SRCS_NET = radix.c +SRCS_NETINET = in_cksum.c +# Module glue and functions missing in linux +IPFW_SRCS = $(SRCS_IPFW) $(SRCS_NET) $(SRCS_NETINET) +IPFW_SRCS += ipfw2_mod.c # bsd_compat.c + +IPFW_SRCS += missing.c session.c netmap_io.c +IPFW_CFLAGS= -DINET + +E_CFLAGS += -Dradix +MOD := kipfw + +CFLAGS = $(E_CFLAGS) + +IPFW_OBJS= $(IPFW_SRCS:%.c=%.o) +IPFW_OBJS+= jit.o + +all: include_e $(MOD) + +# entries to create empty files +EFILES_. += opt_inet.h opt_ipsec.h opt_ipdivert.h +EFILES_. += opt_inet6.h opt_ipfw.h opt_mpath.h +EFILES_. += opt_mbuf_stress_test.h opt_param.h +EFILES_. += timeconv.h + +EFILES_altq += if_altq.h + +EFILES_net += if_var.h route.h if_clone.h +EFILES_netpfil/pf += pf_mtag.h +EFILES_netinet += in_var.h ip_var.h udp_var.h +EFILES_netinet6 += ip6_var.h +EFILES_sys += proc.h sockopt.h sysctl.h +# new +EFILES_sys += mutex.h _mutex.h _rwlock.h rwlock.h +EFILES_sys += eventhandler.h +EFILES_sys += jail.h ktr.h + +#EFILES += sys/_lock.h sys/_rwlock.h sys/rwlock.h sys/rmlock.h sys/_mutex.h sys/mutex.h +#EFILES += sys/condvar.h sys/eventhandler.h # sys/domain.h +#EFILES += sys/limits.h sys/lock.h sys/mutex.h sys/priv.h +#EFILES += sys/proc.h sys/rwlock.h sys/socket.h sys/socketvar.h +#EFILES += sys/sysctl.h sys/time.h sys/ucred.h + +#EFILES += vm/uma_int.h vm/vm_int.h vm/uma_dbg.h +#EFILES += vm/vm_dbg.h vm/vm_page.h vm/vm.h +#EFILES += sys/rwlock.h sys/sysctl.h + +# first make a list of directories from variable names +EDIRS= $(subst EFILES_,,$(filter EFILES_%,$(.VARIABLES))) +# then prepend the directory name to individual files. +# $(empty) serves to interpret the following space literally, +# and the ": = " substitution packs spaces into one. +EFILES = $(foreach i,$(EDIRS),$(subst $(empty) , $(i)/, $(EFILES_$(i): = ))) + +include_e: + -@echo "Building $(OBJPATH)/include_e ..." + -$(HIDE)rm -rf $(OBJPATH)/include_e opt_* + -$(HIDE)mkdir -p $(OBJPATH)/include_e + -$(HIDE)(cd $(OBJPATH)/include_e; mkdir -p $(EDIRS); touch $(EFILES) ) + +$(IPFW_OBJS) : ../extra/glue.h + +ip_fw2.o ip_dummynet.o: # EFLAGS= -include missing.h +ip_fw2.o: jit.o + +# Generate the actual bytecode to be used, +# since we don't want to get our symbols removed, we're compiling with -O0. +../rules.bc: + $(CC) $(CFLAGS) -O0 -emit-llvm -c -o ../rules.bc ../sys/netpfil/ipfw/ip_fw_rules.c + +radix.o:# CFLAGS += -U_KERNEL + +# session.o: CFLAGS = -O2 +nm_util.o: CFLAGS = -O2 -Wall -Werror $(NETMAP_FLAGS) + +# kipfw, CXXFLAGS includes -g +LINKTIME_FLAGS += -std=c++11 -Wno-zero-length-array +LINKTIME_FLAGS += ${LLVM_CXXFLAGS} $(LLVM_VERSION) ${LLVM_LDFLAGS} +$(MOD): $(IPFW_OBJS) + $(MSG) " LD $@" + $(HIDE)${CCXX} $(LINKTIME_FLAGS) -Wl,--export-dynamic $^ -o $@ ${LLVM_LIBS} ${LLVM_SYSLIBS} + + +#Flags needed for jit.cc +JIT_CFLAGS += $(INCDIRS) $(NETMAP_FLAGS) +JIT_CFLAGS += -DINET -D_KERNEL -D_BSD_SOURCE -DKERNEL_SIDE -DUSERSPACE +JIT_CFLAGS += -I ../extra/ -Wno-extern-c-compat -Wno-comment +JIT_CFLAGS += ${LLVM_CXXFLAGS} $(LLVM_VERSION) +jit.o: jit.cc ../rules.bc + $(MSG) " CC $<" + $(HIDE)${CCXX} $(JIT_CFLAGS) -O0 -c -o ./jit.o ../sys/netpfil/ipfw/jit.cc + +clean: + -rm -f *.o $(DN) $(MOD) + -rm -rf include_e + +diff: + @-(for i in $(SRCS_IPFW) ; do diff -ubw $(BSD_HEAD)/sys/netpfil/ipfw/$$i .; done) + @-(for i in $(SRCS_NET) ; do diff -ubw $(BSD_HEAD)/sys/net/$$i . ; done) + @-(for i in $(SRCS_NETINET) ; do diff -ubw $(BSD_HEAD)/sys/netinet/$$i .; done) Added: soc2015/dpl/README.md ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/dpl/README.md Fri Aug 21 16:24:17 2015 (r290032) @@ -0,0 +1,99 @@ +Note: This README is taken from the original netmap-ipfw, and adopted as needed +here. + +netmap-ipfwjit +============== +This directory contains a version of ipfw and dummynet that can run in +userland, using NETMAP as the backend for packet I/O. This permits a +throughput about 10 times higher than the corresponding in-kernel version. +Luigi has measured about 6.5 Mpps for plain filtering, and 2.2 Mpps going +through a pipe. Some optimizations are possible when running on netmap pipes, +or other netmap ports that support zero copy. + +To build the code simply run + make NETMAP_INC=/some/where/with/netmap-release/sys + +pointing to the netmap 'sys' directory (make will use gmake underneath). + +The base version comes from FreeBSD-HEAD -r '{2012-08-03}' +(and subsequently updated in late 2013) with small modifications listed below + + netinet/ipfw + ip_dn_io.c + support for on-stack mbufs + ip_fw2.c + some conditional compilation for functions not + available in userspace + ip_fw_log.c + revise snprintf, SNPARGS (MAC) + + +sbin/ipfw and the kernel counterpart communicate through a TCP socket +(localhost:5555) carrying the raw data that would normally be carried on +seg/getsockopt. + +Testing +======= +For testing purposes, opening a telnet session to port 5556 and typing some +bytes will start a fake 'infinite source' so you can check how fast your +ruleset works. + + gmake + dummynet/ipfw & # preferably in another window + telnet localhost 5556 # type some bytes to start 'traffic' + + sh -c "while true; do ipfw/ipfw show; ipfw/ipfw zero; sleep 1; done" + +(on an i7-3400 Luigi gets about 15 Mpps) + +Real packet I/O is possible using netmap info.iet.unipi.it/~luigi/netmap/ You +can use a couple of VALE switches (part of netmap, included in ./tools/) to +connect a source and sink to the userspace firewall, as follows: + + [pkt-gen]-->--[valeA:s]-->--[kipfw]-->--[valeA:r]-->--[pkt-gen] + +The commands to run (in separate windows) are: + + # preliminarly, load the netmap module if needed: + sudo kldload netmap.ko + + # connect the firewall to two vale switches + ./kipfw valeA:f valeB:f & + + # configure ipfw/dummynet + ipfw/ipfw show # or other + + # start the sink + pkt-gen -i valeB:d -f rx + + # start an infinite source + pkt-gen -i valeA:s -f tx + + # plain again with the firewall and enjoy + ipfw/ipfw show # or other + +Luigi reports that on his i7-3400 he got about 6.5 Mpps with a single rule, and +about 2.2 Mpps when going through a dummynet pipe using netmap-ipfw. This is +for a single process handling the traffic. + +Unfortunately, this is not enough to test it properly, as we'll have to test +different protocols besides IP, which is what ./tools/pkt-gen does. At some +point, we'll test the firewall properly with a set of rulesets, that will be +added to ./rulesets and commented adequately. + +Simple benchmarch +================= +We executed and tested it with just one rule (accept all), and 1k packets and +this is what we found (This was done on a computer with a 3 year-old i7): +- Compilation time: 130ms (Amortized when 41440 packets are filtered). +- Filtering time (JIT): 523us +- Filtering time (Interpreter): 3664us + +This basically means we'll have a x7 speedup compared to the interpreter, and +the more rules we have, the better the speedup will be. + +Current state +============= +- The JIT compiler is not working. +- All the commands except the flow-modifying ones should work well. + Added: soc2015/dpl/extra/expand_number.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/dpl/extra/expand_number.c Fri Aug 21 16:24:17 2015 (r290032) @@ -0,0 +1,101 @@ +/*- + * Copyright (c) 2007 Eric Anderson + * Copyright (c) 2007 Pawel Jakub Dawidek + * 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 AUTHORS 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 AUTHORS 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: head/lib/libutil/expand_number.c 211343 2010-08-15 18:32:06Z des $"); + +#include +#include +#include +#include +//#include +#include + +/* + * Convert an expression of the following forms to a uint64_t. + * 1) A positive decimal number. + * 2) A positive decimal number followed by a 'b' or 'B' (mult by 1). + * 3) A positive decimal number followed by a 'k' or 'K' (mult by 1 << 10). + * 4) A positive decimal number followed by a 'm' or 'M' (mult by 1 << 20). + * 5) A positive decimal number followed by a 'g' or 'G' (mult by 1 << 30). + * 6) A positive decimal number followed by a 't' or 'T' (mult by 1 << 40). + * 7) A positive decimal number followed by a 'p' or 'P' (mult by 1 << 50). + * 8) A positive decimal number followed by a 'e' or 'E' (mult by 1 << 60). + */ +int +expand_number(const char *buf, uint64_t *num) +{ + uint64_t number; + unsigned shift; + char *endptr; + + number = strtoumax(buf, &endptr, 0); + + if (endptr == buf) { + /* No valid digits. */ + errno = EINVAL; + return (-1); + } + + switch (tolower((unsigned char)*endptr)) { + case 'e': + shift = 60; + break; + case 'p': + shift = 50; + break; + case 't': + shift = 40; + break; + case 'g': + shift = 30; + break; + case 'm': + shift = 20; + break; + case 'k': + shift = 10; + break; + case 'b': + case '\0': /* No unit. */ + *num = number; + return (0); + default: + /* Unrecognized unit. */ + errno = EINVAL; + return (-1); + } + + if ((number << shift) >> shift != number) { + /* Overflow */ + errno = ERANGE; + return (-1); + } + + *num = number << shift; + return (0); +} Added: soc2015/dpl/extra/glue.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/dpl/extra/glue.c Fri Aug 21 16:24:17 2015 (r290032) @@ -0,0 +1,540 @@ +/* + * Userland functions missing in linux + * taken from /usr/src/lib/libc/stdtime/time32.c + */ + +#include +#include +#include +#include +#include /* sockaddr_in */ +#include +#include /* uint* types */ +#include +#include /* bzero */ +#include /* htonl */ + +#ifndef HAVE_NAT +/* dummy nat functions */ +void +ipfw_show_nat(int ac, char **av) +{ + D("unsupported"); +} + +void +ipfw_config_nat(int ac, char **av) +{ + D("unsupported"); +} +#endif /* HAVE_NAT */ + +#ifdef NEED_STRTONUM +/* missing in linux and windows */ +long long int +strtonum(const char *nptr, long long minval, long long maxval, + const char **errstr) +{ + long long ret; + int errno_c = errno; /* save actual errno */ + + errno = 0; +#ifdef TCC + ret = strtol(nptr, (char **)errstr, 0); +#else + ret = strtoll(nptr, (char **)errstr, 0); +#endif + /* We accept only a string that represent exactly a number (ie. start + * and end with a digit). + * FreeBSD version wants errstr==NULL if no error occurs, otherwise + * errstr should point to an error string. + * For our purspose, we implement only the invalid error, ranges + * error aren't checked + */ + if (errno != 0 || nptr == *errstr || **errstr != '\0') + *errstr = "invalid"; + else { + *errstr = NULL; + errno = errno_c; + } + return ret; +} + +int +ishexnumber(int c) +{ + return ((c >= '0' && c <= '9') || + (c >= 'a' && c <= 'f') || + (c >= 'A' && c <= 'F') ); +} + +#endif /* NEED_STRTONUM */ + +#ifdef __linux__ + + +int optreset; /* missing in linux */ + +/* + * not implemented in linux. + * taken from /usr/src/lib/libc/string/strlcpy.c + */ +size_t +strlcpy(dst, src, siz) + char *dst; + const char *src; + size_t siz; +{ + char *d = dst; + const char *s = src; + size_t n = siz; + + /* Copy as many bytes as will fit */ + if (n != 0 && --n != 0) { + do { + if ((*d++ = *s++) == 0) + break; + } while (--n != 0); + } + + /* Not enough room in dst, add NUL and traverse rest of src */ + if (n == 0) { + if (siz != 0) + *d = '\0'; /* NUL-terminate dst */ + while (*s++) + ; + } + + return(s - src - 1); /* count does not include NUL */ +} + + +#endif /* __linux__ */ + + +#if defined (EMULATE_SYSCTL) +//XXX missing prerequisites +#include //openwrt +#include //openwrt +#include +#include +int do_cmd(int optname, void *optval, uintptr_t optlen); +#endif /* EMULATE_SYSCTL */ + +/* + * set or get system information + * XXX lock acquisition/serialize calls + * + * we export this as sys/module/ipfw_mod/parameters/___ + * This function get or/and set the value of the sysctl passed by + * the name parameter. If the old value is not desired, + * oldp and oldlenp should be set to NULL. + * + * XXX + * I do not know how this works in FreeBSD in the case + * where there are no write permission on the sysctl var. + * We read the value and set return variables in any way + * but returns -1 on write failures, regardless the + * read success. + * + * Since there is no information on types, in the following + * code we assume a length of 4 is a int. + * + * Returns 0 on success, -1 on errors. + */ +int +sysctlbyname(const char *name, void *oldp, size_t *oldlenp, void *newp, + size_t newlen) +{ +#if defined (EMULATE_SYSCTL) + /* + * we embed the sysctl request in the usual sockopt mechanics. + * the sockopt buffer il filled with a dn_id with IP_DUMMYNET3 + * command, and the special DN_SYSCTL_GET and DN_SYSCTL_SET + * subcommands. + * the syntax of this function is fully compatible with + * POSIX sysctlby name: + * if newp and newlen are != 0 => this is a set + * else if oldp and oldlen are != 0 => this is a get + * to avoid too much overhead in the module, the whole + * sysctltable is returned, and the parsing is done in userland, + * a probe request is done to retrieve the size needed to + * transfer the table, before the real request + * if both old and new params = 0 => this is a print + * this is a special request, done only by main() + * to implement the extension './ipfw sysctl', + * a command that bypasses the normal getopt, and that + * is available on those platforms that use this + * sysctl emulation. + * in this case, a negative oldlen signals that *oldp + * is actually a FILE* to print somewhere else than stdout + */ + + int l; + int ret; + struct dn_id* oid; + struct sysctlhead* entry; + char* pstring; + char* pdata; + FILE* fp; + + if((oldlenp != NULL) && ((int)*oldlenp < 0)) + fp = (FILE*)oldp; + else + fp = stdout; + if(newp != NULL && newlen != 0) + { + //this is a set + l = sizeof(struct dn_id) + sizeof(struct sysctlhead) + strlen(name)+1 + newlen; + oid = malloc(l); + if (oid == NULL) + return -1; + oid->len = l; + oid->type = DN_SYSCTL_SET; + oid->id = DN_API_VERSION; + + entry = (struct sysctlhead*)(oid+1); + pdata = (char*)(entry+1); + pstring = pdata + newlen; + + entry->blocklen = ((sizeof(struct sysctlhead) + strlen(name)+1 + newlen) + 3) & ~3; + entry->namelen = strlen(name)+1; + entry->flags = 0; + entry->datalen = newlen; + + bcopy(newp, pdata, newlen); + bcopy(name, pstring, strlen(name)+1); + + ret = do_cmd(IP_DUMMYNET3, oid, (uintptr_t)l); + if (ret != 0) + return -1; + } + else + { + //this is a get or a print + l = sizeof(struct dn_id); + oid = malloc(l); + if (oid == NULL) + return -1; + oid->len = l; + oid->type = DN_SYSCTL_GET; + oid->id = DN_API_VERSION; + + ret = do_cmd(-IP_DUMMYNET3, oid, (uintptr_t)&l); + if (ret != 0) + return -1; + + l=oid->id; + free(oid); + oid = malloc(l); + if (oid == NULL) + return -1; + oid->len = l; + oid->type = DN_SYSCTL_GET; + oid->id = DN_API_VERSION; + + ret = do_cmd(-IP_DUMMYNET3, oid, (uintptr_t)&l); + if (ret != 0) + return -1; + + entry = (struct sysctlhead*)(oid+1); + while(entry->blocklen != 0) + { + pdata = (char*)(entry+1); + pstring = pdata+entry->datalen; + + //time to check if this is a get or a print + if(name != NULL && oldp != NULL && *oldlenp > 0) + { + //this is a get + if(strcmp(name,pstring) == 0) + { + //match found, sanity chech on len + if(*oldlenp < entry->datalen) + { + printf("%s error: buffer too small\n",__FUNCTION__); + return -1; + } + *oldlenp = entry->datalen; + bcopy(pdata, oldp, *oldlenp); + return 0; + } + } + else + { + //this is a print + if( name == NULL ) + goto print; + if ( (strncmp(pstring,name,strlen(name)) == 0) && ( pstring[strlen(name)]=='\0' || pstring[strlen(name)]=='.' ) ) + goto print; + else + goto skip; +print: + fprintf(fp, "%s: ",pstring); + switch( entry->flags >> 2 ) + { + case SYSCTLTYPE_LONG: + fprintf(fp, "%li ", *(long*)(pdata)); + break; + case SYSCTLTYPE_UINT: + fprintf(fp, "%u ", *(unsigned int*)(pdata)); + break; + case SYSCTLTYPE_ULONG: + fprintf(fp, "%lu ", *(unsigned long*)(pdata)); + break; + case SYSCTLTYPE_INT: + default: + fprintf(fp, "%i ", *(int*)(pdata)); + } + if( (entry->flags & 0x00000003) == CTLFLAG_RD ) + fprintf(fp, "\t(read only)\n"); + else + fprintf(fp, "\n"); +skip: ; + } + entry = (struct sysctlhead*)((unsigned char*)entry + entry->blocklen); + } + free(oid); + return 0; + } + //fallback for invalid options + return -1; + +#else /* __linux__ */ + FILE *fp; + char *basename = "/sys/module/ipfw_mod/parameters/"; + char filename[256]; /* full filename */ + char *varp; + int ret = 0; /* return value */ + int d; + + if (name == NULL) /* XXX set errno */ + return -1; + + /* locate the filename */ + varp = strrchr(name, '.'); + if (varp == NULL) /* XXX set errno */ + return -1; + + snprintf(filename, sizeof(filename), "%s%s", basename, varp+1); + + /* + * XXX we could open the file here, in rw mode + * but need to check if a file have write + * permissions. + */ + + /* check parameters */ + if (oldp && oldlenp) { /* read mode */ + fp = fopen(filename, "r"); + if (fp == NULL) { + fprintf(stderr, "%s fopen error reading filename %s\n", __FUNCTION__, filename); + return -1; + } + if (*oldlenp == 4) { + if (fscanf(fp, "%d", &d) == 1) + memcpy(oldp, &d, *oldlenp); + else + ret = -1; + } + fclose(fp); + } + + if (newp && newlen) { /* write */ + fp = fopen(filename, "w"); + if (fp == NULL) { + fprintf(stderr, "%s fopen error writing filename %s\n", __FUNCTION__, filename); + return -1; + } + if (newlen == 4) { + if (fprintf(fp, "%d", *(int*)newp) < 1) + ret = -1; + } + + fclose(fp); + } + + return ret; +#endif /* __linux__ */ +} + +/* + * The following two functions implement getsockopt/setsockopt + * replacements to talk over a TCP socket. + * Because the calls are synchronous, we can run blocking code + * and do not need to play special tricks to be selectable. + * The wire protocol for the emulation is the following: + * REQUEST: n32 req_size, level, optname; u8 data[req_size] + * RESPONSE: n32 resp_size, ret_code; u8 data[resp_size] + * data is only present if ret_code == 0 + * + * Return 0 if the message wan sent to the remote + * endpoint, -1 on error. + * + * If the required lenght is greater then the + * available buffer size, -1 is returned and + * optlen is the required lenght. + */ +enum sock_type {GET_SOCKOPT, SET_SOCKOPT}; + +struct wire_hdr { + uint32_t optlen; /* actual data len */ + uint32_t level; /* or error */ + uint32_t optname; /* or act len */ + uint32_t dir; /* in or out */ +}; + +/* do a complete write of the buffer */ +static int +writen(int fd, const char *buf, int len) +{ + int i; + + for (; len > 0; buf += i, len -= i) { + i = write(fd, buf, len); + ND("have %d wrote %d", len, i); + if (i < 0) { + if (errno == EAGAIN) + continue; + return -1; + } + } + return 0; +} + +/* do a complete read */ +static int +readn(int fd, char *buf, int len) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-soc-all@freebsd.org Fri Aug 21 16:25:27 2015 Return-Path: Delivered-To: svn-soc-all@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 B5D519BFA15 for ; Fri, 21 Aug 2015 16:25:27 +0000 (UTC) (envelope-from clord@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 A6AF87F5 for ; Fri, 21 Aug 2015 16:25:27 +0000 (UTC) (envelope-from clord@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LGPRU0057063 for ; Fri, 21 Aug 2015 16:25:27 GMT (envelope-from clord@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LGPRmG057058 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 16:25:27 GMT (envelope-from clord@FreeBSD.org) Date: Fri, 21 Aug 2015 16:25:27 GMT Message-Id: <201508211625.t7LGPRmG057058@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to clord@FreeBSD.org using -f From: clord@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290033 - soc2015/clord/head/sys/contrib/ficl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 16:25:27 -0000 Author: clord Date: Fri Aug 21 16:25:26 2015 New Revision: 290033 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290033 Log: Add call to ficlDictionaryCheckThreshold, as was done in ficl 3. Modified: soc2015/clord/head/sys/contrib/ficl/primitives.c Modified: soc2015/clord/head/sys/contrib/ficl/primitives.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/primitives.c Fri Aug 21 16:24:17 2015 (r290032) +++ soc2015/clord/head/sys/contrib/ficl/primitives.c Fri Aug 21 16:25:26 2015 (r290033) @@ -1161,6 +1161,8 @@ ficlDictionary *dictionary = ficlVmGetDictionary(vm); ficlString name = ficlVmGetWord(vm); + ficlDictionaryCheckThreshold(dictionary); + ficlDictionaryAppendWord(dictionary, name, (ficlPrimitive)ficlInstructionVariableParen, FICL_WORD_DEFAULT); ficlVmDictionaryAllotCells(vm, dictionary, 1); return; From owner-svn-soc-all@freebsd.org Fri Aug 21 16:30:39 2015 Return-Path: Delivered-To: svn-soc-all@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 1786C9BFB6E for ; Fri, 21 Aug 2015 16:30:39 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 06DE3982 for ; Fri, 21 Aug 2015 16:30:39 +0000 (UTC) (envelope-from roam@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LGUcGL064546 for ; Fri, 21 Aug 2015 16:30:38 GMT (envelope-from roam@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LGUcCu064529 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 16:30:38 GMT (envelope-from roam@FreeBSD.org) Date: Fri, 21 Aug 2015 16:30:38 GMT Message-Id: <201508211630.t7LGUcCu064529@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to roam@FreeBSD.org using -f From: roam@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290034 - soc2015/roam MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 16:30:39 -0000 Author: roam Date: Fri Aug 21 16:30:37 2015 New Revision: 290034 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290034 Log: Document different modes of testing. Modified: soc2015/roam/README.txt Modified: soc2015/roam/README.txt ============================================================================== --- soc2015/roam/README.txt Fri Aug 21 16:25:26 2015 (r290033) +++ soc2015/roam/README.txt Fri Aug 21 16:30:37 2015 (r290034) @@ -44,8 +44,8 @@ so on, without interfering with the operation of the node. -Building ng_ayiya ------------------ +Building ng_ayiya from source +----------------------------- Building the AYIYA Netgraph node should be straightforward: obtain a copy of the source tree, change into the ng_ayiya/ subdirectory (the one containing @@ -58,46 +58,60 @@ If you'd like to install it into the system's kernel modules directory, run: make install + +Building ng_ayiya, aiccu and Net-SixXS from the ports +----------------------------------------------------- -Using ng_ayiya --------------- +This project includes FreeBSD ports for the AYIYA Netgraph node, the modified +verison of the SixXS AICCU tool, and some additional testing tools. +To use them, follow this procedure: -Bringing up an IPv6 tunnel using the AYIYA Netgraph node involves -the following steps: +1. Obtain a copy of the source tree. -1. Use the sixxs-aiccu utility to make sure that your SixXS tunnel is active - and there are no network connectivity issues in running AYIYA. +2. Change to the ports/ subdirectory. + +3. Run the update.pl tool to modify your existing ports collection (residing + in /usr/ports/), adding symlinks to the new ports and rsync'ing the aiccu + one for the changes. + +4. Build the Net-SixXS helper tools: + + cd /usr/ports/net/p5-Net-SixXS && sudo make && sudo make install + +5. Build the ng_ayiya tool: -2. Get the Net-SixXS Perl distribution from its Git repository: + cd /usr/ports/net/ng_ayiya && sudo make && sudo make install - git clone https://gitlab.com/ppentchev/Net-SixXS.git +6. Build the SixXS AICCU tool with Netgraph support: -3. Build and optionally install Net-SixXS: + cd /usr/ports/net/sixxs-aiccu + sudo make config # enable the NETGRAPH option + sudo make && sudo make install - cd Net-SixXS - perl Build.PL - ./Build - ./Build test - # If you'd like to install Net-SixXS system-wide, do this as root: - ./Build install +Using ng_ayiya by itself +------------------------ + +Bringing up an IPv6 tunnel using the AYIYA Netgraph node involves +the following steps: + +1. Use the sixxs-aiccu utility to make sure that your SixXS tunnel is active + and there are no network connectivity issues in running AYIYA. + +2. Make sure the p5-Net-SixXS toolset is installed (see the previous section). -4. Use the sixxs-tic-tunnels tool from Net-SixXS to obtain information about +3. Use the sixxs-tic-tunnels tool from Net-SixXS to obtain information about your configured SixXS tunnels in a format usable by ng_ayiya's testing infrastructure: - # If you have installed Net-SixXS system-wide: sixxs-tic-tunnels -s tic.sixxs.net -f /usr/local/etc/aiccu.conf > tic-tunnels.txt - # If you have only built it and are still within the Net-SixXS directory: - perl -Iblib/lib scripts/sixxs-tic-tunnels -s tic.sixxs.net -f /usr/local/etc/aiccu.conf > tic-tunnels.txt +4. Copy the tic-tunnels.txt file to the ng_ayiya source directory. -5. Copy the tic-tunnels.txt file to the ng_ayiya source directory. +5. Change into the ng_ayiya source directory (the one containing ng_ayiya.c) -6. Change into the ng_ayiya source directory (the one containing ng_ayiya.c) - -7. Build ng_ayiya: +6. Build ng_ayiya: make cleandir && make cleandir @@ -107,25 +121,25 @@ make depend make -8. Load the kernel module and create an AYIYA node: +7. Load the kernel module and create an AYIYA node: make down # or make teardown make up # or make setup -9. Check to see that the AYIYA node is loaded properly; these commands +8. Check to see that the AYIYA node is loaded properly; these commands should report that it has not been configured yet and it has no hooks: sudo ngctl list sudo ngctl status sc_ayiya: sudo ngctl config sc_ayiya: -10. Use the testing scaffold to create a simple graph and connect to your - SixXS tunnel; replace "T22928" with the name of your tunnel as listed - in the tic-tunnels.txt file: +9. Use the testing scaffold to create a simple graph and connect to your + SixXS tunnel; replace "T22928" with the name of your tunnel as listed + in the tic-tunnels.txt file: make tic TIC_TUNNEL=T22928 -11. Check that your tunnel is up and running: +10. Check that your tunnel is up and running: sudo ngctl status sc_ayiya: sudo ngctl config sc_ayiya: @@ -141,10 +155,52 @@ curl -6s http://www.kame.net/ | fgrep -e 'Dancing kame' -To-do list ----------- +Using SixXS aiccu with Netgraph support +--------------------------------------- + +To use the SixXS aiccu tool with Netgraph support to bring up a SixXS +tunnel, build it from its port as per the "Building from ports" section +above, then start it. It should connect to the SixXS TIC server normally, +obtain information about your tunnels, then configure an ng_ayiya node +and its requisite ng_ksocket and ng_iface nodes, and set them up for +traffic to flow. + + +Using SixXS aiccu for a local testing tunnel against ng_ayiya +------------------------------------------------------------- + +The top-level Makefile in this source distribution contains a target +allowing you to use the included ayiya_listen and ayiya_resp tools to +set up an AYIYA server for aiccu to connect to. To do that, follow these +steps: + +1. On the client, update the aiccu.conf file to point to the local host + as the TIC server ("server 127.0.0.1"). + +1. On the client, set up a tic-tunnels.txt file with the server's IPv4 + address in the 'IPv4 POP' field, and the client's and the server's IPv6 + addresses respectively in the 'IPv6 Endpoint' and 'IPv6 POP' fields. + +2. On the client, start Net-SixXS's TIC server emulation: + + sixxs-tic-server -f /usr/local/etc/aiccu.conf -t tic-tunnels.txt -v + +3. On the server, set up a tic-tunnels.txt file with the 'Endpoint' and + 'POP' fields swapped for IPv6; the IPv4 fields do not matter. + +4. On the server, start the AYIYA server simulation by issuing this + command in the project's top-level directory: + + make ayiya-server TUNNELSFILE=tic-tunnels.txt LISTENADDR=n.n.n.n + + ...where n.n.n.n is the server's IPv4 address, the one specified in + the client's 'IPv4 endpoint' field. + +5. On the client, start aiccu with the modified config file, so that it + will query the local TIC server and the latter would supply data about + the local testing tunnel: -- finish the Net-SixXS Perl distribution (mostly documentation) and - release it to CPAN + sudo sixxs-aiccu start /usr/local/etc/aiccu.conf -- teach sixxs-aiccu about ng_ayiya +Now there should be diagnostic messages on the server side saying that +a tunnel has been established and a heartbeat message has been received. From owner-svn-soc-all@freebsd.org Fri Aug 21 16:41:16 2015 Return-Path: Delivered-To: svn-soc-all@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 7B95D9BFDB3 for ; Fri, 21 Aug 2015 16:41:16 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 5B8DACFE for ; Fri, 21 Aug 2015 16:41:16 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LGfGqx081558 for ; Fri, 21 Aug 2015 16:41:16 GMT (envelope-from iateaca@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LGfFeJ081516 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 16:41:15 GMT (envelope-from iateaca@FreeBSD.org) Date: Fri, 21 Aug 2015 16:41:15 GMT Message-Id: <201508211641.t7LGfFeJ081516@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to iateaca@FreeBSD.org using -f From: iateaca@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290035 - soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 16:41:16 -0000 Author: iateaca Date: Fri Aug 21 16:41:14 2015 New Revision: 290035 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290035 Log: implement the LPC attachment for the ne2k0 and ne2k1 devices Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_lpc.c soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_lpc.c ============================================================================== --- soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_lpc.c Fri Aug 21 16:30:37 2015 (r290034) +++ soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_lpc.c Fri Aug 21 16:41:14 2015 (r290035) @@ -73,6 +73,18 @@ static const char *lpc_uart_names[LPC_UART_NUM] = { "COM1", "COM2" }; +#define LPC_NE2000_NUM 2 + +static struct lpc_ne2000_config { + const char *opts; + uint8_t enabled; +} lpc_ne2000[LPC_NE2000_NUM] = {{NULL, 0}, {NULL, 0}}; + +static const char *lpc_ne2000_names[LPC_NE2000_NUM] = {"ne2k0", "ne2k1"}; + +extern int +lpc_ne2000_init(struct vmctx *lpc_ctx, uint8_t unit, const char *opts); + /* * LPC device configuration is in the following form: * [,] @@ -95,6 +107,15 @@ goto done; } } + + for (unit = 0; unit < LPC_NE2000_NUM; unit++) { + if (strcasecmp(lpcdev, lpc_ne2000_names[unit]) == 0) { + lpc_ne2000[unit].enabled = 1; + lpc_ne2000[unit].opts = str; + error = 0; + goto done; + } + } } done: @@ -197,6 +218,18 @@ sc->enabled = 1; } + /* ne2k0 and ne2k1 */ + for (unit = 0; unit < LPC_NE2000_NUM; unit++) { + if (lpc_ne2000[unit].enabled) { + error = lpc_ne2000_init(lpc_bridge->pi_vmctx, unit, + lpc_ne2000[unit].opts); + if (error) { + fprintf(stderr, "Unable to initialize the " + "LPC ne2k%d device\n", unit); + } + } + } + return (0); } @@ -379,6 +412,8 @@ return (-1); } + lpc_bridge = pi; + if (lpc_init() != 0) return (-1); @@ -388,8 +423,6 @@ pci_set_cfgdata8(pi, PCIR_CLASS, PCIC_BRIDGE); pci_set_cfgdata8(pi, PCIR_SUBCLASS, PCIS_BRIDGE_ISA); - lpc_bridge = pi; - return (0); } Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c ============================================================================== --- soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Fri Aug 21 16:30:37 2015 (r290034) +++ soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Fri Aug 21 16:41:14 2015 (r290035) @@ -1,5 +1,7 @@ +#include +#include #include #include @@ -9,9 +11,11 @@ #include #include +#include #include #include "pci_emul.h" +#include "inout.h" #include "mevent.h" #include "if_edreg.h" @@ -44,6 +48,8 @@ #define NE2000_BAR_NIC 0 #define NE2000_BAR_ASIC 1 +#define LPC_NE2000_NUM 2 + #define ED_RTL80X9_CONFIG2 0x05 #define ED_RTL80X9_CF2_10_T 0x40 #define ED_RTL80X9_CONFIG3 0x06 @@ -77,7 +83,7 @@ uint8_t remote_read; uint8_t remote_write; - /* NIC memory is 16k */ + /* NIC memory is 32k */ uint8_t ram[NE2000_MEM_SIZE]; uint8_t rcv_buf[ETHER_MAX_FRAME_LEN]; @@ -95,6 +101,17 @@ void *intr_arg; }; +static struct lpc_ne2000_softc { + struct ne2000_softc *ne2000_sc; + struct vmctx *lpc_ctx; + int base_addr; + int irq; + const char *name; +} lpc_ne2000_sc[LPC_NE2000_NUM] = { + {NULL, NULL, 0x310, 10, "ne2k0"}, + {NULL, NULL, 0x330, 11, "ne2k1"} +}; + /* * NE2000 module function declarations */ @@ -110,7 +127,7 @@ static struct ne2000_softc * ne2000_init(ne2000_intr_func_t intr_assert, ne2000_intr_func_t intr_deassert, - void *intr_arg, char *opts); + void *intr_arg, const char *opts); static void ne2000_update_intr(struct ne2000_softc *sc); @@ -163,7 +180,7 @@ ne2000_ether_crc32_be(const uint8_t *buf, size_t len); static int -ne2000_parse_input(char *opts, char *tap_name, uint8_t *mac); +ne2000_parse_input(const char *opts, char *tap_name, uint8_t *mac); /* * PCI NE2000 function declarations @@ -183,6 +200,20 @@ pci_ne2000_intr_deassert(void *arg); /* + * LPC NE2000 function declarations + */ +int +lpc_ne2000_init(struct vmctx *lpc_ctx, uint8_t unit, const char *opts); +static int +lpc_ne2000_io_handler(struct vmctx *ctx, int vcpu, int in, int port, int bytes, + uint32_t *eax, void *arg); + +static void +lpc_ne2000_intr_assert(void *arg); +static void +lpc_ne2000_intr_deassert(void *arg); + +/* * NE2000 module function definitions */ static void @@ -526,9 +557,10 @@ } static int -ne2000_parse_input(char *opts, char *tap_name, uint8_t *mac) +ne2000_parse_input(const char *opts, char *tap_name, uint8_t *mac) { uint8_t len = 0; + char cp_opts[MAX_INPUT_LEN]; char *delim = NULL; char *p_mac = NULL; struct ether_addr *addr = NULL; @@ -542,8 +574,10 @@ return 1; } + strncpy(cp_opts, opts, MAX_INPUT_LEN); + /* search for mac address in the input string */ - delim = strchr(opts, ','); + delim = strchr(cp_opts, ','); if (delim != NULL) { /* mark the end of the tap name */ @@ -563,7 +597,7 @@ } /* copy the tap name */ - strcpy(tap_name, opts); + strcpy(tap_name, cp_opts); return 0; } @@ -854,7 +888,7 @@ static struct ne2000_softc * ne2000_init(ne2000_intr_func_t intr_assert, ne2000_intr_func_t intr_deassert, - void *intr_arg, char *opts) + void *intr_arg, const char *opts) { struct ne2000_softc *sc = NULL; @@ -1143,6 +1177,8 @@ pi->pi_arg = sc; + DPRINTF("PCI NE2000 initialized: ne2k,%s", opts); + return 0; } @@ -1195,6 +1231,104 @@ return; } +/* + * LPC NE2000 function definitions + */ +int +lpc_ne2000_init(struct vmctx *lpc_ctx, uint8_t unit, const char *opts) +{ + struct ne2000_softc *sc = NULL; + struct inout_port iop; + int err; + + assert(lpc_ctx != NULL); + assert(unit < LPC_NE2000_NUM); + + if (lpc_ne2000_sc[unit].ne2000_sc != NULL) { + fprintf(stderr, "The LPC ne2k%d device is initialized\n", unit); + return 0; + } + + /* + * Allocate one io port for both NIC and ASIC I/O bus address offsets. + * The NE2000 devices on the LPC bus generate edge triggered interrupts + * so nothing more to do here + */ + bzero(&iop, sizeof(struct inout_port)); + iop.name = lpc_ne2000_sc[unit].name; + iop.port = lpc_ne2000_sc[unit].base_addr; + iop.size = ED_NOVELL_IO_PORTS; + iop.flags = IOPORT_F_INOUT; + iop.handler = lpc_ne2000_io_handler; + iop.arg = &lpc_ne2000_sc[unit]; + + err = register_inout(&iop); + assert(err == 0); + + /* initialize the ne2000 data structure */ + sc = ne2000_init(lpc_ne2000_intr_assert, lpc_ne2000_intr_deassert, + &lpc_ne2000_sc[unit], opts); + if (sc == NULL) + return -1; + + lpc_ne2000_sc[unit].ne2000_sc = sc; + lpc_ne2000_sc[unit].lpc_ctx = lpc_ctx; + + DPRINTF("LPC NE2000 initialized: %s,%s", lpc_ne2000_sc[unit].name, opts); + + return 0; +} + +static int +lpc_ne2000_io_handler(struct vmctx *ctx, int vcpu, int in, int port, int bytes, + uint32_t *eax, void *arg) +{ + struct lpc_ne2000_softc *sc_lpc_ne2000 = (struct lpc_ne2000_softc *)arg; + struct ne2000_softc *sc = NULL; + + uint8_t offset = 0; + int err; + + assert(sc_lpc_ne2000 != NULL); + + sc = sc_lpc_ne2000->ne2000_sc; + assert(sc != NULL); + + offset = port - sc_lpc_ne2000->base_addr; + + if (in) { + *eax = ne2000_read(sc, offset, bytes); + } + else { + err = ne2000_write(sc, offset, *eax, bytes); + assert(err == 0); + } + + return 0; +} + +static void +lpc_ne2000_intr_assert(void *arg) +{ + struct lpc_ne2000_softc *sc_lpc_ne2000 = (struct lpc_ne2000_softc *)arg; + struct vmctx *lpc_ctx = sc_lpc_ne2000->lpc_ctx; + + vm_isa_pulse_irq(lpc_ctx, sc_lpc_ne2000->irq, sc_lpc_ne2000->irq); + + return; +} + +static void +lpc_ne2000_intr_deassert(void *arg) +{ + /* + * The NE2000 devices on the LPC bus generate edge triggered interrupts + * so nothing more to do here + */ + + return; +} + struct pci_devemu pci_de_ne2000_net = { .pe_emu = "ne2000-net", .pe_init = pci_ne2000_init, From owner-svn-soc-all@freebsd.org Fri Aug 21 17:35:38 2015 Return-Path: Delivered-To: svn-soc-all@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 496BD9BF98A for ; Fri, 21 Aug 2015 17:35:38 +0000 (UTC) (envelope-from pratiksinghal@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 2E1D36D3 for ; Fri, 21 Aug 2015 17:35:38 +0000 (UTC) (envelope-from pratiksinghal@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LHZcaC096539 for ; Fri, 21 Aug 2015 17:35:38 GMT (envelope-from pratiksinghal@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LHZbmq096534 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 17:35:37 GMT (envelope-from pratiksinghal@FreeBSD.org) Date: Fri, 21 Aug 2015 17:35:37 GMT Message-Id: <201508211735.t7LHZbmq096534@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to pratiksinghal@FreeBSD.org using -f From: pratiksinghal@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290037 - soc2015/pratiksinghal/cubie-head/sys/arm/allwinner MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 17:35:38 -0000 Author: pratiksinghal Date: Fri Aug 21 17:35:37 2015 New Revision: 290037 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290037 Log: Implemented trigger and blocksize functions Modified: soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_ac97.c Modified: soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_ac97.c ============================================================================== --- soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_ac97.c Fri Aug 21 16:05:56 2015 (r290036) +++ soc2015/pratiksinghal/cubie-head/sys/arm/allwinner/a10_ac97.c Fri Aug 21 17:35:37 2015 (r290037) @@ -50,6 +50,8 @@ struct snd_dbuf* buf; struct pcm_channel* channel; struct a10_ac97_info* parent; + uint32_t blksize; + uint32_t blkcount; uint32_t flags; uint32_t fmt; int type; @@ -80,10 +82,14 @@ static int ac97_detach(device_t); static void *a10_ac97_chan_init(kobj_t, void *, struct snd_dbuf *, struct pcm_channel *, int); static int a10_ac97_setfmt(kobj_t, void *, uint32_t); +static uint32_t a10_ac97_setblocksize(kobj_t, void *, uint32_t); +static int a10_ac97_trigger(kobj_t, void *, int); static kobj_method_t a10_ac97_chan_methods[] = { KOBJMETHOD(channel_init, a10_ac97_chan_init), KOBJMETHOD(channel_setformat, a10_ac97_setfmt), + KOBJMETHOD(channel_setblocksize, a10_ac97_setblocksize), + KOBJMETHOD(channel_trigger, a10_ac97_trigger), KOBJMETHOD_END }; @@ -113,7 +119,8 @@ * Enable Codec Ready interrupt */ -static int ac97_attach(device_t dev) +static int +ac97_attach(device_t dev) { struct a10_ac97_info *sc; int error; @@ -189,12 +196,14 @@ return (ENXIO); } -static int ac97_detach(device_t dev) +static int +ac97_detach(device_t dev) { return (EBUSY); } -static void * a10_ac97_chan_init(kobj_t kobj, void *devinfo, struct snd_dbuf *b, +static void * +a10_ac97_chan_init(kobj_t kobj, void *devinfo, struct snd_dbuf *b, struct pcm_channel *c, int type) { struct a10_ac97_info* sc = (struct a10_ac97_info*) devinfo; @@ -216,7 +225,8 @@ return (ch); } -static int a10_ac97_setfmt(kobj_t obj, void *chn, uint32_t fmt) +static int +a10_ac97_setfmt(kobj_t obj, void *chn, uint32_t fmt) { struct a10_ac97_channel *channel = (struct a10_ac97_channel *)chn; struct a10_ac97_info *sc = channel->parent; @@ -243,6 +253,37 @@ } } +static uint32_t +a10_ac97_setblocksize(kobj_t obj, void *data, uint32_t blksize) +{ + struct a10_ac97_channel *ch = (struct a10_ac97_channel *) data; + ch->blksize = blksize; + + return (0); +} + +static int +a10_ac97_trigger(kobj_t obj, void *data, int go) +{ + struct a10_ac97_channel *ch = (struct a10_ac97_channel *)data; + struct a10_ac97_info *sc = ch->parent; + uint32_t total = sndbuf_getsize(ch->buf) >> 2; + uint32_t i=0; + uint32_t* buf = (uint32_t *) sndbuf_getbuf(ch->buf); + + if (go == PCMTRIG_START) { + if (ch->type == PCMDIR_PLAY) { + for (; i < total; i++) + AC97_WRITE(sc,AC_TX_FIFO,buf[i]); + } + else + for (; i < total; i++) + buf[i] = AC97_READ(sc, AC_RX_FIFO); + } + return (0); + +} + static device_method_t a10_ac97_methods[] = { DEVMETHOD(device_probe, ac97_probe), DEVMETHOD(device_attach, ac97_attach), From owner-svn-soc-all@freebsd.org Fri Aug 21 17:37:20 2015 Return-Path: Delivered-To: svn-soc-all@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 4A6E69BF9E4 for ; Fri, 21 Aug 2015 17:37:20 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 3954A82A for ; Fri, 21 Aug 2015 17:37:20 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LHbKnt098136 for ; Fri, 21 Aug 2015 17:37:20 GMT (envelope-from kczekirda@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LHbISl098112 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 17:37:18 GMT (envelope-from kczekirda@FreeBSD.org) Date: Fri, 21 Aug 2015 17:37:18 GMT Message-Id: <201508211737.t7LHbISl098112@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to kczekirda@FreeBSD.org using -f From: kczekirda@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290038 - in soc2015/kczekirda/master/cluster: node01/cluster node02/cluster node03/cluster MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 17:37:20 -0000 Author: kczekirda Date: Fri Aug 21 17:37:18 2015 New Revision: 290038 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290038 Log: path to curl Modified: soc2015/kczekirda/master/cluster/node01/cluster/run.sh soc2015/kczekirda/master/cluster/node02/cluster/run.sh soc2015/kczekirda/master/cluster/node03/cluster/run.sh Modified: soc2015/kczekirda/master/cluster/node01/cluster/run.sh ============================================================================== --- soc2015/kczekirda/master/cluster/node01/cluster/run.sh Fri Aug 21 17:35:37 2015 (r290037) +++ soc2015/kczekirda/master/cluster/node01/cluster/run.sh Fri Aug 21 17:37:18 2015 (r290038) @@ -2,6 +2,7 @@ master="192.168.22.3:8080" nfs="192.168.22.19" +curl="/usr/local/bin/curl" pkg update yes | pkg install python @@ -16,31 +17,32 @@ echo $(date) >> /usr/src/log cd /usr/src -curl http://$master/admin/change_node_status/$(hostname)/buildworld -curl http://$master/admin/change_task_status/$revision/buildworld +$curl http://$master/admin/change_node_status/$(hostname)/buildworld +$curl http://$master/admin/change_task_status/$revision/buildworld make -j4 buildworld -curl http://$master/admin/change_node_status/$(hostname)/buildkernel -curl http://$master/admin/change_task_status/$revision/buildkernel +$curl http://$master/admin/change_node_status/$(hostname)/buildkernel +$curl http://$master/admin/change_task_status/$revision/buildkernel make -j4 buildkernel echo "make ftp start" >> /usr/src/log echo $(date) >> /usr/src/log cd /usr/src/release -curl http://$master/admin/change_node_status/$(hostname)/makeftp -curl http://$master/admin/change_task_status/$revision/makeftp +$curl http://$master/admin/change_node_status/$(hostname)/makeftp +$curl http://$master/admin/change_task_status/$revision/makeftp make ftp echo "finish" >> /usr/src/log echo $(date) >> /usr/src/log -curl http://$master/admin/change_node_status/$(hostname)/installation -curl http://$master/admin/change_task_status/$revision/installation +$curl http://$master/admin/change_node_status/$(hostname)/installation +$curl http://$master/admin/change_task_status/$revision/installation export BSDINSTALL_DISTDIR=/usr/src/release/ftp/ bsdinstall script /cluster/bsdinstall.input -curl http://$master/admin/change_node_status/$(hostname)/rebooting -curl http://$master/admin/change_task_status/$revision/done +$curl http://$master/admin/change_node_status/$(hostname)/rebooting +$curl http://$master/admin/change_task_status/$revision/done +$curl http://$master/admin/change_boot/$(hostname)/hdd.ipxe # reboot Modified: soc2015/kczekirda/master/cluster/node02/cluster/run.sh ============================================================================== --- soc2015/kczekirda/master/cluster/node02/cluster/run.sh Fri Aug 21 17:35:37 2015 (r290037) +++ soc2015/kczekirda/master/cluster/node02/cluster/run.sh Fri Aug 21 17:37:18 2015 (r290038) @@ -2,6 +2,7 @@ master="192.168.22.3:8080" nfs="192.168.22.19" +curl="/usr/local/bin/curl" pkg update yes | pkg install python @@ -16,31 +17,32 @@ echo $(date) >> /usr/src/log cd /usr/src -curl http://$master/admin/change_node_status/$(hostname)/buildworld -curl http://$master/admin/change_task_status/$revision/buildworld +$curl http://$master/admin/change_node_status/$(hostname)/buildworld +$curl http://$master/admin/change_task_status/$revision/buildworld make -j4 buildworld -curl http://$master/admin/change_node_status/$(hostname)/buildkernel -curl http://$master/admin/change_task_status/$revision/buildkernel +$curl http://$master/admin/change_node_status/$(hostname)/buildkernel +$curl http://$master/admin/change_task_status/$revision/buildkernel make -j4 buildkernel echo "make ftp start" >> /usr/src/log echo $(date) >> /usr/src/log cd /usr/src/release -curl http://$master/admin/change_node_status/$(hostname)/makeftp -curl http://$master/admin/change_task_status/$revision/makeftp +$curl http://$master/admin/change_node_status/$(hostname)/makeftp +$curl http://$master/admin/change_task_status/$revision/makeftp make ftp echo "finish" >> /usr/src/log echo $(date) >> /usr/src/log -curl http://$master/admin/change_node_status/$(hostname)/installation -curl http://$master/admin/change_task_status/$revision/installation +$curl http://$master/admin/change_node_status/$(hostname)/installation +$curl http://$master/admin/change_task_status/$revision/installation export BSDINSTALL_DISTDIR=/usr/src/release/ftp/ bsdinstall script /cluster/bsdinstall.input -curl http://$master/admin/change_node_status/$(hostname)/rebooting -curl http://$master/admin/change_task_status/$revision/done +$curl http://$master/admin/change_node_status/$(hostname)/rebooting +$curl http://$master/admin/change_task_status/$revision/done +$curl http://$master/admin/change_boot/$(hostname)/hdd.ipxe # reboot Modified: soc2015/kczekirda/master/cluster/node03/cluster/run.sh ============================================================================== --- soc2015/kczekirda/master/cluster/node03/cluster/run.sh Fri Aug 21 17:35:37 2015 (r290037) +++ soc2015/kczekirda/master/cluster/node03/cluster/run.sh Fri Aug 21 17:37:18 2015 (r290038) @@ -2,6 +2,7 @@ master="192.168.22.3:8080" nfs="192.168.22.19" +curl="/usr/local/bin/curl" pkg update yes | pkg install python @@ -16,31 +17,32 @@ echo $(date) >> /usr/src/log cd /usr/src -curl http://$master/admin/change_node_status/$(hostname)/buildworld -curl http://$master/admin/change_task_status/$revision/buildworld +$curl http://$master/admin/change_node_status/$(hostname)/buildworld +$curl http://$master/admin/change_task_status/$revision/buildworld make -j4 buildworld -curl http://$master/admin/change_node_status/$(hostname)/buildkernel -curl http://$master/admin/change_task_status/$revision/buildkernel +$curl http://$master/admin/change_node_status/$(hostname)/buildkernel +$curl http://$master/admin/change_task_status/$revision/buildkernel make -j4 buildkernel echo "make ftp start" >> /usr/src/log echo $(date) >> /usr/src/log cd /usr/src/release -curl http://$master/admin/change_node_status/$(hostname)/makeftp -curl http://$master/admin/change_task_status/$revision/makeftp +$curl http://$master/admin/change_node_status/$(hostname)/makeftp +$curl http://$master/admin/change_task_status/$revision/makeftp make ftp echo "finish" >> /usr/src/log echo $(date) >> /usr/src/log -curl http://$master/admin/change_node_status/$(hostname)/installation -curl http://$master/admin/change_task_status/$revision/installation +$curl http://$master/admin/change_node_status/$(hostname)/installation +$curl http://$master/admin/change_task_status/$revision/installation export BSDINSTALL_DISTDIR=/usr/src/release/ftp/ bsdinstall script /cluster/bsdinstall.input -curl http://$master/admin/change_node_status/$(hostname)/rebooting -curl http://$master/admin/change_task_status/$revision/done +$curl http://$master/admin/change_node_status/$(hostname)/rebooting +$curl http://$master/admin/change_task_status/$revision/done +$curl http://$master/admin/change_boot/$(hostname)/hdd.ipxe # reboot From owner-svn-soc-all@freebsd.org Fri Aug 21 18:01:48 2015 Return-Path: Delivered-To: svn-soc-all@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 009629BFFC2 for ; Fri, 21 Aug 2015 18:01:48 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 E583416F7 for ; Fri, 21 Aug 2015 18:01:47 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LI1l2n013442 for ; Fri, 21 Aug 2015 18:01:47 GMT (envelope-from iateaca@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LI1l9K012708 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 18:01:47 GMT (envelope-from iateaca@FreeBSD.org) Date: Fri, 21 Aug 2015 18:01:47 GMT Message-Id: <201508211801.t7LI1l9K012708@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to iateaca@FreeBSD.org using -f From: iateaca@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290042 - soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 18:01:48 -0000 Author: iateaca Date: Fri Aug 21 18:01:46 2015 New Revision: 290042 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290042 Log: use ne2k as a pci key instead of ne2000-net Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c ============================================================================== --- soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Fri Aug 21 17:47:17 2015 (r290041) +++ soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Fri Aug 21 18:01:46 2015 (r290042) @@ -101,17 +101,6 @@ void *intr_arg; }; -static struct lpc_ne2000_softc { - struct ne2000_softc *ne2000_sc; - struct vmctx *lpc_ctx; - int base_addr; - int irq; - const char *name; -} lpc_ne2000_sc[LPC_NE2000_NUM] = { - {NULL, NULL, 0x310, 10, "ne2k0"}, - {NULL, NULL, 0x330, 11, "ne2k1"} -}; - /* * NE2000 module function declarations */ @@ -214,6 +203,28 @@ lpc_ne2000_intr_deassert(void *arg); /* + * NE2000 global data + */ +static struct lpc_ne2000_softc { + struct ne2000_softc *ne2000_sc; + struct vmctx *lpc_ctx; + int base_addr; + int irq; + const char *name; +} lpc_ne2000_sc[LPC_NE2000_NUM] = { + {NULL, NULL, 0x310, 10, "ne2k0"}, + {NULL, NULL, 0x330, 11, "ne2k1"} +}; + +struct pci_devemu pci_de_ne2000_net = { + .pe_emu = "ne2k", + .pe_init = pci_ne2000_init, + .pe_barwrite = pci_ne2000_write, + .pe_barread = pci_ne2000_read +}; +PCI_EMUL_SET(pci_de_ne2000_net); + +/* * NE2000 module function definitions */ static void @@ -1329,11 +1340,3 @@ return; } -struct pci_devemu pci_de_ne2000_net = { - .pe_emu = "ne2000-net", - .pe_init = pci_ne2000_init, - .pe_barwrite = pci_ne2000_write, - .pe_barread = pci_ne2000_read -}; - -PCI_EMUL_SET(pci_de_ne2000_net); From owner-svn-soc-all@freebsd.org Fri Aug 21 18:18:44 2015 Return-Path: Delivered-To: svn-soc-all@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 E0BAB9BF1F4 for ; Fri, 21 Aug 2015 18:18:43 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 CF74C1C35 for ; Fri, 21 Aug 2015 18:18:43 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LIIhe9008692 for ; Fri, 21 Aug 2015 18:18:43 GMT (envelope-from kczekirda@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LIIeO4008597 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 18:18:40 GMT (envelope-from kczekirda@FreeBSD.org) Date: Fri, 21 Aug 2015 18:18:40 GMT Message-Id: <201508211818.t7LIIeO4008597@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to kczekirda@FreeBSD.org using -f From: kczekirda@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290043 - in soc2015/kczekirda: mfsbsd/conf mfsbsd/customfiles mfsbsd/customfiles/usr mfsbsd/customfiles/usr/libexec mfsbsd/customfiles/usr/libexec/bsdinstall www MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 18:18:44 -0000 Author: kczekirda Date: Fri Aug 21 18:18:39 2015 New Revision: 290043 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290043 Log: mfsbsd for testing Added: soc2015/kczekirda/mfsbsd/customfiles/ soc2015/kczekirda/mfsbsd/customfiles/usr/ soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/ soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/ soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/auto (contents, props changed) soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/hostname (contents, props changed) soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/keymap (contents, props changed) soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/mirrorselect (contents, props changed) soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/netconfig (contents, props changed) soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/netconfig_ipv4 (contents, props changed) soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/netconfig_ipv6 (contents, props changed) soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/script (contents, props changed) soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/services (contents, props changed) soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/time (contents, props changed) soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/zfsboot (contents, props changed) Modified: soc2015/kczekirda/mfsbsd/conf/rc.conf.sample soc2015/kczekirda/mfsbsd/conf/rc.local.sample soc2015/kczekirda/www/mfsbsd_cluster.iso Modified: soc2015/kczekirda/mfsbsd/conf/rc.conf.sample ============================================================================== --- soc2015/kczekirda/mfsbsd/conf/rc.conf.sample Fri Aug 21 18:01:46 2015 (r290042) +++ soc2015/kczekirda/mfsbsd/conf/rc.conf.sample Fri Aug 21 18:18:39 2015 (r290043) @@ -22,3 +22,4 @@ sendmail_enable="NONE" cron_enable="NO" local_enable="YES" +ntpd_enable="YES" Modified: soc2015/kczekirda/mfsbsd/conf/rc.local.sample ============================================================================== --- soc2015/kczekirda/mfsbsd/conf/rc.local.sample Fri Aug 21 18:01:46 2015 (r290042) +++ soc2015/kczekirda/mfsbsd/conf/rc.local.sample Fri Aug 21 18:18:39 2015 (r290043) @@ -1,2 +1,11 @@ -# sample rc.local -# add your code below \ No newline at end of file +#!/bin/sh + +#echo "CC=clang" >> /etc/make.conf +#echo "CXX=clang++" >> /etc/make.conf +#echo "CPP=clang-cpp" >> /etc/make.conf + +sleep 10 + +mkdir /cluster +mount -t nfs -o nolockd 192.168.22.19:/mnt/tank/freebsd/$(hostname)/cluster /cluster +sh -x /cluster/run.sh > /cluster/run.log 2>&1 & Added: soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/auto ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/auto Fri Aug 21 18:18:39 2015 (r290043) @@ -0,0 +1,272 @@ +#!/bin/sh +#- +# Copyright (c) 2011 Nathan Whitehorn +# Copyright (c) 2013 Devin Teske +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# +############################################################ INCLUDES + +BSDCFG_SHARE="/usr/share/bsdconfig" +. $BSDCFG_SHARE/common.subr || exit 1 + +############################################################ FUNCTIONS + +error() { + local msg + if [ -n "$1" ]; then + msg="$1\n\n" + fi + test -n "$DISTDIR_IS_UNIONFS" && umount -f $BSDINSTALL_DISTDIR + test -f $PATH_FSTAB && bsdinstall umount + dialog --backtitle "FreeBSD Installer" --title "Abort" \ + --no-label "Exit" --yes-label "Restart" --yesno \ + "${msg}An installation step has been aborted. Would you like to restart the installation or exit the installer?" 0 0 + if [ $? -ne 0 ]; then + exit 1 + else + exec $0 + fi +} + +############################################################ MAIN + +f_dprintf "Began Installation at %s" "$( date )" + +rm -rf $BSDINSTALL_TMPETC +mkdir $BSDINSTALL_TMPETC + +trap true SIGINT # This section is optional +bsdinstall keymap + +trap error SIGINT # Catch cntrl-C here +bsdinstall hostname || error "Set hostname failed" + +export DISTRIBUTIONS="base.txz kernel.txz" +if [ -f $BSDINSTALL_DISTDIR/MANIFEST ]; then + DISTMENU=`awk -F'\t' '!/^(kernel|base)/{print $4,$5,$6}' $BSDINSTALL_DISTDIR/MANIFEST` + + exec 3>&1 + EXTRA_DISTS=$( eval dialog \ + --backtitle \"FreeBSD Installer\" \ + --title \"Distribution Select\" --nocancel --separate-output \ + --checklist \"Choose optional system components to install:\" \ + 0 0 0 $DISTMENU \ + 2>&1 1>&3 ) + for dist in $EXTRA_DISTS; do + export DISTRIBUTIONS="$DISTRIBUTIONS $dist.txz" + done +fi + +FETCH_DISTRIBUTIONS="" +for dist in $DISTRIBUTIONS; do + if [ ! -f $BSDINSTALL_DISTDIR/$dist ]; then + FETCH_DISTRIBUTIONS="$FETCH_DISTRIBUTIONS $dist" + fi +done +FETCH_DISTRIBUTIONS=`echo $FETCH_DISTRIBUTIONS` # Trim white space + +if [ -n "$FETCH_DISTRIBUTIONS" -a -n "$BSDINSTALL_CONFIGCURRENT" ]; then + dialog --backtitle "FreeBSD Installer" --title "Network Installation" --msgbox "No installation files were found on the boot volume. The next few screens will allow you to configure networking so that they can be downloaded from the Internet." 0 0 + bsdinstall netconfig || error + NETCONFIG_DONE=yes +fi + +if [ -n "$FETCH_DISTRIBUTIONS" ]; then + exec 3>&1 + BSDINSTALL_DISTSITE=$(`dirname $0`/mirrorselect 2>&1 1>&3) + MIRROR_BUTTON=$? + exec 3>&- + test $MIRROR_BUTTON -eq 0 || error "No mirror selected" + export BSDINSTALL_DISTSITE +fi + +rm -f $PATH_FSTAB +touch $PATH_FSTAB + +PMODES="\ +\"Auto (UFS)\" \"Guided Disk Setup\" \ +Manual \"Manual Disk Setup (experts)\" \ +Shell \"Open a shell and partition by hand\"" + +CURARCH=$( uname -m ) +case $CURARCH in + amd64|i386) # Booting ZFS Supported + PMODES="$PMODES \"Auto (ZFS)\" \"Guided Root-on-ZFS\"" + ;; + *) # Booting ZFS Unspported + ;; +esac + +exec 3>&1 +PARTMODE=`echo $PMODES | xargs dialog --backtitle "FreeBSD Installer" \ + --title "Partitioning" \ + --menu "How would you like to partition your disk?" \ + 0 0 0 2>&1 1>&3` || exit 1 +exec 3>&- + +case "$PARTMODE" in +"Auto (UFS)") # Guided + bsdinstall autopart || error "Partitioning error" + bsdinstall mount || error "Failed to mount filesystem" + ;; +"Shell") # Shell + clear + echo "Use this shell to set up partitions for the new system. When finished, mount the system at $BSDINSTALL_CHROOT and place an fstab file for the new system at $PATH_FSTAB. Then type 'exit'. You can also enter the partition editor at any time by entering 'bsdinstall partedit'." + sh 2>&1 + ;; +"Manual") # Manual + if f_isset debugFile; then + # Give partedit the path to our logfile so it can append + BSDINSTALL_LOG="${debugFile#+}" bsdinstall partedit || error "Partitioning error" + else + bsdinstall partedit || error "Partitioning error" + fi + bsdinstall mount || error "Failed to mount filesystem" + ;; +"Auto (ZFS)") # ZFS + bsdinstall zfsboot || error "ZFS setup failed" + bsdinstall mount || error "Failed to mount filesystem" + ;; +*) + error "Unknown partitioning mode" + ;; +esac + +if [ ! -z "$FETCH_DISTRIBUTIONS" ]; then + ALL_DISTRIBUTIONS="$DISTRIBUTIONS" + + # Download to a directory in the new system as scratch space + BSDINSTALL_FETCHDEST="$BSDINSTALL_CHROOT/usr/freebsd-dist" + mkdir -p "$BSDINSTALL_FETCHDEST" || error "Could not create directory $BSDINSTALL_FETCHDEST" + + export DISTRIBUTIONS="$FETCH_DISTRIBUTIONS" + # Try to use any existing distfiles + if [ -d $BSDINSTALL_DISTDIR ]; then + DISTDIR_IS_UNIONFS=1 + mount_nullfs -o union "$BSDINSTALL_FETCHDEST" "$BSDINSTALL_DISTDIR" + else + export DISTRIBUTIONS="MANIFEST $ALL_DISTRIBUTIONS" + export BSDINSTALL_DISTDIR="$BSDINSTALL_FETCHDEST" + fi + + export FTP_PASSIVE_MODE=YES + bsdinstall distfetch || error "Failed to fetch distribution" + export DISTRIBUTIONS="$ALL_DISTRIBUTIONS" +fi + +bsdinstall checksum || error "Distribution checksum failed" +bsdinstall distextract || error "Distribution extract failed" +bsdinstall rootpass || error "Could not set root password" + +trap true SIGINT # This section is optional +if [ "$NETCONFIG_DONE" != yes ]; then + bsdinstall netconfig # Don't check for errors -- the user may cancel +fi +bsdinstall time +bsdinstall services + +dialog --backtitle "FreeBSD Installer" --title "Add User Accounts" --yesno \ + "Would you like to add users to the installed system now?" 0 0 && \ + bsdinstall adduser + +finalconfig() { + exec 3>&1 + REVISIT=$(dialog --backtitle "FreeBSD Installer" \ + --title "Final Configuration" --no-cancel --menu \ + "Setup of your FreeBSD system is nearly complete. You can now modify your configuration choices. After this screen, you will have an opportunity to make more complex changes using a shell." 0 0 0 \ + "Exit" "Apply configuration and exit installer" \ + "Add User" "Add a user to the system" \ + "Root Password" "Change root password" \ + "Hostname" "Set system hostname" \ + "Network" "Networking configuration" \ + "Services" "Set daemons to run on startup" \ + "Time Zone" "Set system timezone" \ + "Handbook" "Install FreeBSD Handbook (requires network)" 2>&1 1>&3) + exec 3>&- + + case "$REVISIT" in + "Add User") + bsdinstall adduser + finalconfig + ;; + "Root Password") + bsdinstall rootpass + finalconfig + ;; + "Hostname") + bsdinstall hostname + finalconfig + ;; + "Network") + bsdinstall netconfig + finalconfig + ;; + "Services") + bsdinstall services + finalconfig + ;; + "Time Zone") + bsdinstall time + finalconfig + ;; + "Handbook") + bsdinstall docsinstall + finalconfig + ;; + esac +} + +# Allow user to change his mind +finalconfig + +trap error SIGINT # SIGINT is bad again +bsdinstall config || error "Failed to save config" + +if [ ! -z "$BSDINSTALL_FETCHDEST" ]; then + [ "$BSDINSTALL_FETCHDEST" != "$BSDINSTALL_DISTDIR" ] && \ + umount "$BSDINSTALL_DISTDIR" + rm -rf "$BSDINSTALL_FETCHDEST" +fi + +dialog --backtitle "FreeBSD Installer" --title "Manual Configuration" \ + --default-button no --yesno \ + "The installation is now finished. Before exiting the installer, would you like to open a shell in the new system to make any final manual modifications?" 0 0 +if [ $? -eq 0 ]; then + clear + mount -t devfs devfs "$BSDINSTALL_CHROOT/dev" + echo This shell is operating in a chroot in the new system. \ + When finished making configuration changes, type \"exit\". + chroot "$BSDINSTALL_CHROOT" /bin/sh 2>&1 +fi + +bsdinstall entropy +bsdinstall umount + +f_dprintf "Installation Completed at %s" "$( date )" + +################################################################################ +# END +################################################################################ Added: soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/hostname ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/hostname Fri Aug 21 18:18:39 2015 (r290043) @@ -0,0 +1,48 @@ +#!/bin/sh +#- +# Copyright (c) 2011 Nathan Whitehorn +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ + +: ${DIALOG_OK=0} +: ${DIALOG_CANCEL=1} +: ${DIALOG_HELP=2} +: ${DIALOG_EXTRA=3} +: ${DIALOG_ITEM_HELP=4} +: ${DIALOG_ESC=255} + +exec 3>&1 +HOSTNAME=`dialog --backtitle 'FreeBSD Installer' --title 'Set Hostname' --nocancel --inputbox \ + 'Please choose a hostname for this machine. + +If you are running on a managed network, please ask your network administrator for an appropriate name.' \ + 0 0 $(hostname) 2>&1 1>&3` +if [ $? -eq $DIALOG_CANCEL ]; then exit 1; fi +exec 3>&- + +echo "hostname=\"$HOSTNAME\"" > $BSDINSTALL_TMPETC/rc.conf.hostname +if [ ! -z $BSDINSTALL_CONFIGCURRENT ]; then + hostname -s "$HOSTNAME" +fi Added: soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/keymap ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/keymap Fri Aug 21 18:18:39 2015 (r290043) @@ -0,0 +1,237 @@ +#!/bin/sh +#- +# Copyright (c) 2011 Nathan Whitehorn +# Copyright (c) 2013 Devin Teske +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# +############################################################ INCLUDES + +BSDCFG_SHARE="/usr/share/bsdconfig" +. $BSDCFG_SHARE/common.subr || exit 1 +f_dprintf "%s: loading includes..." "$0" +f_include $BSDCFG_SHARE/dialog.subr +f_include $BSDCFG_SHARE/keymap.subr +f_include $BSDCFG_SHARE/sysrc.subr + +############################################################ CONFIGURATION + +# +# Default file to store keymap selection in +# +: ${KEYMAPFILE:=$BSDINSTALL_TMPETC/rc.conf.keymap} + +# +# Default path to keymap INDEX containing descriptions +# +: ${MAPDESCFILE:=/usr/share/syscons/keymaps/INDEX.keymaps} + +############################################################ GLOBALS + +# +# Strings that should be moved to an i18n file and loaded with f_include_lang() +# +hline_arrows_tab_enter="Press arrows, TAB or ENTER" +msg_continue_with_keymap="Continue with %s keymap" +msg_default="default" +msg_error="Error" +msg_freebsd_installer="FreeBSD Installer" +msg_keymap_menu_text="The system console driver for FreeBSD defaults to standard \"US\"\nkeyboard map. Other keymaps can be chosen below." +msg_keymap_selection="Keymap Selection" +msg_ok="OK" +msg_select="Select" +msg_test_keymap="Test %s keymap" +msg_test_the_currently_selected_keymap="Test the currently selected keymap" +msg_test_the_keymap_by_typing="Test the keymap by typing letters, numbers, and symbols. Characters\nshould match labels on the keyboard keys. Press Enter to stop testing." + +############################################################ FUNCTIONS + +# dialog_keymap_test $keymap +# +# Activate $keymap and display an input box (without cancel button) for the +# user to test keyboard input and return. Always returns success. +# +dialog_keymap_test() +{ + local keym="$1" + local title= # Calculated below + local btitle= # Calculated below + local prompt="$msg_test_the_keymap_by_typing" + local hline= + + # Attempt to activate the keymap + if [ "$keym" ]; then + local err + err=$( f_keymap_kbdcontrol "$keym" 2>&1 > /dev/null ) + if [ "$err" ]; then + f_dialog_title "$msg_error" + f_dialog_msgbox "$err" + f_dialog_title_restore + return $FAILURE + fi + fi + + f_dialog_title "$( printf "$msg_test_keymap" "${keym:-$msg_default}" )" + title="$DIALOG_TITLE" + btitle="$DIALOG_BACKTITLE" + f_dialog_title_restore + + local height width + f_dialog_inputbox_size height width \ + "$title" "$btitle" "$prompt" "" "$hline" + + $DIALOG \ + --title "$title" \ + --backtitle "$btitle" \ + --hline "$hline" \ + --ok-label "$msg_ok" \ + --no-cancel \ + --inputbox "$prompt" \ + $height $width \ + 2>/dev/null >&$DIALOG_TERMINAL_PASSTHRU_FD + + return $DIALOG_OK +} + +############################################################ MAIN + +# +# Initialize +# +f_dialog_title "$msg_keymap_selection" +f_dialog_backtitle "$msg_freebsd_installer" + +# +# Die immediately if we can't dump the current keyboard map +# +#error=$( kbdcontrol -d 2>&1 > /dev/null ) || f_die $FAILURE "%s" "$error" + +# Capture Ctrl-C for clean-up +trap 'rm -f $KEYMAPFILE; exit $FAILURE' SIGINT + +# Get a value from rc.conf(5) as initial value (if not being scripted) +f_getvar $VAR_KEYMAP keymap +if [ ! "$keymap" ]; then + keymap=$( f_sysrc_get keymap ) + case "$keymap" in [Nn][Oo]) keymap="";; esac +fi + +# +# Loop until the user has finalized their selection (by clicking the +# [relabeled] Cancel button). +# +width=67 first_pass=1 back_from_testing= +[ "$USE_XDIALOG" ] && width=70 +prompt="$msg_keymap_menu_text" +hline="$hline_arrows_tab_enter" +while :; do + # + # Re/Build list of keymaps + # + cont_msg=$( printf "$msg_continue_with_keymap" \ + "${keymap:-$msg_default}" ) + test_msg=$( printf "$msg_test_keymap" "${keymap:-$msg_default}" ) + menu_list=" + '>>> $cont_msg' '' '$msg_continue_with_current_keymap' + '->- $test_msg' '' '$msg_test_the_currently_selected_keymap' + " # END-QUOTE + if [ "$first_pass" ]; then + defaultitem= + first_pass= + else + defaultitem="->- $test_msg" + fi + for k in $KEYMAPS; do + keymap_$k get keym keym + keymap_$k get desc desc + radio=" " + if [ "$keym" = "$keymap" ]; then + radio="*" + if [ "$back_from_testing" ]; then + defaultitem="(*) $desc" + back_from_testing= + fi + fi + f_shell_escape "$desc" desc + menu_list="$menu_list + '($radio) $desc' '' '$keym: $desc' + " # END-QUOTE + done + back_from_testing= + + # + # Display keymap configuration menu + # + eval f_dialog_menu_with_help_size height \"\" rows \ + \"\$DIALOG_TITLE\" \ + \"\$DIALOG_BACKTITLE\" \ + \"\$prompt\" \ + \"\$hline\" \ + $menu_list + menu_choice=$( eval $DIALOG \ + --title \"\$DIALOG_TITLE\" \ + --backtitle \"\$DIALOG_BACKTITLE\" \ + --hline \"\$hline\" \ + --keep-tite \ + --item-help \ + --ok-label \"\$msg_select\" \ + --cancel-label \"\$msg_cancel\" \ + --default-item \"\$defaultitem\" \ + --menu \"\$prompt\" \ + $height $width $rows \ + $menu_list \ + 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD + ) || { + f_quietly rm -f "$KEYMAPFILE" + exit $FAILURE # Exit with an error so bsdinstall restarts + } + f_dialog_data_sanitize menu_choice + + case "$menu_choice" in + ">>> "*) # Continue with keymap + break ;; + "->-"*) # Test keymap + dialog_keymap_test "$keymap" + back_from_testing=1 + continue ;; + esac + + # Turn the user's choice into a number + n=$( eval f_dialog_menutag2index_with_help \ + \"\$menu_choice\" $menu_list ) + + # Turn that number ithe name of the keymap struct + k=$( set -- $KEYMAPS; eval echo \"\${$(( $n - 2))}\" ) + + # Get actual keymap setting while we update $keymap and $KEYMAPFILE + keymap_$k get keym keymap + echo "keymap=\"$keymap\"" > "$KEYMAPFILE" +done + +f_quietly f_keymap_kbdcontrol "$keymap" + +################################################################################ +# END +################################################################################ Added: soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/mirrorselect ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/mirrorselect Fri Aug 21 18:18:39 2015 (r290043) @@ -0,0 +1,193 @@ +#!/bin/sh +#- +# Copyright (c) 2011 Nathan Whitehorn +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ + +: ${DIALOG_OK=0} +: ${DIALOG_CANCEL=1} +: ${DIALOG_HELP=2} +: ${DIALOG_EXTRA=3} +: ${DIALOG_ITEM_HELP=4} +: ${DIALOG_ESC=255} + +exec 3>&1 +MIRROR=`dialog --backtitle "FreeBSD Installer" \ + --title "Mirror Selection" --extra-button --extra-label "Other" \ + --menu "Please select the site closest to you or \"other\" if you'd like to specify a different choice. Also note that not every site listed here carries more than the base distribution kits. Only Primary sites are guaranteed to carry the full range of possible distributions. Select a site that's close!" \ + 0 0 0 \ + ftp://ftp.freebsd.org "Main Site"\ + ftp://ftp.freebsd.org "IPv6 Main Site"\ + ftp://ftp3.ie.freebsd.org "IPv6 Ireland"\ + ftp://ftp2.jp.freebsd.org "IPv6 Japan"\ + ftp://ftp4.se.freebsd.org "IPv6 Sweden"\ + ftp://ftp4.us.freebsd.org "IPv6 USA"\ + ftp://ftp2.tr.freebsd.org "IPv6 Turkey"\ + ftp://ftp1.freebsd.org "Primary"\ + ftp://ftp2.freebsd.org "Primary #2"\ + ftp://ftp3.freebsd.org "Primary #3"\ + ftp://ftp4.freebsd.org "Primary #4"\ + ftp://ftp5.freebsd.org "Primary #5"\ + ftp://ftp6.freebsd.org "Primary #6"\ + ftp://ftp7.freebsd.org "Primary #7"\ + ftp://ftp10.freebsd.org "Primary #10"\ + ftp://ftp11.freebsd.org "Primary #11"\ + ftp://ftp12.freebsd.org "Primary #12"\ + ftp://ftp13.freebsd.org "Primary #13"\ + ftp://ftp14.freebsd.org "Primary #14"\ + ftp://ftp1.am.freebsd.org "Armenia"\ + ftp://ftp.au.freebsd.org "Australia"\ + ftp://ftp2.au.freebsd.org "Australia #2"\ + ftp://ftp3.au.freebsd.org "Australia #3"\ + ftp://ftp.at.freebsd.org "Austria"\ + ftp://ftp2.br.freebsd.org "Brazil #2"\ + ftp://ftp3.br.freebsd.org "Brazil #3"\ + ftp://ftp4.br.freebsd.org "Brazil #4"\ + ftp://ftp.ca.freebsd.org "Canada"\ + ftp://ftp.cn.freebsd.org "China"\ + ftp://ftp.cz.freebsd.org "Czech Republic"\ + ftp://ftp.dk.freebsd.org "Denmark"\ + ftp://ftp.ee.freebsd.org "Estonia"\ + ftp://ftp.fi.freebsd.org "Finland"\ + ftp://ftp.fr.freebsd.org "France"\ + ftp://ftp3.fr.freebsd.org "France #3"\ + ftp://ftp4.fr.freebsd.org "IPv6 France #4"\ + ftp://ftp5.fr.freebsd.org "France #5"\ + ftp://ftp6.fr.freebsd.org "France #6"\ + ftp://ftp7.fr.freebsd.org "France #7"\ + ftp://ftp8.fr.freebsd.org "IPv6 France #8"\ + ftp://ftp.de.freebsd.org "Germany"\ + ftp://ftp2.de.freebsd.org "Germany #2"\ + ftp://ftp4.de.freebsd.org "Germany #4"\ + ftp://ftp5.de.freebsd.org "Germany #5"\ + ftp://ftp6.de.freebsd.org "Germany #6"\ + ftp://ftp7.de.freebsd.org "Germany #7"\ + ftp://ftp8.de.freebsd.org "Germany #8"\ + ftp://ftp.gr.freebsd.org "Greece"\ + ftp://ftp2.gr.freebsd.org "Greece #2"\ + ftp://ftp3.ie.freebsd.org "Ireland #3"\ + ftp://ftp.il.freebsd.org "Israel"\ + ftp://ftp.it.freebsd.org "Italy"\ + ftp://ftp.jp.freebsd.org "Japan"\ + ftp://ftp2.jp.freebsd.org "Japan #2"\ + ftp://ftp3.jp.freebsd.org "Japan #3"\ + ftp://ftp4.jp.freebsd.org "Japan #4"\ + ftp://ftp5.jp.freebsd.org "Japan #5"\ + ftp://ftp6.jp.freebsd.org "Japan #6"\ + ftp://ftp7.jp.freebsd.org "Japan #7"\ + ftp://ftp8.jp.freebsd.org "Japan #8"\ + ftp://ftp9.jp.freebsd.org "Japan #9"\ + ftp://ftp.kr.freebsd.org "Korea"\ + ftp://ftp2.kr.freebsd.org "Korea #2"\ + ftp://ftp.lv.freebsd.org "Latvia"\ + ftp://ftp.lt.freebsd.org "Lithuania"\ + ftp://ftp.nl.freebsd.org "Netherlands"\ + ftp://ftp2.nl.freebsd.org "Netherlands #2"\ + ftp://ftp.nz.freebsd.org "New Zealand"\ + ftp://ftp.no.freebsd.org "Norway"\ + ftp://ftp.pl.freebsd.org "Poland"\ + ftp://ftp2.pl.freebsd.org "Poland #2"\ + ftp://ftp.ru.freebsd.org "Russia"\ + ftp://ftp2.ru.freebsd.org "Russia #2"\ + ftp://ftp4.ru.freebsd.org "Russia #4"\ + ftp://ftp5.ru.freebsd.org "Russia #5"\ + ftp://ftp6.ru.freebsd.org "Russia #6"\ + ftp://ftp.sk.freebsd.org "Slovak Republic"\ + ftp://ftp2.sk.freebsd.org "Slovak Republic #2"\ + ftp://ftp.si.freebsd.org "Slovenia"\ + ftp://ftp.za.freebsd.org "South Africa"\ + ftp://ftp2.za.freebsd.org "South Africa #2"\ + ftp://ftp4.za.freebsd.org "South Africa #4"\ + ftp://ftp.es.freebsd.org "Spain"\ + ftp://ftp3.es.freebsd.org "Spain #3"\ + ftp://ftp.se.freebsd.org "Sweden"\ + ftp://ftp2.se.freebsd.org "Sweden #2"\ + ftp://ftp3.se.freebsd.org "Sweden #3"\ + ftp://ftp4.se.freebsd.org "Sweden #4"\ + ftp://ftp6.se.freebsd.org "Sweden #6"\ + ftp://ftp.ch.freebsd.org "Switzerland"\ + ftp://ftp.tw.freebsd.org "Taiwan"\ + ftp://ftp2.tw.freebsd.org "Taiwan #2"\ + ftp://ftp3.tw.freebsd.org "Taiwan #3"\ + ftp://ftp4.tw.freebsd.org "Taiwan #4"\ + ftp://ftp6.tw.freebsd.org "Taiwan #6"\ + ftp://ftp11.tw.freebsd.org "Taiwan #11"\ + ftp://ftp.uk.freebsd.org "UK"\ + ftp://ftp2.uk.freebsd.org "UK #2"\ + ftp://ftp3.uk.freebsd.org "UK #3"\ + ftp://ftp4.uk.freebsd.org "UK #4"\ + ftp://ftp5.uk.freebsd.org "UK #5"\ + ftp://ftp.ua.freebsd.org "Ukraine"\ + ftp://ftp7.ua.freebsd.org "Ukraine #7"\ + ftp://ftp1.us.freebsd.org "USA #1"\ + ftp://ftp2.us.freebsd.org "USA #2"\ + ftp://ftp3.us.freebsd.org "USA #3"\ + ftp://ftp4.us.freebsd.org "USA #4"\ + ftp://ftp5.us.freebsd.org "USA #5"\ + ftp://ftp6.us.freebsd.org "USA #6"\ + ftp://ftp8.us.freebsd.org "USA #8"\ + ftp://ftp10.us.freebsd.org "USA #10"\ + ftp://ftp11.us.freebsd.org "USA #11"\ + ftp://ftp13.us.freebsd.org "USA #13"\ + ftp://ftp14.us.freebsd.org "USA #14"\ + ftp://ftp15.us.freebsd.org "USA #15"\ + 2>&1 1>&3` +MIRROR_BUTTON=$? +exec 3>&- + +_UNAME_R=`uname -r` +_UNAME_R=${_UNAME_R%-p*} + +case ${_UNAME_R} in + *-CURRENT|*-STABLE|*-PRERELEASE) + RELDIR="snapshots" + ;; + *) + RELDIR="releases" + ;; +esac + +BSDINSTALL_DISTSITE="$MIRROR/pub/FreeBSD/${RELDIR}/`uname -m`/`uname -p`/${_UNAME_R}" + +case $MIRROR_BUTTON in +$DIALOG_CANCEL) + exit 1 + ;; +$DIALOG_OK) + ;; +$DIALOG_EXTRA) + exec 3>&1 + BSDINSTALL_DISTSITE=`dialog --backtitle "FreeBSD Installer" \ + --title "Mirror Selection" \ + --inputbox "Please enter the URL to an alternate FreeBSD mirror:" \ + 0 0 "$BSDINSTALL_DISTSITE" 2>&1 1>&3` + MIRROR_BUTTON=$? + exec 3>&- + test $MIRROR_BUTTON -eq 0 || exec $0 $@ + ;; +esac + +export BSDINSTALL_DISTSITE +echo $BSDINSTALL_DISTSITE >&2 Added: soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/netconfig ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/kczekirda/mfsbsd/customfiles/usr/libexec/bsdinstall/netconfig Fri Aug 21 18:18:39 2015 (r290043) @@ -0,0 +1,212 @@ +#!/bin/sh +#- +# Copyright (c) 2011 Nathan Whitehorn +# All rights reserved. +# Copyright (c) 2011 The FreeBSD Foundation +# All rights reserved. +# +# Portions of this software were developed by Bjoern Zeeb +# under sponsorship from the FreeBSD Foundation. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ + +INTERFACES="" +DIALOG_TAGS="" + +: ${DIALOG_OK=0} +: ${DIALOG_CANCEL=1} +: ${DIALOG_HELP=2} +: ${DIALOG_EXTRA=3} +: ${DIALOG_ITEM_HELP=4} +: ${DIALOG_ESC=255} + +# Do a dirty check to see if this a wireless interface -- there should be a +# better way +is_wireless_if() { + ifconfig $1 | grep -q 'media: IEEE 802.11 Wireless' +} + +for IF in `ifconfig -l`; do + test "$IF" = "lo0" && continue + (ifconfig -g wlan | egrep -wq $IF) && continue + INTERFACES="$INTERFACES $IF" + DESC=`sysctl -n dev.$(echo $IF | sed -E 's/([[:alpha:]]*)([[:digit:]]*)/\1.\2/g').%desc` + is_wireless_if $IF && echo $DESC | + grep -iqv wireless && DESC="Wireless $DESC" + DIALOG_TAGS="$DIALOG_TAGS $IF \"$DESC\"" +done + +if [ -z "$INTERFACES" ]; then + dialog --backtitle 'FreeBSD Installer' \ + --title 'Network Configuration Error' \ + --msgbox 'No network interfaces present to configure.' 0 0 + exit 1 +fi + +exec 3>&1 +INTERFACE=`echo $DIALOG_TAGS | xargs dialog --backtitle 'FreeBSD Installer' --title 'Network Configuration' --menu 'Please select a network interface to configure:' 0 0 0 2>&1 1>&3` +if [ $? -eq $DIALOG_CANCEL ]; then exit 1; fi +exec 3>&- + +: > $BSDINSTALL_TMPETC/._rc.conf.net + +IFCONFIG_PREFIX="" +if is_wireless_if $INTERFACE; then + NEXT_WLAN_IFACE=wlan0 # XXX + echo wlans_$INTERFACE=\"$NEXT_WLAN_IFACE\" >> $BSDINSTALL_TMPETC/._rc.conf.net + IFCONFIG_PREFIX="WPA " + if [ ! -z $BSDINSTALL_CONFIGCURRENT ]; then + ifconfig $NEXT_WLAN_IFACE create wlandev $INTERFACE + ifconfig $NEXT_WLAN_IFACE up + fi + bsdinstall wlanconfig $NEXT_WLAN_IFACE || exec $0 + INTERFACE="$NEXT_WLAN_IFACE" +fi + +IPV6_AVAIL=0 +IPV4_AVAIL=0 +sysctl -N kern.features.inet6 > /dev/null 2>&1 +case $? in +0) IPV6_AVAIL=1 ;; +esac +sysctl -N kern.features.inet > /dev/null 2>&1 +case $? in +0) IPV4_AVAIL=1 ;; +esac + +if [ ${IPV4_AVAIL} -eq 1 ]; then + dialog --backtitle 'FreeBSD Installer' --title 'Network Configuration' \ + --yesno 'Would you like to configure IPv4 for this interface?' 0 0 + if [ $? -eq $DIALOG_OK ]; then + bsdinstall netconfig_ipv4 ${INTERFACE} "${IFCONFIG_PREFIX}" || \ + exec $0 + else + IPV4_AVAIL=0 + fi +fi +# In case wlanconfig left an option and we do not support IPv4 we need to write +# it out on its own. We cannot write it out with IPv6 as that suffix. +if [ ${IPV4_AVAIL} -eq 0 -a -n ${IFCONFIG_PREFIX} ]; then + echo ifconfig_${INTERFACE}=\"${IFCONFIG_PREFIX}\" >> $BSDINSTALL_TMPETC/._rc.conf.net +fi +if [ ${IPV6_AVAIL} -eq 1 ]; then + dialog --backtitle 'FreeBSD Installer' --title 'Network Configuration' \ + --yesno 'Would you like to configure IPv6 for this interface?' 0 0 + if [ $? -eq $DIALOG_OK ]; then + bsdinstall netconfig_ipv6 ${INTERFACE} || exec $0 + else + IPV6_AVAIL=0 + fi +fi + +SEARCH="" +IP4_1="" +IP4_2="" +IP6_1="" +IP6_2="" +while read key value; do + case "${key}" in + search) SEARCH="${value}" ;; + nameserver) # is more trick as we have to distinguish v4 and v6 + case "${value}" in + [0-9]*\.[0-9]*\.[0-9]*\.[0-9]*) + if [ -z "${IP4_1}" ] ; then + IP4_1="${value}" + elif [ -z "${IP4_2}" ]; then + IP4_2="${value}" + fi + ;; + [0-9A-Fa-f:]*:*) + if [ -z "${IP6_1}" ] ; then + IP6_1="${value}" + elif [ -z "${IP6_2}" ]; then + IP6_2="${value}" + fi + ;; + esac + ;; + # ignore others + esac +done < ${BSDINSTALL_TMPETC}/resolv.conf + +RESOLV="" +if [ ${IPV6_AVAIL} -eq 1 -a ${IPV4_AVAIL} -eq 1 ]; then + RESOLV=" + 'Search' 1 0 \"${SEARCH}\" 1 16 50 0 0 + 'Nameserver' 2 0 \"Nameserver\" 2 16 50 0 2 + 'IPv6 DNS #1' 2 0 \"${IP6_1}\" 2 16 50 0 0 + 'IPv6 DNS #2' 3 0 \"${IP6_2}\" 3 16 50 0 0 + 'IPv4 DNS #1' 4 0 \"${IP4_1}\" 4 16 16 0 0 + 'IPv4 DNS #2' 5 0 \"${IP4_2}\" 5 16 16 0 0" +elif [ ${IPV6_AVAIL} -eq 1 ]; then + RESOLV=" + 'Search' 1 0 \"${SEARCH}\" 1 16 50 0 0 + 'Nameserver' 2 0 \"Nameserver\" 2 16 50 0 2 + 'IPv6 DNS #1' 2 0 \"${IP6_1}\" 2 16 50 0 0 + 'IPv6 DNS #2' 3 0 \"${IP6_2}\" 3 16 50 0 0" +elif [ ${IPV4_AVAIL} -eq 1 ]; then + RESOLV=" + 'Search' 1 0 \"${SEARCH}\" 1 16 50 0 0 + 'Nameserver' 2 0 \"Nameserver\" 2 16 50 0 2 + 'IPv4 DNS #1' 2 0 \"${IP4_1}\" 2 16 16 0 0 + 'IPv4 DNS #2' 3 0 \"${IP4_2}\" 3 16 16 0 0" +else + exit 0 +fi + +exec 3>&1 +RESOLV=$(echo "${RESOLV}" | xargs dialog --backtitle 'FreeBSD Installer' \ + --title 'Network Configuration' \ + --mixedform 'Resolver Configuration' 0 0 0 \ +2>&1 1>&3) +if [ $? -eq $DIALOG_CANCEL ]; then exec $0; fi +exec 3>&- + +echo ${RESOLV} | tr ' ' '\n' | \ +awk ' +BEGIN { + search=-1; +} +{ + if (/^[[:space:]]+$/) { + next; + } + if (/^Nameserver$/) { + printf "\n"; + search=0; + next; + } + if (search == -1) { + printf "search "; + search=1; + } + if (search > 0) { + printf "%s%s", (search > 1) ? " " : "", $1; + search++; + next; + } + printf "nameserver %s\n", $1; +}' > ${BSDINSTALL_TMPETC}/resolv.conf + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-soc-all@freebsd.org Fri Aug 21 18:19:50 2015 Return-Path: Delivered-To: svn-soc-all@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 3A0E89BF252 for ; Fri, 21 Aug 2015 18:19:50 +0000 (UTC) (envelope-from clord@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 256C91C69 for ; Fri, 21 Aug 2015 18:19:50 +0000 (UTC) (envelope-from clord@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LIJolO009716 for ; Fri, 21 Aug 2015 18:19:50 GMT (envelope-from clord@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LIJeMc009531 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 18:19:40 GMT (envelope-from clord@FreeBSD.org) Date: Fri, 21 Aug 2015 18:19:40 GMT Message-Id: <201508211819.t7LIJeMc009531@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to clord@FreeBSD.org using -f From: clord@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290044 - in soc2015/clord/head: . bin/dd bin/ls bin/mv bin/ps bin/sh bin/sh/tests/builtins bin/sh/tests/parser bin/stty cddl cddl/contrib/opensolaris cddl/contrib/opensolaris/cmd/dt... MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 18:19:50 -0000 Author: clord Date: Fri Aug 21 18:19:35 2015 New Revision: 290044 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290044 Log: Merge with head. Added: soc2015/clord/head/bin/sh/tests/builtins/read8.0 - copied unchanged from r290036, mirror/FreeBSD/head/bin/sh/tests/builtins/read8.0 soc2015/clord/head/bin/sh/tests/parser/dollar-quote12.0 - copied unchanged from r290036, mirror/FreeBSD/head/bin/sh/tests/parser/dollar-quote12.0 soc2015/clord/head/bin/sh/tests/parser/dollar-quote13.0 - copied unchanged from r290036, mirror/FreeBSD/head/bin/sh/tests/parser/dollar-quote13.0 soc2015/clord/head/cddl/contrib/opensolaris/lib/libdtrace/aarch64/ - copied from r290036, mirror/FreeBSD/head/cddl/contrib/opensolaris/lib/libdtrace/aarch64/ soc2015/clord/head/contrib/elftoolchain/ar/ (props changed) - copied from r290036, mirror/FreeBSD/head/contrib/elftoolchain/ar/ soc2015/clord/head/contrib/elftoolchain/brandelf/ (props changed) - copied from r290036, mirror/FreeBSD/head/contrib/elftoolchain/brandelf/ soc2015/clord/head/contrib/elftoolchain/elfdump/ (props changed) - copied from r290036, mirror/FreeBSD/head/contrib/elftoolchain/elfdump/ soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_decls.h - copied unchanged from r290036, mirror/FreeBSD/head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_decls.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/pages.h - copied unchanged from r290036, mirror/FreeBSD/head/contrib/jemalloc/include/jemalloc/internal/pages.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/valgrind.h - copied unchanged from r290036, mirror/FreeBSD/head/contrib/jemalloc/include/jemalloc/internal/valgrind.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/jemalloc_typedefs.h - copied unchanged from r290036, mirror/FreeBSD/head/contrib/jemalloc/include/jemalloc/jemalloc_typedefs.h soc2015/clord/head/contrib/jemalloc/src/pages.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/jemalloc/src/pages.c soc2015/clord/head/contrib/libarchive/libarchive/test/test_read_format_gtar_sparse_skip_entry.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/libarchive/libarchive/test/test_read_format_gtar_sparse_skip_entry.c soc2015/clord/head/contrib/libarchive/libarchive/test/test_read_format_gtar_sparse_skip_entry.tar.Z.uu - copied unchanged from r290036, mirror/FreeBSD/head/contrib/libarchive/libarchive/test/test_read_format_gtar_sparse_skip_entry.tar.Z.uu soc2015/clord/head/contrib/llvm/patches/patch-10-llvm-r241142-r241143-mmx-undef.diff - copied unchanged from r290036, mirror/FreeBSD/head/contrib/llvm/patches/patch-10-llvm-r241142-r241143-mmx-undef.diff soc2015/clord/head/contrib/ntp/README.leapsmear - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/README.leapsmear soc2015/clord/head/contrib/ntp/html/drivers/driver40-ja.html - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/html/drivers/driver40-ja.html soc2015/clord/head/contrib/ntp/include/refidsmear.h - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/include/refidsmear.h soc2015/clord/head/contrib/ntp/libjsmn/example/ - copied from r290036, mirror/FreeBSD/head/contrib/ntp/libjsmn/example/ soc2015/clord/head/contrib/ntp/libntp/refidsmear.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/libntp/refidsmear.c soc2015/clord/head/contrib/ntp/ntpd/rc_cmdlength.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/ntpd/rc_cmdlength.c soc2015/clord/head/contrib/ntp/scripts/update-leap/update-leap.in - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/scripts/update-leap/update-leap.in soc2015/clord/head/contrib/ntp/scripts/update-leap/update-leap.sh - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/scripts/update-leap/update-leap.sh soc2015/clord/head/contrib/ntp/sntp/ag-tpl/Mdoc.pm - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/ag-tpl/Mdoc.pm soc2015/clord/head/contrib/ntp/sntp/ag-tpl/mdoc2man - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/ag-tpl/mdoc2man soc2015/clord/head/contrib/ntp/sntp/libevent/build-aux/ar-lib - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/libevent/build-aux/ar-lib soc2015/clord/head/contrib/ntp/sntp/libevent/build-aux/test-driver - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/libevent/build-aux/test-driver soc2015/clord/head/contrib/ntp/sntp/libpkgver/ - copied from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/libpkgver/ soc2015/clord/head/contrib/ntp/sntp/m4/ntp_unitytest.m4 - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/m4/ntp_unitytest.m4 soc2015/clord/head/contrib/ntp/sntp/tests/crypto.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/crypto.c soc2015/clord/head/contrib/ntp/sntp/tests/fileHandlingTest.h.in - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/fileHandlingTest.h.in soc2015/clord/head/contrib/ntp/sntp/tests/g_fileHandlingTest.h - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/g_fileHandlingTest.h soc2015/clord/head/contrib/ntp/sntp/tests/g_networking.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/g_networking.cpp soc2015/clord/head/contrib/ntp/sntp/tests/g_packetHandling.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/g_packetHandling.cpp soc2015/clord/head/contrib/ntp/sntp/tests/g_packetProcessing.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/g_packetProcessing.cpp soc2015/clord/head/contrib/ntp/sntp/tests/g_sntptest.h - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/g_sntptest.h soc2015/clord/head/contrib/ntp/sntp/tests/keyFile.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/keyFile.c soc2015/clord/head/contrib/ntp/sntp/tests/kodDatabase.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/kodDatabase.c soc2015/clord/head/contrib/ntp/sntp/tests/kodFile.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/kodFile.c soc2015/clord/head/contrib/ntp/sntp/tests/networking.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/networking.c soc2015/clord/head/contrib/ntp/sntp/tests/packetHandling.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/packetHandling.c soc2015/clord/head/contrib/ntp/sntp/tests/packetProcessing.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/packetProcessing.c soc2015/clord/head/contrib/ntp/sntp/tests/run-crypto.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/run-crypto.c soc2015/clord/head/contrib/ntp/sntp/tests/run-keyFile.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/run-keyFile.c soc2015/clord/head/contrib/ntp/sntp/tests/run-kodDatabase.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/run-kodDatabase.c soc2015/clord/head/contrib/ntp/sntp/tests/run-kodFile.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/run-kodFile.c soc2015/clord/head/contrib/ntp/sntp/tests/run-networking.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/run-networking.c soc2015/clord/head/contrib/ntp/sntp/tests/run-packetHandling.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/run-packetHandling.c soc2015/clord/head/contrib/ntp/sntp/tests/run-packetProcessing.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/run-packetProcessing.c soc2015/clord/head/contrib/ntp/sntp/tests/run-utilities.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/run-utilities.c soc2015/clord/head/contrib/ntp/sntp/tests/utilities.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/tests/utilities.c soc2015/clord/head/contrib/ntp/sntp/unity/ - copied from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/unity/ soc2015/clord/head/contrib/ntp/sntp/version.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/sntp/version.c soc2015/clord/head/contrib/ntp/tests/bug-2803/ - copied from r290036, mirror/FreeBSD/head/contrib/ntp/tests/bug-2803/ soc2015/clord/head/contrib/ntp/tests/libntp/a_md5encrypt.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/a_md5encrypt.c soc2015/clord/head/contrib/ntp/tests/libntp/atoint.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/atoint.c soc2015/clord/head/contrib/ntp/tests/libntp/atouint.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/atouint.c soc2015/clord/head/contrib/ntp/tests/libntp/authkeys.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/authkeys.c soc2015/clord/head/contrib/ntp/tests/libntp/buftvtots.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/buftvtots.c soc2015/clord/head/contrib/ntp/tests/libntp/calendar.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/calendar.c soc2015/clord/head/contrib/ntp/tests/libntp/caljulian.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/caljulian.c soc2015/clord/head/contrib/ntp/tests/libntp/caltontp.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/caltontp.c soc2015/clord/head/contrib/ntp/tests/libntp/calyearstart.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/calyearstart.c soc2015/clord/head/contrib/ntp/tests/libntp/clocktime.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/clocktime.c soc2015/clord/head/contrib/ntp/tests/libntp/decodenetnum.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/decodenetnum.c soc2015/clord/head/contrib/ntp/tests/libntp/g_a_md5encrypt.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_a_md5encrypt.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_atoint.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_atoint.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_atouint.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_atouint.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_authkeys.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_authkeys.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_buftvtots.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_buftvtots.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_calendar.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_calendar.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_caljulian.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_caljulian.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_caltontp.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_caltontp.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_calyearstart.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_calyearstart.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_clocktime.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_clocktime.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_decodenetnum.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_decodenetnum.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_hextoint.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_hextoint.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_hextolfp.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_hextolfp.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_humandate.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_humandate.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_lfpfunc.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_lfpfunc.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_lfptest.h - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_lfptest.h soc2015/clord/head/contrib/ntp/tests/libntp/g_lfptostr.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_lfptostr.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_libntptest.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_libntptest.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_libntptest.h - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_libntptest.h soc2015/clord/head/contrib/ntp/tests/libntp/g_modetoa.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_modetoa.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_msyslog.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_msyslog.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_netof.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_netof.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_numtoa.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_numtoa.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_numtohost.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_numtohost.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_octtoint.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_octtoint.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_prettydate.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_prettydate.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_recvbuff.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_recvbuff.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_refnumtoa.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_refnumtoa.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_sfptostr.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_sfptostr.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_sockaddrtest.h - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_sockaddrtest.h soc2015/clord/head/contrib/ntp/tests/libntp/g_socktoa.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_socktoa.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_ssl_init.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_ssl_init.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_statestr.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_statestr.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_strtolfp.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_strtolfp.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_timespecops.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_timespecops.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_timestructs.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_timestructs.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_timestructs.h - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_timestructs.h soc2015/clord/head/contrib/ntp/tests/libntp/g_timevalops.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_timevalops.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_tstotv.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_tstotv.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_tvtots.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_tvtots.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_uglydate.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_uglydate.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_vi64ops.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_vi64ops.cpp soc2015/clord/head/contrib/ntp/tests/libntp/g_ymd2yd.cpp - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/g_ymd2yd.cpp soc2015/clord/head/contrib/ntp/tests/libntp/hextoint.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/hextoint.c soc2015/clord/head/contrib/ntp/tests/libntp/hextolfp.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/hextolfp.c soc2015/clord/head/contrib/ntp/tests/libntp/humandate.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/humandate.c soc2015/clord/head/contrib/ntp/tests/libntp/lfpfunc.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/lfpfunc.c soc2015/clord/head/contrib/ntp/tests/libntp/lfptostr.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/lfptostr.c soc2015/clord/head/contrib/ntp/tests/libntp/modetoa.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/modetoa.c soc2015/clord/head/contrib/ntp/tests/libntp/msyslog.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/msyslog.c soc2015/clord/head/contrib/ntp/tests/libntp/netof.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/netof.c soc2015/clord/head/contrib/ntp/tests/libntp/numtoa.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/numtoa.c soc2015/clord/head/contrib/ntp/tests/libntp/numtohost.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/numtohost.c soc2015/clord/head/contrib/ntp/tests/libntp/octtoint.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/octtoint.c soc2015/clord/head/contrib/ntp/tests/libntp/prettydate.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/prettydate.c soc2015/clord/head/contrib/ntp/tests/libntp/recvbuff.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/recvbuff.c soc2015/clord/head/contrib/ntp/tests/libntp/refidsmear.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/refidsmear.c soc2015/clord/head/contrib/ntp/tests/libntp/refnumtoa.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/refnumtoa.c soc2015/clord/head/contrib/ntp/tests/libntp/run-a_md5encrypt.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-a_md5encrypt.c soc2015/clord/head/contrib/ntp/tests/libntp/run-atoint.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-atoint.c soc2015/clord/head/contrib/ntp/tests/libntp/run-atouint.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-atouint.c soc2015/clord/head/contrib/ntp/tests/libntp/run-authkeys.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-authkeys.c soc2015/clord/head/contrib/ntp/tests/libntp/run-buftvtots.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-buftvtots.c soc2015/clord/head/contrib/ntp/tests/libntp/run-calendar.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-calendar.c soc2015/clord/head/contrib/ntp/tests/libntp/run-caljulian.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-caljulian.c soc2015/clord/head/contrib/ntp/tests/libntp/run-caltontp.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-caltontp.c soc2015/clord/head/contrib/ntp/tests/libntp/run-calyearstart.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-calyearstart.c soc2015/clord/head/contrib/ntp/tests/libntp/run-clocktime.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-clocktime.c soc2015/clord/head/contrib/ntp/tests/libntp/run-decodenetnum.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-decodenetnum.c soc2015/clord/head/contrib/ntp/tests/libntp/run-hextoint.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-hextoint.c soc2015/clord/head/contrib/ntp/tests/libntp/run-hextolfp.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-hextolfp.c soc2015/clord/head/contrib/ntp/tests/libntp/run-humandate.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-humandate.c soc2015/clord/head/contrib/ntp/tests/libntp/run-lfpfunc.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-lfpfunc.c soc2015/clord/head/contrib/ntp/tests/libntp/run-lfptostr.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-lfptostr.c soc2015/clord/head/contrib/ntp/tests/libntp/run-modetoa.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-modetoa.c soc2015/clord/head/contrib/ntp/tests/libntp/run-msyslog.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-msyslog.c soc2015/clord/head/contrib/ntp/tests/libntp/run-netof.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-netof.c soc2015/clord/head/contrib/ntp/tests/libntp/run-numtoa.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-numtoa.c soc2015/clord/head/contrib/ntp/tests/libntp/run-numtohost.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-numtohost.c soc2015/clord/head/contrib/ntp/tests/libntp/run-octtoint.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-octtoint.c soc2015/clord/head/contrib/ntp/tests/libntp/run-prettydate.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-prettydate.c soc2015/clord/head/contrib/ntp/tests/libntp/run-recvbuff.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-recvbuff.c soc2015/clord/head/contrib/ntp/tests/libntp/run-refidsmear.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-refidsmear.c soc2015/clord/head/contrib/ntp/tests/libntp/run-refnumtoa.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-refnumtoa.c soc2015/clord/head/contrib/ntp/tests/libntp/run-sfptostr.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-sfptostr.c soc2015/clord/head/contrib/ntp/tests/libntp/run-socktoa.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-socktoa.c soc2015/clord/head/contrib/ntp/tests/libntp/run-ssl_init.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-ssl_init.c soc2015/clord/head/contrib/ntp/tests/libntp/run-statestr.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-statestr.c soc2015/clord/head/contrib/ntp/tests/libntp/run-strtolfp.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-strtolfp.c soc2015/clord/head/contrib/ntp/tests/libntp/run-timespecops.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-timespecops.c soc2015/clord/head/contrib/ntp/tests/libntp/run-timevalops.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-timevalops.c soc2015/clord/head/contrib/ntp/tests/libntp/run-tstotv.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-tstotv.c soc2015/clord/head/contrib/ntp/tests/libntp/run-tvtots.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-tvtots.c soc2015/clord/head/contrib/ntp/tests/libntp/run-uglydate.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-uglydate.c soc2015/clord/head/contrib/ntp/tests/libntp/run-vi64ops.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-vi64ops.c soc2015/clord/head/contrib/ntp/tests/libntp/run-ymd2yd.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/run-ymd2yd.c soc2015/clord/head/contrib/ntp/tests/libntp/sfptostr.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/sfptostr.c soc2015/clord/head/contrib/ntp/tests/libntp/socktoa.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/socktoa.c soc2015/clord/head/contrib/ntp/tests/libntp/ssl_init.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/ssl_init.c soc2015/clord/head/contrib/ntp/tests/libntp/statestr.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/statestr.c soc2015/clord/head/contrib/ntp/tests/libntp/strtolfp.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/strtolfp.c soc2015/clord/head/contrib/ntp/tests/libntp/test-libntp.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/test-libntp.c soc2015/clord/head/contrib/ntp/tests/libntp/test-libntp.h - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/test-libntp.h soc2015/clord/head/contrib/ntp/tests/libntp/timespecops.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/timespecops.c soc2015/clord/head/contrib/ntp/tests/libntp/timevalops.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/timevalops.c soc2015/clord/head/contrib/ntp/tests/libntp/tstotv.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/tstotv.c soc2015/clord/head/contrib/ntp/tests/libntp/tvtots.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/tvtots.c soc2015/clord/head/contrib/ntp/tests/libntp/uglydate.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/uglydate.c soc2015/clord/head/contrib/ntp/tests/libntp/vi64ops.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/vi64ops.c soc2015/clord/head/contrib/ntp/tests/libntp/ymd2yd.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/ntp/tests/libntp/ymd2yd.c soc2015/clord/head/contrib/ntp/tests/sandbox/ - copied from r290036, mirror/FreeBSD/head/contrib/ntp/tests/sandbox/ soc2015/clord/head/contrib/ntp/tests/sec-2853/ - copied from r290036, mirror/FreeBSD/head/contrib/ntp/tests/sec-2853/ soc2015/clord/head/contrib/sendmail/cf/feature/bcc.m4 - copied unchanged from r290036, mirror/FreeBSD/head/contrib/sendmail/cf/feature/bcc.m4 soc2015/clord/head/contrib/sendmail/cf/feature/nopercenthack.m4 - copied unchanged from r290036, mirror/FreeBSD/head/contrib/sendmail/cf/feature/nopercenthack.m4 soc2015/clord/head/contrib/sendmail/cf/feature/prefixmod.m4 - copied unchanged from r290036, mirror/FreeBSD/head/contrib/sendmail/cf/feature/prefixmod.m4 soc2015/clord/head/contrib/sendmail/cf/feature/tls_session_features.m4 - copied unchanged from r290036, mirror/FreeBSD/head/contrib/sendmail/cf/feature/tls_session_features.m4 soc2015/clord/head/contrib/sendmail/cf/hack/xconnect.m4 - copied unchanged from r290036, mirror/FreeBSD/head/contrib/sendmail/cf/hack/xconnect.m4 soc2015/clord/head/contrib/sendmail/contrib/AuthRealm.p0 - copied unchanged from r290036, mirror/FreeBSD/head/contrib/sendmail/contrib/AuthRealm.p0 soc2015/clord/head/contrib/tcpdump/print-ftp.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/tcpdump/print-ftp.c soc2015/clord/head/contrib/tcpdump/print-geneve.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/tcpdump/print-geneve.c soc2015/clord/head/contrib/tcpdump/print-http.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/tcpdump/print-http.c soc2015/clord/head/contrib/tcpdump/print-rtsp.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/tcpdump/print-rtsp.c soc2015/clord/head/contrib/tcpdump/print-smtp.c - copied unchanged from r290036, mirror/FreeBSD/head/contrib/tcpdump/print-smtp.c soc2015/clord/head/crypto/openssl/crypto/x509/verify_extra_test.c - copied unchanged from r290036, mirror/FreeBSD/head/crypto/openssl/crypto/x509/verify_extra_test.c soc2015/clord/head/lib/libc/aarch64/gen/_ctx_start.S - copied unchanged from r290036, mirror/FreeBSD/head/lib/libc/aarch64/gen/_ctx_start.S soc2015/clord/head/lib/libc/aarch64/gen/fpgetmask.c - copied unchanged from r290036, mirror/FreeBSD/head/lib/libc/aarch64/gen/fpgetmask.c soc2015/clord/head/lib/libc/aarch64/gen/fpsetmask.c - copied unchanged from r290036, mirror/FreeBSD/head/lib/libc/aarch64/gen/fpsetmask.c soc2015/clord/head/lib/libc/aarch64/gen/infinity.c - copied unchanged from r290036, mirror/FreeBSD/head/lib/libc/aarch64/gen/infinity.c soc2015/clord/head/lib/libc/aarch64/gen/makecontext.c - copied unchanged from r290036, mirror/FreeBSD/head/lib/libc/aarch64/gen/makecontext.c soc2015/clord/head/lib/libc/secure/ - copied from r290036, mirror/FreeBSD/head/lib/libc/secure/ soc2015/clord/head/lib/libc/sys/numa_getaffinity.2 - copied unchanged from r290036, mirror/FreeBSD/head/lib/libc/sys/numa_getaffinity.2 soc2015/clord/head/lib/libkvm/kvm_minidump_aarch64.c - copied unchanged from r290036, mirror/FreeBSD/head/lib/libkvm/kvm_minidump_aarch64.c soc2015/clord/head/lib/libnv/tests/nv_array_tests.cc - copied unchanged from r290036, mirror/FreeBSD/head/lib/libnv/tests/nv_array_tests.cc soc2015/clord/head/release/Makefile.gce - copied unchanged from r290036, mirror/FreeBSD/head/release/Makefile.gce soc2015/clord/head/release/Makefile.vagrant - copied unchanged from r290036, mirror/FreeBSD/head/release/Makefile.vagrant soc2015/clord/head/release/scripts/atlas-upload.sh - copied unchanged from r290036, mirror/FreeBSD/head/release/scripts/atlas-upload.sh soc2015/clord/head/release/scripts/box.ovf - copied unchanged from r290036, mirror/FreeBSD/head/release/scripts/box.ovf soc2015/clord/head/release/tools/vagrant-virtualbox.conf - copied unchanged from r290036, mirror/FreeBSD/head/release/tools/vagrant-virtualbox.conf soc2015/clord/head/release/tools/vagrant-vmware.conf - copied unchanged from r290036, mirror/FreeBSD/head/release/tools/vagrant-vmware.conf soc2015/clord/head/release/tools/vagrant.conf - copied unchanged from r290036, mirror/FreeBSD/head/release/tools/vagrant.conf soc2015/clord/head/share/man/man4/cloudabi.4 - copied unchanged from r290036, mirror/FreeBSD/head/share/man/man4/cloudabi.4 soc2015/clord/head/share/man/man4/cyapa.4 - copied unchanged from r290036, mirror/FreeBSD/head/share/man/man4/cyapa.4 soc2015/clord/head/share/man/man4/dtrace_io.4 - copied unchanged from r290036, mirror/FreeBSD/head/share/man/man4/dtrace_io.4 soc2015/clord/head/share/man/man4/dtrace_ip.4 - copied unchanged from r290036, mirror/FreeBSD/head/share/man/man4/dtrace_ip.4 soc2015/clord/head/share/man/man4/dtrace_proc.4 - copied unchanged from r290036, mirror/FreeBSD/head/share/man/man4/dtrace_proc.4 soc2015/clord/head/share/man/man4/dtrace_sched.4 - copied unchanged from r290036, mirror/FreeBSD/head/share/man/man4/dtrace_sched.4 soc2015/clord/head/share/man/man4/dtrace_tcp.4 - copied unchanged from r290036, mirror/FreeBSD/head/share/man/man4/dtrace_tcp.4 soc2015/clord/head/share/man/man4/dtrace_udp.4 - copied unchanged from r290036, mirror/FreeBSD/head/share/man/man4/dtrace_udp.4 soc2015/clord/head/share/man/man4/isl.4 - copied unchanged from r290036, mirror/FreeBSD/head/share/man/man4/isl.4 soc2015/clord/head/share/man/man4/iwm.4 - copied unchanged from r290036, mirror/FreeBSD/head/share/man/man4/iwm.4 soc2015/clord/head/share/man/man4/iwmfw.4 - copied unchanged from r290036, mirror/FreeBSD/head/share/man/man4/iwmfw.4 soc2015/clord/head/share/man/man4/man4.arm/am335x_dmtpps.4 - copied unchanged from r290036, mirror/FreeBSD/head/share/man/man4/man4.arm/am335x_dmtpps.4 soc2015/clord/head/share/man/man4/numa.4 - copied unchanged from r290036, mirror/FreeBSD/head/share/man/man4/numa.4 soc2015/clord/head/share/man/man4/pms.4 - copied unchanged from r290036, mirror/FreeBSD/head/share/man/man4/pms.4 soc2015/clord/head/share/man/man4/rccgpio.4 - copied unchanged from r290036, mirror/FreeBSD/head/share/man/man4/rccgpio.4 soc2015/clord/head/share/man/man9/nv.9 - copied unchanged from r290036, mirror/FreeBSD/head/share/man/man9/nv.9 soc2015/clord/head/share/man/man9/pmap_quick_enter_page.9 - copied unchanged from r290036, mirror/FreeBSD/head/share/man/man9/pmap_quick_enter_page.9 soc2015/clord/head/sys/amd64/cloudabi64/ - copied from r290036, mirror/FreeBSD/head/sys/amd64/cloudabi64/ soc2015/clord/head/sys/arm/allwinner/a10_ahci.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/arm/allwinner/a10_ahci.c soc2015/clord/head/sys/arm/include/atomic-v4.h - copied unchanged from r290036, mirror/FreeBSD/head/sys/arm/include/atomic-v4.h soc2015/clord/head/sys/arm/include/atomic-v6.h - copied unchanged from r290036, mirror/FreeBSD/head/sys/arm/include/atomic-v6.h soc2015/clord/head/sys/arm/ti/am335x/am335x_dmtpps.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/arm/ti/am335x/am335x_dmtpps.c soc2015/clord/head/sys/arm/ti/am335x/am335x_dmtreg.h - copied unchanged from r290036, mirror/FreeBSD/head/sys/arm/ti/am335x/am335x_dmtreg.h soc2015/clord/head/sys/arm64/acpica/pci_cfgreg.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/arm64/acpica/pci_cfgreg.c soc2015/clord/head/sys/arm64/arm64/gic_v3_its.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/arm64/arm64/gic_v3_its.c soc2015/clord/head/sys/arm64/arm64/mp_machdep.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/arm64/arm64/mp_machdep.c soc2015/clord/head/sys/arm64/arm64/uma_machdep.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/arm64/arm64/uma_machdep.c soc2015/clord/head/sys/arm64/cavium/ - copied from r290036, mirror/FreeBSD/head/sys/arm64/cavium/ soc2015/clord/head/sys/arm64/include/floatingpoint.h - copied unchanged from r290036, mirror/FreeBSD/head/sys/arm64/include/floatingpoint.h soc2015/clord/head/sys/arm64/include/minidump.h - copied unchanged from r290036, mirror/FreeBSD/head/sys/arm64/include/minidump.h soc2015/clord/head/sys/boot/fdt/dts/arm/bananapi.dts - copied unchanged from r290036, mirror/FreeBSD/head/sys/boot/fdt/dts/arm/bananapi.dts soc2015/clord/head/sys/cam/ctl/ctl_frontend_ioctl.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/cam/ctl/ctl_frontend_ioctl.c soc2015/clord/head/sys/cddl/contrib/opensolaris/common/nvpair/opensolaris_fnvpair.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/cddl/contrib/opensolaris/common/nvpair/opensolaris_fnvpair.c soc2015/clord/head/sys/cddl/contrib/opensolaris/common/nvpair/opensolaris_nvpair.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/cddl/contrib/opensolaris/common/nvpair/opensolaris_nvpair.c soc2015/clord/head/sys/cddl/contrib/opensolaris/common/nvpair/opensolaris_nvpair_alloc_fixed.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/cddl/contrib/opensolaris/common/nvpair/opensolaris_nvpair_alloc_fixed.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/aarch64/ - copied from r290036, mirror/FreeBSD/head/sys/cddl/contrib/opensolaris/uts/aarch64/ soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bqueue.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bqueue.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/multilist.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/multilist.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/bqueue.h - copied unchanged from r290036, mirror/FreeBSD/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/bqueue.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/multilist.h - copied unchanged from r290036, mirror/FreeBSD/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/multilist.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_priority.h - copied unchanged from r290036, mirror/FreeBSD/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_priority.h soc2015/clord/head/sys/cddl/dev/dtrace/aarch64/ - copied from r290036, mirror/FreeBSD/head/sys/cddl/dev/dtrace/aarch64/ soc2015/clord/head/sys/cddl/dev/fbt/aarch64/ - copied from r290036, mirror/FreeBSD/head/sys/cddl/dev/fbt/aarch64/ soc2015/clord/head/sys/compat/cloudabi/ - copied from r290036, mirror/FreeBSD/head/sys/compat/cloudabi/ soc2015/clord/head/sys/compat/cloudabi64/ - copied from r290036, mirror/FreeBSD/head/sys/compat/cloudabi64/ soc2015/clord/head/sys/contrib/alpine-hal/ - copied from r290036, mirror/FreeBSD/head/sys/contrib/alpine-hal/ soc2015/clord/head/sys/contrib/cloudabi/ - copied from r290036, mirror/FreeBSD/head/sys/contrib/cloudabi/ soc2015/clord/head/sys/contrib/dev/acpica/components/debugger/dbobject.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/contrib/dev/acpica/components/debugger/dbobject.c soc2015/clord/head/sys/contrib/dev/acpica/components/dispatcher/dsdebug.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/contrib/dev/acpica/components/dispatcher/dsdebug.c soc2015/clord/head/sys/contrib/dev/acpica/components/utilities/utnonansi.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/contrib/dev/acpica/components/utilities/utnonansi.c soc2015/clord/head/sys/contrib/dev/iwm/ - copied from r290036, mirror/FreeBSD/head/sys/contrib/dev/iwm/ soc2015/clord/head/sys/contrib/libnv/ - copied from r290036, mirror/FreeBSD/head/sys/contrib/libnv/ soc2015/clord/head/sys/dev/cxgbe/firmware/t4fw-1.14.4.0.bin.uu - copied unchanged from r290036, mirror/FreeBSD/head/sys/dev/cxgbe/firmware/t4fw-1.14.4.0.bin.uu soc2015/clord/head/sys/dev/cxgbe/firmware/t5fw-1.14.4.0.bin.uu - copied unchanged from r290036, mirror/FreeBSD/head/sys/dev/cxgbe/firmware/t5fw-1.14.4.0.bin.uu soc2015/clord/head/sys/dev/cyapa/ - copied from r290036, mirror/FreeBSD/head/sys/dev/cyapa/ soc2015/clord/head/sys/dev/gpio/gpiobacklight.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/dev/gpio/gpiobacklight.c soc2015/clord/head/sys/dev/isl/ - copied from r290036, mirror/FreeBSD/head/sys/dev/isl/ soc2015/clord/head/sys/dev/iwm/ - copied from r290036, mirror/FreeBSD/head/sys/dev/iwm/ soc2015/clord/head/sys/dev/pms/ - copied from r290036, mirror/FreeBSD/head/sys/dev/pms/ soc2015/clord/head/sys/dev/proto/proto_bus_isa.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/dev/proto/proto_bus_isa.c soc2015/clord/head/sys/dev/qlxgbe/ql_boot.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/dev/qlxgbe/ql_boot.c soc2015/clord/head/sys/dev/qlxgbe/ql_fw.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/dev/qlxgbe/ql_fw.c soc2015/clord/head/sys/dev/qlxgbe/ql_minidump.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/dev/qlxgbe/ql_minidump.c soc2015/clord/head/sys/dev/random/other_algorithm.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/dev/random/other_algorithm.c soc2015/clord/head/sys/dev/random/other_algorithm.h - copied unchanged from r290036, mirror/FreeBSD/head/sys/dev/random/other_algorithm.h soc2015/clord/head/sys/dev/random/random_infra.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/dev/random/random_infra.c soc2015/clord/head/sys/dev/rccgpio/ - copied from r290036, mirror/FreeBSD/head/sys/dev/rccgpio/ soc2015/clord/head/sys/dev/vt/logo/logo_beastie.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/dev/vt/logo/logo_beastie.c soc2015/clord/head/sys/dev/vt/vt_cpulogos.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/dev/vt/vt_cpulogos.c soc2015/clord/head/sys/kern/kern_numa.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/kern/kern_numa.c soc2015/clord/head/sys/libkern/arm/memclr.S - copied unchanged from r290036, mirror/FreeBSD/head/sys/libkern/arm/memclr.S soc2015/clord/head/sys/mips/conf/BERI_SIM_VIRTIO - copied unchanged from r290036, mirror/FreeBSD/head/sys/mips/conf/BERI_SIM_VIRTIO soc2015/clord/head/sys/mips/conf/TL-ARCHERC7V2 - copied unchanged from r290036, mirror/FreeBSD/head/sys/mips/conf/TL-ARCHERC7V2 soc2015/clord/head/sys/mips/conf/TL-ARCHERC7V2.hints - copied unchanged from r290036, mirror/FreeBSD/head/sys/mips/conf/TL-ARCHERC7V2.hints soc2015/clord/head/sys/modules/am335x_dmtpps/ - copied from r290036, mirror/FreeBSD/head/sys/modules/am335x_dmtpps/ soc2015/clord/head/sys/modules/cloudabi/ - copied from r290036, mirror/FreeBSD/head/sys/modules/cloudabi/ soc2015/clord/head/sys/modules/cloudabi64/ - copied from r290036, mirror/FreeBSD/head/sys/modules/cloudabi64/ soc2015/clord/head/sys/modules/filemon/Makefile.depend - copied unchanged from r290036, mirror/FreeBSD/head/sys/modules/filemon/Makefile.depend soc2015/clord/head/sys/modules/i2c/cyapa/ - copied from r290036, mirror/FreeBSD/head/sys/modules/i2c/cyapa/ soc2015/clord/head/sys/modules/i2c/isl/ - copied from r290036, mirror/FreeBSD/head/sys/modules/i2c/isl/ soc2015/clord/head/sys/modules/iwm/ - copied from r290036, mirror/FreeBSD/head/sys/modules/iwm/ soc2015/clord/head/sys/modules/iwmfw/ - copied from r290036, mirror/FreeBSD/head/sys/modules/iwmfw/ soc2015/clord/head/sys/modules/pms/ - copied from r290036, mirror/FreeBSD/head/sys/modules/pms/ soc2015/clord/head/sys/modules/random_fortuna/ - copied from r290036, mirror/FreeBSD/head/sys/modules/random_fortuna/ soc2015/clord/head/sys/modules/random_other/ - copied from r290036, mirror/FreeBSD/head/sys/modules/random_other/ soc2015/clord/head/sys/modules/random_yarrow/ - copied from r290036, mirror/FreeBSD/head/sys/modules/random_yarrow/ soc2015/clord/head/sys/modules/rccgpio/ - copied from r290036, mirror/FreeBSD/head/sys/modules/rccgpio/ soc2015/clord/head/sys/net/altq/altq_fairq.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/net/altq/altq_fairq.c soc2015/clord/head/sys/net/altq/altq_fairq.h - copied unchanged from r290036, mirror/FreeBSD/head/sys/net/altq/altq_fairq.h soc2015/clord/head/sys/powerpc/powerpc/interrupt.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/powerpc/powerpc/interrupt.c soc2015/clord/head/sys/sys/_vm_domain.h - copied unchanged from r290036, mirror/FreeBSD/head/sys/sys/_vm_domain.h soc2015/clord/head/sys/sys/numa.h - copied unchanged from r290036, mirror/FreeBSD/head/sys/sys/numa.h soc2015/clord/head/sys/vm/vm_domain.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/vm/vm_domain.c soc2015/clord/head/sys/vm/vm_domain.h - copied unchanged from r290036, mirror/FreeBSD/head/sys/vm/vm_domain.h soc2015/clord/head/sys/x86/x86/bus_machdep.c - copied unchanged from r290036, mirror/FreeBSD/head/sys/x86/x86/bus_machdep.c soc2015/clord/head/tools/build/options/WITHOUT_ELFCOPY_AS_OBJCOPY - copied unchanged from r290036, mirror/FreeBSD/head/tools/build/options/WITHOUT_ELFCOPY_AS_OBJCOPY soc2015/clord/head/tools/build/options/WITH_AUTO_OBJ - copied unchanged from r290036, mirror/FreeBSD/head/tools/build/options/WITH_AUTO_OBJ soc2015/clord/head/tools/build/options/WITH_DIRDEPS_CACHE - copied unchanged from r290036, mirror/FreeBSD/head/tools/build/options/WITH_DIRDEPS_CACHE soc2015/clord/head/tools/build/options/WITH_DTRACE_TESTS - copied unchanged from r290036, mirror/FreeBSD/head/tools/build/options/WITH_DTRACE_TESTS soc2015/clord/head/tools/build/options/WITH_ELFCOPY_AS_OBJCOPY - copied unchanged from r290036, mirror/FreeBSD/head/tools/build/options/WITH_ELFCOPY_AS_OBJCOPY soc2015/clord/head/tools/build/options/WITH_META_FILES - copied unchanged from r290036, mirror/FreeBSD/head/tools/build/options/WITH_META_FILES soc2015/clord/head/tools/build/options/WITH_META_MODE - copied unchanged from r290036, mirror/FreeBSD/head/tools/build/options/WITH_META_MODE soc2015/clord/head/tools/build/options/WITH_STAGING - copied unchanged from r290036, mirror/FreeBSD/head/tools/build/options/WITH_STAGING soc2015/clord/head/tools/build/options/WITH_STAGING_MAN - copied unchanged from r290036, mirror/FreeBSD/head/tools/build/options/WITH_STAGING_MAN soc2015/clord/head/tools/build/options/WITH_STAGING_PROG - copied unchanged from r290036, mirror/FreeBSD/head/tools/build/options/WITH_STAGING_PROG soc2015/clord/head/tools/build/options/WITH_STALE_STAGED - copied unchanged from r290036, mirror/FreeBSD/head/tools/build/options/WITH_STALE_STAGED soc2015/clord/head/tools/build/options/WITH_SYSROOT - copied unchanged from r290036, mirror/FreeBSD/head/tools/build/options/WITH_SYSROOT soc2015/clord/head/tools/bus_space/examples/ - copied from r290036, mirror/FreeBSD/head/tools/bus_space/examples/ soc2015/clord/head/usr.bin/ident/ - copied from r290036, mirror/FreeBSD/head/usr.bin/ident/ soc2015/clord/head/usr.bin/numactl/ - copied from r290036, mirror/FreeBSD/head/usr.bin/numactl/ soc2015/clord/head/usr.bin/xargs/tests/regress.0P1.out - copied unchanged from r290036, mirror/FreeBSD/head/usr.bin/xargs/tests/regress.0P1.out soc2015/clord/head/usr.bin/xargs/tests/regress.P1.out - copied unchanged from r290036, mirror/FreeBSD/head/usr.bin/xargs/tests/regress.P1.out soc2015/clord/head/usr.bin/xargs/tests/regress.n2P0.out - copied unchanged from r290036, mirror/FreeBSD/head/usr.bin/xargs/tests/regress.n2P0.out soc2015/clord/head/usr.sbin/bhyve/Makefile.depend - copied unchanged from r290036, mirror/FreeBSD/head/usr.sbin/bhyve/Makefile.depend soc2015/clord/head/usr.sbin/fstyp/tests/ - copied from r290036, mirror/FreeBSD/head/usr.sbin/fstyp/tests/ soc2015/clord/head/usr.sbin/pw/pw_utils.c - copied unchanged from r290036, mirror/FreeBSD/head/usr.sbin/pw/pw_utils.c soc2015/clord/head/usr.sbin/pw/strtounum.c - copied unchanged from r290036, mirror/FreeBSD/head/usr.sbin/pw/strtounum.c soc2015/clord/head/usr.sbin/pw/tests/pw_groupadd.sh - copied unchanged from r290036, mirror/FreeBSD/head/usr.sbin/pw/tests/pw_groupadd.sh Deleted: soc2015/clord/head/contrib/ntp/scripts/update-leap/update-leap soc2015/clord/head/contrib/ntp/sntp/tests/crypto.cpp soc2015/clord/head/contrib/ntp/sntp/tests/keyFile.cpp soc2015/clord/head/contrib/ntp/sntp/tests/kodDatabase.cpp soc2015/clord/head/contrib/ntp/sntp/tests/kodFile.cpp soc2015/clord/head/contrib/ntp/sntp/tests/networking.cpp soc2015/clord/head/contrib/ntp/sntp/tests/packetHandling.cpp soc2015/clord/head/contrib/ntp/sntp/tests/packetProcessing.cpp soc2015/clord/head/contrib/ntp/sntp/tests/utilities.cpp soc2015/clord/head/contrib/ntp/tests/libntp/a_md5encrypt.cpp soc2015/clord/head/contrib/ntp/tests/libntp/atoint.cpp soc2015/clord/head/contrib/ntp/tests/libntp/atouint.cpp soc2015/clord/head/contrib/ntp/tests/libntp/authkeys.cpp soc2015/clord/head/contrib/ntp/tests/libntp/buftvtots.cpp soc2015/clord/head/contrib/ntp/tests/libntp/calendar.cpp soc2015/clord/head/contrib/ntp/tests/libntp/caljulian.cpp soc2015/clord/head/contrib/ntp/tests/libntp/caltontp.cpp soc2015/clord/head/contrib/ntp/tests/libntp/calyearstart.cpp soc2015/clord/head/contrib/ntp/tests/libntp/clocktime.cpp soc2015/clord/head/contrib/ntp/tests/libntp/decodenetnum.cpp soc2015/clord/head/contrib/ntp/tests/libntp/hextoint.cpp soc2015/clord/head/contrib/ntp/tests/libntp/hextolfp.cpp soc2015/clord/head/contrib/ntp/tests/libntp/humandate.cpp soc2015/clord/head/contrib/ntp/tests/libntp/lfpfunc.cpp soc2015/clord/head/contrib/ntp/tests/libntp/lfptostr.cpp soc2015/clord/head/contrib/ntp/tests/libntp/libntptest.cpp soc2015/clord/head/contrib/ntp/tests/libntp/libntptest.h soc2015/clord/head/contrib/ntp/tests/libntp/modetoa.cpp soc2015/clord/head/contrib/ntp/tests/libntp/msyslog.cpp soc2015/clord/head/contrib/ntp/tests/libntp/netof.cpp soc2015/clord/head/contrib/ntp/tests/libntp/numtoa.cpp soc2015/clord/head/contrib/ntp/tests/libntp/numtohost.cpp soc2015/clord/head/contrib/ntp/tests/libntp/octtoint.cpp soc2015/clord/head/contrib/ntp/tests/libntp/prettydate.cpp soc2015/clord/head/contrib/ntp/tests/libntp/recvbuff.cpp soc2015/clord/head/contrib/ntp/tests/libntp/refnumtoa.cpp soc2015/clord/head/contrib/ntp/tests/libntp/sfptostr.cpp soc2015/clord/head/contrib/ntp/tests/libntp/socktoa.cpp soc2015/clord/head/contrib/ntp/tests/libntp/ssl_init.cpp soc2015/clord/head/contrib/ntp/tests/libntp/statestr.cpp soc2015/clord/head/contrib/ntp/tests/libntp/strtolfp.cpp soc2015/clord/head/contrib/ntp/tests/libntp/timespecops.cpp soc2015/clord/head/contrib/ntp/tests/libntp/timestructs.cpp soc2015/clord/head/contrib/ntp/tests/libntp/timestructs.h soc2015/clord/head/contrib/ntp/tests/libntp/timevalops.cpp soc2015/clord/head/contrib/ntp/tests/libntp/tstotv.cpp soc2015/clord/head/contrib/ntp/tests/libntp/tvtots.cpp soc2015/clord/head/contrib/ntp/tests/libntp/uglydate.cpp soc2015/clord/head/contrib/ntp/tests/libntp/vi64ops.cpp soc2015/clord/head/contrib/ntp/tests/libntp/ymd2yd.cpp soc2015/clord/head/contrib/ntp/util/ansi2knr.1 soc2015/clord/head/contrib/ntp/util/ansi2knr.c soc2015/clord/head/contrib/sendmail/libsm/path.c soc2015/clord/head/contrib/tcpdump/bootp.h soc2015/clord/head/gnu/usr.bin/binutils/addr2line/ soc2015/clord/head/gnu/usr.bin/binutils/ar/ soc2015/clord/head/gnu/usr.bin/binutils/nm/ soc2015/clord/head/gnu/usr.bin/binutils/ranlib/ soc2015/clord/head/gnu/usr.bin/binutils/readelf/ soc2015/clord/head/gnu/usr.bin/binutils/size/ soc2015/clord/head/gnu/usr.bin/binutils/strings/ soc2015/clord/head/gnu/usr.bin/binutils/strip/ soc2015/clord/head/gnu/usr.bin/cc/c++filt/Makefile soc2015/clord/head/gnu/usr.bin/cc/c++filt/Makefile.depend soc2015/clord/head/gnu/usr.bin/rcs/ident/ soc2015/clord/head/lib/libarchive/libarchive.pc soc2015/clord/head/lib/libc/amd64/sys/reboot.S soc2015/clord/head/lib/libc/i386/sys/reboot.S soc2015/clord/head/lib/libc/sys/stack_protector.c soc2015/clord/head/lib/libc/sys/stack_protector_compat.c soc2015/clord/head/lib/libmd/sha256.h soc2015/clord/head/lib/libmd/sha256c.c soc2015/clord/head/lib/libnv/nv.3 soc2015/clord/head/release/tools/gce-package.sh soc2015/clord/head/share/man/man4/dtrace-io.4 soc2015/clord/head/share/man/man4/dtrace-ip.4 soc2015/clord/head/share/man/man4/dtrace-proc.4 soc2015/clord/head/share/man/man4/dtrace-sched.4 soc2015/clord/head/share/man/man4/dtrace-tcp.4 soc2015/clord/head/share/man/man4/dtrace-udp.4 soc2015/clord/head/sys/amd64/include/xen/xenfunc.h soc2015/clord/head/sys/amd64/include/xen/xenvar.h soc2015/clord/head/sys/arm/annapurna/alpine/hal/ soc2015/clord/head/sys/cam/ctl/ctl_frontend_internal.c soc2015/clord/head/sys/cam/ctl/ctl_frontend_internal.h soc2015/clord/head/sys/cddl/contrib/opensolaris/common/nvpair/fnvpair.c soc2015/clord/head/sys/cddl/contrib/opensolaris/common/nvpair/nvpair.c soc2015/clord/head/sys/cddl/contrib/opensolaris/common/nvpair/nvpair_alloc_fixed.c soc2015/clord/head/sys/cddl/dev/lockstat/ soc2015/clord/head/sys/contrib/dev/acpica/components/disassembler/dmobject.c soc2015/clord/head/sys/dev/cxgbe/firmware/t4fw-1.11.27.0.bin.uu soc2015/clord/head/sys/dev/cxgbe/firmware/t5fw-1.11.27.0.bin.uu soc2015/clord/head/sys/dev/random/dummy_rng.c soc2015/clord/head/sys/dev/random/live_entropy_sources.c soc2015/clord/head/sys/dev/random/live_entropy_sources.h soc2015/clord/head/sys/dev/random/random_adaptors.c soc2015/clord/head/sys/dev/random/random_adaptors.h soc2015/clord/head/sys/dev/random/randomdev_soft.c soc2015/clord/head/sys/dev/random/randomdev_soft.h soc2015/clord/head/sys/i386/include/privatespace.h soc2015/clord/head/sys/i386/include/xen/xenfunc.h soc2015/clord/head/sys/i386/include/xen/xenvar.h soc2015/clord/head/sys/kern/subr_dnvlist.c soc2015/clord/head/sys/kern/subr_nvlist.c soc2015/clord/head/sys/kern/subr_nvpair.c soc2015/clord/head/sys/mips/rmi/dev/iic/ds1374u.c soc2015/clord/head/sys/modules/dtrace/lockstat/ soc2015/clord/head/sys/modules/random/Makefile soc2015/clord/head/sys/pc98/include/privatespace.h soc2015/clord/head/sys/powerpc/aim/interrupt.c soc2015/clord/head/sys/powerpc/booke/interrupt.c soc2015/clord/head/sys/sys/nv_impl.h soc2015/clord/head/sys/sys/nvlist_impl.h soc2015/clord/head/sys/sys/nvpair_impl.h soc2015/clord/head/tools/build/options/WITHOUT_ELFTOOLCHAIN_TOOLS soc2015/clord/head/tools/build/options/WITHOUT_SYSINSTALL soc2015/clord/head/usr.bin/vgrind/vgrindefs.c soc2015/clord/head/usr.sbin/pw/fileupd.c Modified: soc2015/clord/head/ (props changed) soc2015/clord/head/.arcconfig soc2015/clord/head/Makefile soc2015/clord/head/Makefile.inc1 soc2015/clord/head/ObsoleteFiles.inc soc2015/clord/head/UPDATING soc2015/clord/head/bin/dd/dd.1 soc2015/clord/head/bin/ls/Makefile soc2015/clord/head/bin/ls/ls.c soc2015/clord/head/bin/ls/ls.h soc2015/clord/head/bin/ls/print.c soc2015/clord/head/bin/mv/mv.c soc2015/clord/head/bin/ps/ps.1 soc2015/clord/head/bin/sh/alias.c soc2015/clord/head/bin/sh/exec.c soc2015/clord/head/bin/sh/miscbltin.c soc2015/clord/head/bin/sh/options.c soc2015/clord/head/bin/sh/parser.c soc2015/clord/head/bin/sh/sh.1 soc2015/clord/head/bin/sh/tests/builtins/Makefile soc2015/clord/head/bin/sh/tests/parser/Makefile soc2015/clord/head/bin/stty/stty.c soc2015/clord/head/cddl/ (props changed) soc2015/clord/head/cddl/contrib/opensolaris/ (props changed) soc2015/clord/head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoofew.d soc2015/clord/head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.motoomany.d soc2015/clord/head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtatoofew.d soc2015/clord/head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/err.D_PROTO_LEN.mtatoomany.d soc2015/clord/head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.mutex_owner.d soc2015/clord/head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.mutex_type_adaptive.d soc2015/clord/head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/get.ipv4remote.pl soc2015/clord/head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/get.ipv6remote.pl soc2015/clord/head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localtcp.ksh soc2015/clord/head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remotetcp.ksh soc2015/clord/head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.localtcpstate.ksh soc2015/clord/head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.remotetcpstate.ksh soc2015/clord/head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/ (props changed) soc2015/clord/head/cddl/contrib/opensolaris/cmd/lockstat/lockstat.c soc2015/clord/head/cddl/contrib/opensolaris/cmd/zdb/zdb.c soc2015/clord/head/cddl/contrib/opensolaris/cmd/zfs/ (props changed) soc2015/clord/head/cddl/contrib/opensolaris/cmd/zfs/zfs.8 soc2015/clord/head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c soc2015/clord/head/cddl/contrib/opensolaris/cmd/zhack/zhack.c soc2015/clord/head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c soc2015/clord/head/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.c soc2015/clord/head/cddl/contrib/opensolaris/cmd/ztest/ztest.c soc2015/clord/head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c soc2015/clord/head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c soc2015/clord/head/cddl/contrib/opensolaris/lib/libzfs/ (props changed) soc2015/clord/head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h soc2015/clord/head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c soc2015/clord/head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c soc2015/clord/head/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c soc2015/clord/head/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h soc2015/clord/head/cddl/lib/Makefile soc2015/clord/head/cddl/lib/libdtrace/Makefile soc2015/clord/head/cddl/lib/libdtrace/io.d soc2015/clord/head/cddl/lib/libdtrace/ip.d soc2015/clord/head/cddl/lib/libdtrace/nfs.d soc2015/clord/head/cddl/lib/libdtrace/nfssrv.d soc2015/clord/head/cddl/lib/libdtrace/psinfo.d soc2015/clord/head/cddl/lib/libdtrace/regs_x86.d soc2015/clord/head/cddl/lib/libdtrace/sched.d soc2015/clord/head/cddl/lib/libdtrace/siftr.d soc2015/clord/head/cddl/lib/libdtrace/tcp.d soc2015/clord/head/cddl/lib/libdtrace/udp.d soc2015/clord/head/cddl/lib/libnvpair/Makefile soc2015/clord/head/cddl/usr.sbin/Makefile soc2015/clord/head/cddl/usr.sbin/dtrace/Makefile soc2015/clord/head/contrib/apr/ (props changed) soc2015/clord/head/contrib/apr/CHANGES soc2015/clord/head/contrib/apr/CMakeLists.txt soc2015/clord/head/contrib/apr/Makefile.in soc2015/clord/head/contrib/apr/NOTICE soc2015/clord/head/contrib/apr/NWGNUmakefile soc2015/clord/head/contrib/apr/apr.dsp soc2015/clord/head/contrib/apr/apr.spec soc2015/clord/head/contrib/apr/build-outputs.mk soc2015/clord/head/contrib/apr/configure soc2015/clord/head/contrib/apr/configure.in soc2015/clord/head/contrib/apr/encoding/apr_escape.c soc2015/clord/head/contrib/apr/include/apr_skiplist.h soc2015/clord/head/contrib/apr/include/apr_version.h soc2015/clord/head/contrib/apr/libapr.dsp soc2015/clord/head/contrib/apr/locks/unix/proc_mutex.c soc2015/clord/head/contrib/apr/memory/unix/apr_pools.c soc2015/clord/head/contrib/apr/misc/unix/errorcodes.c soc2015/clord/head/contrib/apr/network_io/unix/sockaddr.c soc2015/clord/head/contrib/apr/network_io/unix/sockets.c soc2015/clord/head/contrib/apr/poll/unix/epoll.c soc2015/clord/head/contrib/apr/poll/unix/kqueue.c soc2015/clord/head/contrib/apr/poll/unix/poll.c soc2015/clord/head/contrib/apr/poll/unix/pollcb.c soc2015/clord/head/contrib/apr/poll/unix/port.c soc2015/clord/head/contrib/apr/poll/unix/z_asio.c soc2015/clord/head/contrib/apr/tables/apr_skiplist.c soc2015/clord/head/contrib/binutils/ (props changed) soc2015/clord/head/contrib/binutils/gas/config/tc-i386.c soc2015/clord/head/contrib/bmake/ (props changed) soc2015/clord/head/contrib/bmake/mk/meta2deps.sh soc2015/clord/head/contrib/bsnmp/snmp_mibII/mibII_ip.c soc2015/clord/head/contrib/compiler-rt/ (props changed) soc2015/clord/head/contrib/compiler-rt/lib/builtins/floatditf.c soc2015/clord/head/contrib/compiler-rt/lib/builtins/floatunditf.c soc2015/clord/head/contrib/compiler-rt/lib/builtins/multc3.c soc2015/clord/head/contrib/elftoolchain/ (props changed) soc2015/clord/head/contrib/elftoolchain/common/elfdefinitions.h soc2015/clord/head/contrib/elftoolchain/libdwarf/dwarf_sections.c soc2015/clord/head/contrib/elftoolchain/readelf/readelf.c soc2015/clord/head/contrib/expat/ (props changed) soc2015/clord/head/contrib/expat/lib/xmlparse.c soc2015/clord/head/contrib/gcc/ (props changed) soc2015/clord/head/contrib/gcc/c-cppbuiltin.c soc2015/clord/head/contrib/gcc/cfgexpand.c soc2015/clord/head/contrib/gcc/common.opt soc2015/clord/head/contrib/gcc/doc/cpp.texi soc2015/clord/head/contrib/gcc/doc/gcc.1 soc2015/clord/head/contrib/gcc/doc/invoke.texi soc2015/clord/head/contrib/gcc/gcc.c soc2015/clord/head/contrib/gcclibs/libcpp/files.c soc2015/clord/head/contrib/hyperv/tools/hv_kvp_daemon.c soc2015/clord/head/contrib/jemalloc/COPYING soc2015/clord/head/contrib/jemalloc/ChangeLog soc2015/clord/head/contrib/jemalloc/FREEBSD-Xlist soc2015/clord/head/contrib/jemalloc/FREEBSD-diffs soc2015/clord/head/contrib/jemalloc/FREEBSD-upgrade soc2015/clord/head/contrib/jemalloc/VERSION soc2015/clord/head/contrib/jemalloc/doc/jemalloc.3 soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/arena.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/atomic.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/base.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/bitmap.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/chunk.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/chunk_dss.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/chunk_mmap.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/ckh.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/ctl.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/extent.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/hash.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/huge.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_macros.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/mutex.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/private_namespace.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/prng.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/prof.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/public_namespace.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/ql.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/qr.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/quarantine.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/rb.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/rtree.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/size_classes.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/stats.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/tcache.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/tsd.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/internal/util.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/jemalloc.h soc2015/clord/head/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h soc2015/clord/head/contrib/jemalloc/src/arena.c soc2015/clord/head/contrib/jemalloc/src/base.c soc2015/clord/head/contrib/jemalloc/src/bitmap.c soc2015/clord/head/contrib/jemalloc/src/chunk.c soc2015/clord/head/contrib/jemalloc/src/chunk_dss.c soc2015/clord/head/contrib/jemalloc/src/chunk_mmap.c soc2015/clord/head/contrib/jemalloc/src/ckh.c soc2015/clord/head/contrib/jemalloc/src/ctl.c soc2015/clord/head/contrib/jemalloc/src/extent.c soc2015/clord/head/contrib/jemalloc/src/huge.c soc2015/clord/head/contrib/jemalloc/src/jemalloc.c soc2015/clord/head/contrib/jemalloc/src/mutex.c soc2015/clord/head/contrib/jemalloc/src/prof.c soc2015/clord/head/contrib/jemalloc/src/quarantine.c soc2015/clord/head/contrib/jemalloc/src/rtree.c soc2015/clord/head/contrib/jemalloc/src/stats.c soc2015/clord/head/contrib/jemalloc/src/tcache.c soc2015/clord/head/contrib/jemalloc/src/tsd.c soc2015/clord/head/contrib/jemalloc/src/util.c soc2015/clord/head/contrib/libarchive/ (props changed) soc2015/clord/head/contrib/libarchive/libarchive/ (props changed) soc2015/clord/head/contrib/libarchive/libarchive/archive_read_support_format_tar.c soc2015/clord/head/contrib/llvm/ (props changed) soc2015/clord/head/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp soc2015/clord/head/contrib/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp soc2015/clord/head/contrib/llvm/tools/lldb/ (props changed) soc2015/clord/head/contrib/llvm/tools/lldb/docs/lldb.1 soc2015/clord/head/contrib/netbsd-tests/lib/libc/locale/t_mbrtowc.c soc2015/clord/head/contrib/netbsd-tests/lib/libc/locale/t_mbstowcs.c soc2015/clord/head/contrib/ntp/ (props changed) soc2015/clord/head/contrib/ntp/ChangeLog soc2015/clord/head/contrib/ntp/CommitLog soc2015/clord/head/contrib/ntp/Makefile.am soc2015/clord/head/contrib/ntp/Makefile.in soc2015/clord/head/contrib/ntp/NEWS soc2015/clord/head/contrib/ntp/aclocal.m4 soc2015/clord/head/contrib/ntp/adjtimed/Makefile.in soc2015/clord/head/contrib/ntp/bootstrap soc2015/clord/head/contrib/ntp/clockstuff/Makefile.in soc2015/clord/head/contrib/ntp/config.h.in soc2015/clord/head/contrib/ntp/configure soc2015/clord/head/contrib/ntp/configure.ac soc2015/clord/head/contrib/ntp/html/drivers/driver22.html soc2015/clord/head/contrib/ntp/html/drivers/driver40.html soc2015/clord/head/contrib/ntp/html/drivers/driver46.html soc2015/clord/head/contrib/ntp/html/miscopt.html soc2015/clord/head/contrib/ntp/html/refclock.html soc2015/clord/head/contrib/ntp/include/Makefile.am soc2015/clord/head/contrib/ntp/include/Makefile.in soc2015/clord/head/contrib/ntp/include/isc/Makefile.in soc2015/clord/head/contrib/ntp/include/ntp_io.h soc2015/clord/head/contrib/ntp/include/ntp_stdlib.h soc2015/clord/head/contrib/ntp/include/ntp_types.h soc2015/clord/head/contrib/ntp/include/ntpd.h soc2015/clord/head/contrib/ntp/include/parse.h soc2015/clord/head/contrib/ntp/kernel/Makefile.in soc2015/clord/head/contrib/ntp/kernel/sys/Makefile.in soc2015/clord/head/contrib/ntp/lib/isc/unix/ifiter_getifaddrs.c soc2015/clord/head/contrib/ntp/libjsmn/Makefile soc2015/clord/head/contrib/ntp/libjsmn/README.md soc2015/clord/head/contrib/ntp/libjsmn/jsmn.c soc2015/clord/head/contrib/ntp/libjsmn/jsmn.h soc2015/clord/head/contrib/ntp/libjsmn/jsmn_test.c soc2015/clord/head/contrib/ntp/libntp/Makefile.am soc2015/clord/head/contrib/ntp/libntp/Makefile.in soc2015/clord/head/contrib/ntp/libntp/emalloc.c soc2015/clord/head/contrib/ntp/libntp/strdup.c soc2015/clord/head/contrib/ntp/libntp/work_fork.c soc2015/clord/head/contrib/ntp/libparse/Makefile.in soc2015/clord/head/contrib/ntp/libparse/clk_meinberg.c soc2015/clord/head/contrib/ntp/libparse/clk_rawdcf.c soc2015/clord/head/contrib/ntp/libparse/clk_schmid.c soc2015/clord/head/contrib/ntp/libparse/parse.c soc2015/clord/head/contrib/ntp/ntpd/Makefile.am soc2015/clord/head/contrib/ntp/ntpd/Makefile.in soc2015/clord/head/contrib/ntp/ntpd/complete.conf.in soc2015/clord/head/contrib/ntp/ntpd/invoke-ntp.conf.texi soc2015/clord/head/contrib/ntp/ntpd/invoke-ntp.keys.texi soc2015/clord/head/contrib/ntp/ntpd/invoke-ntpd.texi soc2015/clord/head/contrib/ntp/ntpd/keyword-gen-utd soc2015/clord/head/contrib/ntp/ntpd/keyword-gen.c soc2015/clord/head/contrib/ntp/ntpd/ntp.conf.5man soc2015/clord/head/contrib/ntp/ntpd/ntp.conf.5mdoc soc2015/clord/head/contrib/ntp/ntpd/ntp.conf.def soc2015/clord/head/contrib/ntp/ntpd/ntp.conf.html soc2015/clord/head/contrib/ntp/ntpd/ntp.conf.man.in soc2015/clord/head/contrib/ntp/ntpd/ntp.conf.mdoc.in soc2015/clord/head/contrib/ntp/ntpd/ntp.keys.5man soc2015/clord/head/contrib/ntp/ntpd/ntp.keys.5mdoc soc2015/clord/head/contrib/ntp/ntpd/ntp.keys.html soc2015/clord/head/contrib/ntp/ntpd/ntp.keys.man.in soc2015/clord/head/contrib/ntp/ntpd/ntp.keys.mdoc.in soc2015/clord/head/contrib/ntp/ntpd/ntp_config.c soc2015/clord/head/contrib/ntp/ntpd/ntp_control.c soc2015/clord/head/contrib/ntp/ntpd/ntp_crypto.c soc2015/clord/head/contrib/ntp/ntpd/ntp_io.c soc2015/clord/head/contrib/ntp/ntpd/ntp_keyword.h soc2015/clord/head/contrib/ntp/ntpd/ntp_leapsec.c soc2015/clord/head/contrib/ntp/ntpd/ntp_leapsec.h soc2015/clord/head/contrib/ntp/ntpd/ntp_loopfilter.c soc2015/clord/head/contrib/ntp/ntpd/ntp_monitor.c soc2015/clord/head/contrib/ntp/ntpd/ntp_parser.c soc2015/clord/head/contrib/ntp/ntpd/ntp_parser.h soc2015/clord/head/contrib/ntp/ntpd/ntp_proto.c soc2015/clord/head/contrib/ntp/ntpd/ntp_scanner.c soc2015/clord/head/contrib/ntp/ntpd/ntp_scanner.h soc2015/clord/head/contrib/ntp/ntpd/ntp_timer.c soc2015/clord/head/contrib/ntp/ntpd/ntpd-opts.c soc2015/clord/head/contrib/ntp/ntpd/ntpd-opts.h soc2015/clord/head/contrib/ntp/ntpd/ntpd.1ntpdman soc2015/clord/head/contrib/ntp/ntpd/ntpd.1ntpdmdoc soc2015/clord/head/contrib/ntp/ntpd/ntpd.html soc2015/clord/head/contrib/ntp/ntpd/ntpd.man.in soc2015/clord/head/contrib/ntp/ntpd/ntpd.mdoc.in soc2015/clord/head/contrib/ntp/ntpd/refclock_gpsdjson.c soc2015/clord/head/contrib/ntp/ntpd/refclock_jjy.c soc2015/clord/head/contrib/ntp/ntpd/refclock_parse.c soc2015/clord/head/contrib/ntp/ntpd/refclock_shm.c soc2015/clord/head/contrib/ntp/ntpd/refclock_true.c soc2015/clord/head/contrib/ntp/ntpdate/Makefile.in soc2015/clord/head/contrib/ntp/ntpdc/Makefile.in soc2015/clord/head/contrib/ntp/ntpdc/invoke-ntpdc.texi soc2015/clord/head/contrib/ntp/ntpdc/nl.pl soc2015/clord/head/contrib/ntp/ntpdc/ntpdc-opts.c soc2015/clord/head/contrib/ntp/ntpdc/ntpdc-opts.h soc2015/clord/head/contrib/ntp/ntpdc/ntpdc.1ntpdcman soc2015/clord/head/contrib/ntp/ntpdc/ntpdc.1ntpdcmdoc soc2015/clord/head/contrib/ntp/ntpdc/ntpdc.html soc2015/clord/head/contrib/ntp/ntpdc/ntpdc.man.in soc2015/clord/head/contrib/ntp/ntpdc/ntpdc.mdoc.in soc2015/clord/head/contrib/ntp/ntpq/Makefile.in soc2015/clord/head/contrib/ntp/ntpq/invoke-ntpq.texi soc2015/clord/head/contrib/ntp/ntpq/ntpq-opts.c soc2015/clord/head/contrib/ntp/ntpq/ntpq-opts.def soc2015/clord/head/contrib/ntp/ntpq/ntpq-opts.h soc2015/clord/head/contrib/ntp/ntpq/ntpq-subs.c soc2015/clord/head/contrib/ntp/ntpq/ntpq.1ntpqman soc2015/clord/head/contrib/ntp/ntpq/ntpq.1ntpqmdoc soc2015/clord/head/contrib/ntp/ntpq/ntpq.c soc2015/clord/head/contrib/ntp/ntpq/ntpq.html soc2015/clord/head/contrib/ntp/ntpq/ntpq.man.in soc2015/clord/head/contrib/ntp/ntpq/ntpq.mdoc.in soc2015/clord/head/contrib/ntp/ntpsnmpd/Makefile.in soc2015/clord/head/contrib/ntp/ntpsnmpd/invoke-ntpsnmpd.texi soc2015/clord/head/contrib/ntp/ntpsnmpd/ntpsnmpd-opts.c soc2015/clord/head/contrib/ntp/ntpsnmpd/ntpsnmpd-opts.h soc2015/clord/head/contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdman soc2015/clord/head/contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc soc2015/clord/head/contrib/ntp/ntpsnmpd/ntpsnmpd.html soc2015/clord/head/contrib/ntp/ntpsnmpd/ntpsnmpd.man.in soc2015/clord/head/contrib/ntp/ntpsnmpd/ntpsnmpd.mdoc.in soc2015/clord/head/contrib/ntp/packageinfo.sh soc2015/clord/head/contrib/ntp/parseutil/Makefile.in soc2015/clord/head/contrib/ntp/parseutil/dcfd.c soc2015/clord/head/contrib/ntp/parseutil/testdcf.c soc2015/clord/head/contrib/ntp/scripts/Makefile.in soc2015/clord/head/contrib/ntp/scripts/build/Makefile.in soc2015/clord/head/contrib/ntp/scripts/calc_tickadj/Makefile.in soc2015/clord/head/contrib/ntp/scripts/calc_tickadj/calc_tickadj.1calc_tickadjman soc2015/clord/head/contrib/ntp/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc soc2015/clord/head/contrib/ntp/scripts/calc_tickadj/calc_tickadj.html soc2015/clord/head/contrib/ntp/scripts/calc_tickadj/calc_tickadj.man.in soc2015/clord/head/contrib/ntp/scripts/calc_tickadj/calc_tickadj.mdoc.in soc2015/clord/head/contrib/ntp/scripts/calc_tickadj/invoke-calc_tickadj.texi soc2015/clord/head/contrib/ntp/scripts/invoke-plot_summary.texi soc2015/clord/head/contrib/ntp/scripts/invoke-summary.texi soc2015/clord/head/contrib/ntp/scripts/lib/Makefile.in soc2015/clord/head/contrib/ntp/scripts/lib/NTP/Util.pm soc2015/clord/head/contrib/ntp/scripts/ntp-wait/Makefile.in soc2015/clord/head/contrib/ntp/scripts/ntp-wait/invoke-ntp-wait.texi soc2015/clord/head/contrib/ntp/scripts/ntp-wait/ntp-wait-opts soc2015/clord/head/contrib/ntp/scripts/ntp-wait/ntp-wait.1ntp-waitman soc2015/clord/head/contrib/ntp/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc soc2015/clord/head/contrib/ntp/scripts/ntp-wait/ntp-wait.html soc2015/clord/head/contrib/ntp/scripts/ntp-wait/ntp-wait.man.in soc2015/clord/head/contrib/ntp/scripts/ntp-wait/ntp-wait.mdoc.in soc2015/clord/head/contrib/ntp/scripts/ntpsweep/Makefile.in soc2015/clord/head/contrib/ntp/scripts/ntpsweep/invoke-ntpsweep.texi soc2015/clord/head/contrib/ntp/scripts/ntpsweep/ntpsweep-opts soc2015/clord/head/contrib/ntp/scripts/ntpsweep/ntpsweep.1ntpsweepman soc2015/clord/head/contrib/ntp/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc soc2015/clord/head/contrib/ntp/scripts/ntpsweep/ntpsweep.html soc2015/clord/head/contrib/ntp/scripts/ntpsweep/ntpsweep.man.in soc2015/clord/head/contrib/ntp/scripts/ntpsweep/ntpsweep.mdoc.in soc2015/clord/head/contrib/ntp/scripts/ntptrace/Makefile.in soc2015/clord/head/contrib/ntp/scripts/ntptrace/invoke-ntptrace.texi soc2015/clord/head/contrib/ntp/scripts/ntptrace/ntptrace-opts soc2015/clord/head/contrib/ntp/scripts/ntptrace/ntptrace.1ntptraceman soc2015/clord/head/contrib/ntp/scripts/ntptrace/ntptrace.1ntptracemdoc soc2015/clord/head/contrib/ntp/scripts/ntptrace/ntptrace.html soc2015/clord/head/contrib/ntp/scripts/ntptrace/ntptrace.man.in soc2015/clord/head/contrib/ntp/scripts/ntptrace/ntptrace.mdoc.in soc2015/clord/head/contrib/ntp/scripts/plot_summary-opts soc2015/clord/head/contrib/ntp/scripts/plot_summary.1plot_summaryman soc2015/clord/head/contrib/ntp/scripts/plot_summary.1plot_summarymdoc soc2015/clord/head/contrib/ntp/scripts/plot_summary.html soc2015/clord/head/contrib/ntp/scripts/plot_summary.man.in soc2015/clord/head/contrib/ntp/scripts/plot_summary.mdoc.in soc2015/clord/head/contrib/ntp/scripts/summary-opts soc2015/clord/head/contrib/ntp/scripts/summary.1summaryman soc2015/clord/head/contrib/ntp/scripts/summary.1summarymdoc soc2015/clord/head/contrib/ntp/scripts/summary.html soc2015/clord/head/contrib/ntp/scripts/summary.man.in soc2015/clord/head/contrib/ntp/scripts/summary.mdoc.in soc2015/clord/head/contrib/ntp/scripts/update-leap/Makefile.am soc2015/clord/head/contrib/ntp/scripts/update-leap/Makefile.in soc2015/clord/head/contrib/ntp/scripts/update-leap/invoke-update-leap.texi soc2015/clord/head/contrib/ntp/scripts/update-leap/update-leap-opts soc2015/clord/head/contrib/ntp/scripts/update-leap/update-leap.1update-leapman soc2015/clord/head/contrib/ntp/scripts/update-leap/update-leap.1update-leapmdoc soc2015/clord/head/contrib/ntp/scripts/update-leap/update-leap.html soc2015/clord/head/contrib/ntp/scripts/update-leap/update-leap.man.in soc2015/clord/head/contrib/ntp/scripts/update-leap/update-leap.mdoc.in soc2015/clord/head/contrib/ntp/sntp/Makefile.am soc2015/clord/head/contrib/ntp/sntp/Makefile.in soc2015/clord/head/contrib/ntp/sntp/aclocal.m4 soc2015/clord/head/contrib/ntp/sntp/config.h.in soc2015/clord/head/contrib/ntp/sntp/configure soc2015/clord/head/contrib/ntp/sntp/configure.ac soc2015/clord/head/contrib/ntp/sntp/include/Makefile.in soc2015/clord/head/contrib/ntp/sntp/include/autogen-version.def soc2015/clord/head/contrib/ntp/sntp/include/version.def soc2015/clord/head/contrib/ntp/sntp/include/version.texi soc2015/clord/head/contrib/ntp/sntp/invoke-sntp.texi soc2015/clord/head/contrib/ntp/sntp/kod_management.c soc2015/clord/head/contrib/ntp/sntp/libevent/Makefile.in soc2015/clord/head/contrib/ntp/sntp/libevent/aclocal.m4 soc2015/clord/head/contrib/ntp/sntp/libevent/build-aux/ltmain.sh soc2015/clord/head/contrib/ntp/sntp/libevent/config.h.in soc2015/clord/head/contrib/ntp/sntp/libevent/configure soc2015/clord/head/contrib/ntp/sntp/libevent/listener.c soc2015/clord/head/contrib/ntp/sntp/libevent/m4/ltversion.m4 soc2015/clord/head/contrib/ntp/sntp/libopts/COPYING.gplv3 soc2015/clord/head/contrib/ntp/sntp/libopts/COPYING.lgplv3 soc2015/clord/head/contrib/ntp/sntp/libopts/COPYING.mbsd soc2015/clord/head/contrib/ntp/sntp/libopts/Makefile.in soc2015/clord/head/contrib/ntp/sntp/libopts/README soc2015/clord/head/contrib/ntp/sntp/libopts/ag-char-map.h soc2015/clord/head/contrib/ntp/sntp/libopts/alias.c soc2015/clord/head/contrib/ntp/sntp/libopts/ao-strs.c soc2015/clord/head/contrib/ntp/sntp/libopts/ao-strs.h soc2015/clord/head/contrib/ntp/sntp/libopts/autoopts.c soc2015/clord/head/contrib/ntp/sntp/libopts/autoopts.h soc2015/clord/head/contrib/ntp/sntp/libopts/autoopts/options.h soc2015/clord/head/contrib/ntp/sntp/libopts/autoopts/project.h soc2015/clord/head/contrib/ntp/sntp/libopts/autoopts/usage-txt.h soc2015/clord/head/contrib/ntp/sntp/libopts/boolean.c soc2015/clord/head/contrib/ntp/sntp/libopts/check.c soc2015/clord/head/contrib/ntp/sntp/libopts/compat/compat.h soc2015/clord/head/contrib/ntp/sntp/libopts/compat/pathfind.c soc2015/clord/head/contrib/ntp/sntp/libopts/compat/windows-config.h soc2015/clord/head/contrib/ntp/sntp/libopts/configfile.c soc2015/clord/head/contrib/ntp/sntp/libopts/cook.c soc2015/clord/head/contrib/ntp/sntp/libopts/enum.c soc2015/clord/head/contrib/ntp/sntp/libopts/env.c soc2015/clord/head/contrib/ntp/sntp/libopts/file.c soc2015/clord/head/contrib/ntp/sntp/libopts/find.c soc2015/clord/head/contrib/ntp/sntp/libopts/genshell.c soc2015/clord/head/contrib/ntp/sntp/libopts/gettext.h soc2015/clord/head/contrib/ntp/sntp/libopts/init.c soc2015/clord/head/contrib/ntp/sntp/libopts/intprops.h soc2015/clord/head/contrib/ntp/sntp/libopts/libopts.c soc2015/clord/head/contrib/ntp/sntp/libopts/load.c soc2015/clord/head/contrib/ntp/sntp/libopts/m4/libopts.m4 soc2015/clord/head/contrib/ntp/sntp/libopts/m4/liboptschk.m4 soc2015/clord/head/contrib/ntp/sntp/libopts/m4/stdnoreturn.m4 soc2015/clord/head/contrib/ntp/sntp/libopts/makeshell.c soc2015/clord/head/contrib/ntp/sntp/libopts/nested.c soc2015/clord/head/contrib/ntp/sntp/libopts/numeric.c soc2015/clord/head/contrib/ntp/sntp/libopts/option-value-type.c soc2015/clord/head/contrib/ntp/sntp/libopts/option-value-type.h soc2015/clord/head/contrib/ntp/sntp/libopts/option-xat-attribute.c soc2015/clord/head/contrib/ntp/sntp/libopts/option-xat-attribute.h soc2015/clord/head/contrib/ntp/sntp/libopts/parse-duration.c soc2015/clord/head/contrib/ntp/sntp/libopts/parse-duration.h soc2015/clord/head/contrib/ntp/sntp/libopts/pgusage.c soc2015/clord/head/contrib/ntp/sntp/libopts/proto.h soc2015/clord/head/contrib/ntp/sntp/libopts/putshell.c soc2015/clord/head/contrib/ntp/sntp/libopts/reset.c soc2015/clord/head/contrib/ntp/sntp/libopts/restore.c soc2015/clord/head/contrib/ntp/sntp/libopts/save.c soc2015/clord/head/contrib/ntp/sntp/libopts/sort.c soc2015/clord/head/contrib/ntp/sntp/libopts/stack.c soc2015/clord/head/contrib/ntp/sntp/libopts/stdnoreturn.in.h soc2015/clord/head/contrib/ntp/sntp/libopts/streqvcmp.c soc2015/clord/head/contrib/ntp/sntp/libopts/text_mmap.c soc2015/clord/head/contrib/ntp/sntp/libopts/time.c soc2015/clord/head/contrib/ntp/sntp/libopts/tokenize.c soc2015/clord/head/contrib/ntp/sntp/libopts/usage.c soc2015/clord/head/contrib/ntp/sntp/libopts/version.c soc2015/clord/head/contrib/ntp/sntp/m4/ltversion.m4 soc2015/clord/head/contrib/ntp/sntp/m4/ntp_libntp.m4 soc2015/clord/head/contrib/ntp/sntp/m4/ntp_openssl.m4 soc2015/clord/head/contrib/ntp/sntp/m4/os_cflags.m4 soc2015/clord/head/contrib/ntp/sntp/m4/version.m4 soc2015/clord/head/contrib/ntp/sntp/main.c soc2015/clord/head/contrib/ntp/sntp/scripts/Makefile.in soc2015/clord/head/contrib/ntp/sntp/scripts/genLocInfo soc2015/clord/head/contrib/ntp/sntp/sntp-opts.c soc2015/clord/head/contrib/ntp/sntp/sntp-opts.h soc2015/clord/head/contrib/ntp/sntp/sntp.1sntpman soc2015/clord/head/contrib/ntp/sntp/sntp.1sntpmdoc soc2015/clord/head/contrib/ntp/sntp/sntp.html soc2015/clord/head/contrib/ntp/sntp/sntp.man.in soc2015/clord/head/contrib/ntp/sntp/sntp.mdoc.in soc2015/clord/head/contrib/ntp/sntp/tests/Makefile.am soc2015/clord/head/contrib/ntp/sntp/tests/Makefile.in soc2015/clord/head/contrib/ntp/sntp/tests/fileHandlingTest.h soc2015/clord/head/contrib/ntp/sntp/tests/sntptest.h soc2015/clord/head/contrib/ntp/sntp/tests_main.cpp soc2015/clord/head/contrib/ntp/tests/Makefile.am soc2015/clord/head/contrib/ntp/tests/Makefile.in soc2015/clord/head/contrib/ntp/tests/libntp/Makefile.am soc2015/clord/head/contrib/ntp/tests/libntp/Makefile.in soc2015/clord/head/contrib/ntp/tests/libntp/lfptest.h soc2015/clord/head/contrib/ntp/tests/libntp/sockaddrtest.h soc2015/clord/head/contrib/ntp/tests/ntpd/Makefile.in soc2015/clord/head/contrib/ntp/tests/ntpd/leapsec.cpp soc2015/clord/head/contrib/ntp/util/Makefile.in soc2015/clord/head/contrib/ntp/util/invoke-ntp-keygen.texi soc2015/clord/head/contrib/ntp/util/ntp-keygen-opts.c soc2015/clord/head/contrib/ntp/util/ntp-keygen-opts.h soc2015/clord/head/contrib/ntp/util/ntp-keygen.1ntp-keygenman soc2015/clord/head/contrib/ntp/util/ntp-keygen.1ntp-keygenmdoc soc2015/clord/head/contrib/ntp/util/ntp-keygen.html soc2015/clord/head/contrib/ntp/util/ntp-keygen.man.in soc2015/clord/head/contrib/ntp/util/ntp-keygen.mdoc.in soc2015/clord/head/contrib/pf/ (props changed) soc2015/clord/head/contrib/pf/pflogd/pflogd.8 soc2015/clord/head/contrib/sendmail/ (props changed) soc2015/clord/head/contrib/sendmail/CACerts soc2015/clord/head/contrib/sendmail/FAQ soc2015/clord/head/contrib/sendmail/FREEBSD-upgrade soc2015/clord/head/contrib/sendmail/INSTALL soc2015/clord/head/contrib/sendmail/KNOWNBUGS soc2015/clord/head/contrib/sendmail/PGPKEYS soc2015/clord/head/contrib/sendmail/README soc2015/clord/head/contrib/sendmail/RELEASE_NOTES soc2015/clord/head/contrib/sendmail/cf/README soc2015/clord/head/contrib/sendmail/cf/cf/Makefile soc2015/clord/head/contrib/sendmail/cf/cf/submit.cf soc2015/clord/head/contrib/sendmail/cf/cf/submit.mc soc2015/clord/head/contrib/sendmail/cf/feature/block_bad_helo.m4 soc2015/clord/head/contrib/sendmail/cf/feature/ldap_routing.m4 soc2015/clord/head/contrib/sendmail/cf/m4/cfhead.m4 soc2015/clord/head/contrib/sendmail/cf/m4/proto.m4 soc2015/clord/head/contrib/sendmail/cf/m4/version.m4 soc2015/clord/head/contrib/sendmail/doc/op/op.me soc2015/clord/head/contrib/sendmail/editmap/editmap.c soc2015/clord/head/contrib/sendmail/include/sendmail/sendmail.h soc2015/clord/head/contrib/sendmail/include/sm/bdb.h soc2015/clord/head/contrib/sendmail/include/sm/cdefs.h soc2015/clord/head/contrib/sendmail/include/sm/conf.h soc2015/clord/head/contrib/sendmail/include/sm/errstring.h soc2015/clord/head/contrib/sendmail/include/sm/fdset.h soc2015/clord/head/contrib/sendmail/libmilter/docs/smfi_setsymlist.html soc2015/clord/head/contrib/sendmail/libmilter/engine.c soc2015/clord/head/contrib/sendmail/libmilter/handler.c soc2015/clord/head/contrib/sendmail/libmilter/listener.c soc2015/clord/head/contrib/sendmail/libmilter/signal.c soc2015/clord/head/contrib/sendmail/libmilter/smfi.c soc2015/clord/head/contrib/sendmail/libmilter/worker.c soc2015/clord/head/contrib/sendmail/libsm/Makefile.m4 soc2015/clord/head/contrib/sendmail/libsm/errstring.c soc2015/clord/head/contrib/sendmail/libsm/local.h soc2015/clord/head/contrib/sendmail/libsm/mbdb.c soc2015/clord/head/contrib/sendmail/libsm/refill.c soc2015/clord/head/contrib/sendmail/libsm/stdio.c soc2015/clord/head/contrib/sendmail/libsm/vfprintf.c soc2015/clord/head/contrib/sendmail/libsmdb/smdb.c soc2015/clord/head/contrib/sendmail/makemap/makemap.c soc2015/clord/head/contrib/sendmail/src/README soc2015/clord/head/contrib/sendmail/src/TRACEFLAGS soc2015/clord/head/contrib/sendmail/src/TUNING soc2015/clord/head/contrib/sendmail/src/bf.c soc2015/clord/head/contrib/sendmail/src/collect.c soc2015/clord/head/contrib/sendmail/src/conf.c soc2015/clord/head/contrib/sendmail/src/daemon.c soc2015/clord/head/contrib/sendmail/src/deliver.c soc2015/clord/head/contrib/sendmail/src/envelope.c soc2015/clord/head/contrib/sendmail/src/err.c soc2015/clord/head/contrib/sendmail/src/headers.c soc2015/clord/head/contrib/sendmail/src/main.c soc2015/clord/head/contrib/sendmail/src/map.c soc2015/clord/head/contrib/sendmail/src/mci.c soc2015/clord/head/contrib/sendmail/src/milter.c soc2015/clord/head/contrib/sendmail/src/parseaddr.c soc2015/clord/head/contrib/sendmail/src/queue.c soc2015/clord/head/contrib/sendmail/src/readcf.c soc2015/clord/head/contrib/sendmail/src/recipient.c soc2015/clord/head/contrib/sendmail/src/savemail.c soc2015/clord/head/contrib/sendmail/src/sendmail.8 soc2015/clord/head/contrib/sendmail/src/sendmail.h soc2015/clord/head/contrib/sendmail/src/sfsasl.c soc2015/clord/head/contrib/sendmail/src/sm_resolve.c soc2015/clord/head/contrib/sendmail/src/srvrsmtp.c soc2015/clord/head/contrib/sendmail/src/tls.c soc2015/clord/head/contrib/sendmail/src/usersmtp.c soc2015/clord/head/contrib/sendmail/src/util.c soc2015/clord/head/contrib/sendmail/src/version.c soc2015/clord/head/contrib/serf/ (props changed) soc2015/clord/head/contrib/serf/CHANGES soc2015/clord/head/contrib/serf/auth/auth_spnego_sspi.c soc2015/clord/head/contrib/serf/buckets/deflate_buckets.c soc2015/clord/head/contrib/serf/buckets/ssl_buckets.c soc2015/clord/head/contrib/serf/serf.h soc2015/clord/head/contrib/sqlite3/ (props changed) soc2015/clord/head/contrib/sqlite3/Makefile.am soc2015/clord/head/contrib/sqlite3/Makefile.in soc2015/clord/head/contrib/sqlite3/configure soc2015/clord/head/contrib/sqlite3/configure.ac soc2015/clord/head/contrib/sqlite3/shell.c soc2015/clord/head/contrib/sqlite3/sqlite3.c soc2015/clord/head/contrib/sqlite3/sqlite3.h soc2015/clord/head/contrib/sqlite3/sqlite3ext.h soc2015/clord/head/contrib/subversion/ (props changed) soc2015/clord/head/contrib/subversion/CHANGES soc2015/clord/head/contrib/subversion/Makefile.in soc2015/clord/head/contrib/subversion/NOTICE soc2015/clord/head/contrib/subversion/autogen.sh soc2015/clord/head/contrib/subversion/build-outputs.mk soc2015/clord/head/contrib/subversion/build.conf soc2015/clord/head/contrib/subversion/configure soc2015/clord/head/contrib/subversion/configure.ac soc2015/clord/head/contrib/subversion/get-deps.sh soc2015/clord/head/contrib/subversion/subversion/include/private/svn_diff_private.h soc2015/clord/head/contrib/subversion/subversion/include/private/svn_mergeinfo_private.h soc2015/clord/head/contrib/subversion/subversion/include/private/svn_repos_private.h soc2015/clord/head/contrib/subversion/subversion/include/private/svn_sqlite.h soc2015/clord/head/contrib/subversion/subversion/include/svn_io.h soc2015/clord/head/contrib/subversion/subversion/include/svn_version.h soc2015/clord/head/contrib/subversion/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c soc2015/clord/head/contrib/subversion/subversion/libsvn_client/copy.c soc2015/clord/head/contrib/subversion/subversion/libsvn_client/externals.c soc2015/clord/head/contrib/subversion/subversion/libsvn_client/log.c soc2015/clord/head/contrib/subversion/subversion/libsvn_client/merge.c soc2015/clord/head/contrib/subversion/subversion/libsvn_client/patch.c soc2015/clord/head/contrib/subversion/subversion/libsvn_client/upgrade.c soc2015/clord/head/contrib/subversion/subversion/libsvn_delta/svndiff.c soc2015/clord/head/contrib/subversion/subversion/libsvn_diff/parse-diff.c soc2015/clord/head/contrib/subversion/subversion/libsvn_diff/util.c soc2015/clord/head/contrib/subversion/subversion/libsvn_fs_fs/caching.c soc2015/clord/head/contrib/subversion/subversion/libsvn_fs_fs/fs_fs.c soc2015/clord/head/contrib/subversion/subversion/libsvn_fs_fs/rep-cache-db.h soc2015/clord/head/contrib/subversion/subversion/libsvn_fs_fs/tree.c soc2015/clord/head/contrib/subversion/subversion/libsvn_ra_serf/commit.c soc2015/clord/head/contrib/subversion/subversion/libsvn_ra_serf/options.c soc2015/clord/head/contrib/subversion/subversion/libsvn_repos/commit.c soc2015/clord/head/contrib/subversion/subversion/libsvn_repos/load-fs-vtable.c soc2015/clord/head/contrib/subversion/subversion/libsvn_repos/rev_hunt.c soc2015/clord/head/contrib/subversion/subversion/libsvn_subr/cache-membuffer.c soc2015/clord/head/contrib/subversion/subversion/libsvn_subr/config.c soc2015/clord/head/contrib/subversion/subversion/libsvn_subr/dso.c soc2015/clord/head/contrib/subversion/subversion/libsvn_subr/error.c soc2015/clord/head/contrib/subversion/subversion/libsvn_subr/gpg_agent.c soc2015/clord/head/contrib/subversion/subversion/libsvn_subr/internal_statements.h soc2015/clord/head/contrib/subversion/subversion/libsvn_subr/io.c soc2015/clord/head/contrib/subversion/subversion/libsvn_subr/mergeinfo.c soc2015/clord/head/contrib/subversion/subversion/libsvn_subr/sqlite3wrapper.c soc2015/clord/head/contrib/subversion/subversion/libsvn_subr/string.c soc2015/clord/head/contrib/subversion/subversion/libsvn_subr/version.c soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/adm_ops.c soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/cleanup.c soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/conflicts.c soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/copy.c soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/diff.h soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/diff_editor.c soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/diff_local.c soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/entries.c soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/externals.c soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/update_editor.c soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/wc-checks.h soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/wc-metadata.h soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/wc-metadata.sql soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/wc-queries.h soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/wc-queries.sql soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/wc.h soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/wc_db.c soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/wc_db.h soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/wc_db_private.h soc2015/clord/head/contrib/subversion/subversion/libsvn_wc/wc_db_wcroot.c soc2015/clord/head/contrib/subversion/subversion/svn/conflict-callbacks.c soc2015/clord/head/contrib/subversion/subversion/svn/list-cmd.c soc2015/clord/head/contrib/subversion/subversion/svn/svn.c soc2015/clord/head/contrib/subversion/subversion/svn_private_config.h.in soc2015/clord/head/contrib/subversion/subversion/svnadmin/svnadmin.c soc2015/clord/head/contrib/subversion/subversion/svndumpfilter/svndumpfilter.c soc2015/clord/head/contrib/subversion/subversion/svnrdump/load_editor.c soc2015/clord/head/contrib/subversion/subversion/svnserve/serve.c soc2015/clord/head/contrib/subversion/subversion/svnsync/sync.c soc2015/clord/head/contrib/subversion/win-tests.py soc2015/clord/head/contrib/tcpdump/ (props changed) soc2015/clord/head/contrib/tcpdump/CHANGES soc2015/clord/head/contrib/tcpdump/CREDITS soc2015/clord/head/contrib/tcpdump/INSTALL.txt soc2015/clord/head/contrib/tcpdump/Makefile.in soc2015/clord/head/contrib/tcpdump/VERSION soc2015/clord/head/contrib/tcpdump/addrtoname.c soc2015/clord/head/contrib/tcpdump/addrtoname.h soc2015/clord/head/contrib/tcpdump/config.guess soc2015/clord/head/contrib/tcpdump/config.h.in soc2015/clord/head/contrib/tcpdump/config.sub soc2015/clord/head/contrib/tcpdump/configure soc2015/clord/head/contrib/tcpdump/configure.in soc2015/clord/head/contrib/tcpdump/extract.h soc2015/clord/head/contrib/tcpdump/interface.h soc2015/clord/head/contrib/tcpdump/ip.h soc2015/clord/head/contrib/tcpdump/machdep.c soc2015/clord/head/contrib/tcpdump/missing/strsep.c soc2015/clord/head/contrib/tcpdump/mkdep soc2015/clord/head/contrib/tcpdump/netdissect.h soc2015/clord/head/contrib/tcpdump/openflow.h soc2015/clord/head/contrib/tcpdump/oui.c soc2015/clord/head/contrib/tcpdump/oui.h soc2015/clord/head/contrib/tcpdump/print-ahcp.c soc2015/clord/head/contrib/tcpdump/print-aodv.c soc2015/clord/head/contrib/tcpdump/print-arcnet.c soc2015/clord/head/contrib/tcpdump/print-arp.c soc2015/clord/head/contrib/tcpdump/print-ascii.c soc2015/clord/head/contrib/tcpdump/print-atm.c soc2015/clord/head/contrib/tcpdump/print-babel.c soc2015/clord/head/contrib/tcpdump/print-bgp.c soc2015/clord/head/contrib/tcpdump/print-bootp.c soc2015/clord/head/contrib/tcpdump/print-cdp.c soc2015/clord/head/contrib/tcpdump/print-cfm.c soc2015/clord/head/contrib/tcpdump/print-chdlc.c soc2015/clord/head/contrib/tcpdump/print-cnfp.c soc2015/clord/head/contrib/tcpdump/print-dccp.c soc2015/clord/head/contrib/tcpdump/print-decnet.c soc2015/clord/head/contrib/tcpdump/print-eigrp.c soc2015/clord/head/contrib/tcpdump/print-enc.c soc2015/clord/head/contrib/tcpdump/print-ether.c soc2015/clord/head/contrib/tcpdump/print-forces.c soc2015/clord/head/contrib/tcpdump/print-fr.c soc2015/clord/head/contrib/tcpdump/print-geonet.c soc2015/clord/head/contrib/tcpdump/print-gre.c soc2015/clord/head/contrib/tcpdump/print-icmp.c soc2015/clord/head/contrib/tcpdump/print-icmp6.c soc2015/clord/head/contrib/tcpdump/print-ip.c soc2015/clord/head/contrib/tcpdump/print-ip6.c soc2015/clord/head/contrib/tcpdump/print-ipnet.c soc2015/clord/head/contrib/tcpdump/print-isoclns.c soc2015/clord/head/contrib/tcpdump/print-juniper.c soc2015/clord/head/contrib/tcpdump/print-ldp.c soc2015/clord/head/contrib/tcpdump/print-lldp.c soc2015/clord/head/contrib/tcpdump/print-lmp.c soc2015/clord/head/contrib/tcpdump/print-lspping.c soc2015/clord/head/contrib/tcpdump/print-lwapp.c soc2015/clord/head/contrib/tcpdump/print-mobility.c soc2015/clord/head/contrib/tcpdump/print-mpcp.c soc2015/clord/head/contrib/tcpdump/print-mpls.c soc2015/clord/head/contrib/tcpdump/print-nflog.c soc2015/clord/head/contrib/tcpdump/print-null.c soc2015/clord/head/contrib/tcpdump/print-olsr.c soc2015/clord/head/contrib/tcpdump/print-openflow-1.0.c soc2015/clord/head/contrib/tcpdump/print-openflow.c soc2015/clord/head/contrib/tcpdump/print-ospf.c soc2015/clord/head/contrib/tcpdump/print-pflog.c soc2015/clord/head/contrib/tcpdump/print-pim.c soc2015/clord/head/contrib/tcpdump/print-ppi.c soc2015/clord/head/contrib/tcpdump/print-ppp.c soc2015/clord/head/contrib/tcpdump/print-radius.c soc2015/clord/head/contrib/tcpdump/print-rpki-rtr.c soc2015/clord/head/contrib/tcpdump/print-rsvp.c soc2015/clord/head/contrib/tcpdump/print-sflow.c soc2015/clord/head/contrib/tcpdump/print-sip.c soc2015/clord/head/contrib/tcpdump/print-sl.c soc2015/clord/head/contrib/tcpdump/print-sll.c soc2015/clord/head/contrib/tcpdump/print-slow.c soc2015/clord/head/contrib/tcpdump/print-smb.c soc2015/clord/head/contrib/tcpdump/print-tcp.c soc2015/clord/head/contrib/tcpdump/print-telnet.c soc2015/clord/head/contrib/tcpdump/print-udp.c soc2015/clord/head/contrib/tcpdump/print-vxlan.c soc2015/clord/head/contrib/tcpdump/print-wb.c soc2015/clord/head/contrib/tcpdump/print-zeromq.c soc2015/clord/head/contrib/tcpdump/tcp.h soc2015/clord/head/contrib/tcpdump/tcpdump.1.in soc2015/clord/head/contrib/tcpdump/tcpdump.c soc2015/clord/head/contrib/tcpdump/udp.h soc2015/clord/head/contrib/tcpdump/util.c soc2015/clord/head/contrib/tzdata/ (props changed) soc2015/clord/head/contrib/tzdata/africa soc2015/clord/head/contrib/tzdata/asia soc2015/clord/head/contrib/tzdata/europe soc2015/clord/head/contrib/tzdata/leap-seconds.list soc2015/clord/head/contrib/tzdata/northamerica soc2015/clord/head/contrib/tzdata/southamerica soc2015/clord/head/contrib/tzdata/zone.tab soc2015/clord/head/contrib/tzdata/zone1970.tab soc2015/clord/head/crypto/openssh/ (props changed) soc2015/clord/head/crypto/openssh/auth2-chall.c soc2015/clord/head/crypto/openssh/ssh.c soc2015/clord/head/crypto/openssh/sshconnect.c soc2015/clord/head/crypto/openssl/ (props changed) soc2015/clord/head/crypto/openssl/CHANGES soc2015/clord/head/crypto/openssl/Makefile soc2015/clord/head/crypto/openssl/Makefile.org soc2015/clord/head/crypto/openssl/NEWS soc2015/clord/head/crypto/openssl/README soc2015/clord/head/crypto/openssl/crypto/bio/bio.h soc2015/clord/head/crypto/openssl/crypto/evp/e_aes.c soc2015/clord/head/crypto/openssl/crypto/opensslconf.h soc2015/clord/head/crypto/openssl/crypto/opensslconf.h.in soc2015/clord/head/crypto/openssl/crypto/opensslv.h soc2015/clord/head/crypto/openssl/crypto/pkcs12/p12_kiss.c soc2015/clord/head/crypto/openssl/crypto/threads/mttest.c soc2015/clord/head/crypto/openssl/crypto/threads/pthread2.sh soc2015/clord/head/crypto/openssl/crypto/x509/Makefile soc2015/clord/head/crypto/openssl/crypto/x509/x509_vfy.c soc2015/clord/head/crypto/openssl/doc/crypto/X509_NAME_get_index_by_NID.pod soc2015/clord/head/crypto/openssl/doc/crypto/X509_STORE_CTX_new.pod soc2015/clord/head/crypto/openssl/doc/crypto/X509_verify_cert.pod soc2015/clord/head/crypto/openssl/ssl/s3_clnt.c soc2015/clord/head/crypto/openssl/ssl/s3_srvr.c soc2015/clord/head/etc/ (props changed) soc2015/clord/head/etc/defaults/periodic.conf soc2015/clord/head/etc/defaults/rc.conf soc2015/clord/head/etc/devd.conf soc2015/clord/head/etc/devd/usb.conf soc2015/clord/head/etc/group soc2015/clord/head/etc/inetd.conf soc2015/clord/head/etc/mtree/BSD.tests.dist soc2015/clord/head/etc/mtree/BSD.usr.dist soc2015/clord/head/etc/portsnap.conf soc2015/clord/head/etc/rc.d/hostname soc2015/clord/head/etc/rc.d/iovctl soc2015/clord/head/etc/rc.d/random soc2015/clord/head/etc/rc.d/rctl soc2015/clord/head/etc/rc.firewall soc2015/clord/head/etc/rc.subr soc2015/clord/head/etc/sendmail/freebsd.mc soc2015/clord/head/etc/sendmail/freebsd.submit.mc soc2015/clord/head/etc/services soc2015/clord/head/games/fortune/datfiles/fortunes soc2015/clord/head/gnu/lib/ (props changed) soc2015/clord/head/gnu/lib/Makefile soc2015/clord/head/gnu/usr.bin/Makefile soc2015/clord/head/gnu/usr.bin/binutils/ (props changed) soc2015/clord/head/gnu/usr.bin/binutils/Makefile soc2015/clord/head/gnu/usr.bin/cc/Makefile soc2015/clord/head/gnu/usr.bin/gdb/ (props changed) soc2015/clord/head/gnu/usr.bin/gdb/kgdb/trgt.c soc2015/clord/head/gnu/usr.bin/rcs/Makefile soc2015/clord/head/include/ (props changed) soc2015/clord/head/include/malloc_np.h soc2015/clord/head/include/stdio.h soc2015/clord/head/include/unistd.h soc2015/clord/head/lib/Makefile soc2015/clord/head/lib/csu/aarch64/crt1.c soc2015/clord/head/lib/libarchive/Makefile soc2015/clord/head/lib/libarchive/test/Makefile soc2015/clord/head/lib/libc/ (props changed) soc2015/clord/head/lib/libc/Makefile soc2015/clord/head/lib/libc/aarch64/Symbol.map soc2015/clord/head/lib/libc/aarch64/gen/Makefile.inc soc2015/clord/head/lib/libc/aarch64/gen/_setjmp.S soc2015/clord/head/lib/libc/aarch64/gen/setjmp.S soc2015/clord/head/lib/libc/aarch64/gen/sigsetjmp.S soc2015/clord/head/lib/libc/aarch64/sys/brk.S soc2015/clord/head/lib/libc/aarch64/sys/sbrk.S soc2015/clord/head/lib/libc/amd64/sys/Makefile.inc soc2015/clord/head/lib/libc/amd64/sys/__vdso_gettc.c soc2015/clord/head/lib/libc/gen/sysctl.c soc2015/clord/head/lib/libc/gen/syslog.3 soc2015/clord/head/lib/libc/gen/tls.c soc2015/clord/head/lib/libc/gen/wordexp.3 soc2015/clord/head/lib/libc/gen/wordexp.c soc2015/clord/head/lib/libc/i386/sys/Makefile.inc soc2015/clord/head/lib/libc/i386/sys/__vdso_gettc.c soc2015/clord/head/lib/libc/locale/utf8.c soc2015/clord/head/lib/libc/net/rcmdsh.c soc2015/clord/head/lib/libc/posix1e/mac.3 soc2015/clord/head/lib/libc/posix1e/mac.conf.5 soc2015/clord/head/lib/libc/stdio/Symbol.map soc2015/clord/head/lib/libc/stdio/fclose.3 soc2015/clord/head/lib/libc/stdio/fclose.c soc2015/clord/head/lib/libc/stdio/open_memstream.3 soc2015/clord/head/lib/libc/stdlib/jemalloc/Makefile.inc soc2015/clord/head/lib/libc/stdlib/jemalloc/Symbol.map soc2015/clord/head/lib/libc/stdlib/system.3 soc2015/clord/head/lib/libc/string/bcopy.3 soc2015/clord/head/lib/libc/sys/Makefile.inc soc2015/clord/head/lib/libc/sys/Symbol.map soc2015/clord/head/lib/libc/sys/__vdso_gettimeofday.c soc2015/clord/head/lib/libc/sys/getrlimit.2 soc2015/clord/head/lib/libc/sys/kqueue.2 soc2015/clord/head/lib/libc/sys/madvise.2 soc2015/clord/head/lib/libc/sys/open.2 soc2015/clord/head/lib/libc/sys/procctl.2 soc2015/clord/head/lib/libc/sys/ptrace.2 soc2015/clord/head/lib/libc/sys/reboot.2 soc2015/clord/head/lib/libc/sys/shutdown.2 soc2015/clord/head/lib/libc/sys/unlink.2 soc2015/clord/head/lib/libc/sys/wait.2 soc2015/clord/head/lib/libc/tests/sys/Makefile soc2015/clord/head/lib/libcapsicum/libcapsicum.c soc2015/clord/head/lib/libcapsicum/libcapsicum_dns.c soc2015/clord/head/lib/libcapsicum/libcapsicum_grp.c soc2015/clord/head/lib/libcapsicum/libcapsicum_pwd.c soc2015/clord/head/lib/libcapsicum/libcapsicum_random.c soc2015/clord/head/lib/libcapsicum/libcapsicum_service.c soc2015/clord/head/lib/libcapsicum/libcapsicum_sysctl.c soc2015/clord/head/lib/libcasper/libcasper.c soc2015/clord/head/lib/libcxxrt/Version.map soc2015/clord/head/lib/libfetch/http.c soc2015/clord/head/lib/libgeom/geom_xml2tree.c soc2015/clord/head/lib/libgpio/gpio.3 soc2015/clord/head/lib/libiconv_modules/BIG5/Makefile soc2015/clord/head/lib/libiconv_modules/EUC/Makefile soc2015/clord/head/lib/libiconv_modules/EUCTW/Makefile soc2015/clord/head/lib/libiconv_modules/UTF1632/Makefile soc2015/clord/head/lib/libiconv_modules/UTF7/Makefile soc2015/clord/head/lib/libiconv_modules/iconv_std/Makefile soc2015/clord/head/lib/libipsec/pfkey_dump.c soc2015/clord/head/lib/libkvm/kvm_aarch64.c soc2015/clord/head/lib/libkvm/kvm_private.h soc2015/clord/head/lib/libkvm/kvm_proc.c soc2015/clord/head/lib/liblzma/config.h soc2015/clord/head/lib/libmd/Makefile soc2015/clord/head/lib/libmd/mdXhl.c soc2015/clord/head/lib/libnv/Makefile soc2015/clord/head/lib/libnv/tests/Makefile soc2015/clord/head/lib/libnv/tests/dnv_tests.cc soc2015/clord/head/lib/libnv/tests/nv_tests.cc soc2015/clord/head/lib/libnv/tests/nvlist_add_test.c soc2015/clord/head/lib/libnv/tests/nvlist_exists_test.c soc2015/clord/head/lib/libnv/tests/nvlist_free_test.c soc2015/clord/head/lib/libnv/tests/nvlist_get_test.c soc2015/clord/head/lib/libnv/tests/nvlist_move_test.c soc2015/clord/head/lib/libnv/tests/nvlist_send_recv_test.c soc2015/clord/head/lib/libproc/proc_bkpt.c soc2015/clord/head/lib/libproc/proc_regs.c soc2015/clord/head/lib/libproc/tests/proc_test.c soc2015/clord/head/lib/libsm/Makefile soc2015/clord/head/lib/libsqlite3/Makefile soc2015/clord/head/lib/libthr/arch/amd64/Makefile.inc soc2015/clord/head/lib/libthr/arch/i386/Makefile.inc soc2015/clord/head/lib/libthr/thread/thr_create.c soc2015/clord/head/lib/libthr/thread/thr_rtld.c soc2015/clord/head/lib/libthr/thread/thr_sig.c soc2015/clord/head/lib/libugidfw/Makefile soc2015/clord/head/lib/libugidfw/ugidfw.c soc2015/clord/head/lib/libusb/Makefile soc2015/clord/head/lib/libusb/libusb10.c soc2015/clord/head/lib/libusb/libusb20_desc.c soc2015/clord/head/lib/libutil/ (props changed) soc2015/clord/head/lib/libutil/gr_util.c soc2015/clord/head/lib/libutil/pw_util.3 soc2015/clord/head/lib/libutil/pw_util.c soc2015/clord/head/lib/libutil/tests/Makefile soc2015/clord/head/lib/libvmmapi/ (props changed) soc2015/clord/head/lib/libvmmapi/Makefile.depend soc2015/clord/head/lib/libvmmapi/vmmapi.c soc2015/clord/head/lib/msun/arm/Makefile.inc soc2015/clord/head/lib/msun/man/cacos.3 soc2015/clord/head/lib/msun/src/s_exp2.c soc2015/clord/head/libexec/atrun/atrun.man soc2015/clord/head/libexec/casper/dns/dns.c soc2015/clord/head/libexec/casper/grp/grp.c soc2015/clord/head/libexec/casper/pwd/pwd.c soc2015/clord/head/libexec/casper/random/random.c soc2015/clord/head/libexec/casper/sysctl/sysctl.c soc2015/clord/head/libexec/rtld-elf/aarch64/reloc.c soc2015/clord/head/libexec/rtld-elf/aarch64/rtld_start.S soc2015/clord/head/libexec/rtld-elf/amd64/Makefile.inc soc2015/clord/head/libexec/rtld-elf/i386/Makefile.inc soc2015/clord/head/libexec/ypxfr/ypxfr_getmap.c soc2015/clord/head/libexec/ypxfr/ypxfr_main.c soc2015/clord/head/libexec/ypxfr/ypxfrd_getmap.c soc2015/clord/head/release/Makefile.azure soc2015/clord/head/release/Makefile.ec2 soc2015/clord/head/release/Makefile.mirrors soc2015/clord/head/release/Makefile.vm soc2015/clord/head/release/doc/en_US.ISO8859-1/errata/article.xml soc2015/clord/head/release/doc/en_US.ISO8859-1/hardware/article.xml soc2015/clord/head/release/doc/en_US.ISO8859-1/relnotes/article.xml soc2015/clord/head/release/doc/share/xml/sponsor.ent soc2015/clord/head/release/picobsd/build/picobsd soc2015/clord/head/release/picobsd/floppy.tree/etc/ttys soc2015/clord/head/release/tools/arm.subr soc2015/clord/head/release/tools/ec2.conf soc2015/clord/head/sbin/ (props changed) soc2015/clord/head/sbin/camcontrol/camcontrol.8 soc2015/clord/head/sbin/camcontrol/camcontrol.c soc2015/clord/head/sbin/camcontrol/camcontrol.h soc2015/clord/head/sbin/camcontrol/fwdownload.c soc2015/clord/head/sbin/camcontrol/progress.c soc2015/clord/head/sbin/casperd/casperd.c soc2015/clord/head/sbin/casperd/zygote.c soc2015/clord/head/sbin/casperd/zygote.h soc2015/clord/head/sbin/devd/devd.conf.5 soc2015/clord/head/sbin/geom/class/eli/geli.8 soc2015/clord/head/sbin/geom/class/eli/geom_eli.c soc2015/clord/head/sbin/geom/class/multipath/gmultipath.8 soc2015/clord/head/sbin/geom/class/part/geom_part.c soc2015/clord/head/sbin/geom/class/part/gpart.8 soc2015/clord/head/sbin/ggate/ggatec/ggatec.8 soc2015/clord/head/sbin/ggate/ggatec/ggatec.c soc2015/clord/head/sbin/ggate/ggated/ggated.8 soc2015/clord/head/sbin/ggate/ggated/ggated.c soc2015/clord/head/sbin/ggate/ggatel/ggatel.8 soc2015/clord/head/sbin/ggate/ggatel/ggatel.c soc2015/clord/head/sbin/ifconfig/ifconfig.8 soc2015/clord/head/sbin/ifconfig/iflagg.c soc2015/clord/head/sbin/init/init.8 soc2015/clord/head/sbin/ipfw/ (props changed) soc2015/clord/head/sbin/ipfw/ipfw2.c soc2015/clord/head/sbin/ipfw/tables.c soc2015/clord/head/sbin/mdconfig/mdconfig.8 soc2015/clord/head/sbin/mount_nfs/mount_nfs.c soc2015/clord/head/sbin/newfs/newfs.8 soc2015/clord/head/sbin/newfs_nandfs/newfs_nandfs.c soc2015/clord/head/sbin/nvmecontrol/logpage.c soc2015/clord/head/sbin/pfctl/parse.y soc2015/clord/head/sbin/pfctl/pfctl.c soc2015/clord/head/sbin/pfctl/pfctl_altq.c soc2015/clord/head/sbin/pfctl/pfctl_parser.h soc2015/clord/head/sbin/pfctl/pfctl_qstats.c soc2015/clord/head/sbin/ping6/Makefile soc2015/clord/head/sbin/ping6/ping6.c soc2015/clord/head/sbin/reboot/nextboot.8 soc2015/clord/head/sbin/routed/input.c soc2015/clord/head/sbin/setkey/parse.y soc2015/clord/head/sbin/setkey/setkey.8 soc2015/clord/head/sbin/setkey/token.l soc2015/clord/head/sbin/swapon/swapon.c soc2015/clord/head/sbin/sysctl/sysctl.c soc2015/clord/head/secure/lib/libcrypto/Makefile.inc soc2015/clord/head/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 soc2015/clord/head/secure/lib/libcrypto/man/ASN1_STRING_length.3 soc2015/clord/head/secure/lib/libcrypto/man/ASN1_STRING_new.3 soc2015/clord/head/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 soc2015/clord/head/secure/lib/libcrypto/man/ASN1_generate_nconf.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_ctrl.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_f_base64.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_f_buffer.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_f_cipher.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_f_md.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_f_null.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_f_ssl.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_find_type.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_new.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_new_CMS.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_push.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_read.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_s_accept.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_s_bio.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_s_connect.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_s_fd.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_s_file.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_s_mem.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_s_null.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_s_socket.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_set_callback.3 soc2015/clord/head/secure/lib/libcrypto/man/BIO_should_retry.3 soc2015/clord/head/secure/lib/libcrypto/man/BN_BLINDING_new.3 soc2015/clord/head/secure/lib/libcrypto/man/BN_CTX_new.3 soc2015/clord/head/secure/lib/libcrypto/man/BN_CTX_start.3 soc2015/clord/head/secure/lib/libcrypto/man/BN_add.3 soc2015/clord/head/secure/lib/libcrypto/man/BN_add_word.3 soc2015/clord/head/secure/lib/libcrypto/man/BN_bn2bin.3 soc2015/clord/head/secure/lib/libcrypto/man/BN_cmp.3 soc2015/clord/head/secure/lib/libcrypto/man/BN_copy.3 soc2015/clord/head/secure/lib/libcrypto/man/BN_generate_prime.3 soc2015/clord/head/secure/lib/libcrypto/man/BN_mod_inverse.3 soc2015/clord/head/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 soc2015/clord/head/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 soc2015/clord/head/secure/lib/libcrypto/man/BN_new.3 soc2015/clord/head/secure/lib/libcrypto/man/BN_num_bytes.3 soc2015/clord/head/secure/lib/libcrypto/man/BN_rand.3 soc2015/clord/head/secure/lib/libcrypto/man/BN_set_bit.3 soc2015/clord/head/secure/lib/libcrypto/man/BN_swap.3 soc2015/clord/head/secure/lib/libcrypto/man/BN_zero.3 soc2015/clord/head/secure/lib/libcrypto/man/CMS_add0_cert.3 soc2015/clord/head/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 soc2015/clord/head/secure/lib/libcrypto/man/CMS_add1_signer.3 soc2015/clord/head/secure/lib/libcrypto/man/CMS_compress.3 soc2015/clord/head/secure/lib/libcrypto/man/CMS_decrypt.3 soc2015/clord/head/secure/lib/libcrypto/man/CMS_encrypt.3 soc2015/clord/head/secure/lib/libcrypto/man/CMS_final.3 soc2015/clord/head/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 soc2015/clord/head/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 soc2015/clord/head/secure/lib/libcrypto/man/CMS_get0_type.3 soc2015/clord/head/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 soc2015/clord/head/secure/lib/libcrypto/man/CMS_sign.3 soc2015/clord/head/secure/lib/libcrypto/man/CMS_sign_receipt.3 soc2015/clord/head/secure/lib/libcrypto/man/CMS_uncompress.3 soc2015/clord/head/secure/lib/libcrypto/man/CMS_verify.3 soc2015/clord/head/secure/lib/libcrypto/man/CMS_verify_receipt.3 soc2015/clord/head/secure/lib/libcrypto/man/CONF_modules_free.3 soc2015/clord/head/secure/lib/libcrypto/man/CONF_modules_load_file.3 soc2015/clord/head/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 soc2015/clord/head/secure/lib/libcrypto/man/DH_generate_key.3 soc2015/clord/head/secure/lib/libcrypto/man/DH_generate_parameters.3 soc2015/clord/head/secure/lib/libcrypto/man/DH_get_ex_new_index.3 soc2015/clord/head/secure/lib/libcrypto/man/DH_new.3 soc2015/clord/head/secure/lib/libcrypto/man/DH_set_method.3 soc2015/clord/head/secure/lib/libcrypto/man/DH_size.3 soc2015/clord/head/secure/lib/libcrypto/man/DSA_SIG_new.3 soc2015/clord/head/secure/lib/libcrypto/man/DSA_do_sign.3 soc2015/clord/head/secure/lib/libcrypto/man/DSA_dup_DH.3 soc2015/clord/head/secure/lib/libcrypto/man/DSA_generate_key.3 soc2015/clord/head/secure/lib/libcrypto/man/DSA_generate_parameters.3 soc2015/clord/head/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 soc2015/clord/head/secure/lib/libcrypto/man/DSA_new.3 soc2015/clord/head/secure/lib/libcrypto/man/DSA_set_method.3 soc2015/clord/head/secure/lib/libcrypto/man/DSA_sign.3 soc2015/clord/head/secure/lib/libcrypto/man/DSA_size.3 soc2015/clord/head/secure/lib/libcrypto/man/ERR_GET_LIB.3 soc2015/clord/head/secure/lib/libcrypto/man/ERR_clear_error.3 soc2015/clord/head/secure/lib/libcrypto/man/ERR_error_string.3 soc2015/clord/head/secure/lib/libcrypto/man/ERR_get_error.3 soc2015/clord/head/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 soc2015/clord/head/secure/lib/libcrypto/man/ERR_load_strings.3 soc2015/clord/head/secure/lib/libcrypto/man/ERR_print_errors.3 soc2015/clord/head/secure/lib/libcrypto/man/ERR_put_error.3 soc2015/clord/head/secure/lib/libcrypto/man/ERR_remove_state.3 soc2015/clord/head/secure/lib/libcrypto/man/ERR_set_mark.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_BytesToKey.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_DigestInit.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_DigestSignInit.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_EncryptInit.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_OpenInit.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_PKEY_cmp.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_PKEY_derive.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_PKEY_get_default_digest.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_PKEY_keygen.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_PKEY_new.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_PKEY_print_private.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_PKEY_sign.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_PKEY_verify.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_PKEY_verify_recover.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_SealInit.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_SignInit.3 soc2015/clord/head/secure/lib/libcrypto/man/EVP_VerifyInit.3 soc2015/clord/head/secure/lib/libcrypto/man/OBJ_nid2obj.3 soc2015/clord/head/secure/lib/libcrypto/man/OPENSSL_Applink.3 soc2015/clord/head/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 soc2015/clord/head/secure/lib/libcrypto/man/OPENSSL_config.3 soc2015/clord/head/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 soc2015/clord/head/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 soc2015/clord/head/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 soc2015/clord/head/secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 soc2015/clord/head/secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 soc2015/clord/head/secure/lib/libcrypto/man/PKCS12_create.3 soc2015/clord/head/secure/lib/libcrypto/man/PKCS12_parse.3 soc2015/clord/head/secure/lib/libcrypto/man/PKCS7_decrypt.3 soc2015/clord/head/secure/lib/libcrypto/man/PKCS7_encrypt.3 soc2015/clord/head/secure/lib/libcrypto/man/PKCS7_sign.3 soc2015/clord/head/secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 soc2015/clord/head/secure/lib/libcrypto/man/PKCS7_verify.3 soc2015/clord/head/secure/lib/libcrypto/man/RAND_add.3 soc2015/clord/head/secure/lib/libcrypto/man/RAND_bytes.3 soc2015/clord/head/secure/lib/libcrypto/man/RAND_cleanup.3 soc2015/clord/head/secure/lib/libcrypto/man/RAND_egd.3 soc2015/clord/head/secure/lib/libcrypto/man/RAND_load_file.3 soc2015/clord/head/secure/lib/libcrypto/man/RAND_set_rand_method.3 soc2015/clord/head/secure/lib/libcrypto/man/RSA_blinding_on.3 soc2015/clord/head/secure/lib/libcrypto/man/RSA_check_key.3 soc2015/clord/head/secure/lib/libcrypto/man/RSA_generate_key.3 soc2015/clord/head/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 soc2015/clord/head/secure/lib/libcrypto/man/RSA_new.3 soc2015/clord/head/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 soc2015/clord/head/secure/lib/libcrypto/man/RSA_print.3 soc2015/clord/head/secure/lib/libcrypto/man/RSA_private_encrypt.3 soc2015/clord/head/secure/lib/libcrypto/man/RSA_public_encrypt.3 soc2015/clord/head/secure/lib/libcrypto/man/RSA_set_method.3 soc2015/clord/head/secure/lib/libcrypto/man/RSA_sign.3 soc2015/clord/head/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 soc2015/clord/head/secure/lib/libcrypto/man/RSA_size.3 soc2015/clord/head/secure/lib/libcrypto/man/SMIME_read_CMS.3 soc2015/clord/head/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 soc2015/clord/head/secure/lib/libcrypto/man/SMIME_write_CMS.3 soc2015/clord/head/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 soc2015/clord/head/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 soc2015/clord/head/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 soc2015/clord/head/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 soc2015/clord/head/secure/lib/libcrypto/man/X509_NAME_print_ex.3 soc2015/clord/head/secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 soc2015/clord/head/secure/lib/libcrypto/man/X509_STORE_CTX_get_ex_new_index.3 soc2015/clord/head/secure/lib/libcrypto/man/X509_STORE_CTX_new.3 soc2015/clord/head/secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 soc2015/clord/head/secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 soc2015/clord/head/secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 soc2015/clord/head/secure/lib/libcrypto/man/X509_new.3 soc2015/clord/head/secure/lib/libcrypto/man/X509_verify_cert.3 soc2015/clord/head/secure/lib/libcrypto/man/bio.3 soc2015/clord/head/secure/lib/libcrypto/man/blowfish.3 soc2015/clord/head/secure/lib/libcrypto/man/bn.3 soc2015/clord/head/secure/lib/libcrypto/man/bn_internal.3 soc2015/clord/head/secure/lib/libcrypto/man/buffer.3 soc2015/clord/head/secure/lib/libcrypto/man/crypto.3 soc2015/clord/head/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 soc2015/clord/head/secure/lib/libcrypto/man/d2i_CMS_ContentInfo.3 soc2015/clord/head/secure/lib/libcrypto/man/d2i_DHparams.3 soc2015/clord/head/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 soc2015/clord/head/secure/lib/libcrypto/man/d2i_ECPrivateKey.3 soc2015/clord/head/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 soc2015/clord/head/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 soc2015/clord/head/secure/lib/libcrypto/man/d2i_X509.3 soc2015/clord/head/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 soc2015/clord/head/secure/lib/libcrypto/man/d2i_X509_CRL.3 soc2015/clord/head/secure/lib/libcrypto/man/d2i_X509_NAME.3 soc2015/clord/head/secure/lib/libcrypto/man/d2i_X509_REQ.3 soc2015/clord/head/secure/lib/libcrypto/man/d2i_X509_SIG.3 soc2015/clord/head/secure/lib/libcrypto/man/des.3 soc2015/clord/head/secure/lib/libcrypto/man/dh.3 soc2015/clord/head/secure/lib/libcrypto/man/dsa.3 soc2015/clord/head/secure/lib/libcrypto/man/ecdsa.3 soc2015/clord/head/secure/lib/libcrypto/man/engine.3 soc2015/clord/head/secure/lib/libcrypto/man/err.3 soc2015/clord/head/secure/lib/libcrypto/man/evp.3 soc2015/clord/head/secure/lib/libcrypto/man/hmac.3 soc2015/clord/head/secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 soc2015/clord/head/secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 soc2015/clord/head/secure/lib/libcrypto/man/lh_stats.3 soc2015/clord/head/secure/lib/libcrypto/man/lhash.3 soc2015/clord/head/secure/lib/libcrypto/man/md5.3 soc2015/clord/head/secure/lib/libcrypto/man/mdc2.3 soc2015/clord/head/secure/lib/libcrypto/man/pem.3 soc2015/clord/head/secure/lib/libcrypto/man/rand.3 soc2015/clord/head/secure/lib/libcrypto/man/rc4.3 soc2015/clord/head/secure/lib/libcrypto/man/ripemd.3 soc2015/clord/head/secure/lib/libcrypto/man/rsa.3 soc2015/clord/head/secure/lib/libcrypto/man/sha.3 soc2015/clord/head/secure/lib/libcrypto/man/threads.3 soc2015/clord/head/secure/lib/libcrypto/man/ui.3 soc2015/clord/head/secure/lib/libcrypto/man/ui_compat.3 soc2015/clord/head/secure/lib/libcrypto/man/x509.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CIPHER_get_name.3 soc2015/clord/head/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_add_session.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_ctrl.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_free.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_new.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_sess_number.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_sessions.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_mode.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_options.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_psk_client_callback.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_read_ahead.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_timeout.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_tlsext_ticket_key_cb.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_set_verify.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_use_certificate.3 soc2015/clord/head/secure/lib/libssl/man/SSL_CTX_use_psk_identity_hint.3 soc2015/clord/head/secure/lib/libssl/man/SSL_SESSION_free.3 soc2015/clord/head/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 soc2015/clord/head/secure/lib/libssl/man/SSL_SESSION_get_time.3 soc2015/clord/head/secure/lib/libssl/man/SSL_accept.3 soc2015/clord/head/secure/lib/libssl/man/SSL_alert_type_string.3 soc2015/clord/head/secure/lib/libssl/man/SSL_clear.3 soc2015/clord/head/secure/lib/libssl/man/SSL_connect.3 soc2015/clord/head/secure/lib/libssl/man/SSL_do_handshake.3 soc2015/clord/head/secure/lib/libssl/man/SSL_free.3 soc2015/clord/head/secure/lib/libssl/man/SSL_get_SSL_CTX.3 soc2015/clord/head/secure/lib/libssl/man/SSL_get_ciphers.3 soc2015/clord/head/secure/lib/libssl/man/SSL_get_client_CA_list.3 soc2015/clord/head/secure/lib/libssl/man/SSL_get_current_cipher.3 soc2015/clord/head/secure/lib/libssl/man/SSL_get_default_timeout.3 soc2015/clord/head/secure/lib/libssl/man/SSL_get_error.3 soc2015/clord/head/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 soc2015/clord/head/secure/lib/libssl/man/SSL_get_ex_new_index.3 soc2015/clord/head/secure/lib/libssl/man/SSL_get_fd.3 soc2015/clord/head/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 soc2015/clord/head/secure/lib/libssl/man/SSL_get_peer_certificate.3 soc2015/clord/head/secure/lib/libssl/man/SSL_get_psk_identity.3 soc2015/clord/head/secure/lib/libssl/man/SSL_get_rbio.3 soc2015/clord/head/secure/lib/libssl/man/SSL_get_session.3 soc2015/clord/head/secure/lib/libssl/man/SSL_get_verify_result.3 soc2015/clord/head/secure/lib/libssl/man/SSL_get_version.3 soc2015/clord/head/secure/lib/libssl/man/SSL_library_init.3 soc2015/clord/head/secure/lib/libssl/man/SSL_load_client_CA_file.3 soc2015/clord/head/secure/lib/libssl/man/SSL_new.3 soc2015/clord/head/secure/lib/libssl/man/SSL_pending.3 soc2015/clord/head/secure/lib/libssl/man/SSL_read.3 soc2015/clord/head/secure/lib/libssl/man/SSL_rstate_string.3 soc2015/clord/head/secure/lib/libssl/man/SSL_session_reused.3 soc2015/clord/head/secure/lib/libssl/man/SSL_set_bio.3 soc2015/clord/head/secure/lib/libssl/man/SSL_set_connect_state.3 soc2015/clord/head/secure/lib/libssl/man/SSL_set_fd.3 soc2015/clord/head/secure/lib/libssl/man/SSL_set_session.3 soc2015/clord/head/secure/lib/libssl/man/SSL_set_shutdown.3 soc2015/clord/head/secure/lib/libssl/man/SSL_set_verify_result.3 soc2015/clord/head/secure/lib/libssl/man/SSL_shutdown.3 soc2015/clord/head/secure/lib/libssl/man/SSL_state_string.3 soc2015/clord/head/secure/lib/libssl/man/SSL_want.3 soc2015/clord/head/secure/lib/libssl/man/SSL_write.3 soc2015/clord/head/secure/lib/libssl/man/d2i_SSL_SESSION.3 soc2015/clord/head/secure/lib/libssl/man/ssl.3 soc2015/clord/head/secure/usr.bin/openssl/man/CA.pl.1 soc2015/clord/head/secure/usr.bin/openssl/man/asn1parse.1 soc2015/clord/head/secure/usr.bin/openssl/man/c_rehash.1 soc2015/clord/head/secure/usr.bin/openssl/man/ca.1 soc2015/clord/head/secure/usr.bin/openssl/man/ciphers.1 soc2015/clord/head/secure/usr.bin/openssl/man/cms.1 soc2015/clord/head/secure/usr.bin/openssl/man/crl.1 soc2015/clord/head/secure/usr.bin/openssl/man/crl2pkcs7.1 soc2015/clord/head/secure/usr.bin/openssl/man/dgst.1 soc2015/clord/head/secure/usr.bin/openssl/man/dhparam.1 soc2015/clord/head/secure/usr.bin/openssl/man/dsa.1 soc2015/clord/head/secure/usr.bin/openssl/man/dsaparam.1 soc2015/clord/head/secure/usr.bin/openssl/man/ec.1 soc2015/clord/head/secure/usr.bin/openssl/man/ecparam.1 soc2015/clord/head/secure/usr.bin/openssl/man/enc.1 soc2015/clord/head/secure/usr.bin/openssl/man/errstr.1 soc2015/clord/head/secure/usr.bin/openssl/man/gendsa.1 soc2015/clord/head/secure/usr.bin/openssl/man/genpkey.1 soc2015/clord/head/secure/usr.bin/openssl/man/genrsa.1 soc2015/clord/head/secure/usr.bin/openssl/man/nseq.1 soc2015/clord/head/secure/usr.bin/openssl/man/ocsp.1 soc2015/clord/head/secure/usr.bin/openssl/man/openssl.1 soc2015/clord/head/secure/usr.bin/openssl/man/passwd.1 soc2015/clord/head/secure/usr.bin/openssl/man/pkcs12.1 soc2015/clord/head/secure/usr.bin/openssl/man/pkcs7.1 soc2015/clord/head/secure/usr.bin/openssl/man/pkcs8.1 soc2015/clord/head/secure/usr.bin/openssl/man/pkey.1 soc2015/clord/head/secure/usr.bin/openssl/man/pkeyparam.1 soc2015/clord/head/secure/usr.bin/openssl/man/pkeyutl.1 soc2015/clord/head/secure/usr.bin/openssl/man/rand.1 soc2015/clord/head/secure/usr.bin/openssl/man/req.1 soc2015/clord/head/secure/usr.bin/openssl/man/rsa.1 soc2015/clord/head/secure/usr.bin/openssl/man/rsautl.1 soc2015/clord/head/secure/usr.bin/openssl/man/s_client.1 soc2015/clord/head/secure/usr.bin/openssl/man/s_server.1 soc2015/clord/head/secure/usr.bin/openssl/man/s_time.1 soc2015/clord/head/secure/usr.bin/openssl/man/sess_id.1 soc2015/clord/head/secure/usr.bin/openssl/man/smime.1 soc2015/clord/head/secure/usr.bin/openssl/man/speed.1 soc2015/clord/head/secure/usr.bin/openssl/man/spkac.1 soc2015/clord/head/secure/usr.bin/openssl/man/ts.1 soc2015/clord/head/secure/usr.bin/openssl/man/tsget.1 soc2015/clord/head/secure/usr.bin/openssl/man/verify.1 soc2015/clord/head/secure/usr.bin/openssl/man/version.1 soc2015/clord/head/secure/usr.bin/openssl/man/x509.1 soc2015/clord/head/secure/usr.bin/openssl/man/x509v3_config.1 soc2015/clord/head/share/ (props changed) soc2015/clord/head/share/dtrace/Makefile soc2015/clord/head/share/examples/csh/dot.cshrc soc2015/clord/head/share/examples/tests/tests/plain/cp_test.sh soc2015/clord/head/share/man/man3/Makefile soc2015/clord/head/share/man/man3/queue.3 soc2015/clord/head/share/man/man4/ (props changed) soc2015/clord/head/share/man/man4/Makefile soc2015/clord/head/share/man/man4/altq.4 soc2015/clord/head/share/man/man4/bwi.4 soc2015/clord/head/share/man/man4/capsicum.4 soc2015/clord/head/share/man/man4/ctl.4 soc2015/clord/head/share/man/man4/em.4 soc2015/clord/head/share/man/man4/gre.4 soc2015/clord/head/share/man/man4/hptiop.4 soc2015/clord/head/share/man/man4/iscsi.4 soc2015/clord/head/share/man/man4/mac.4 soc2015/clord/head/share/man/man4/mac_ifoff.4 soc2015/clord/head/share/man/man4/mac_mls.4 soc2015/clord/head/share/man/man4/mac_none.4 soc2015/clord/head/share/man/man4/mac_partition.4 soc2015/clord/head/share/man/man4/mac_seeotheruids.4 soc2015/clord/head/share/man/man4/mac_stub.4 soc2015/clord/head/share/man/man4/mac_test.4 soc2015/clord/head/share/man/man4/malo.4 soc2015/clord/head/share/man/man4/man4.i386/wl.4 soc2015/clord/head/share/man/man4/ng_btsocket.4 soc2015/clord/head/share/man/man4/procdesc.4 soc2015/clord/head/share/man/man4/proto.4 soc2015/clord/head/share/man/man4/ral.4 soc2015/clord/head/share/man/man4/random.4 soc2015/clord/head/share/man/man4/siftr.4 soc2015/clord/head/share/man/man4/snp.4 soc2015/clord/head/share/man/man4/timecounters.4 soc2015/clord/head/share/man/man4/uart.4 soc2015/clord/head/share/man/man4/uftdi.4 soc2015/clord/head/share/man/man4/vt.4 soc2015/clord/head/share/man/man4/wlan.4 soc2015/clord/head/share/man/man5/device.hints.5 soc2015/clord/head/share/man/man5/fstab.5 soc2015/clord/head/share/man/man5/pf.conf.5 soc2015/clord/head/share/man/man5/rc.conf.5 soc2015/clord/head/share/man/man5/src.conf.5 soc2015/clord/head/share/man/man7/release.7 soc2015/clord/head/share/man/man8/nanobsd.8 soc2015/clord/head/share/man/man8/uefi.8 soc2015/clord/head/share/man/man8/yp.8 soc2015/clord/head/share/man/man9/CTASSERT.9 soc2015/clord/head/share/man/man9/Makefile soc2015/clord/head/share/man/man9/PCI_IOV_ADD_VF.9 soc2015/clord/head/share/man/man9/PCI_IOV_INIT.9 soc2015/clord/head/share/man/man9/SDT.9 soc2015/clord/head/share/man/man9/altq.9 soc2015/clord/head/share/man/man9/atomic.9 soc2015/clord/head/share/man/man9/crypto.9 soc2015/clord/head/share/man/man9/devfs_set_cdevpriv.9 soc2015/clord/head/share/man/man9/hash.9 soc2015/clord/head/share/man/man9/ifnet.9 soc2015/clord/head/share/man/man9/locking.9 soc2015/clord/head/share/man/man9/mac.9 soc2015/clord/head/share/man/man9/pci.9 soc2015/clord/head/share/man/man9/pci_iov_schema.9 soc2015/clord/head/share/man/man9/pmap.9 soc2015/clord/head/share/man/man9/random.9 soc2015/clord/head/share/man/man9/random_harvest.9 soc2015/clord/head/share/man/man9/style.9 soc2015/clord/head/share/man/man9/sysctl.9 soc2015/clord/head/share/misc/bsd-family-tree soc2015/clord/head/share/misc/committers-ports.dot soc2015/clord/head/share/misc/committers-src.dot soc2015/clord/head/share/misc/pci_vendors soc2015/clord/head/share/mk/bsd.README soc2015/clord/head/share/mk/bsd.cpu.mk soc2015/clord/head/share/mk/bsd.lib.mk soc2015/clord/head/share/mk/bsd.man.mk soc2015/clord/head/share/mk/bsd.mkopt.mk soc2015/clord/head/share/mk/bsd.own.mk soc2015/clord/head/share/mk/local.meta.sys.mk soc2015/clord/head/share/mk/src.opts.mk soc2015/clord/head/share/mk/suite.test.mk soc2015/clord/head/share/mk/sys.mk soc2015/clord/head/sys/ (props changed) soc2015/clord/head/sys/amd64/amd64/atomic.c soc2015/clord/head/sys/amd64/amd64/db_trace.c soc2015/clord/head/sys/amd64/amd64/fpu.c soc2015/clord/head/sys/amd64/amd64/genassym.c soc2015/clord/head/sys/amd64/amd64/machdep.c soc2015/clord/head/sys/amd64/amd64/mp_machdep.c soc2015/clord/head/sys/amd64/amd64/pmap.c soc2015/clord/head/sys/amd64/amd64/ptrace_machdep.c soc2015/clord/head/sys/amd64/amd64/stack_machdep.c soc2015/clord/head/sys/amd64/amd64/vm_machdep.c soc2015/clord/head/sys/amd64/amd64/xen-locore.S soc2015/clord/head/sys/amd64/conf/GENERIC soc2015/clord/head/sys/amd64/conf/NOTES soc2015/clord/head/sys/amd64/include/atomic.h soc2015/clord/head/sys/amd64/include/in_cksum.h soc2015/clord/head/sys/amd64/include/md_var.h soc2015/clord/head/sys/amd64/include/param.h soc2015/clord/head/sys/amd64/include/pcb.h soc2015/clord/head/sys/amd64/include/pmc_mdep.h soc2015/clord/head/sys/amd64/include/stack.h soc2015/clord/head/sys/amd64/include/xen/ (props changed) soc2015/clord/head/sys/amd64/linux32/linux32_machdep.c soc2015/clord/head/sys/amd64/vmm/ (props changed) soc2015/clord/head/sys/amd64/vmm/amd/svm.c soc2015/clord/head/sys/amd64/vmm/amd/svm.h soc2015/clord/head/sys/amd64/vmm/amd/svm_genassym.c soc2015/clord/head/sys/amd64/vmm/amd/svm_support.S soc2015/clord/head/sys/amd64/vmm/vmm_dev.c soc2015/clord/head/sys/amd64/vmm/vmm_instruction_emul.c soc2015/clord/head/sys/arm/allwinner/a10_clk.c soc2015/clord/head/sys/arm/allwinner/a10_clk.h soc2015/clord/head/sys/arm/allwinner/a10_gpio.c soc2015/clord/head/sys/arm/allwinner/a10_gpio.h soc2015/clord/head/sys/arm/allwinner/a10_mmc.c soc2015/clord/head/sys/arm/allwinner/a10_mmc.h soc2015/clord/head/sys/arm/allwinner/files.allwinner soc2015/clord/head/sys/arm/allwinner/if_emac.c soc2015/clord/head/sys/arm/arm/busdma_machdep-v6.c soc2015/clord/head/sys/arm/arm/cpufunc.c soc2015/clord/head/sys/arm/arm/genassym.c soc2015/clord/head/sys/arm/arm/identcpu.c soc2015/clord/head/sys/arm/arm/machdep.c soc2015/clord/head/sys/arm/arm/pmap-v6-new.c soc2015/clord/head/sys/arm/arm/pmap-v6.c soc2015/clord/head/sys/arm/arm/pmap.c soc2015/clord/head/sys/arm/arm/stdatomic.c soc2015/clord/head/sys/arm/arm/trap-v6.c soc2015/clord/head/sys/arm/at91/at91_machdep.c soc2015/clord/head/sys/arm/broadcom/bcm2835/bcm2835_systimer.c soc2015/clord/head/sys/arm/cavium/cns11xx/econa_machdep.c soc2015/clord/head/sys/arm/conf/BEAGLEBONE soc2015/clord/head/sys/arm/conf/CUBIEBOARD soc2015/clord/head/sys/arm/conf/CUBIEBOARD2 soc2015/clord/head/sys/arm/conf/IMX6 soc2015/clord/head/sys/arm/conf/NOTES soc2015/clord/head/sys/arm/conf/std.armv6 soc2015/clord/head/sys/arm/freescale/imx/imx_wdog.c soc2015/clord/head/sys/arm/freescale/imx/imx_wdogreg.h soc2015/clord/head/sys/arm/include/armreg.h soc2015/clord/head/sys/arm/include/atomic.h soc2015/clord/head/sys/arm/include/float.h soc2015/clord/head/sys/arm/include/param.h soc2015/clord/head/sys/arm/include/pcpu.h soc2015/clord/head/sys/arm/include/proc.h soc2015/clord/head/sys/arm/samsung/s3c2xx0/s3c24x0_machdep.c soc2015/clord/head/sys/arm/ti/am335x/am335x_dmtimer.c soc2015/clord/head/sys/arm/ti/am335x/am335x_lcd.c soc2015/clord/head/sys/arm/ti/am335x/am335x_prcm.c soc2015/clord/head/sys/arm/ti/am335x/am335x_scm_padconf.h soc2015/clord/head/sys/arm/ti/am335x/files.am335x soc2015/clord/head/sys/arm/ti/am335x/tda19988.c soc2015/clord/head/sys/arm/ti/ti_gpio.c soc2015/clord/head/sys/arm/ti/ti_hwmods.c soc2015/clord/head/sys/arm/ti/ti_hwmods.h soc2015/clord/head/sys/arm/ti/ti_scm.c soc2015/clord/head/sys/arm/versatile/sp804.c soc2015/clord/head/sys/arm/xscale/i80321/ep80219_machdep.c soc2015/clord/head/sys/arm/xscale/i80321/iq31244_machdep.c soc2015/clord/head/sys/arm/xscale/i8134x/crb_machdep.c soc2015/clord/head/sys/arm/xscale/ixp425/avila_machdep.c soc2015/clord/head/sys/arm/xscale/pxa/pxa_machdep.c soc2015/clord/head/sys/arm64/arm64/bus_machdep.c soc2015/clord/head/sys/arm64/arm64/bus_space_asm.S soc2015/clord/head/sys/arm64/arm64/cpufunc_asm.S soc2015/clord/head/sys/arm64/arm64/db_interface.c soc2015/clord/head/sys/arm64/arm64/elf_machdep.c soc2015/clord/head/sys/arm64/arm64/exception.S soc2015/clord/head/sys/arm64/arm64/gic_fdt.c soc2015/clord/head/sys/arm64/arm64/gic_v3.c soc2015/clord/head/sys/arm64/arm64/gic_v3_fdt.c soc2015/clord/head/sys/arm64/arm64/gic_v3_reg.h soc2015/clord/head/sys/arm64/arm64/gic_v3_var.h soc2015/clord/head/sys/arm64/arm64/identcpu.c soc2015/clord/head/sys/arm64/arm64/intr_machdep.c soc2015/clord/head/sys/arm64/arm64/locore.S soc2015/clord/head/sys/arm64/arm64/machdep.c soc2015/clord/head/sys/arm64/arm64/mem.c soc2015/clord/head/sys/arm64/arm64/minidump_machdep.c soc2015/clord/head/sys/arm64/arm64/pmap.c soc2015/clord/head/sys/arm64/arm64/stack_machdep.c soc2015/clord/head/sys/arm64/arm64/swtch.S soc2015/clord/head/sys/arm64/arm64/trap.c soc2015/clord/head/sys/arm64/arm64/uio_machdep.c soc2015/clord/head/sys/arm64/arm64/vfp.c soc2015/clord/head/sys/arm64/arm64/vm_machdep.c soc2015/clord/head/sys/arm64/conf/GENERIC soc2015/clord/head/sys/arm64/include/_types.h soc2015/clord/head/sys/arm64/include/armreg.h soc2015/clord/head/sys/arm64/include/atomic.h soc2015/clord/head/sys/arm64/include/cpu.h soc2015/clord/head/sys/arm64/include/float.h soc2015/clord/head/sys/arm64/include/ieeefp.h soc2015/clord/head/sys/arm64/include/in_cksum.h soc2015/clord/head/sys/arm64/include/md_var.h soc2015/clord/head/sys/arm64/include/param.h soc2015/clord/head/sys/arm64/include/pcb.h soc2015/clord/head/sys/arm64/include/pci_cfgreg.h soc2015/clord/head/sys/arm64/include/pcpu.h soc2015/clord/head/sys/arm64/include/pmap.h soc2015/clord/head/sys/arm64/include/pte.h soc2015/clord/head/sys/arm64/include/smp.h soc2015/clord/head/sys/arm64/include/ucontext.h soc2015/clord/head/sys/arm64/include/vfp.h soc2015/clord/head/sys/arm64/include/vmparam.h soc2015/clord/head/sys/boot/ (props changed) soc2015/clord/head/sys/boot/arm/ixp425/boot2/arm_init.S soc2015/clord/head/sys/boot/arm/ixp425/boot2/ixp425_board.c soc2015/clord/head/sys/boot/arm/ixp425/boot2/lib.h soc2015/clord/head/sys/boot/arm/uboot/Makefile soc2015/clord/head/sys/boot/common/loader.8 soc2015/clord/head/sys/boot/common/module.c soc2015/clord/head/sys/boot/efi/Makefile.inc soc2015/clord/head/sys/boot/efi/libefi/efipart.c soc2015/clord/head/sys/boot/fdt/dts/arm/cubieboard.dts soc2015/clord/head/sys/boot/fdt/dts/arm/sun4i-a10.dtsi soc2015/clord/head/sys/boot/fdt/dts/arm/sun7i-a20.dtsi soc2015/clord/head/sys/boot/fdt/dts/mips/beri-sim.dts soc2015/clord/head/sys/boot/forth/loader.conf soc2015/clord/head/sys/boot/forth/loader.conf.5 soc2015/clord/head/sys/boot/forth/loader.rc soc2015/clord/head/sys/boot/forth/menu.rc soc2015/clord/head/sys/boot/i386/boot2/boot2.c soc2015/clord/head/sys/boot/i386/loader/Makefile soc2015/clord/head/sys/boot/kshim/bsd_kernel.h soc2015/clord/head/sys/boot/mips/beri/loader/Makefile soc2015/clord/head/sys/boot/pc98/boot2/boot2.c soc2015/clord/head/sys/boot/pc98/loader/Makefile soc2015/clord/head/sys/boot/powerpc/kboot/ (props changed) soc2015/clord/head/sys/boot/powerpc/kboot/Makefile soc2015/clord/head/sys/boot/powerpc/ofw/ (props changed) soc2015/clord/head/sys/boot/powerpc/ofw/Makefile soc2015/clord/head/sys/boot/powerpc/ps3/Makefile soc2015/clord/head/sys/boot/sparc64/loader/Makefile soc2015/clord/head/sys/boot/uboot/fdt/uboot_fdt.c soc2015/clord/head/sys/cam/ata/ata_da.c soc2015/clord/head/sys/cam/cam_periph.c soc2015/clord/head/sys/cam/ctl/README.ctl.txt soc2015/clord/head/sys/cam/ctl/ctl.c soc2015/clord/head/sys/cam/ctl/ctl.h soc2015/clord/head/sys/cam/ctl/ctl_backend.c soc2015/clord/head/sys/cam/ctl/ctl_backend_block.c soc2015/clord/head/sys/cam/ctl/ctl_backend_ramdisk.c soc2015/clord/head/sys/cam/ctl/ctl_cmd_table.c soc2015/clord/head/sys/cam/ctl/ctl_error.c soc2015/clord/head/sys/cam/ctl/ctl_frontend.c soc2015/clord/head/sys/cam/ctl/ctl_frontend_cam_sim.c soc2015/clord/head/sys/cam/ctl/ctl_frontend_iscsi.c soc2015/clord/head/sys/cam/ctl/ctl_ioctl.h soc2015/clord/head/sys/cam/ctl/ctl_private.h soc2015/clord/head/sys/cam/ctl/ctl_ser_table.c soc2015/clord/head/sys/cam/ctl/ctl_tpc.c soc2015/clord/head/sys/cam/ctl/ctl_tpc_local.c soc2015/clord/head/sys/cam/ctl/scsi_ctl.c soc2015/clord/head/sys/cam/scsi/scsi_all.c soc2015/clord/head/sys/cam/scsi/scsi_all.h soc2015/clord/head/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c soc2015/clord/head/sys/cddl/compat/opensolaris/sys/file.h soc2015/clord/head/sys/cddl/compat/opensolaris/sys/kstat.h soc2015/clord/head/sys/cddl/compat/opensolaris/sys/nvpair.h soc2015/clord/head/sys/cddl/compat/opensolaris/sys/proc.h soc2015/clord/head/sys/cddl/compat/opensolaris/sys/vnode.h soc2015/clord/head/sys/cddl/contrib/opensolaris/ (props changed) soc2015/clord/head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c soc2015/clord/head/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/Makefile.files soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/vnode.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_diff.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_bookmark.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deleg.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_userhold.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/rrwlock.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/bpobj.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_send.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/rrwlock.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/sa.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/sa_impl.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_leaf.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_checksum.h soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_sa.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zrlock.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c soc2015/clord/head/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h soc2015/clord/head/sys/cddl/dev/dtrace/amd64/dtrace_isa.c soc2015/clord/head/sys/cddl/dev/dtrace/i386/dtrace_isa.c soc2015/clord/head/sys/cddl/dev/fbt/arm/fbt_isa.c soc2015/clord/head/sys/cddl/dev/fbt/fbt.c soc2015/clord/head/sys/cddl/dev/fbt/fbt.h soc2015/clord/head/sys/cddl/dev/fbt/powerpc/fbt_isa.c soc2015/clord/head/sys/cddl/dev/fbt/x86/fbt_isa.c soc2015/clord/head/sys/cddl/dev/profile/profile.c soc2015/clord/head/sys/cddl/dev/sdt/sdt.c soc2015/clord/head/sys/compat/freebsd32/freebsd32_syscall.h soc2015/clord/head/sys/compat/freebsd32/freebsd32_syscalls.c soc2015/clord/head/sys/compat/freebsd32/freebsd32_sysent.c soc2015/clord/head/sys/compat/freebsd32/freebsd32_systrace_args.c soc2015/clord/head/sys/compat/freebsd32/syscalls.master soc2015/clord/head/sys/compat/linprocfs/linprocfs.c soc2015/clord/head/sys/compat/linsysfs/linsysfs.c soc2015/clord/head/sys/compat/linux/linux_event.c soc2015/clord/head/sys/compat/linux/linux_file.c soc2015/clord/head/sys/compat/linux/linux_fork.c soc2015/clord/head/sys/compat/linux/linux_misc.c soc2015/clord/head/sys/compat/linux/linux_stats.c soc2015/clord/head/sys/compat/ndis/subr_ndis.c soc2015/clord/head/sys/compat/svr4/svr4_misc.c soc2015/clord/head/sys/compat/svr4/svr4_sysvec.c soc2015/clord/head/sys/conf/ (props changed) soc2015/clord/head/sys/conf/Makefile.arm soc2015/clord/head/sys/conf/NOTES soc2015/clord/head/sys/conf/WITHOUT_SOURCELESS_UCODE soc2015/clord/head/sys/conf/files soc2015/clord/head/sys/conf/files.amd64 soc2015/clord/head/sys/conf/files.arm soc2015/clord/head/sys/conf/files.arm64 soc2015/clord/head/sys/conf/files.i386 soc2015/clord/head/sys/conf/files.powerpc soc2015/clord/head/sys/conf/kern.post.mk soc2015/clord/head/sys/conf/kern.pre.mk soc2015/clord/head/sys/conf/kmod.mk soc2015/clord/head/sys/conf/ldscript.amd64 soc2015/clord/head/sys/conf/options soc2015/clord/head/sys/conf/options.arm64 soc2015/clord/head/sys/contrib/dev/acpica/ (props changed) soc2015/clord/head/sys/contrib/dev/acpica/acpica_prep.sh soc2015/clord/head/sys/contrib/dev/acpica/changes.txt soc2015/clord/head/sys/contrib/dev/acpica/common/adisasm.c soc2015/clord/head/sys/contrib/dev/acpica/common/dmrestag.c soc2015/clord/head/sys/contrib/dev/acpica/common/dmtable.c soc2015/clord/head/sys/contrib/dev/acpica/common/dmtbdump.c soc2015/clord/head/sys/contrib/dev/acpica/common/dmtbinfo.c soc2015/clord/head/sys/contrib/dev/acpica/compiler/aslascii.c soc2015/clord/head/sys/contrib/dev/acpica/compiler/aslcompile.c soc2015/clord/head/sys/contrib/dev/acpica/compiler/asldefine.h soc2015/clord/head/sys/contrib/dev/acpica/compiler/aslfiles.c soc2015/clord/head/sys/contrib/dev/acpica/compiler/asllookup.c soc2015/clord/head/sys/contrib/dev/acpica/compiler/aslmessages.c soc2015/clord/head/sys/contrib/dev/acpica/compiler/aslmessages.h soc2015/clord/head/sys/contrib/dev/acpica/compiler/aslmethod.c soc2015/clord/head/sys/contrib/dev/acpica/compiler/aslnamesp.c soc2015/clord/head/sys/contrib/dev/acpica/compiler/asloffset.c soc2015/clord/head/sys/contrib/dev/acpica/compiler/aslopcodes.c soc2015/clord/head/sys/contrib/dev/acpica/compiler/aslopt.c soc2015/clord/head/sys/contrib/dev/acpica/compiler/asloptions.c soc2015/clord/head/sys/contrib/dev/acpica/compiler/aslstartup.c soc2015/clord/head/sys/contrib/dev/acpica/compiler/aslstubs.c soc2015/clord/head/sys/contrib/dev/acpica/compiler/asltypes.h soc2015/clord/head/sys/contrib/dev/acpica/compiler/aslutils.c soc2015/clord/head/sys/contrib/dev/acpica/compiler/aslxref.c soc2015/clord/head/sys/contrib/dev/acpica/compiler/dtcompiler.h soc2015/clord/head/sys/contrib/dev/acpica/compiler/dttable.c soc2015/clord/head/sys/contrib/dev/acpica/compiler/dttemplate.h soc2015/clord/head/sys/contrib/dev/acpica/compiler/prparser.l soc2015/clord/head/sys/contrib/dev/acpica/compiler/prparser.y soc2015/clord/head/sys/contrib/dev/acpica/compiler/prscan.c soc2015/clord/head/sys/contrib/dev/acpica/components/debugger/dbcmds.c soc2015/clord/head/sys/contrib/dev/acpica/components/debugger/dbdisply.c soc2015/clord/head/sys/contrib/dev/acpica/components/debugger/dbinput.c soc2015/clord/head/sys/contrib/dev/acpica/components/debugger/dbmethod.c soc2015/clord/head/sys/contrib/dev/acpica/components/debugger/dbnames.c soc2015/clord/head/sys/contrib/dev/acpica/components/debugger/dbutils.c soc2015/clord/head/sys/contrib/dev/acpica/components/debugger/dbxface.c soc2015/clord/head/sys/contrib/dev/acpica/components/disassembler/dmdeferred.c soc2015/clord/head/sys/contrib/dev/acpica/components/disassembler/dmnames.c soc2015/clord/head/sys/contrib/dev/acpica/components/disassembler/dmopcode.c soc2015/clord/head/sys/contrib/dev/acpica/components/disassembler/dmwalk.c soc2015/clord/head/sys/contrib/dev/acpica/components/dispatcher/dsargs.c soc2015/clord/head/sys/contrib/dev/acpica/components/dispatcher/dsmethod.c soc2015/clord/head/sys/contrib/dev/acpica/components/dispatcher/dswload.c soc2015/clord/head/sys/contrib/dev/acpica/components/dispatcher/dswload2.c soc2015/clord/head/sys/contrib/dev/acpica/components/executer/excreate.c soc2015/clord/head/sys/contrib/dev/acpica/components/executer/exdebug.c soc2015/clord/head/sys/contrib/dev/acpica/components/executer/exdump.c soc2015/clord/head/sys/contrib/dev/acpica/components/namespace/nsnames.c soc2015/clord/head/sys/contrib/dev/acpica/components/namespace/nsparse.c soc2015/clord/head/sys/contrib/dev/acpica/components/namespace/nsutils.c soc2015/clord/head/sys/contrib/dev/acpica/components/namespace/nsxfname.c soc2015/clord/head/sys/contrib/dev/acpica/components/parser/psargs.c soc2015/clord/head/sys/contrib/dev/acpica/components/parser/psloop.c soc2015/clord/head/sys/contrib/dev/acpica/components/parser/psobject.c soc2015/clord/head/sys/contrib/dev/acpica/components/parser/psparse.c soc2015/clord/head/sys/contrib/dev/acpica/components/parser/psutils.c soc2015/clord/head/sys/contrib/dev/acpica/components/parser/psxface.c soc2015/clord/head/sys/contrib/dev/acpica/components/resources/rscreate.c soc2015/clord/head/sys/contrib/dev/acpica/components/utilities/utdebug.c soc2015/clord/head/sys/contrib/dev/acpica/components/utilities/utdelete.c soc2015/clord/head/sys/contrib/dev/acpica/components/utilities/utinit.c soc2015/clord/head/sys/contrib/dev/acpica/components/utilities/utmisc.c soc2015/clord/head/sys/contrib/dev/acpica/components/utilities/utstring.c soc2015/clord/head/sys/contrib/dev/acpica/include/acdebug.h soc2015/clord/head/sys/contrib/dev/acpica/include/acdisasm.h soc2015/clord/head/sys/contrib/dev/acpica/include/acdispat.h soc2015/clord/head/sys/contrib/dev/acpica/include/acglobal.h soc2015/clord/head/sys/contrib/dev/acpica/include/acinterp.h soc2015/clord/head/sys/contrib/dev/acpica/include/aclocal.h soc2015/clord/head/sys/contrib/dev/acpica/include/acmacros.h soc2015/clord/head/sys/contrib/dev/acpica/include/acnamesp.h soc2015/clord/head/sys/contrib/dev/acpica/include/acobject.h soc2015/clord/head/sys/contrib/dev/acpica/include/acoutput.h soc2015/clord/head/sys/contrib/dev/acpica/include/acparser.h soc2015/clord/head/sys/contrib/dev/acpica/include/acpiosxf.h soc2015/clord/head/sys/contrib/dev/acpica/include/acpixf.h soc2015/clord/head/sys/contrib/dev/acpica/include/acstruct.h soc2015/clord/head/sys/contrib/dev/acpica/include/actbl2.h soc2015/clord/head/sys/contrib/dev/acpica/include/actypes.h soc2015/clord/head/sys/contrib/dev/acpica/include/acutils.h soc2015/clord/head/sys/contrib/dev/acpica/include/platform/acenvex.h soc2015/clord/head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd.c soc2015/clord/head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_misc.c soc2015/clord/head/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_reset.c soc2015/clord/head/sys/contrib/ficl/softcore/ficl.fr (props changed) soc2015/clord/head/sys/contrib/ficl/softcore/makefile (props changed) soc2015/clord/head/sys/contrib/ficl/softcore/makesoftcore.c (props changed) soc2015/clord/head/sys/crypto/aesni/aesencdec.h soc2015/clord/head/sys/crypto/aesni/aesni.c soc2015/clord/head/sys/crypto/aesni/aesni.h soc2015/clord/head/sys/crypto/aesni/aesni_ghash.c soc2015/clord/head/sys/crypto/sha2/sha256.h soc2015/clord/head/sys/crypto/sha2/sha256c.c soc2015/clord/head/sys/ddb/db_examine.c soc2015/clord/head/sys/ddb/db_main.c soc2015/clord/head/sys/ddb/db_print.c soc2015/clord/head/sys/ddb/db_ps.c soc2015/clord/head/sys/ddb/db_sym.c soc2015/clord/head/sys/dev/acpica/acpi.c soc2015/clord/head/sys/dev/ahci/ahci.c soc2015/clord/head/sys/dev/ahci/ahci.h soc2015/clord/head/sys/dev/ahci/ahci_pci.c soc2015/clord/head/sys/dev/ata/ata-all.c soc2015/clord/head/sys/dev/ata/ata-all.h soc2015/clord/head/sys/dev/ata/ata-lowlevel.c soc2015/clord/head/sys/dev/ata/chipsets/ata-intel.c soc2015/clord/head/sys/dev/ath/if_ath.c soc2015/clord/head/sys/dev/ath/if_ath_ahb.c soc2015/clord/head/sys/dev/ath/if_ath_keycache.c soc2015/clord/head/sys/dev/ath/if_ath_rx.c soc2015/clord/head/sys/dev/ath/if_ath_sysctl.c soc2015/clord/head/sys/dev/ath/if_ath_tdma.c soc2015/clord/head/sys/dev/ath/if_ath_tx.c soc2015/clord/head/sys/dev/beri/virtio/virtio_mmio_platform.c soc2015/clord/head/sys/dev/bwi/if_bwi.c soc2015/clord/head/sys/dev/bwn/if_bwn.c soc2015/clord/head/sys/dev/bxe/bxe.c soc2015/clord/head/sys/dev/bxe/bxe.h soc2015/clord/head/sys/dev/bxe/ecore_hsi.h soc2015/clord/head/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c soc2015/clord/head/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c soc2015/clord/head/sys/dev/cxgb/ulp/tom/cxgb_listen.c soc2015/clord/head/sys/dev/cxgbe/adapter.h soc2015/clord/head/sys/dev/cxgbe/common/t4_hw.c soc2015/clord/head/sys/dev/cxgbe/firmware/t4fw_cfg_uwire.txt soc2015/clord/head/sys/dev/cxgbe/firmware/t4fw_interface.h soc2015/clord/head/sys/dev/cxgbe/firmware/t5fw_cfg_uwire.txt soc2015/clord/head/sys/dev/cxgbe/t4_main.c soc2015/clord/head/sys/dev/cxgbe/t4_netmap.c soc2015/clord/head/sys/dev/cxgbe/t4_sge.c soc2015/clord/head/sys/dev/cxgbe/tom/t4_connect.c soc2015/clord/head/sys/dev/cxgbe/tom/t4_cpl_io.c soc2015/clord/head/sys/dev/cxgbe/tom/t4_listen.c soc2015/clord/head/sys/dev/cxgbe/tom/t4_tom.c soc2015/clord/head/sys/dev/drm/drmP.h soc2015/clord/head/sys/dev/drm2/drmP.h soc2015/clord/head/sys/dev/drm2/i915/i915_drv.h soc2015/clord/head/sys/dev/drm2/i915/i915_gem.c soc2015/clord/head/sys/dev/drm2/i915/i915_gem_gtt.c soc2015/clord/head/sys/dev/dwc/if_dwc.c soc2015/clord/head/sys/dev/dwc/if_dwc.h soc2015/clord/head/sys/dev/e1000/e1000_80003es2lan.c soc2015/clord/head/sys/dev/e1000/e1000_80003es2lan.h soc2015/clord/head/sys/dev/e1000/e1000_82540.c soc2015/clord/head/sys/dev/e1000/e1000_82541.c soc2015/clord/head/sys/dev/e1000/e1000_82541.h soc2015/clord/head/sys/dev/e1000/e1000_82542.c soc2015/clord/head/sys/dev/e1000/e1000_82543.c soc2015/clord/head/sys/dev/e1000/e1000_82543.h soc2015/clord/head/sys/dev/e1000/e1000_82571.c soc2015/clord/head/sys/dev/e1000/e1000_82571.h soc2015/clord/head/sys/dev/e1000/e1000_82575.c soc2015/clord/head/sys/dev/e1000/e1000_82575.h soc2015/clord/head/sys/dev/e1000/e1000_api.c soc2015/clord/head/sys/dev/e1000/e1000_api.h soc2015/clord/head/sys/dev/e1000/e1000_defines.h soc2015/clord/head/sys/dev/e1000/e1000_hw.h soc2015/clord/head/sys/dev/e1000/e1000_i210.c soc2015/clord/head/sys/dev/e1000/e1000_i210.h soc2015/clord/head/sys/dev/e1000/e1000_ich8lan.c soc2015/clord/head/sys/dev/e1000/e1000_ich8lan.h soc2015/clord/head/sys/dev/e1000/e1000_mac.c soc2015/clord/head/sys/dev/e1000/e1000_mac.h soc2015/clord/head/sys/dev/e1000/e1000_manage.c soc2015/clord/head/sys/dev/e1000/e1000_manage.h soc2015/clord/head/sys/dev/e1000/e1000_mbx.c soc2015/clord/head/sys/dev/e1000/e1000_mbx.h soc2015/clord/head/sys/dev/e1000/e1000_nvm.c soc2015/clord/head/sys/dev/e1000/e1000_nvm.h soc2015/clord/head/sys/dev/e1000/e1000_osdep.c soc2015/clord/head/sys/dev/e1000/e1000_osdep.h soc2015/clord/head/sys/dev/e1000/e1000_phy.c soc2015/clord/head/sys/dev/e1000/e1000_phy.h soc2015/clord/head/sys/dev/e1000/e1000_regs.h soc2015/clord/head/sys/dev/e1000/e1000_vf.c soc2015/clord/head/sys/dev/e1000/e1000_vf.h soc2015/clord/head/sys/dev/e1000/if_em.c soc2015/clord/head/sys/dev/e1000/if_em.h soc2015/clord/head/sys/dev/e1000/if_igb.c soc2015/clord/head/sys/dev/e1000/if_igb.h soc2015/clord/head/sys/dev/e1000/if_lem.c soc2015/clord/head/sys/dev/e1000/if_lem.h soc2015/clord/head/sys/dev/fe/if_fe_cbus.c soc2015/clord/head/sys/dev/glxsb/glxsb.c soc2015/clord/head/sys/dev/gpio/gpiobus.c soc2015/clord/head/sys/dev/gpio/gpioled.c soc2015/clord/head/sys/dev/hifn/hifn7751.c soc2015/clord/head/sys/dev/hpt27xx/README soc2015/clord/head/sys/dev/hpt27xx/amd64-elf.hpt27xx_lib.o.uu (contents, props changed) soc2015/clord/head/sys/dev/hpt27xx/array.h soc2015/clord/head/sys/dev/hpt27xx/him.h soc2015/clord/head/sys/dev/hpt27xx/himfuncs.h soc2015/clord/head/sys/dev/hpt27xx/hpt27xx_config.c soc2015/clord/head/sys/dev/hpt27xx/hpt27xx_config.h soc2015/clord/head/sys/dev/hpt27xx/hpt27xx_os_bsd.c soc2015/clord/head/sys/dev/hpt27xx/hpt27xx_osm_bsd.c soc2015/clord/head/sys/dev/hpt27xx/hptintf.h soc2015/clord/head/sys/dev/hpt27xx/i386-elf.hpt27xx_lib.o.uu soc2015/clord/head/sys/dev/hpt27xx/ldm.h soc2015/clord/head/sys/dev/hpt27xx/list.h soc2015/clord/head/sys/dev/hpt27xx/os_bsd.h soc2015/clord/head/sys/dev/hpt27xx/osm.h soc2015/clord/head/sys/dev/hptnr/README soc2015/clord/head/sys/dev/hptnr/amd64-elf.hptnr_lib.o.uu soc2015/clord/head/sys/dev/hptnr/him.h soc2015/clord/head/sys/dev/hptnr/hptnr_config.c soc2015/clord/head/sys/dev/hptnr/hptnr_osm_bsd.c soc2015/clord/head/sys/dev/hptnr/i386-elf.hptnr_lib.o.uu soc2015/clord/head/sys/dev/hptnr/ldm.h soc2015/clord/head/sys/dev/hptnr/osm.h soc2015/clord/head/sys/dev/hyperv/ (props changed) soc2015/clord/head/sys/dev/hyperv/include/hyperv.h soc2015/clord/head/sys/dev/hyperv/netvsc/hv_net_vsc.c soc2015/clord/head/sys/dev/hyperv/netvsc/hv_net_vsc.h soc2015/clord/head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c soc2015/clord/head/sys/dev/hyperv/netvsc/hv_rndis.h soc2015/clord/head/sys/dev/hyperv/netvsc/hv_rndis_filter.c soc2015/clord/head/sys/dev/hyperv/netvsc/hv_rndis_filter.h soc2015/clord/head/sys/dev/ichiic/ig4_iic.c soc2015/clord/head/sys/dev/ichiic/ig4_pci.c soc2015/clord/head/sys/dev/ichiic/ig4_var.h soc2015/clord/head/sys/dev/ichwd/ichwd.c soc2015/clord/head/sys/dev/ichwd/ichwd.h soc2015/clord/head/sys/dev/ipw/if_ipw.c soc2015/clord/head/sys/dev/iscsi/iscsi.c soc2015/clord/head/sys/dev/isp/isp.c soc2015/clord/head/sys/dev/isp/isp_freebsd.c soc2015/clord/head/sys/dev/isp/isp_library.c soc2015/clord/head/sys/dev/isp/isp_library.h soc2015/clord/head/sys/dev/isp/isp_pci.c soc2015/clord/head/sys/dev/isp/isp_target.h soc2015/clord/head/sys/dev/isp/ispvar.h soc2015/clord/head/sys/dev/iwn/if_iwn.c soc2015/clord/head/sys/dev/iwn/if_iwnreg.h soc2015/clord/head/sys/dev/ixgbe/if_ix.c soc2015/clord/head/sys/dev/ixgbe/if_ixv.c soc2015/clord/head/sys/dev/ixgbe/ix_txrx.c soc2015/clord/head/sys/dev/ixgbe/ixgbe.h soc2015/clord/head/sys/dev/ixgbe/ixgbe_vf.c soc2015/clord/head/sys/dev/ixl/if_ixl.c soc2015/clord/head/sys/dev/md/md.c soc2015/clord/head/sys/dev/mii/brgphy.c soc2015/clord/head/sys/dev/mii/miidevs soc2015/clord/head/sys/dev/mmc/host/dwmmc.c soc2015/clord/head/sys/dev/mmc/mmc.c soc2015/clord/head/sys/dev/mps/mps.c soc2015/clord/head/sys/dev/mps/mps_config.c soc2015/clord/head/sys/dev/mps/mpsvar.h soc2015/clord/head/sys/dev/mpt/mpt.c soc2015/clord/head/sys/dev/mpt/mpt.h soc2015/clord/head/sys/dev/mrsas/mrsas.c soc2015/clord/head/sys/dev/mrsas/mrsas.h soc2015/clord/head/sys/dev/nand/nand_generic.c soc2015/clord/head/sys/dev/nand/nfc_rb.c soc2015/clord/head/sys/dev/netmap/if_em_netmap.h soc2015/clord/head/sys/dev/netmap/if_igb_netmap.h soc2015/clord/head/sys/dev/netmap/if_ixl_netmap.h soc2015/clord/head/sys/dev/netmap/if_lem_netmap.h soc2015/clord/head/sys/dev/netmap/if_re_netmap.h soc2015/clord/head/sys/dev/netmap/if_vtnet_netmap.h soc2015/clord/head/sys/dev/netmap/ixgbe_netmap.h soc2015/clord/head/sys/dev/netmap/netmap.c soc2015/clord/head/sys/dev/netmap/netmap_freebsd.c soc2015/clord/head/sys/dev/netmap/netmap_generic.c soc2015/clord/head/sys/dev/netmap/netmap_kern.h soc2015/clord/head/sys/dev/netmap/netmap_mem2.c soc2015/clord/head/sys/dev/netmap/netmap_mem2.h soc2015/clord/head/sys/dev/netmap/netmap_monitor.c soc2015/clord/head/sys/dev/netmap/netmap_pipe.c soc2015/clord/head/sys/dev/netmap/netmap_vale.c soc2015/clord/head/sys/dev/nvd/nvd.c soc2015/clord/head/sys/dev/nvme/nvme.c soc2015/clord/head/sys/dev/nvme/nvme_ctrlr.c soc2015/clord/head/sys/dev/ofw/ofw_bus_subr.c soc2015/clord/head/sys/dev/ofw/ofw_cpu.c soc2015/clord/head/sys/dev/pci/pci_pci.c soc2015/clord/head/sys/dev/pci/pcireg.h soc2015/clord/head/sys/dev/proto/proto.h soc2015/clord/head/sys/dev/proto/proto_bus_pci.c soc2015/clord/head/sys/dev/proto/proto_busdma.c soc2015/clord/head/sys/dev/proto/proto_busdma.h soc2015/clord/head/sys/dev/proto/proto_core.c soc2015/clord/head/sys/dev/proto/proto_dev.h soc2015/clord/head/sys/dev/psci/psci.c soc2015/clord/head/sys/dev/qlxgbe/ql_dbg.c soc2015/clord/head/sys/dev/qlxgbe/ql_dbg.h soc2015/clord/head/sys/dev/qlxgbe/ql_def.h soc2015/clord/head/sys/dev/qlxgbe/ql_glbl.h soc2015/clord/head/sys/dev/qlxgbe/ql_hw.c soc2015/clord/head/sys/dev/qlxgbe/ql_hw.h soc2015/clord/head/sys/dev/qlxgbe/ql_inline.h soc2015/clord/head/sys/dev/qlxgbe/ql_ioctl.c soc2015/clord/head/sys/dev/qlxgbe/ql_ioctl.h soc2015/clord/head/sys/dev/qlxgbe/ql_isr.c soc2015/clord/head/sys/dev/qlxgbe/ql_misc.c soc2015/clord/head/sys/dev/qlxgbe/ql_os.c soc2015/clord/head/sys/dev/qlxgbe/ql_os.h soc2015/clord/head/sys/dev/qlxgbe/ql_reset.c soc2015/clord/head/sys/dev/qlxgbe/ql_tmplt.h soc2015/clord/head/sys/dev/qlxgbe/ql_ver.h soc2015/clord/head/sys/dev/random/build.sh soc2015/clord/head/sys/dev/random/fortuna.c soc2015/clord/head/sys/dev/random/fortuna.h soc2015/clord/head/sys/dev/random/hash.c soc2015/clord/head/sys/dev/random/hash.h soc2015/clord/head/sys/dev/random/ivy.c soc2015/clord/head/sys/dev/random/nehemiah.c soc2015/clord/head/sys/dev/random/random_harvestq.c soc2015/clord/head/sys/dev/random/random_harvestq.h soc2015/clord/head/sys/dev/random/randomdev.c soc2015/clord/head/sys/dev/random/randomdev.h soc2015/clord/head/sys/dev/random/uint128.h soc2015/clord/head/sys/dev/random/unit_test.c soc2015/clord/head/sys/dev/random/unit_test.h soc2015/clord/head/sys/dev/random/yarrow.c soc2015/clord/head/sys/dev/random/yarrow.h soc2015/clord/head/sys/dev/re/if_re.c soc2015/clord/head/sys/dev/rndtest/rndtest.c soc2015/clord/head/sys/dev/safe/safe.c soc2015/clord/head/sys/dev/sfxge/common/hunt_impl.h soc2015/clord/head/sys/dev/sfxge/common/hunt_mac.c soc2015/clord/head/sys/dev/sfxge/common/hunt_nic.c soc2015/clord/head/sys/dev/sfxge/sfxge.c soc2015/clord/head/sys/dev/sound/midi/midi.c soc2015/clord/head/sys/dev/sound/midi/sequencer.c soc2015/clord/head/sys/dev/sound/pci/hda/hdaa_patches.c soc2015/clord/head/sys/dev/syscons/scmouse.c soc2015/clord/head/sys/dev/syscons/syscons.c soc2015/clord/head/sys/dev/ti/if_ti.c soc2015/clord/head/sys/dev/uart/uart_bus.h soc2015/clord/head/sys/dev/uart/uart_bus_pci.c soc2015/clord/head/sys/dev/uart/uart_core.c soc2015/clord/head/sys/dev/uart/uart_tty.c soc2015/clord/head/sys/dev/ubsec/ubsec.c soc2015/clord/head/sys/dev/usb/controller/dwc_otg.c soc2015/clord/head/sys/dev/usb/controller/dwc_otg.h soc2015/clord/head/sys/dev/usb/controller/dwc_otgreg.h soc2015/clord/head/sys/dev/usb/controller/usb_controller.c soc2015/clord/head/sys/dev/usb/controller/xhci.c soc2015/clord/head/sys/dev/usb/controller/xhci_pci.c soc2015/clord/head/sys/dev/usb/net/if_urndis.c soc2015/clord/head/sys/dev/usb/serial/uftdi.c soc2015/clord/head/sys/dev/usb/serial/uftdi_reg.h soc2015/clord/head/sys/dev/usb/uftdiio.h soc2015/clord/head/sys/dev/usb/usb_bus.h soc2015/clord/head/sys/dev/usb/usb_device.c soc2015/clord/head/sys/dev/usb/usb_hub.c soc2015/clord/head/sys/dev/usb/usb_pf.c soc2015/clord/head/sys/dev/usb/usb_process.h soc2015/clord/head/sys/dev/usb/usb_transfer.c soc2015/clord/head/sys/dev/usb/usbdi.h soc2015/clord/head/sys/dev/usb/wlan/if_rsu.c soc2015/clord/head/sys/dev/usb/wlan/if_rum.c soc2015/clord/head/sys/dev/usb/wlan/if_run.c soc2015/clord/head/sys/dev/usb/wlan/if_uath.c soc2015/clord/head/sys/dev/usb/wlan/if_upgt.c soc2015/clord/head/sys/dev/usb/wlan/if_ural.c soc2015/clord/head/sys/dev/usb/wlan/if_urtw.c soc2015/clord/head/sys/dev/usb/wlan/if_urtwn.c soc2015/clord/head/sys/dev/usb/wlan/if_zyd.c soc2015/clord/head/sys/dev/virtio/mmio/virtio_mmio.c soc2015/clord/head/sys/dev/virtio/mmio/virtio_mmio_if.m soc2015/clord/head/sys/dev/virtio/network/if_vtnet.c soc2015/clord/head/sys/dev/virtio/random/virtio_random.c soc2015/clord/head/sys/dev/vt/colors/vt_termcolors.c soc2015/clord/head/sys/dev/vt/hw/efifb/efifb.c soc2015/clord/head/sys/dev/vt/hw/fb/vt_early_fb.c soc2015/clord/head/sys/dev/vt/hw/fb/vt_fb.c soc2015/clord/head/sys/dev/vt/hw/vga/vt_vga.c soc2015/clord/head/sys/dev/vt/hw/vga/vt_vga_reg.h soc2015/clord/head/sys/dev/vt/vt.h soc2015/clord/head/sys/dev/vt/vt_core.c soc2015/clord/head/sys/dev/vt/vt_sysmouse.c soc2015/clord/head/sys/dev/wi/if_wi.c soc2015/clord/head/sys/dev/wi/if_wi_macio.c soc2015/clord/head/sys/dev/wpi/if_wpi.c soc2015/clord/head/sys/dev/wtap/if_wtap.c soc2015/clord/head/sys/dev/wtap/if_wtapvar.h soc2015/clord/head/sys/dev/xen/balloon/balloon.c soc2015/clord/head/sys/dev/xen/blkback/blkback.c soc2015/clord/head/sys/dev/xen/blkfront/blkfront.c soc2015/clord/head/sys/dev/xen/blkfront/block.h soc2015/clord/head/sys/dev/xen/control/control.c soc2015/clord/head/sys/dev/xen/netback/netback.c soc2015/clord/head/sys/dev/xen/netfront/netfront.c soc2015/clord/head/sys/dev/xen/pcifront/pcifront.c soc2015/clord/head/sys/fs/devfs/devfs_vnops.c soc2015/clord/head/sys/fs/ext2fs/ext2_subr.c soc2015/clord/head/sys/fs/fdescfs/fdesc_vnops.c soc2015/clord/head/sys/fs/nfsclient/nfs_clport.c soc2015/clord/head/sys/fs/nfsclient/nfs_clrpcops.c soc2015/clord/head/sys/fs/nfsclient/nfs_clvfsops.c soc2015/clord/head/sys/fs/nfsserver/nfs_nfsdstate.c soc2015/clord/head/sys/fs/nullfs/null_vfsops.c soc2015/clord/head/sys/fs/procfs/procfs_ctl.c soc2015/clord/head/sys/fs/procfs/procfs_ioctl.c soc2015/clord/head/sys/fs/tmpfs/tmpfs_subr.c soc2015/clord/head/sys/fs/tmpfs/tmpfs_vfsops.c soc2015/clord/head/sys/fs/unionfs/union_vfsops.c soc2015/clord/head/sys/geom/eli/g_eli.c soc2015/clord/head/sys/geom/eli/g_eli.h soc2015/clord/head/sys/geom/eli/g_eli_ctl.c soc2015/clord/head/sys/geom/eli/g_eli_integrity.c soc2015/clord/head/sys/geom/eli/g_eli_privacy.c soc2015/clord/head/sys/geom/geom_dev.c soc2015/clord/head/sys/geom/geom_io.c soc2015/clord/head/sys/geom/part/g_part.c soc2015/clord/head/sys/geom/part/g_part_gpt.c soc2015/clord/head/sys/geom/raid/md_intel.c soc2015/clord/head/sys/geom/raid/md_jmicron.c soc2015/clord/head/sys/geom/raid/md_nvidia.c soc2015/clord/head/sys/geom/raid/md_sii.c soc2015/clord/head/sys/geom/uncompress/g_uncompress.c soc2015/clord/head/sys/geom/uzip/g_uzip.c soc2015/clord/head/sys/gnu/fs/reiserfs/reiserfs_vfsops.c soc2015/clord/head/sys/i386/conf/GENERIC soc2015/clord/head/sys/i386/conf/NOTES soc2015/clord/head/sys/i386/i386/db_trace.c soc2015/clord/head/sys/i386/i386/genassym.c soc2015/clord/head/sys/i386/i386/locore.s soc2015/clord/head/sys/i386/i386/machdep.c soc2015/clord/head/sys/i386/i386/mp_machdep.c soc2015/clord/head/sys/i386/i386/pmap.c soc2015/clord/head/sys/i386/i386/ptrace_machdep.c soc2015/clord/head/sys/i386/i386/stack_machdep.c soc2015/clord/head/sys/i386/i386/sys_machdep.c soc2015/clord/head/sys/i386/i386/vm_machdep.c soc2015/clord/head/sys/i386/include/atomic.h soc2015/clord/head/sys/i386/include/frame.h soc2015/clord/head/sys/i386/include/in_cksum.h soc2015/clord/head/sys/i386/include/md_var.h soc2015/clord/head/sys/i386/include/npx.h soc2015/clord/head/sys/i386/include/param.h soc2015/clord/head/sys/i386/include/pcpu.h soc2015/clord/head/sys/i386/include/pmc_mdep.h soc2015/clord/head/sys/i386/include/smp.h soc2015/clord/head/sys/i386/include/stack.h soc2015/clord/head/sys/i386/isa/npx.c soc2015/clord/head/sys/kern/genassym.sh soc2015/clord/head/sys/kern/imgact_binmisc.c soc2015/clord/head/sys/kern/imgact_elf.c soc2015/clord/head/sys/kern/init_main.c soc2015/clord/head/sys/kern/init_sysent.c soc2015/clord/head/sys/kern/kern_clocksource.c soc2015/clord/head/sys/kern/kern_cpuset.c soc2015/clord/head/sys/kern/kern_descrip.c soc2015/clord/head/sys/kern/kern_event.c soc2015/clord/head/sys/kern/kern_exec.c soc2015/clord/head/sys/kern/kern_exit.c soc2015/clord/head/sys/kern/kern_fork.c soc2015/clord/head/sys/kern/kern_intr.c soc2015/clord/head/sys/kern/kern_jail.c soc2015/clord/head/sys/kern/kern_kthread.c soc2015/clord/head/sys/kern/kern_lock.c soc2015/clord/head/sys/kern/kern_lockstat.c soc2015/clord/head/sys/kern/kern_mib.c soc2015/clord/head/sys/kern/kern_mutex.c soc2015/clord/head/sys/kern/kern_ntptime.c soc2015/clord/head/sys/kern/kern_proc.c soc2015/clord/head/sys/kern/kern_procctl.c soc2015/clord/head/sys/kern/kern_prot.c soc2015/clord/head/sys/kern/kern_resource.c soc2015/clord/head/sys/kern/kern_rmlock.c soc2015/clord/head/sys/kern/kern_rwlock.c soc2015/clord/head/sys/kern/kern_sharedpage.c soc2015/clord/head/sys/kern/kern_shutdown.c soc2015/clord/head/sys/kern/kern_sig.c soc2015/clord/head/sys/kern/kern_sx.c soc2015/clord/head/sys/kern/kern_sysctl.c soc2015/clord/head/sys/kern/kern_tc.c soc2015/clord/head/sys/kern/kern_thr.c soc2015/clord/head/sys/kern/kern_thread.c soc2015/clord/head/sys/kern/kern_timeout.c soc2015/clord/head/sys/kern/kern_umtx.c soc2015/clord/head/sys/kern/link_elf.c soc2015/clord/head/sys/kern/makesyscalls.sh soc2015/clord/head/sys/kern/sched_4bsd.c soc2015/clord/head/sys/kern/sched_ule.c soc2015/clord/head/sys/kern/subr_bus.c soc2015/clord/head/sys/kern/subr_firmware.c soc2015/clord/head/sys/kern/subr_module.c soc2015/clord/head/sys/kern/subr_param.c soc2015/clord/head/sys/kern/subr_smp.c soc2015/clord/head/sys/kern/subr_trap.c soc2015/clord/head/sys/kern/subr_witness.c soc2015/clord/head/sys/kern/sys_capability.c soc2015/clord/head/sys/kern/sys_generic.c soc2015/clord/head/sys/kern/sys_pipe.c soc2015/clord/head/sys/kern/sys_procdesc.c soc2015/clord/head/sys/kern/sys_process.c soc2015/clord/head/sys/kern/syscalls.c soc2015/clord/head/sys/kern/syscalls.master soc2015/clord/head/sys/kern/systrace_args.c soc2015/clord/head/sys/kern/sysv_shm.c soc2015/clord/head/sys/kern/tty_tty.c soc2015/clord/head/sys/kern/uipc_debug.c soc2015/clord/head/sys/kern/uipc_mbuf.c soc2015/clord/head/sys/kern/uipc_mbuf2.c soc2015/clord/head/sys/kern/uipc_sem.c soc2015/clord/head/sys/kern/uipc_shm.c soc2015/clord/head/sys/kern/uipc_socket.c soc2015/clord/head/sys/kern/uipc_syscalls.c soc2015/clord/head/sys/kern/uipc_usrreq.c soc2015/clord/head/sys/kern/vfs_aio.c soc2015/clord/head/sys/kern/vfs_bio.c soc2015/clord/head/sys/kern/vfs_cache.c soc2015/clord/head/sys/kern/vfs_cluster.c soc2015/clord/head/sys/kern/vfs_default.c soc2015/clord/head/sys/kern/vfs_hash.c soc2015/clord/head/sys/kern/vfs_lookup.c soc2015/clord/head/sys/kern/vfs_mount.c soc2015/clord/head/sys/kern/vfs_subr.c soc2015/clord/head/sys/kern/vfs_syscalls.c soc2015/clord/head/sys/kern/vfs_vnops.c soc2015/clord/head/sys/libkern/arc4random.c soc2015/clord/head/sys/libkern/arm/aeabi_unwind.c soc2015/clord/head/sys/libkern/arm/divsi3.S soc2015/clord/head/sys/libkern/arm/ldivmod.S soc2015/clord/head/sys/libkern/arm/ldivmod_helper.c soc2015/clord/head/sys/libkern/arm/memcpy.S soc2015/clord/head/sys/libkern/arm/memset.S soc2015/clord/head/sys/libkern/random.c soc2015/clord/head/sys/mips/atheros/ar71xx_chip.c soc2015/clord/head/sys/mips/atheros/ar71xx_cpudef.h soc2015/clord/head/sys/mips/atheros/ar71xx_ehci.c soc2015/clord/head/sys/mips/atheros/ar71xx_machdep.c soc2015/clord/head/sys/mips/atheros/ar71xx_ohci.c soc2015/clord/head/sys/mips/atheros/ar71xx_pci.c soc2015/clord/head/sys/mips/atheros/ar724x_chip.c soc2015/clord/head/sys/mips/atheros/ar724x_pci.c soc2015/clord/head/sys/mips/atheros/ar91xx_chip.c soc2015/clord/head/sys/mips/atheros/ar933x_chip.c soc2015/clord/head/sys/mips/atheros/ar934x_chip.c soc2015/clord/head/sys/mips/atheros/if_arge.c soc2015/clord/head/sys/mips/atheros/qca955x_chip.c soc2015/clord/head/sys/mips/atheros/qca955x_pci.c soc2015/clord/head/sys/mips/atheros/qca955xreg.h soc2015/clord/head/sys/mips/beri/beri_machdep.c soc2015/clord/head/sys/mips/cavium/octeon_rnd.c soc2015/clord/head/sys/mips/conf/AR71XX_BASE soc2015/clord/head/sys/mips/conf/AR724X_BASE soc2015/clord/head/sys/mips/conf/AR91XX_BASE soc2015/clord/head/sys/mips/conf/AR933X_BASE soc2015/clord/head/sys/mips/conf/AR934X_BASE soc2015/clord/head/sys/mips/conf/PB92 soc2015/clord/head/sys/mips/conf/QCA955X_BASE soc2015/clord/head/sys/mips/conf/QCA955X_BASE.hints soc2015/clord/head/sys/mips/conf/RT305X soc2015/clord/head/sys/mips/conf/XLR soc2015/clord/head/sys/mips/conf/XLR64 soc2015/clord/head/sys/mips/conf/XLRN32 soc2015/clord/head/sys/mips/include/atomic.h soc2015/clord/head/sys/mips/include/float.h soc2015/clord/head/sys/mips/include/in_cksum.h soc2015/clord/head/sys/mips/mips/pmap.c soc2015/clord/head/sys/mips/rmi/files.xlr soc2015/clord/head/sys/mips/rmi/xlr_i2c.c soc2015/clord/head/sys/modules/Makefile soc2015/clord/head/sys/modules/aesni/Makefile soc2015/clord/head/sys/modules/agp/Makefile soc2015/clord/head/sys/modules/crypto/Makefile soc2015/clord/head/sys/modules/ctl/Makefile soc2015/clord/head/sys/modules/cxgbe/t4_firmware/Makefile soc2015/clord/head/sys/modules/cxgbe/t5_firmware/Makefile soc2015/clord/head/sys/modules/dtb/allwinner/Makefile soc2015/clord/head/sys/modules/dtrace/Makefile soc2015/clord/head/sys/modules/dtrace/Makefile.inc soc2015/clord/head/sys/modules/dtrace/dtraceall/dtraceall.c soc2015/clord/head/sys/modules/geom/geom_part/geom_part_apm/Makefile soc2015/clord/head/sys/modules/geom/geom_part/geom_part_bsd/Makefile soc2015/clord/head/sys/modules/geom/geom_part/geom_part_bsd64/Makefile soc2015/clord/head/sys/modules/geom/geom_part/geom_part_ebr/Makefile soc2015/clord/head/sys/modules/geom/geom_part/geom_part_gpt/Makefile soc2015/clord/head/sys/modules/geom/geom_part/geom_part_ldm/Makefile soc2015/clord/head/sys/modules/geom/geom_part/geom_part_mbr/Makefile soc2015/clord/head/sys/modules/geom/geom_part/geom_part_pc98/Makefile soc2015/clord/head/sys/modules/geom/geom_part/geom_part_vtoc8/Makefile soc2015/clord/head/sys/modules/geom/geom_raid/Makefile soc2015/clord/head/sys/modules/gpio/gpiobus/Makefile soc2015/clord/head/sys/modules/hyperv/ (props changed) soc2015/clord/head/sys/modules/hyperv/netvsc/Makefile soc2015/clord/head/sys/modules/i2c/Makefile soc2015/clord/head/sys/modules/if_stf/Makefile soc2015/clord/head/sys/modules/ixv/Makefile soc2015/clord/head/sys/modules/kgssapi/Makefile soc2015/clord/head/sys/modules/kgssapi_krb5/Makefile soc2015/clord/head/sys/modules/ksyms/Makefile soc2015/clord/head/sys/modules/libiconv/Makefile soc2015/clord/head/sys/modules/mvs/Makefile soc2015/clord/head/sys/modules/nand/Makefile soc2015/clord/head/sys/modules/nandsim/Makefile soc2015/clord/head/sys/modules/proto/Makefile soc2015/clord/head/sys/modules/puc/Makefile soc2015/clord/head/sys/modules/qlxgbe/Makefile soc2015/clord/head/sys/modules/scc/Makefile soc2015/clord/head/sys/modules/uart/Makefile soc2015/clord/head/sys/modules/virtio/balloon/Makefile soc2015/clord/head/sys/modules/virtio/block/Makefile soc2015/clord/head/sys/modules/virtio/console/Makefile soc2015/clord/head/sys/modules/virtio/network/Makefile soc2015/clord/head/sys/modules/virtio/pci/Makefile soc2015/clord/head/sys/modules/virtio/random/Makefile soc2015/clord/head/sys/modules/virtio/scsi/Makefile soc2015/clord/head/sys/modules/virtio/virtio/Makefile soc2015/clord/head/sys/modules/zfs/Makefile soc2015/clord/head/sys/net/altq/altq.h soc2015/clord/head/sys/net/altq/altq_subr.c soc2015/clord/head/sys/net/altq/altq_var.h soc2015/clord/head/sys/net/bpf.c soc2015/clord/head/sys/net/bpf.h soc2015/clord/head/sys/net/bpf_buffer.c soc2015/clord/head/sys/net/ieee8023ad_lacp.c soc2015/clord/head/sys/net/ieee8023ad_lacp.h soc2015/clord/head/sys/net/if.c soc2015/clord/head/sys/net/if_ethersubr.c soc2015/clord/head/sys/net/if_gif.c soc2015/clord/head/sys/net/if_lagg.c soc2015/clord/head/sys/net/if_lagg.h soc2015/clord/head/sys/net/if_llatbl.c soc2015/clord/head/sys/net/if_llatbl.h soc2015/clord/head/sys/net/if_loop.c soc2015/clord/head/sys/net/if_spppsubr.c soc2015/clord/head/sys/net/if_stf.c soc2015/clord/head/sys/net/if_tun.c soc2015/clord/head/sys/net/netmap.h soc2015/clord/head/sys/net/netmap_user.h soc2015/clord/head/sys/net/pfkeyv2.h soc2015/clord/head/sys/net/radix.c soc2015/clord/head/sys/net/radix.h soc2015/clord/head/sys/net/route.c soc2015/clord/head/sys/net/route.h soc2015/clord/head/sys/netgraph/bluetooth/l2cap/ng_l2cap_ulpi.c soc2015/clord/head/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c soc2015/clord/head/sys/netgraph/ng_iface.c soc2015/clord/head/sys/netinet/if_ether.c soc2015/clord/head/sys/netinet/igmp.c soc2015/clord/head/sys/netinet/in.c soc2015/clord/head/sys/netinet/in_gif.c soc2015/clord/head/sys/netinet/in_mcast.c soc2015/clord/head/sys/netinet/in_pcb.c soc2015/clord/head/sys/netinet/in_pcb.h soc2015/clord/head/sys/netinet/in_rmx.c soc2015/clord/head/sys/netinet/in_var.h soc2015/clord/head/sys/netinet/ip.h soc2015/clord/head/sys/netinet/ip_ecn.h soc2015/clord/head/sys/netinet/ip_icmp.c soc2015/clord/head/sys/netinet/ip_input.c soc2015/clord/head/sys/netinet/ip_output.c soc2015/clord/head/sys/netinet/ip_var.h soc2015/clord/head/sys/netinet/raw_ip.c soc2015/clord/head/sys/netinet/sctp_asconf.c soc2015/clord/head/sys/netinet/sctp_indata.c soc2015/clord/head/sys/netinet/sctp_indata.h soc2015/clord/head/sys/netinet/sctp_input.c soc2015/clord/head/sys/netinet/sctp_os_bsd.h soc2015/clord/head/sys/netinet/sctp_output.c soc2015/clord/head/sys/netinet/sctp_output.h soc2015/clord/head/sys/netinet/sctp_pcb.c soc2015/clord/head/sys/netinet/sctp_structs.h soc2015/clord/head/sys/netinet/sctp_sysctl.c soc2015/clord/head/sys/netinet/sctp_timer.c soc2015/clord/head/sys/netinet/sctp_uio.h soc2015/clord/head/sys/netinet/sctp_usrreq.c soc2015/clord/head/sys/netinet/sctputil.c soc2015/clord/head/sys/netinet/tcp_input.c soc2015/clord/head/sys/netinet/tcp_lro.c soc2015/clord/head/sys/netinet/tcp_output.c soc2015/clord/head/sys/netinet/tcp_reass.c soc2015/clord/head/sys/netinet/tcp_subr.c soc2015/clord/head/sys/netinet/tcp_syncache.c soc2015/clord/head/sys/netinet/tcp_timer.c soc2015/clord/head/sys/netinet/tcp_timer.h soc2015/clord/head/sys/netinet/tcp_timewait.c soc2015/clord/head/sys/netinet/tcp_usrreq.c soc2015/clord/head/sys/netinet/tcp_var.h soc2015/clord/head/sys/netinet/toecore.c soc2015/clord/head/sys/netinet/udp_usrreq.c soc2015/clord/head/sys/netinet6/icmp6.c soc2015/clord/head/sys/netinet6/in6.c soc2015/clord/head/sys/netinet6/in6_gif.c soc2015/clord/head/sys/netinet6/in6_ifattach.c soc2015/clord/head/sys/netinet6/in6_pcb.c soc2015/clord/head/sys/netinet6/in6_rmx.c soc2015/clord/head/sys/netinet6/in6_src.c soc2015/clord/head/sys/netinet6/in6_var.h soc2015/clord/head/sys/netinet6/ip6_input.c soc2015/clord/head/sys/netinet6/ip6_mroute.c soc2015/clord/head/sys/netinet6/ip6_output.c soc2015/clord/head/sys/netinet6/ip6_var.h soc2015/clord/head/sys/netinet6/nd6.c soc2015/clord/head/sys/netinet6/nd6.h soc2015/clord/head/sys/netinet6/nd6_nbr.c soc2015/clord/head/sys/netinet6/nd6_rtr.c soc2015/clord/head/sys/netinet6/sctp6_usrreq.c soc2015/clord/head/sys/netinet6/udp6_usrreq.c soc2015/clord/head/sys/netipsec/ipsec.c soc2015/clord/head/sys/netipsec/ipsec.h soc2015/clord/head/sys/netipsec/ipsec_input.c soc2015/clord/head/sys/netipsec/ipsec_output.c soc2015/clord/head/sys/netipsec/key.c soc2015/clord/head/sys/netipsec/key_debug.c soc2015/clord/head/sys/netipsec/keydb.h soc2015/clord/head/sys/netipsec/xform.h soc2015/clord/head/sys/netipsec/xform_ah.c soc2015/clord/head/sys/netipsec/xform_esp.c soc2015/clord/head/sys/netpfil/ipfw/dn_heap.c soc2015/clord/head/sys/netpfil/ipfw/dn_sched_qfq.c soc2015/clord/head/sys/netpfil/ipfw/ip_dn_io.c soc2015/clord/head/sys/netpfil/ipfw/ip_fw2.c soc2015/clord/head/sys/netpfil/ipfw/ip_fw_private.h soc2015/clord/head/sys/netpfil/ipfw/test/dn_test.h soc2015/clord/head/sys/netpfil/ipfw/test/main.c soc2015/clord/head/sys/netpfil/pf/pf.c soc2015/clord/head/sys/netpfil/pf/pf_altq.h soc2015/clord/head/sys/netpfil/pf/pf_ioctl.c soc2015/clord/head/sys/netpfil/pf/pf_mtag.h soc2015/clord/head/sys/netpfil/pf/pf_norm.c soc2015/clord/head/sys/ofed/drivers/infiniband/core/cma.c soc2015/clord/head/sys/ofed/drivers/infiniband/core/mad.c soc2015/clord/head/sys/ofed/drivers/net/mlx4/en_tx.c soc2015/clord/head/sys/ofed/include/linux/device.h soc2015/clord/head/sys/ofed/include/linux/in.h soc2015/clord/head/sys/ofed/include/linux/linux_compat.c soc2015/clord/head/sys/opencrypto/criov.c soc2015/clord/head/sys/opencrypto/cryptodev.h soc2015/clord/head/sys/opencrypto/cryptosoft.c soc2015/clord/head/sys/opencrypto/xform.c soc2015/clord/head/sys/pc98/conf/GENERIC soc2015/clord/head/sys/powerpc/aim/mmu_oea.c soc2015/clord/head/sys/powerpc/aim/mmu_oea64.c soc2015/clord/head/sys/powerpc/aim/trap_subr64.S soc2015/clord/head/sys/powerpc/booke/booke_machdep.c soc2015/clord/head/sys/powerpc/booke/locore.S soc2015/clord/head/sys/powerpc/booke/pmap.c soc2015/clord/head/sys/powerpc/booke/trap_subr.S soc2015/clord/head/sys/powerpc/conf/GENERIC soc2015/clord/head/sys/powerpc/conf/NOTES soc2015/clord/head/sys/powerpc/include/atomic.h soc2015/clord/head/sys/powerpc/include/cpu.h soc2015/clord/head/sys/powerpc/include/float.h soc2015/clord/head/sys/powerpc/include/in_cksum.h soc2015/clord/head/sys/powerpc/include/param.h soc2015/clord/head/sys/powerpc/include/pcpu.h soc2015/clord/head/sys/powerpc/include/pte.h soc2015/clord/head/sys/powerpc/include/spr.h soc2015/clord/head/sys/powerpc/mpc85xx/pci_mpc85xx.c soc2015/clord/head/sys/powerpc/mpc85xx/pci_mpc85xx_pcib.c soc2015/clord/head/sys/powerpc/powerpc/mmu_if.m soc2015/clord/head/sys/powerpc/powerpc/pmap_dispatch.c soc2015/clord/head/sys/powerpc/powerpc/trap.c soc2015/clord/head/sys/rpc/rpc_generic.c soc2015/clord/head/sys/rpc/svc_vc.c soc2015/clord/head/sys/security/audit/audit_bsm_klib.c soc2015/clord/head/sys/sparc64/conf/GENERIC soc2015/clord/head/sys/sparc64/include/atomic.h soc2015/clord/head/sys/sparc64/include/float.h soc2015/clord/head/sys/sparc64/include/in_cksum.h soc2015/clord/head/sys/sparc64/include/pcpu.h soc2015/clord/head/sys/sparc64/include/smp.h soc2015/clord/head/sys/sparc64/sparc64/exception.S soc2015/clord/head/sys/sparc64/sparc64/machdep.c soc2015/clord/head/sys/sparc64/sparc64/mp_machdep.c soc2015/clord/head/sys/sparc64/sparc64/pmap.c soc2015/clord/head/sys/sparc64/sparc64/stack_machdep.c soc2015/clord/head/sys/sparc64/sparc64/support.S soc2015/clord/head/sys/sparc64/sparc64/tick.c soc2015/clord/head/sys/sys/ata.h soc2015/clord/head/sys/sys/buf.h soc2015/clord/head/sys/sys/bus_dma.h soc2015/clord/head/sys/sys/capsicum.h soc2015/clord/head/sys/sys/cdefs.h soc2015/clord/head/sys/sys/conf.h soc2015/clord/head/sys/sys/cpuset.h soc2015/clord/head/sys/sys/dnv.h soc2015/clord/head/sys/sys/domain.h soc2015/clord/head/sys/sys/elf_common.h soc2015/clord/head/sys/sys/event.h soc2015/clord/head/sys/sys/filedesc.h soc2015/clord/head/sys/sys/imgact.h soc2015/clord/head/sys/sys/jail.h soc2015/clord/head/sys/sys/kernel.h soc2015/clord/head/sys/sys/kthread.h soc2015/clord/head/sys/sys/linker_set.h soc2015/clord/head/sys/sys/lockmgr.h soc2015/clord/head/sys/sys/lockstat.h soc2015/clord/head/sys/sys/mbuf.h soc2015/clord/head/sys/sys/mount.h soc2015/clord/head/sys/sys/msg.h soc2015/clord/head/sys/sys/mutex.h soc2015/clord/head/sys/sys/nv.h soc2015/clord/head/sys/sys/param.h soc2015/clord/head/sys/sys/proc.h soc2015/clord/head/sys/sys/queue.h soc2015/clord/head/sys/sys/random.h soc2015/clord/head/sys/sys/resourcevar.h soc2015/clord/head/sys/sys/rwlock.h soc2015/clord/head/sys/sys/sem.h soc2015/clord/head/sys/sys/seq.h soc2015/clord/head/sys/sys/shm.h soc2015/clord/head/sys/sys/socketvar.h soc2015/clord/head/sys/sys/sx.h soc2015/clord/head/sys/sys/syscall.h soc2015/clord/head/sys/sys/syscall.mk soc2015/clord/head/sys/sys/syscallsubr.h soc2015/clord/head/sys/sys/sysent.h soc2015/clord/head/sys/sys/sysproto.h soc2015/clord/head/sys/sys/timeet.h soc2015/clord/head/sys/sys/timetc.h soc2015/clord/head/sys/sys/ucred.h soc2015/clord/head/sys/sys/umtx.h soc2015/clord/head/sys/sys/unpcb.h soc2015/clord/head/sys/sys/vnode.h soc2015/clord/head/sys/sys/wait.h soc2015/clord/head/sys/teken/demo/teken_demo.c soc2015/clord/head/sys/teken/teken.c soc2015/clord/head/sys/teken/teken_subr.h soc2015/clord/head/sys/ufs/ffs/ffs_alloc.c soc2015/clord/head/sys/ufs/ffs/ffs_inode.c soc2015/clord/head/sys/ufs/ffs/ffs_rawread.c soc2015/clord/head/sys/ufs/ffs/ffs_subr.c soc2015/clord/head/sys/ufs/ffs/ffs_vfsops.c soc2015/clord/head/sys/ufs/ffs/ffs_vnops.c soc2015/clord/head/sys/vm/pmap.h soc2015/clord/head/sys/vm/swap_pager.c soc2015/clord/head/sys/vm/uma_core.c soc2015/clord/head/sys/vm/uma_dbg.c soc2015/clord/head/sys/vm/vm_fault.c soc2015/clord/head/sys/vm/vm_glue.c soc2015/clord/head/sys/vm/vm_map.c soc2015/clord/head/sys/vm/vm_map.h soc2015/clord/head/sys/vm/vm_mmap.c soc2015/clord/head/sys/vm/vm_object.c soc2015/clord/head/sys/vm/vm_object.h soc2015/clord/head/sys/vm/vm_page.c soc2015/clord/head/sys/vm/vm_page.h soc2015/clord/head/sys/vm/vm_pageout.c soc2015/clord/head/sys/vm/vm_pager.c soc2015/clord/head/sys/vm/vm_phys.c soc2015/clord/head/sys/vm/vm_phys.h soc2015/clord/head/sys/vm/vm_reserv.c soc2015/clord/head/sys/vm/vnode_pager.c soc2015/clord/head/sys/x86/acpica/madt.c soc2015/clord/head/sys/x86/include/_types.h soc2015/clord/head/sys/x86/include/bus.h soc2015/clord/head/sys/x86/include/float.h soc2015/clord/head/sys/x86/include/ptrace.h soc2015/clord/head/sys/x86/include/specialreg.h soc2015/clord/head/sys/x86/iommu/busdma_dmar.c soc2015/clord/head/sys/x86/iommu/intel_ctx.c soc2015/clord/head/sys/x86/iommu/intel_dmar.h soc2015/clord/head/sys/x86/iommu/intel_drv.c soc2015/clord/head/sys/x86/iommu/intel_gas.c soc2015/clord/head/sys/x86/iommu/intel_idpgtbl.c soc2015/clord/head/sys/x86/iommu/intel_qi.c soc2015/clord/head/sys/x86/iommu/intel_utils.c soc2015/clord/head/sys/x86/isa/atrtc.c soc2015/clord/head/sys/x86/x86/busdma_bounce.c soc2015/clord/head/sys/x86/x86/fdt_machdep.c soc2015/clord/head/sys/x86/x86/identcpu.c soc2015/clord/head/sys/x86/x86/local_apic.c soc2015/clord/head/sys/x86/x86/mp_x86.c soc2015/clord/head/sys/x86/x86/nexus.c soc2015/clord/head/sys/x86/xen/hvm.c soc2015/clord/head/sys/x86/xen/pv.c soc2015/clord/head/sys/x86/xen/xen_intr.c soc2015/clord/head/sys/xen/gnttab.h soc2015/clord/head/sys/xen/interface/io/blkif.h soc2015/clord/head/sys/xen/xen-os.h soc2015/clord/head/targets/ (props changed) soc2015/clord/head/targets/pseudo/toolchain/Makefile.depend soc2015/clord/head/targets/pseudo/userland/Makefile.depend soc2015/clord/head/tests/sys/fifo/fifo_misc.c soc2015/clord/head/tests/sys/file/flock_test.sh soc2015/clord/head/tests/sys/kern/ptrace_test.c soc2015/clord/head/tests/sys/kern/unix_seqpacket_test.c soc2015/clord/head/tests/sys/netinet/fibs_test.sh soc2015/clord/head/tests/sys/vm/Makefile soc2015/clord/head/tests/sys/vm/mmap_test.c soc2015/clord/head/tools/build/mk/OptionalObsoleteFiles.inc soc2015/clord/head/tools/build/options/WITHOUT_BINUTILS soc2015/clord/head/tools/build/options/makeman soc2015/clord/head/tools/bus_space/C/lang.c soc2015/clord/head/tools/bus_space/C/libbus.h soc2015/clord/head/tools/bus_space/Python/lang.c soc2015/clord/head/tools/bus_space/bus.c soc2015/clord/head/tools/bus_space/bus.h soc2015/clord/head/tools/bus_space/busdma.c soc2015/clord/head/tools/bus_space/busdma.h soc2015/clord/head/tools/regression/capsicum/libcapsicum/sysctl.c soc2015/clord/head/tools/regression/lib/libc/gen/test-wordexp.c soc2015/clord/head/tools/regression/lib/libc/nss/test-getaddr.c soc2015/clord/head/tools/tools/cxgbetool/cxgbetool.c soc2015/clord/head/tools/tools/nanobsd/gateworks/common soc2015/clord/head/tools/tools/sysbuild/sysbuild.sh soc2015/clord/head/usr.bin/Makefile soc2015/clord/head/usr.bin/ar/ar.1 soc2015/clord/head/usr.bin/ar/ar.c soc2015/clord/head/usr.bin/ar/write.c soc2015/clord/head/usr.bin/brandelf/brandelf.1 soc2015/clord/head/usr.bin/c99/c99.1 soc2015/clord/head/usr.bin/calendar/ (props changed) soc2015/clord/head/usr.bin/calendar/calendars/calendar.christian soc2015/clord/head/usr.bin/calendar/calendars/calendar.computer soc2015/clord/head/usr.bin/calendar/calendars/calendar.freebsd soc2015/clord/head/usr.bin/calendar/io.c soc2015/clord/head/usr.bin/clang/lldb/Makefile soc2015/clord/head/usr.bin/ctlstat/ctlstat.c soc2015/clord/head/usr.bin/elfcopy/Makefile soc2015/clord/head/usr.bin/elfdump/elfdump.c soc2015/clord/head/usr.bin/find/extern.h soc2015/clord/head/usr.bin/find/misc.c soc2015/clord/head/usr.bin/getopt/getopt.1 soc2015/clord/head/usr.bin/grep/Makefile soc2015/clord/head/usr.bin/ipcrm/ipcrm.c soc2015/clord/head/usr.bin/kdump/kdump.c soc2015/clord/head/usr.bin/last/last.c soc2015/clord/head/usr.bin/lorder/lorder.1 soc2015/clord/head/usr.bin/lorder/lorder.sh soc2015/clord/head/usr.bin/man/man.sh soc2015/clord/head/usr.bin/ministat/ministat.c soc2015/clord/head/usr.bin/mkesdb/Makefile soc2015/clord/head/usr.bin/mkimg/ (props changed) soc2015/clord/head/usr.bin/mkimg/gpt.c soc2015/clord/head/usr.bin/mkimg/image.c soc2015/clord/head/usr.bin/mkimg/image.h soc2015/clord/head/usr.bin/mkimg/mbr.c soc2015/clord/head/usr.bin/mkimg/mkimg.1 soc2015/clord/head/usr.bin/mkimg/scheme.c soc2015/clord/head/usr.bin/mkimg/scheme.h soc2015/clord/head/usr.bin/mkimg/tests/img-1x1-4096-apm.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-1x1-4096-bsd.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-1x1-4096-ebr.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-1x1-4096-gpt.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-1x1-4096-mbr.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-1x1-4096-pc98.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-1x1-4096-vtoc8.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-1x1-512-apm.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-1x1-512-bsd.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-1x1-512-ebr.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-1x1-512-gpt.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-1x1-512-mbr.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-1x1-512-pc98.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-1x1-512-vtoc8.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-63x255-4096-apm.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-63x255-4096-bsd.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-63x255-4096-ebr.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-63x255-4096-gpt.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-63x255-4096-mbr.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-63x255-4096-pc98.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-63x255-4096-vtoc8.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-63x255-512-apm.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-63x255-512-bsd.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-63x255-512-ebr.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-63x255-512-gpt.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-63x255-512-mbr.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-63x255-512-pc98.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/tests/img-63x255-512-vtoc8.vhd.gz.uu soc2015/clord/head/usr.bin/mkimg/vhd.c soc2015/clord/head/usr.bin/netstat/ipsec.c soc2015/clord/head/usr.bin/netstat/main.c soc2015/clord/head/usr.bin/netstat/pfkey.c soc2015/clord/head/usr.bin/patch/backupfile.c soc2015/clord/head/usr.bin/patch/common.h soc2015/clord/head/usr.bin/patch/inp.c soc2015/clord/head/usr.bin/patch/patch.1 soc2015/clord/head/usr.bin/patch/patch.c soc2015/clord/head/usr.bin/patch/pathnames.h soc2015/clord/head/usr.bin/patch/pch.c soc2015/clord/head/usr.bin/patch/util.c soc2015/clord/head/usr.bin/patch/util.h soc2015/clord/head/usr.bin/quota/quota.c soc2015/clord/head/usr.bin/rctl/rctl.8 soc2015/clord/head/usr.bin/sockstat/sockstat.1 soc2015/clord/head/usr.bin/sockstat/sockstat.c soc2015/clord/head/usr.bin/svn/lib/libapr/apr.h soc2015/clord/head/usr.bin/svn/lib/libapr/apr_private.h soc2015/clord/head/usr.bin/svn/lib/libapr_util/apu.h soc2015/clord/head/usr.bin/svn/lib/libapr_util/apu_config.h soc2015/clord/head/usr.bin/svn/svn_private_config.h soc2015/clord/head/usr.bin/svn/svnversion/Makefile soc2015/clord/head/usr.bin/truss/amd64-fbsd.c soc2015/clord/head/usr.bin/truss/amd64-fbsd32.c soc2015/clord/head/usr.bin/truss/amd64-linux32.c soc2015/clord/head/usr.bin/truss/arm-fbsd.c soc2015/clord/head/usr.bin/truss/i386-fbsd.c soc2015/clord/head/usr.bin/truss/i386-linux.c soc2015/clord/head/usr.bin/truss/main.c soc2015/clord/head/usr.bin/truss/mips-fbsd.c soc2015/clord/head/usr.bin/truss/powerpc-fbsd.c soc2015/clord/head/usr.bin/truss/powerpc64-fbsd.c soc2015/clord/head/usr.bin/truss/sparc64-fbsd.c soc2015/clord/head/usr.bin/truss/syscall.h soc2015/clord/head/usr.bin/truss/syscalls.c soc2015/clord/head/usr.bin/units/units.c soc2015/clord/head/usr.bin/w/w.c soc2015/clord/head/usr.bin/wall/ttymsg.c soc2015/clord/head/usr.bin/wc/wc.1 soc2015/clord/head/usr.bin/xargs/tests/Makefile soc2015/clord/head/usr.bin/xargs/tests/regress.sh soc2015/clord/head/usr.bin/xargs/xargs.1 soc2015/clord/head/usr.bin/xargs/xargs.c soc2015/clord/head/usr.bin/xinstall/xinstall.c soc2015/clord/head/usr.bin/xlint/lint1/decl.c soc2015/clord/head/usr.bin/xlint/lint1/func.c soc2015/clord/head/usr.bin/xlint/lint1/init.c soc2015/clord/head/usr.bin/xlint/lint1/lint.h soc2015/clord/head/usr.bin/xlint/lint1/lint1.h soc2015/clord/head/usr.bin/xlint/lint1/scan.l soc2015/clord/head/usr.bin/xlint/lint1/tree.c soc2015/clord/head/usr.bin/xlint/lint2/read.c soc2015/clord/head/usr.bin/ypcat/ypcat.c soc2015/clord/head/usr.bin/ypmatch/ypmatch.c soc2015/clord/head/usr.bin/ypwhich/ypwhich.c soc2015/clord/head/usr.sbin/acpi/acpidb/Makefile soc2015/clord/head/usr.sbin/acpi/iasl/Makefile soc2015/clord/head/usr.sbin/bhyve/ (props changed) soc2015/clord/head/usr.sbin/bhyve/bhyve.8 soc2015/clord/head/usr.sbin/bhyve/pci_ahci.c soc2015/clord/head/usr.sbin/bhyve/uart_emul.c soc2015/clord/head/usr.sbin/bhyvectl/ (props changed) soc2015/clord/head/usr.sbin/bhyvectl/bhyvectl.c soc2015/clord/head/usr.sbin/bhyveload/ (props changed) soc2015/clord/head/usr.sbin/bhyveload/bhyveload.8 soc2015/clord/head/usr.sbin/bsdinstall/partedit/gpart_ops.c soc2015/clord/head/usr.sbin/bsdinstall/partedit/part_wizard.c soc2015/clord/head/usr.sbin/bsdinstall/partedit/partedit.c soc2015/clord/head/usr.sbin/bsdinstall/partedit/partedit.h soc2015/clord/head/usr.sbin/bsdinstall/scripts/auto soc2015/clord/head/usr.sbin/bsdinstall/scripts/zfsboot soc2015/clord/head/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_printer_tbl.c soc2015/clord/head/usr.sbin/chkgrp/chkgrp.c soc2015/clord/head/usr.sbin/crunch/crunchgen/crunchgen.c soc2015/clord/head/usr.sbin/ctladm/ctladm.8 soc2015/clord/head/usr.sbin/ctladm/ctladm.c soc2015/clord/head/usr.sbin/ctld/Makefile soc2015/clord/head/usr.sbin/ctld/chap.c soc2015/clord/head/usr.sbin/ctld/ctl.conf.5 soc2015/clord/head/usr.sbin/ctld/ctld.h soc2015/clord/head/usr.sbin/ctld/kernel.c soc2015/clord/head/usr.sbin/ctld/login.c soc2015/clord/head/usr.sbin/dconschat/dconschat.c soc2015/clord/head/usr.sbin/devctl/devctl.8 soc2015/clord/head/usr.sbin/fstyp/Makefile soc2015/clord/head/usr.sbin/fstyp/fstyp.8 soc2015/clord/head/usr.sbin/fstyp/fstyp.c soc2015/clord/head/usr.sbin/fstyp/fstyp.h soc2015/clord/head/usr.sbin/fstyp/geli.c soc2015/clord/head/usr.sbin/fstyp/zfs.c soc2015/clord/head/usr.sbin/hyperv/Makefile.inc soc2015/clord/head/usr.sbin/iovctl/iovctl.8 soc2015/clord/head/usr.sbin/iovctl/iovctl.c soc2015/clord/head/usr.sbin/iovctl/iovctl.conf.5 soc2015/clord/head/usr.sbin/iovctl/parse.c soc2015/clord/head/usr.sbin/iovctl/validate.c soc2015/clord/head/usr.sbin/iscsid/Makefile soc2015/clord/head/usr.sbin/iscsid/chap.c soc2015/clord/head/usr.sbin/iscsid/iscsid.h soc2015/clord/head/usr.sbin/jail/ (props changed) soc2015/clord/head/usr.sbin/jail/config.c soc2015/clord/head/usr.sbin/jail/jail.8 soc2015/clord/head/usr.sbin/jail/jailp.h soc2015/clord/head/usr.sbin/jexec/jexec.8 soc2015/clord/head/usr.sbin/jexec/jexec.c soc2015/clord/head/usr.sbin/mfiutil/mfi_foreign.c soc2015/clord/head/usr.sbin/mountd/mountd.c soc2015/clord/head/usr.sbin/ntp/config.h soc2015/clord/head/usr.sbin/ntp/libntp/Makefile soc2015/clord/head/usr.sbin/ntp/ntpd/Makefile soc2015/clord/head/usr.sbin/ntp/scripts/mkver soc2015/clord/head/usr.sbin/pkg/pkg.c soc2015/clord/head/usr.sbin/pw/Makefile soc2015/clord/head/usr.sbin/pw/cpdir.c soc2015/clord/head/usr.sbin/pw/grupd.c soc2015/clord/head/usr.sbin/pw/psdate.c soc2015/clord/head/usr.sbin/pw/pw.8 soc2015/clord/head/usr.sbin/pw/pw.c soc2015/clord/head/usr.sbin/pw/pw.h soc2015/clord/head/usr.sbin/pw/pw_conf.c soc2015/clord/head/usr.sbin/pw/pw_group.c soc2015/clord/head/usr.sbin/pw/pw_log.c soc2015/clord/head/usr.sbin/pw/pw_nis.c soc2015/clord/head/usr.sbin/pw/pw_user.c soc2015/clord/head/usr.sbin/pw/pw_vpw.c soc2015/clord/head/usr.sbin/pw/pwupd.c soc2015/clord/head/usr.sbin/pw/pwupd.h soc2015/clord/head/usr.sbin/pw/rm_r.c soc2015/clord/head/usr.sbin/pw/tests/Makefile soc2015/clord/head/usr.sbin/pw/tests/helper_functions.shin soc2015/clord/head/usr.sbin/pw/tests/pw_groupdel.sh soc2015/clord/head/usr.sbin/pw/tests/pw_groupmod.sh soc2015/clord/head/usr.sbin/pw/tests/pw_useradd.sh soc2015/clord/head/usr.sbin/pw/tests/pw_userdel.sh soc2015/clord/head/usr.sbin/pw/tests/pw_usermod.sh soc2015/clord/head/usr.sbin/pwd_mkdb/pwd_mkdb.8 soc2015/clord/head/usr.sbin/pwd_mkdb/pwd_mkdb.c soc2015/clord/head/usr.sbin/rtsold/ (props changed) soc2015/clord/head/usr.sbin/rtsold/probe.c soc2015/clord/head/usr.sbin/sendmail/Makefile soc2015/clord/head/usr.sbin/syslogd/syslogd.c soc2015/clord/head/usr.sbin/sysrc/sysrc.8 soc2015/clord/head/usr.sbin/tcpdump/tcpdump/Makefile soc2015/clord/head/usr.sbin/tcpdump/tcpdump/config.h soc2015/clord/head/usr.sbin/tcpdump/tcpdump/tcpdump.1 soc2015/clord/head/usr.sbin/uefisign/uefisign.8 soc2015/clord/head/usr.sbin/wake/wake.8 soc2015/clord/head/usr.sbin/watchdogd/watchdogd.8 soc2015/clord/head/usr.sbin/watchdogd/watchdogd.c soc2015/clord/head/usr.sbin/wlandebug/wlandebug.8 soc2015/clord/head/usr.sbin/yp_mkdb/yp_mkdb.c soc2015/clord/head/usr.sbin/ypbind/ypbind.c soc2015/clord/head/usr.sbin/yppush/yppush_main.c soc2015/clord/head/usr.sbin/ypserv/Makefile.yp soc2015/clord/head/usr.sbin/ypserv/yp_access.c soc2015/clord/head/usr.sbin/ypserv/yp_dblookup.c soc2015/clord/head/usr.sbin/ypserv/yp_error.c soc2015/clord/head/usr.sbin/ypserv/yp_main.c soc2015/clord/head/usr.sbin/ypserv/ypinit.8 soc2015/clord/head/usr.sbin/ypserv/ypinit.sh soc2015/clord/head/usr.sbin/ypset/ypset.8 soc2015/clord/head/usr.sbin/ypset/ypset.c Modified: soc2015/clord/head/.arcconfig ============================================================================== --- soc2015/clord/head/.arcconfig Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/.arcconfig Fri Aug 21 18:19:35 2015 (r290044) @@ -1,5 +1,6 @@ { "project.name": "S", + "repository.callsign" : "S", "phabricator.uri" : "https://reviews.freebsd.org/", "history.immutable" : true } Modified: soc2015/clord/head/Makefile ============================================================================== --- soc2015/clord/head/Makefile Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/Makefile Fri Aug 21 18:19:35 2015 (r290044) @@ -102,7 +102,7 @@ # Note: we use this awkward construct to be compatible with FreeBSD's # old make used in 10.0 and 9.2 and earlier. -.if defined(MK_META_MODE) && ${MK_META_MODE} == "yes" +.if defined(MK_META_MODE) && ${MK_META_MODE} == "yes" && !make(showconfig) # targets/Makefile plays the role of top-level .include "targets/Makefile" .else @@ -408,7 +408,7 @@ .endif KERNSRCDIR?= ${.CURDIR}/sys -targets: +targets: .PHONY @echo "Supported TARGET/TARGET_ARCH pairs for world and kernel targets" .for target in ${TARGETS} .for target_arch in ${TARGET_ARCHES_${target}} @@ -538,7 +538,9 @@ MK_STAGING= no # tell meta.autodep.mk to not even think about updating anything. UPDATE_DEPENDFILE= NO +.if !make(showconfig) .export MK_META_MODE MK_STAGING UPDATE_DEPENDFILE +.endif .if make(universe) # we do not want a failure of one branch abort all. Modified: soc2015/clord/head/Makefile.inc1 ============================================================================== --- soc2015/clord/head/Makefile.inc1 Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/Makefile.inc1 Fri Aug 21 18:19:35 2015 (r290044) @@ -219,11 +219,16 @@ # 2. build-tools stage [TMAKE] # This stage is responsible for creating the object # tree and building any tools that are needed during -# the build process. +# the build process. Some programs are listed during +# this phase because they build binaries to generate +# files needed to build these programs. This stage also +# builds the 'build-tools' target rather than 'all'. # 3. cross-tools stage [XMAKE] # This stage is responsible for creating any tools that # are needed for building the system. A cross-compiler is one -# of them. +# of them. This differs from build tools in two ways: +# 1. the 'all' target is built rather than 'build-tools' +# 2. these tools are installed into TMPPATH for stage 4. # 4. world stage [WMAKE] # This stage actually builds the world. # 5. install stage (optional) [IMAKE] @@ -297,7 +302,6 @@ # world stage WMAKEENV= ${CROSSENV} \ - _SHLIBDIRPREFIX=${WORLDTMP} \ _LDSCRIPTROOT= \ VERSION="${VERSION}" \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ @@ -439,7 +443,6 @@ # Yes, the flags are redundant. LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${LIB32_OBJTREE} \ - _SHLIBDIRPREFIX=${LIB32TMP} \ _LDSCRIPTROOT=${LIB32TMP} \ VERSION="${VERSION}" \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ @@ -809,7 +812,7 @@ _zoneinfo= zic tzsetup .endif -ITOOLS= [ awk cap_mkdb cat chflags chmod chown \ +ITOOLS= [ awk cap_mkdb cat chflags chmod chown cmp cp \ date echo egrep find grep id install ${_install-info} \ ln lockf make mkdir mtree mv pwd_mkdb \ rm sed services_mkdb sh strip sysctl test true uname wc ${_zoneinfo} \ @@ -1227,16 +1230,23 @@ # # -# legacy: Build compatibility shims for the next three targets. This is a minimal -# set of tools and shims necessary to compensate for older systems which don't have -# the APIs that the targets built in bootstrap-tools, build-tools or cross-tools. +# legacy: Build compatibility shims for the next three targets. This is a +# minimal set of tools and shims necessary to compensate for older systems +# which don't have the APIs required by the targets built in bootstrap-tools, +# build-tools or cross-tools. # + +# ELF Tool Chain libraries are needed for ELF tools and dtrace tools. +.if ${BOOTSTRAPPING} < 1100006 +_elftoolchain_libs= lib/libelf lib/libdwarf +.endif + legacy: .if ${BOOTSTRAPPING} < 800107 && ${BOOTSTRAPPING} != 0 @echo "ERROR: Source upgrades from versions prior to 8.0 not supported."; \ false .endif -.for _tool in tools/build +.for _tool in tools/build ${_elftoolchain_libs} ${_+_}@${ECHODIR} "===> ${_tool} (obj,includes,depend,all,install)"; \ cd ${.CURDIR}/${_tool} && \ ${MAKE} DIRPRFX=${_tool}/ obj && \ @@ -1299,7 +1309,8 @@ # r277259 crunchide: Correct 64-bit section header offset # r281674 crunchide: always include both 32- and 64-bit ELF support -.if ${BOOTSTRAPPING} < 1100071 +# r285986 crunchen: use STRIPBIN rather than STRIP +.if ${BOOTSTRAPPING} < 1100078 _crunch= usr.sbin/crunch .endif @@ -1334,13 +1345,12 @@ # pre libdwarf .if ${BOOTSTRAPPING} < 1100006 || (${MACHINE} != ${TARGET} || \ ${MACHINE_ARCH} != ${TARGET_ARCH}) -_elftoolchain_libs= lib/libelf lib/libdwarf .if ${MK_CDDL} != "no" _dtrace_tools= cddl/usr.bin/sgsmsg cddl/lib/libctf cddl/usr.bin/ctfconvert \ cddl/usr.bin/ctfmerge -${_bt}-cddl/usr.bin/ctfconvert: ${_bt}-lib/libelf ${_bt}-lib/libdwarf ${_bt}-cddl/lib/libctf -${_bt}-cddl/usr.bin/ctfmerge: ${_bt}-lib/libelf ${_bt}-lib/libdwarf ${_bt}-cddl/lib/libctf +${_bt}-cddl/usr.bin/ctfconvert: ${_bt}-cddl/lib/libctf +${_bt}-cddl/usr.bin/ctfmerge: ${_bt}-cddl/lib/libctf .endif .endif @@ -1383,7 +1393,6 @@ .for _tool in \ ${_clang_tblgen} \ ${_kerberos5_bootstrap_tools} \ - ${_elftoolchain_libs} \ ${_dtrace_tools} \ ${_strfile} \ ${_gperf} \ @@ -1429,17 +1438,18 @@ .endif .if ${MK_RESCUE} != "no" -_rescue= rescue/rescue +# rescue includes programs that have build-tools targets +_rescue=rescue/rescue .endif build-tools: .MAKE .for _tool in \ bin/csh \ bin/sh \ - ${_rescue} \ ${LOCAL_TOOL_DIRS} \ lib/ncurses/ncurses \ lib/ncurses/ncursesw \ + ${_rescue} \ ${_share} \ usr.bin/awk \ lib/libmagic \ @@ -1484,7 +1494,7 @@ .if ${MK_BINUTILS_BOOTSTRAP} != "no" _binutils= gnu/usr.bin/binutils .endif -.if ${MK_ELFTOOLCHAIN_TOOLS} != "no" +.if ${MK_ELFTOOLCHAIN_BOOTSTRAP} != "no" _elftctools= lib/libelftc \ usr.bin/elfcopy \ usr.bin/nm \ @@ -1494,7 +1504,7 @@ # cross-build on a FreeBSD 10 host: _elftctools+= usr.bin/addr2line .endif -.elif ${TARGET_ARCH} != ${MACHINE_ARCH} && ${MK_ELFTOOLCHAIN_TOOLS} != "no" +.elif ${TARGET_ARCH} != ${MACHINE_ARCH} && ${MK_ELFTOOLCHAIN_BOOTSTRAP} != "no" # If cross-building with an external binutils we still need to build strip for # the target (for at least crunchide). _elftctools= lib/libelftc \ @@ -1768,9 +1778,9 @@ .endif # cddl/lib/libdtrace requires lib/libproc and lib/librtld_db; it's only built # on select architectures though (see cddl/lib/Makefile) -.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" || \ - ${MACHINE_CPUARCH} == "mips" || ${MACHINE_CPUARCH} == "powerpc" || \ - ${MACHINE_CPUARCH} == "arm" +.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_ARCH} == "amd64" || \ + ${MACHINE_CPUARCH} == "arm" || ${MACHINE_ARCH} == "i386" || \ + ${MACHINE_CPUARCH} == "mips" || ${MACHINE_CPUARCH} == "powerpc" _prebuild_libs+= lib/libproc lib/librtld_db .endif @@ -2123,7 +2133,6 @@ CDBENV=MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}/${XDDIR} \ INSTALL="sh ${.CURDIR}/tools/install.sh" CDENV= ${CDBENV} \ - _SHLIBDIRPREFIX=${XDDESTDIR} \ TOOLS_PREFIX=${XDTP} CD2CFLAGS=-isystem ${XDDESTDIR}/usr/include -L${XDDESTDIR}/usr/lib \ --sysroot=${XDDESTDIR}/ -B${XDDESTDIR}/usr/libexec \ Modified: soc2015/clord/head/ObsoleteFiles.inc ============================================================================== --- soc2015/clord/head/ObsoleteFiles.inc Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/ObsoleteFiles.inc Fri Aug 21 18:19:35 2015 (r290044) @@ -38,6 +38,89 @@ # xargs -n1 | sort | uniq -d; # done +# 20150818: *allocm() are gone in jemalloc 4.0.0 +OLD_FILES+=usr/share/man/man3/allocm.3.gz +OLD_FILES+=usr/share/man/man3/dallocm.3.gz +OLD_FILES+=usr/share/man/man3/nallocm.3.gz +OLD_FILES+=usr/share/man/man3/rallocm.3.gz +OLD_FILES+=usr/share/man/man3/sallocm.3.gz +# 20150802: Remove netbsd's test on pw(8) +OLD_FILES+=usr/tests/usr.sbin/pw/pw_test +# 20150719: Remove libarchive.pc +OLD_FILES+=usr/libdata/pkgconfig/libarchive.pc +# 20150705: Rename DTrace provider man pages. +OLD_FILES+=usr/share/man/man4/dtrace-io.4.gz +OLD_FILES+=usr/share/man/man4/dtrace-ip.4.gz +OLD_FILES+=usr/share/man/man4/dtrace-proc.4.gz +OLD_FILES+=usr/share/man/man4/dtrace-sched.4.gz +OLD_FILES+=usr/share/man/man4/dtrace-tcp.4.gz +OLD_FILES+=usr/share/man/man4/dtrace-udp.4.gz +# 20150604: Move nvlist man pages to section 9. +OLD_FILES+=usr/share/man/man3/libnv.3.gz +OLD_FILES+=usr/share/man/man3/nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_bool.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_null.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_number.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_stringf.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_add_stringv.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_clone.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_create.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_destroy.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_dump.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_empty.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_error.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_bool.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_null.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_number.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_exists_type.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_fdump.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_flags.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_bool.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_null.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_number.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_free_type.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_bool.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_number.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_parent.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_get_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_move_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_move_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_move_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_move_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_next.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_pack.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_recv.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_send.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_set_error.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_size.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_take_binary.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_take_bool.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_take_descriptor.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_take_number.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_take_nvlist.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_take_string.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_unpack.3.gz +OLD_FILES+=usr/share/man/man3/nvlist_xfer.3.gz +# 20150702: Remove duplicated nvlist includes. +OLD_FILES+=usr/include/dnv.h +OLD_FILES+=usr/include/nv.h # 20150528: PCI IOV device driver methods moved to a separate kobj interface. OLD_FILES+=usr/share/man/man9/PCI_ADD_VF.9.gz OLD_FILES+=usr/share/man/man9/PCI_INIT_IOV.9.gz @@ -1020,6 +1103,7 @@ OLD_FILES+=usr/include/lwres/netdb.h OLD_FILES+=usr/include/lwres/platform.h OLD_FILES+=usr/include/lwres/result.h +OLD_FILES+=usr/include/lwres/string.h OLD_FILES+=usr/include/lwres/version.h OLD_FILES+=usr/lib/liblwres.a OLD_FILES+=usr/lib/liblwres.so Modified: soc2015/clord/head/UPDATING ============================================================================== --- soc2015/clord/head/UPDATING Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/UPDATING Fri Aug 21 18:19:35 2015 (r290044) @@ -31,27 +31,123 @@ disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) -20150616: - /etc/make.conf now included earlier. - sys.mk now includes /etc/make.conf and {local,src}.sys.mk earlier - than previously. - This makes it simple to interpose external toolchains etc. - However it may cause problems for users who have things like:: - - INSTALL+= something - - in /etc/make.conf, since INSTALL is not yet defined. - A safe fix for that is to have:: +20150817: + Kernel-loadable modules for the random(4) device are back. To use + them, the kernel must have + + device random + options RANDOM_LOADABLE + + kldload(8) can then be used to load random_fortuna.ko + or random_yarrow.ko. Please note that due to the indirect + function calls that the loadable modules need to provide, + the build-in variants will be slightly more efficient. + + The random(4) kernel option RANDOM_DUMMY has been retired due to + unpopularity. It was not all that useful anyway. + +20150813: + The WITHOUT_ELFTOOLCHAIN_TOOLS src.conf(5) knob has been retired. + Control over building the ELF Tool Chain tools is now provided by + the WITHOUT_TOOLCHAIN knob. + +20150810: + The polarity of Pulse Per Second (PPS) capture events with the + uart(4) driver has been corrected. Prior to this change the PPS + "assert" event corresponded to the trailing edge of a positive PPS + pulse and the "clear" event was the leading edge of the next pulse. + + As the width of a PPS pulse in a typical GPS receiver is on the + order of 1 millisecond, most users will not notice any significant + difference with this change. + + Anyone who has compensated for the historical polarity reversal by + configuring a negative offset equal to the pulse width will need to + remove that workaround. + +20150809: + The default group assigned to /dev/dri entries has been changed + from 'wheel' to 'video' with the id of '44'. If you want to have + access to the dri devices please add yourself to the video group + with: + + # pw groupmod video -m $USER + +20150806: + The menu.rc and loader.rc files will now be replaced during + upgrades. Please migrate local changes to menu.rc.local and + loader.rc.local instead. + +20150805: + GNU Binutils versions of addr2line, c++filt, nm, readelf, size, + strings and strip have been removed. The src.conf(5) knob + WITHOUT_ELFTOOLCHAIN_TOOLS no longer provides the binutils tools. + +20150728: + As ZFS requires more kernel stack pages than is the default on some + architectures e.g. i386, it now warns if KSTACK_PAGES is less than + ZFS_MIN_KSTACK_PAGES (which is 4 at the time of writing). + + Please consider using 'options KSTACK_PAGES=X' where X is greater + than or equal to ZFS_MIN_KSTACK_PAGES i.e. 4 in such configurations. + +20150706: + sendmail has been updated to 8.15.2. Starting with FreeBSD 11.0 + and sendmail 8.15, sendmail uses uncompressed IPv6 addresses by + default, i.e., they will not contain "::". For example, instead + of ::1, it will be 0:0:0:0:0:0:0:1. This permits a zero subnet + to have a more specific match, such as different map entries for + IPv6:0:0 vs IPv6:0. This change requires that configuration + data (including maps, files, classes, custom ruleset, etc.) must + use the same format, so make certain such configuration data is + upgrading. As a very simple check search for patterns like + 'IPv6:[0-9a-fA-F:]*::' and 'IPv6::'. To return to the old + behavior, set the m4 option confUSE_COMPRESSED_IPV6_ADDRESSES or + the cf option UseCompressedIPv6Addresses. + +20150630: + The default kernel entropy-processing algorithm is now + Fortuna, replacing Yarrow. + + Assuming you have 'device random' in your kernel config + file, the configurations allow a kernel option to override + this default. You may choose *ONE* of: + + options RANDOM_YARROW # Legacy /dev/random algorithm. + options RANDOM_DUMMY # Blocking-only driver. + + If you have neither, you get Fortuna. For most people, + read no further, Fortuna will give a /dev/random that works + like it always used to, and the difference will be irrelevant. + + If you remove 'device random', you get *NO* kernel-processed + entopy at all. This may be acceptable to folks building + embedded systems, but has complications. Carry on reading, + and it is assumed you know what you need. + + *PLEASE* read random(4) and random(9) if you are in the + habit of tweeking kernel configs, and/or if you are a member + of the embedded community, wanting specific and not-usual + behaviour from your security subsystems. + + NOTE!! If you use RANDOM_DUMMY and/or have no 'device + random', you will NOT have a functioning /dev/random, and + many cryptographic features will not work, including SSH. + You may also find strange behaviour from the random(3) set + of library functions, in particular sranddev(3), srandomdev(3) + and arc4random(3). The reason for this is that the KERN_ARND + sysctl only returns entropy if it thinks it has some to + share, and with RANDOM_DUMMY or no 'device random' this + will never happen. + +20150623: + An additional fix for the issue described in the 20150614 sendmail + entry below has been been committed in revision 284717. - INSTALL?= install - INSTALL+= something - - which is equivalent to previous behavior. - 20150616: FreeBSD's old make (fmake) has been removed from the system. It is available as the devel/fmake port or via pkg install fmake. - + 20150615: The fix for the issue described in the 20150614 sendmail entry below has been been committed in revision 284436. The work @@ -74,7 +170,7 @@ this interoperability, sendmail can be configured to use a 2048 bit DH parameter by: - 1. Edit /etc/mail/`hostname`.mc + 1. Edit /etc/mail/`hostname`.mc 2. If a setting for confDH_PARAMETERS does not exist or exists and is set to a string beginning with '5', replace it with '2'. @@ -180,14 +276,14 @@ taken from the ELF Tool Chain project rather than GNU binutils. They should be drop-in replacements, with the addition of arm64 support. The WITHOUT_ELFTOOLCHAIN_TOOLS= knob may be used to obtain the - binutils tools, if necessary. + binutils tools, if necessary. See 20150805 for updated information. 20150105: The default Unbound configuration now enables remote control using a local socket. Users who have already enabled the local_unbound service should regenerate their configuration by running "service local_unbound setup" as root. - + 20150102: The GNU texinfo and GNU info pages have been removed. To be able to view GNU info pages please install texinfo from ports. @@ -534,6 +630,10 @@ # pkg install pkg; ldd /usr/local/sbin/pkg | grep bsdyml 20131010: + The stable/10 branch has been created in subversion from head + revision r256279. + +20131010: The rc.d/jail script has been updated to support jail(8) configuration file. The "jail__*" rc.conf(5) variables for per-jail configuration are automatically converted to @@ -578,7 +678,7 @@ The GNU Compiler Collection and C++ standard library (libstdc++) are no longer built by default on platforms where clang is the system compiler. You can enable them with the WITH_GCC and WITH_GNUCXX - options in src.conf. + options in src.conf. 20130905: The PROCDESC kernel option is now part of the GENERIC kernel @@ -932,7 +1032,7 @@ 20120727: The sparc64 ZFS loader has been changed to no longer try to auto- detect ZFS providers based on diskN aliases but now requires these - to be explicitly listed in the OFW boot-device environment variable. + to be explicitly listed in the OFW boot-device environment variable. 20120712: The OpenSSL has been upgraded to 1.0.1c. Any binaries requiring @@ -1076,6 +1176,13 @@ around can lead to problems if pam has changed too much from your starting point to allow continued authentication after the upgrade. + This file should be read as a log of events. When a later event changes + information of a prior event, the prior event should not be deleted. + Instead, a pointer to the entry with the new information should be + placed in the old entry. Readers of this file should also sanity check + older entries before relying on them blindly. Authors of new entries + should write them with this in mind. + ZFS notes --------- When upgrading the boot ZFS pool to a new version, always follow @@ -1246,7 +1353,7 @@ This file contains a list, in reverse chronological order, of major breakages in tracking -current. It is not guaranteed to be a complete -list of such breakages, and only contains entries since October 10, 2007. +list of such breakages, and only contains entries since September 23, 2011. If you need to see UPDATING entries from before that date, you will need to fetch an UPDATING file from an older FreeBSD release. Modified: soc2015/clord/head/bin/dd/dd.1 ============================================================================== --- soc2015/clord/head/bin/dd/dd.1 Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/bin/dd/dd.1 Fri Aug 21 18:19:35 2015 (r290044) @@ -416,6 +416,7 @@ .Sh SEE ALSO .Xr cp 1 , .Xr mt 1 , +.Xr recoverdisk 1 , .Xr tr 1 , .Xr geom 4 .Sh STANDARDS Modified: soc2015/clord/head/bin/ls/Makefile ============================================================================== --- soc2015/clord/head/bin/ls/Makefile Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/bin/ls/Makefile Fri Aug 21 18:19:35 2015 (r290044) @@ -5,12 +5,12 @@ PROG= ls SRCS= cmp.c ls.c print.c util.c -LIBADD= util +LIBADD= util xo .if !defined(RELEASE_CRUNCH) && \ ${MK_LS_COLORS} != no CFLAGS+= -DCOLORLS -LIBADD+= termcapw xo +LIBADD+= termcapw .endif .include Modified: soc2015/clord/head/bin/ls/ls.c ============================================================================== --- soc2015/clord/head/bin/ls/ls.c Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/bin/ls/ls.c Fri Aug 21 18:19:35 2015 (r290044) @@ -119,7 +119,7 @@ int f_nonprint; /* show unprintables as ? */ static int f_nosort; /* don't sort output */ int f_notabs; /* don't use tab-separated multi-col output */ -static int f_numericonly; /* don't convert uid/gid to name */ + int f_numericonly; /* don't convert uid/gid to name */ int f_octal; /* show unprintables as \xxx */ int f_octal_escape; /* like f_octal but use C escapes if possible */ static int f_recursive; /* ls subdirectories also */ @@ -158,6 +158,7 @@ struct winsize win; int ch, fts_options, notused; char *p; + const char *errstr = NULL; #ifdef COLORLS char termcapbuf[1024]; /* termcap definition buffer */ char tcapbuf[512]; /* capability buffer */ @@ -170,7 +171,7 @@ if (isatty(STDOUT_FILENO)) { termwidth = 80; if ((p = getenv("COLUMNS")) != NULL && *p != '\0') - termwidth = atoi(p); + termwidth = strtonum(p, 0, INT_MAX, &errstr); else if (ioctl(STDOUT_FILENO, TIOCGWINSZ, &win) != -1 && win.ws_col > 0) termwidth = win.ws_col; @@ -180,9 +181,12 @@ /* retrieve environment variable, in case of explicit -C */ p = getenv("COLUMNS"); if (p) - termwidth = atoi(p); + termwidth = strtonum(p, 0, INT_MAX, &errstr); } + if (errstr) + termwidth = 80; + fts_options = FTS_PHYSICAL; if (getenv("LS_SAMESORT")) f_samesort = 1; @@ -191,6 +195,7 @@ if (argc < 0) return (1); xo_set_flags(NULL, XOF_COLUMNS); + xo_set_version(LS_XO_VERSION); while ((ch = getopt(argc, argv, "1ABCD:FGHILPRSTUWXZabcdfghiklmnopqrstuwxy,")) != -1) { Modified: soc2015/clord/head/bin/ls/ls.h ============================================================================== --- soc2015/clord/head/bin/ls/ls.h Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/bin/ls/ls.h Fri Aug 21 18:19:35 2015 (r290044) @@ -37,6 +37,8 @@ #define HUMANVALSTR_LEN 5 +#define LS_XO_VERSION "1" + extern long blocksize; /* block size units */ extern int f_accesstime; /* use time of last access */ @@ -58,6 +60,7 @@ extern int f_thousands; /* show file sizes with thousands separators */ extern char *f_timeformat; /* user-specified time format */ extern int f_notabs; /* don't use tab-separated multi-col output */ +extern int f_numericonly; /* don't convert uid/gid to name */ extern int f_type; /* add type character for non-regular files */ #ifdef COLORLS extern int f_color; /* add type in color for non-regular files */ Modified: soc2015/clord/head/bin/ls/print.c ============================================================================== --- soc2015/clord/head/bin/ls/print.c Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/bin/ls/print.c Fri Aug 21 18:19:35 2015 (r290044) @@ -171,7 +171,7 @@ xo_open_list("entry"); for (p = dp->list; p; p = p->fts_link) { - char *name; + char *name, *type; if (IS_NOPRINT(p)) continue; xo_open_instance("entry"); @@ -180,22 +180,46 @@ if (name) xo_emit("{ke:name/%hs}", name); if (f_inode) - xo_emit("{:inode/%*ju} ", + xo_emit("{t:inode/%*ju} ", dp->s_inode, (uintmax_t)sp->st_ino); if (f_size) - xo_emit("{:blocks/%*jd} ", + xo_emit("{t:blocks/%*jd} ", dp->s_block, howmany(sp->st_blocks, blocksize)); strmode(sp->st_mode, buf); aclmode(buf, p); np = p->fts_pointer; xo_attr("value", "%03o", (int) sp->st_mode & ALLPERMS); - xo_emit("{t:mode/%s} {:links/%*u} {:user/%-*s} {:group/%-*s} ", - buf, dp->s_nlink, sp->st_nlink, - dp->s_user, np->user, dp->s_group, np->group); + if (f_numericonly) { + xo_emit("{t:mode/%s}{e:mode_octal/%03o} {t:links/%*u} {td:user/%-*s}{e:user/%ju} {td:group/%-*s}{e:group/%ju} ", + buf, (int) sp->st_mode & ALLPERMS, dp->s_nlink, sp->st_nlink, + dp->s_user, np->user, (uintmax_t)sp->st_uid, dp->s_group, np->group, (uintmax_t)sp->st_gid); + } else { + xo_emit("{t:mode/%s}{e:mode_octal/%03o} {t:links/%*u} {t:user/%-*s} {t:group/%-*s} ", + buf, (int) sp->st_mode & ALLPERMS, dp->s_nlink, sp->st_nlink, + dp->s_user, np->user, dp->s_group, np->group); + } + if (S_ISBLK(sp->st_mode)) + asprintf(&type, "block"); + if (S_ISCHR(sp->st_mode)) + asprintf(&type, "character"); + if (S_ISDIR(sp->st_mode)) + asprintf(&type, "directory"); + if (S_ISFIFO(sp->st_mode)) + asprintf(&type, "fifo"); + if (S_ISLNK(sp->st_mode)) + asprintf(&type, "symlink"); + if (S_ISREG(sp->st_mode)) + asprintf(&type, "regular"); + if (S_ISSOCK(sp->st_mode)) + asprintf(&type, "socket"); + if (S_ISWHT(sp->st_mode)) + asprintf(&type, "whiteout"); + xo_emit("{e:type/%s}", type); + free(type); if (f_flags) xo_emit("{:flags/%-*s} ", dp->s_flags, np->flags); if (f_label) - xo_emit("{:label/%-*s} ", dp->s_label, np->label); + xo_emit("{t:label/%-*s} ", dp->s_label, np->label); if (S_ISCHR(sp->st_mode) || S_ISBLK(sp->st_mode)) printdev(dp->s_size, sp->st_rdev); else @@ -238,6 +262,7 @@ FTSENT *p; int chcnt; + xo_open_list("entry"); for (p = dp->list, chcnt = 0; p; p = p->fts_link) { if (p->fts_number == NO_PRINT) continue; @@ -247,12 +272,15 @@ xo_emit("\n"); chcnt = 0; } + xo_open_instance("file"); chcnt += printaname(p, dp->s_inode, dp->s_block); + xo_close_instance("file"); if (p->fts_link) { xo_emit(", "); chcnt += 2; } } + xo_close_list("entry"); if (chcnt) xo_emit("\n"); } @@ -369,10 +397,10 @@ sp = p->fts_statp; chcnt = 0; if (f_inode) - chcnt += xo_emit("{:inode/%*ju} ", + chcnt += xo_emit("{t:inode/%*ju} ", (int)inodefield, (uintmax_t)sp->st_ino); if (f_size) - chcnt += xo_emit("{:size/%*jd} ", + chcnt += xo_emit("{t:size/%*jd} ", (int)sizefield, howmany(sp->st_blocks, blocksize)); #ifdef COLORLS if (f_color) @@ -425,9 +453,11 @@ format = d_first ? "%e %b %Y" : "%b %e %Y"; strftime(longstring, sizeof(longstring), format, localtime(&ftime)); - snprintf(fmt, sizeof(fmt), "{:%s/%%hs} ", field); + snprintf(fmt, sizeof(fmt), "{d:%s/%%hs} ", field); xo_attr("value", "%ld", (long) ftime); xo_emit(fmt, longstring); + snprintf(fmt, sizeof(fmt), "{en:%s/%%ld}", field); + xo_emit(fmt, (long) ftime); } static int @@ -456,7 +486,7 @@ xo_emit("{D:=}{e:type/socket}"); return (1); case S_IFWHT: - xo_emit("{D:%}{e:type/whiteout}"); + xo_emit("{D:%%}{e:type/whiteout}"); return (1); default: break; Modified: soc2015/clord/head/bin/mv/mv.c ============================================================================== --- soc2015/clord/head/bin/mv/mv.c Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/bin/mv/mv.c Fri Aug 21 18:19:35 2015 (r290044) @@ -122,7 +122,7 @@ */ if (stat(argv[argc - 1], &sb) || !S_ISDIR(sb.st_mode)) { if (argc > 2) - usage(); + errx(1, "%s is not a directory", argv[argc - 1]); exit(do_move(argv[0], argv[1])); } Modified: soc2015/clord/head/bin/ps/ps.1 ============================================================================== --- soc2015/clord/head/bin/ps/ps.1 Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/bin/ps/ps.1 Fri Aug 21 18:19:35 2015 (r290044) @@ -738,9 +738,9 @@ .Xr procstat 1 , .Xr w 1 , .Xr kvm 3 , -.Xr libxo 3 +.Xr libxo 3 , .Xr strftime 3 , -.Xr xo_parse_args 3 +.Xr xo_parse_args 3 , .Xr mac 4 , .Xr procfs 5 , .Xr pstat 8 , Modified: soc2015/clord/head/bin/sh/alias.c ============================================================================== --- soc2015/clord/head/bin/sh/alias.c Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/bin/sh/alias.c Fri Aug 21 18:19:35 2015 (r290044) @@ -248,7 +248,7 @@ { unsigned int hashval; - hashval = *p << 4; + hashval = (unsigned char)*p << 4; while (*p) hashval+= *p++; return &atab[hashval % ATABSIZE]; Modified: soc2015/clord/head/bin/sh/exec.c ============================================================================== --- soc2015/clord/head/bin/sh/exec.c Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/bin/sh/exec.c Fri Aug 21 18:19:35 2015 (r290044) @@ -522,17 +522,16 @@ static struct tblentry * cmdlookup(const char *name, int add) { - int hashval; + unsigned int hashval; const char *p; struct tblentry *cmdp; struct tblentry **pp; size_t len; p = name; - hashval = *p << 4; + hashval = (unsigned char)*p << 4; while (*p) hashval += *p++; - hashval &= 0x7FFF; pp = &cmdtable[hashval % CMDTABLESIZE]; for (cmdp = *pp ; cmdp ; cmdp = cmdp->next) { if (equal(cmdp->cmdname, name)) Modified: soc2015/clord/head/bin/sh/miscbltin.c ============================================================================== --- soc2015/clord/head/bin/sh/miscbltin.c Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/bin/sh/miscbltin.c Fri Aug 21 18:19:35 2015 (r290044) @@ -191,9 +191,10 @@ CHECKSTRSPACE(1, p); if (backslash) { backslash = 0; - startword = 0; - if (c != '\n') + if (c != '\n') { + startword = 0; USTPUTC(c, p); + } continue; } if (!rflag && c == '\\') { Modified: soc2015/clord/head/bin/sh/options.c ============================================================================== --- soc2015/clord/head/bin/sh/options.c Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/bin/sh/options.c Fri Aug 21 18:19:35 2015 (r290044) @@ -73,6 +73,7 @@ static void options(int); static void minus_o(char *, int); static void setoption(int, int); +static void setoptionbyindex(int, int); static int getopts(char *, char *, char **, char ***, char **); @@ -269,7 +270,7 @@ } else { for (i = 0; i < NOPTS; i++) if (equal(name, optlist[i].name)) { - setoption(optlist[i].letter, val); + setoptionbyindex(i, val); return; } error("Illegal option -o %s", name); @@ -278,26 +279,32 @@ static void -setoption(int flag, int val) +setoptionbyindex(int idx, int val) { - int i; - - if (flag == 'p' && !val && privileged) { + if (optlist[idx].letter == 'p' && !val && privileged) { if (setgid(getgid()) == -1) error("setgid"); if (setuid(getuid()) == -1) error("setuid"); } + optlist[idx].val = val; + if (val) { + /* #%$ hack for ksh semantics */ + if (optlist[idx].letter == 'V') + Eflag = 0; + else if (optlist[idx].letter == 'E') + Vflag = 0; + } +} + +static void +setoption(int flag, int val) +{ + int i; + for (i = 0; i < NOPTS; i++) if (optlist[i].letter == flag) { - optlist[i].val = val; - if (val) { - /* #%$ hack for ksh semantics */ - if (flag == 'V') - Eflag = 0; - else if (flag == 'E') - Vflag = 0; - } + setoptionbyindex(i, val); return; } error("Illegal option -%c", flag); Modified: soc2015/clord/head/bin/sh/parser.c ============================================================================== --- soc2015/clord/head/bin/sh/parser.c Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/bin/sh/parser.c Fri Aug 21 18:19:35 2015 (r290044) @@ -1195,7 +1195,8 @@ static char * readcstyleesc(char *out) { - int c, v, i, n; + int c, vc, i, n; + unsigned int v; c = pgetc(); switch (c) { @@ -1310,12 +1311,12 @@ default: synerror("Bad escape sequence"); } - v = (char)v; + vc = (char)v; /* * We can't handle NUL bytes. * POSIX says we should skip till the closing quote. */ - if (v == '\0') { + if (vc == '\0') { while ((c = pgetc()) != '\'') { if (c == '\\') c = pgetc(); @@ -1332,9 +1333,9 @@ pungetc(); return out; } - if (SQSYNTAX[v] == CCTL) + if (SQSYNTAX[vc] == CCTL) USTPUTC(CTLESC, out); - USTPUTC(v, out); + USTPUTC(vc, out); return out; } Modified: soc2015/clord/head/bin/sh/sh.1 ============================================================================== --- soc2015/clord/head/bin/sh/sh.1 Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/bin/sh/sh.1 Fri Aug 21 18:19:35 2015 (r290044) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd April 18, 2015 +.Dd July 11, 2015 .Dt SH 1 .Os .Sh NAME @@ -2846,6 +2846,4 @@ utility does not recognize multibyte characters other than UTF-8. Splitting using .Va IFS -and the line editing library -.Xr editline 3 -do not recognize multibyte characters. +does not recognize multibyte characters. Modified: soc2015/clord/head/bin/sh/tests/builtins/Makefile ============================================================================== --- soc2015/clord/head/bin/sh/tests/builtins/Makefile Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/bin/sh/tests/builtins/Makefile Fri Aug 21 18:19:35 2015 (r290044) @@ -121,6 +121,7 @@ FILES+= read5.0 FILES+= read6.0 FILES+= read7.0 +FILES+= read8.0 FILES+= return1.0 FILES+= return2.1 FILES+= return3.1 Copied: soc2015/clord/head/bin/sh/tests/builtins/read8.0 (from r290036, mirror/FreeBSD/head/bin/sh/tests/builtins/read8.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/clord/head/bin/sh/tests/builtins/read8.0 Fri Aug 21 18:19:35 2015 (r290044, copy of r290036, mirror/FreeBSD/head/bin/sh/tests/builtins/read8.0) @@ -0,0 +1,17 @@ +# $FreeBSD$ + +read a b c <<\EOF +\ +A\ + \ + \ + \ +B\ + \ + \ +C\ + \ + \ + \ +EOF +[ "$a.$b.$c" = "A.B.C" ] Modified: soc2015/clord/head/bin/sh/tests/parser/Makefile ============================================================================== --- soc2015/clord/head/bin/sh/tests/parser/Makefile Fri Aug 21 18:18:39 2015 (r290043) +++ soc2015/clord/head/bin/sh/tests/parser/Makefile Fri Aug 21 18:19:35 2015 (r290044) @@ -36,6 +36,8 @@ FILES+= dollar-quote9.0 FILES+= dollar-quote10.0 FILES+= dollar-quote11.0 +FILES+= dollar-quote12.0 +FILES+= dollar-quote13.0 FILES+= empty-braces1.0 FILES+= empty-cmd1.0 FILES+= for1.0 Copied: soc2015/clord/head/bin/sh/tests/parser/dollar-quote12.0 (from r290036, mirror/FreeBSD/head/bin/sh/tests/parser/dollar-quote12.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/clord/head/bin/sh/tests/parser/dollar-quote12.0 Fri Aug 21 18:19:35 2015 (r290044, copy of r290036, mirror/FreeBSD/head/bin/sh/tests/parser/dollar-quote12.0) @@ -0,0 +1,7 @@ +# $FreeBSD$ + +# \u without any digits at all remains invalid. +# Our choice is a parse error. + +v=$( (eval ": \$'\u'") 2>&1 >/dev/null) +[ $? -ne 0 ] && [ -n "$v" ] Copied: soc2015/clord/head/bin/sh/tests/parser/dollar-quote13.0 (from r290036, mirror/FreeBSD/head/bin/sh/tests/parser/dollar-quote13.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/clord/head/bin/sh/tests/parser/dollar-quote13.0 Fri Aug 21 18:19:35 2015 (r290044, copy of r290036, mirror/FreeBSD/head/bin/sh/tests/parser/dollar-quote13.0) @@ -0,0 +1,8 @@ +# $FreeBSD$ + +# This Unicode escape sequence that has never been in range should either +# fail to expand or expand to a fallback. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-soc-all@freebsd.org Fri Aug 21 18:31:38 2015 Return-Path: Delivered-To: svn-soc-all@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 7F0E79BF46D for ; Fri, 21 Aug 2015 18:31:38 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 6EE17213 for ; Fri, 21 Aug 2015 18:31:38 +0000 (UTC) (envelope-from iateaca@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LIVcgN031213 for ; Fri, 21 Aug 2015 18:31:38 GMT (envelope-from iateaca@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LIVboM030210 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 18:31:37 GMT (envelope-from iateaca@FreeBSD.org) Date: Fri, 21 Aug 2015 18:31:37 GMT Message-Id: <201508211831.t7LIVboM030210@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to iateaca@FreeBSD.org using -f From: iateaca@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290045 - soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 18:31:38 -0000 Author: iateaca Date: Fri Aug 21 18:31:36 2015 New Revision: 290045 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290045 Log: rename pci_ne2000.c in ne2000.c Added: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/ne2000.c - copied unchanged from r290042, soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Deleted: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/Makefile Modified: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/Makefile ============================================================================== --- soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/Makefile Fri Aug 21 18:19:35 2015 (r290044) +++ soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/Makefile Fri Aug 21 18:31:36 2015 (r290045) @@ -20,12 +20,12 @@ mem.c \ mevent.c \ mptbl.c \ + ne2000.c \ pci_ahci.c \ pci_emul.c \ pci_hostbridge.c \ pci_irq.c \ pci_lpc.c \ - pci_ne2000.c \ pci_passthru.c \ pci_virtio_block.c \ pci_virtio_net.c \ Copied: soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/ne2000.c (from r290042, soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/ne2000.c Fri Aug 21 18:31:36 2015 (r290045, copy of r290042, soc2015/iateaca/bhyve-ne2000-head/usr.sbin/bhyve/pci_ne2000.c) @@ -0,0 +1,1342 @@ + + +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "pci_emul.h" +#include "inout.h" +#include "mevent.h" +#include "if_edreg.h" + +/* + * NE2000 Debug Log + */ +#define DEBUG_NE2000 1 +#if DEBUG_NE2000 == 1 +static FILE *dbg; +#define DPRINTF(fmt, arg...) \ +do {fprintf(dbg, "%s-%d: " fmt "\n", __func__, __LINE__, ##arg); \ +fflush(dbg); } while (0) +#else +#define DPRINTF(fmt, arg...) +#endif + +/* + * NE2000 defines + */ +#define NE2000_P0 0 +#define NE2000_P1 1 +#define NE2000_P2 2 +#define NE2000_P3 3 +#define NE2000_P0_RO 4 + +#define NE2000_MEM_SIZE 32768 +#define NE2000_PAGE_SIZE 0x10 +#define NE2000_PAGE_COUNT 5 + +#define NE2000_BAR_NIC 0 +#define NE2000_BAR_ASIC 1 + +#define LPC_NE2000_NUM 2 + +#define ED_RTL80X9_CONFIG2 0x05 +#define ED_RTL80X9_CF2_10_T 0x40 +#define ED_RTL80X9_CONFIG3 0x06 +#define ED_RTL80X9_CF3_FUDUP 0x40 +#define ED_RTL80X9_80X9ID0 0x0a +#define ED_RTL80X9_ID0 0x50 +#define ED_RTL80X9_80X9ID1 0x0b +#define ED_RTL8029_ID1 0x43 + +#define MAX_INPUT_LEN 32 + +#define ETHER_MAX_FRAME_LEN (ETHER_MAX_LEN - ETHER_CRC_LEN) +#define ETHER_MIN_FRAME_LEN (ETHER_MIN_LEN - ETHER_CRC_LEN) + +typedef void (*ne2000_intr_func_t)(void *arg); + +/* + * NE2000 data structures + */ +struct ne2000_softc { + /* NIC registers */ + uint8_t nic_regs[NE2000_PAGE_COUNT][NE2000_PAGE_SIZE]; + + /* ASIC registers */ + uint8_t reset; + + /* State Variables */ + int tapfd; + uint8_t lintr; + uint8_t page; + uint8_t remote_read; + uint8_t remote_write; + + /* NIC memory is 32k */ + uint8_t ram[NE2000_MEM_SIZE]; + uint8_t rcv_buf[ETHER_MAX_FRAME_LEN]; + + /* + * one single mutex used to lock the reception flow with + * the read and write register flows + */ + pthread_mutex_t mtx; + + /* Interrupts callbacks (PCI or LPC) */ + ne2000_intr_func_t intr_assert; + ne2000_intr_func_t intr_deassert; + + /* The argument used by the interrupts callbacks */ + void *intr_arg; +}; + +/* + * NE2000 module function declarations + */ +static void +ne2000_set_reg_by_offset(struct ne2000_softc *sc, uint8_t page, + uint8_t offset, uint8_t value); +static uint8_t +ne2000_get_reg_by_offset(struct ne2000_softc *sc, uint8_t page, + uint8_t offset); +static void +ne2000_set_field_by_offset(struct ne2000_softc *sc, uint8_t page, + uint8_t offset, uint8_t mask, uint8_t value); + +static struct ne2000_softc * +ne2000_init(ne2000_intr_func_t intr_assert, ne2000_intr_func_t intr_deassert, + void *intr_arg, const char *opts); + +static void +ne2000_update_intr(struct ne2000_softc *sc); + +static uint16_t +ne2000_read(struct ne2000_softc *sc, uint8_t offset, int size); +static int +ne2000_write(struct ne2000_softc *sc, uint8_t offset, uint16_t value, int size); + +static uint8_t +ne2000_read_nic_locked(struct ne2000_softc *sc, uint8_t offset); +static uint16_t +ne2000_read_asic_locked(struct ne2000_softc *sc, uint8_t offset); + +static int +ne2000_write_nic_locked(struct ne2000_softc *sc, uint8_t offset, uint8_t value); +static int +ne2000_write_asic_locked(struct ne2000_softc *sc, uint8_t offset, uint16_t value); + +static int +ne2000_emul_reg_cr(struct ne2000_softc *sc, uint8_t value); +static int +ne2000_emul_reg_page0(struct ne2000_softc *sc, uint8_t offset, + uint8_t value); +static int +ne2000_emul_reg_page1(struct ne2000_softc *sc, uint8_t offset, + uint8_t value); + +static int ne2000_reset_board(void); +static int ne2000_software_reset(struct ne2000_softc *sc); + +static int +ne2000_tap_init(struct ne2000_softc *sc, char *tap_name); +static int +ne2000_tap_tx(struct ne2000_softc *sc, uint8_t tpsr, uint16_t tbcr); +static int +ne2000_tap_rx(struct ne2000_softc *sc); +static void +ne2000_tap_callback(int fd, enum ev_type type, void *param); + +static int +ne2000_receive_ring_is_valid(struct ne2000_softc *sc); +static int +ne2000_receive_ring_is_full(struct ne2000_softc *sc); + +static int +ne2000_ether_frame_is_valid(struct ne2000_softc *sc); + +static uint32_t +ne2000_ether_crc32_be(const uint8_t *buf, size_t len); + +static int +ne2000_parse_input(const char *opts, char *tap_name, uint8_t *mac); + +/* + * PCI NE2000 function declarations + */ +static int +pci_ne2000_init(struct vmctx *ctx, struct pci_devinst *pi, char *opts); +static void +pci_ne2000_write(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, + int baridx, uint64_t offset, int size, uint64_t value); +static uint64_t +pci_ne2000_read(struct vmctx *ctx, int vcpu, struct pci_devinst *pi, + int baridx, uint64_t offset, int size); + +static void +pci_ne2000_intr_assert(void *arg); +static void +pci_ne2000_intr_deassert(void *arg); + +/* + * LPC NE2000 function declarations + */ +int +lpc_ne2000_init(struct vmctx *lpc_ctx, uint8_t unit, const char *opts); +static int +lpc_ne2000_io_handler(struct vmctx *ctx, int vcpu, int in, int port, int bytes, + uint32_t *eax, void *arg); + +static void +lpc_ne2000_intr_assert(void *arg); +static void +lpc_ne2000_intr_deassert(void *arg); + +/* + * NE2000 global data + */ +static struct lpc_ne2000_softc { + struct ne2000_softc *ne2000_sc; + struct vmctx *lpc_ctx; + int base_addr; + int irq; + const char *name; +} lpc_ne2000_sc[LPC_NE2000_NUM] = { + {NULL, NULL, 0x310, 10, "ne2k0"}, + {NULL, NULL, 0x330, 11, "ne2k1"} +}; + +struct pci_devemu pci_de_ne2000_net = { + .pe_emu = "ne2k", + .pe_init = pci_ne2000_init, + .pe_barwrite = pci_ne2000_write, + .pe_barread = pci_ne2000_read +}; +PCI_EMUL_SET(pci_de_ne2000_net); + +/* + * NE2000 module function definitions + */ +static void +ne2000_set_reg_by_offset(struct ne2000_softc *sc, uint8_t page, + uint8_t offset, uint8_t value) +{ + assert(page < NE2000_PAGE_COUNT); + assert(offset < NE2000_PAGE_SIZE); + + sc->nic_regs[page][offset] = value; +} + +static uint8_t +ne2000_get_reg_by_offset(struct ne2000_softc *sc, uint8_t page, + uint8_t offset) +{ + assert(page < NE2000_PAGE_COUNT); + assert(offset < NE2000_PAGE_SIZE); + + return sc->nic_regs[page][offset]; +} + +static void +ne2000_set_field_by_offset(struct ne2000_softc *sc, uint8_t page, + uint8_t offset, uint8_t mask, uint8_t value) +{ + uint8_t reg_value = 0; + + reg_value = ne2000_get_reg_by_offset(sc, page, offset); + + reg_value &= ~mask; + reg_value |= value; + + ne2000_set_reg_by_offset(sc, page, offset, reg_value); +} + +static int +ne2000_tap_init(struct ne2000_softc *sc, char *tap_name) +{ + int err; + int opt = 1; + struct mevent *evf_read = NULL; + + assert(tap_name != NULL); + + sc->tapfd = open(tap_name, O_RDWR); + assert(sc->tapfd != -1); + + err = ioctl(sc->tapfd, FIONBIO, &opt); + assert(err >= 0); + + evf_read = mevent_add(sc->tapfd, EVF_READ, ne2000_tap_callback, sc); + assert(evf_read != NULL); + + DPRINTF("Tap interface: fd: %d, opt: %d", sc->tapfd, opt); + + return 0; +} + +static int +ne2000_tap_tx(struct ne2000_softc *sc, uint8_t tpsr, uint16_t tbcr) +{ + ssize_t write_len; + + write_len = write(sc->tapfd, sc->ram + tpsr * ED_PAGE_SIZE, tbcr); + assert(write_len > 0 && write_len == tbcr); + + DPRINTF("Transmit Packet: from %d address of %d bytes", + tpsr * ED_PAGE_SIZE, tbcr); + + ne2000_set_field_by_offset(sc, NE2000_P0, ED_P0_ISR, + ED_ISR_PTX, ED_ISR_PTX); + ne2000_update_intr(sc); + + return 0; +} + +static int +ne2000_tap_rx(struct ne2000_softc *sc) +{ + uint8_t pstart = 0; + uint8_t pstop = 0; + uint8_t curr = 0; + uint8_t next_curr = 0; + uint8_t psize = 0; + + uint32_t size = 0; + uint32_t tmp_size = 0; + uint32_t index = 0; + uint32_t start = 0; + uint32_t stop = 0; + + ssize_t read_len = 0; + + struct ed_ring *ed_hdr = NULL; + + memset(sc->rcv_buf, 0, ETHER_MAX_FRAME_LEN); + read_len = read(sc->tapfd, sc->rcv_buf, ETHER_MAX_FRAME_LEN); + assert(read_len > 0); + + DPRINTF("Receive Packet: from tap interface of %zd bytes", read_len); + + /* clear the Receiver Status Register */ + ne2000_set_reg_by_offset(sc, NE2000_P0_RO, ED_P0_RSR, 0x00); + + if (!ne2000_receive_ring_is_valid(sc)) { + DPRINTF("Drop the packet: the ring is not valid"); + return 0; + } + + if (!ne2000_ether_frame_is_valid(sc)) { + DPRINTF("Drop the packet: the ether frame did not match"); + return 0; + } + + if (ne2000_receive_ring_is_full(sc)) { + DPRINTF("Drop the packet: the ring is full"); + return 0; + } + + ne2000_set_field_by_offset(sc, NE2000_P0_RO, ED_P0_RSR, + ED_RSR_PRX, ED_RSR_PRX); + + size = read_len < ETHER_MIN_FRAME_LEN ? ETHER_MIN_FRAME_LEN : read_len; + + /* psize is the number of pages used by the frame and ne2000 header */ + psize = (size + sizeof(struct ed_ring) + (ED_PAGE_SIZE - 1)) / + ED_PAGE_SIZE; + assert(psize <= 6); + + pstart = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_PSTART); + pstop = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_PSTOP); + curr = ne2000_get_reg_by_offset(sc, NE2000_P1, ED_P1_CURR); + + start = pstart * ED_PAGE_SIZE; + stop = pstop * ED_PAGE_SIZE; + index = curr * ED_PAGE_SIZE; + + next_curr = curr + psize; + if (next_curr >= pstop) + next_curr -= (pstop - pstart); + + DPRINTF("Receive Packet: size: %d psize: %d next_curr: %d index: %d", + size, psize, next_curr, index); + + ed_hdr = (struct ed_ring *)(sc->ram + index); + ed_hdr->rsr = ne2000_get_reg_by_offset(sc, NE2000_P0_RO, ED_P0_RSR); + ed_hdr->next_packet = next_curr; + ed_hdr->count = size + sizeof(struct ed_ring); + + index += sizeof(struct ed_ring); + + if (index + size >= stop) { + tmp_size = stop - index; + memcpy(sc->ram + index, sc->rcv_buf, tmp_size); + index = start; + size -= tmp_size; + } + memcpy(sc->ram + index, sc->rcv_buf + tmp_size, size); + + ne2000_set_reg_by_offset(sc, NE2000_P1, ED_P1_CURR, next_curr); + ne2000_set_field_by_offset(sc, NE2000_P0, ED_P0_ISR, + ED_ISR_PRX, ED_ISR_PRX); + + ne2000_update_intr(sc); + + return 0; +} + +static void +ne2000_tap_callback(int fd, enum ev_type type, void *param) +{ + int err; + struct ne2000_softc *sc = (struct ne2000_softc *)param; + assert(sc != NULL); + + err = pthread_mutex_lock(&sc->mtx); + assert(err == 0); + + err = ne2000_tap_rx(sc); + assert(err == 0); + + err = pthread_mutex_unlock(&sc->mtx); + assert(err == 0); + + return; +} + +static int +ne2000_receive_ring_is_valid(struct ne2000_softc *sc) +{ + uint8_t cr = 0; + + uint8_t pstart = 0; + uint8_t pstop = 0; + + uint8_t curr = 0; + uint8_t bnry = 0; + + cr = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_CR); + if (cr & ED_CR_STP) { + DPRINTF("Ring is not valid: the NIC is Stopped"); + return 0; + } + + pstart = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_PSTART); + pstop = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_PSTOP); + + curr = ne2000_get_reg_by_offset(sc, NE2000_P1, ED_P1_CURR); + bnry = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_BNRY); + + if (pstart == 0 || pstop == 0) + return 0; + if (curr < pstart || curr >= pstop) + return 0; + if (bnry < pstart || bnry >= pstop) + return 0; + + return 1; +} + +static int +ne2000_receive_ring_is_full(struct ne2000_softc *sc) +{ + uint32_t avail = 0; + uint32_t start = 0; + uint32_t stop = 0; + uint32_t index = 0; + uint32_t boundary = 0; + + uint8_t pstart = 0; + uint8_t pstop = 0; + uint8_t curr = 0; + uint8_t bnry = 0; + + assert(ne2000_receive_ring_is_valid(sc)); + + pstart = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_PSTART); + pstop = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_PSTOP); + curr = ne2000_get_reg_by_offset(sc, NE2000_P1, ED_P1_CURR); + bnry = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_BNRY); + + index = curr * ED_PAGE_SIZE; + boundary = bnry * ED_PAGE_SIZE; + start = pstart * ED_PAGE_SIZE; + stop = pstop * ED_PAGE_SIZE; + + if (index < boundary) + avail = boundary - index; + else + avail = (stop - start) - (index - boundary); + + if (avail < (ETHER_MAX_FRAME_LEN + sizeof(struct ed_ring))) + return 1; + + return 0; +} + +static int +ne2000_ether_frame_is_valid(struct ne2000_softc *sc) +{ + uint8_t key = 0; + uint8_t mar_offset = 0; + uint8_t mar_reg = 0; + uint8_t rcr = 0; + uint8_t broadcast_addr[] = {[0 ... (ETHER_ADDR_LEN - 1)] = 0xff}; + + rcr = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_RCR); + + if (rcr & ED_RCR_MON) { + DPRINTF("The NIC card is in Monitor Mode"); + return 0; + } + + /* is valid if the destination MAC matches the NIC's address */ + if (sc->rcv_buf[0] == sc->ram[0] && + sc->rcv_buf[1] == sc->ram[2] && + sc->rcv_buf[2] == sc->ram[4] && + sc->rcv_buf[3] == sc->ram[6] && + sc->rcv_buf[4] == sc->ram[8] && + sc->rcv_buf[5] == sc->ram[10]) + return 1; + + /* is valid if the destination MAC is the broadcast address */ + if (rcr & ED_RCR_AB) { + if (memcmp(sc->rcv_buf, broadcast_addr, ETHER_ADDR_LEN) == 0) { + ne2000_set_field_by_offset(sc, NE2000_P0_RO, ED_P0_RSR, + ED_RSR_PHY, ED_RSR_PHY); + return 1; + } + } + + /* is valid if the destination MAC represents a multicast address group */ + if ((rcr & ED_RCR_AM) && (sc->rcv_buf[0] & 0x01)) { + key = ne2000_ether_crc32_be(sc->rcv_buf, ETHER_ADDR_LEN) >> 26; + + mar_offset = ED_P1_MAR0 + (key >> 3); + mar_reg = ne2000_get_reg_by_offset(sc, NE2000_P1, mar_offset); + + if (mar_reg & (1 << (key & 7))) { + ne2000_set_field_by_offset(sc, NE2000_P0_RO, ED_P0_RSR, + ED_RSR_PHY, ED_RSR_PHY); + return 1; + } + } + + /* + * if the physical destination address does not match the station's + * address, accept the frame only in the Promiscuous Physical mode + */ + if (rcr & ED_RCR_PRO) + return 1; + + return 0; +} + +/* + * This function is a copy of the ether_crc32_be function from the net kernel + * module in the FreeBSD tree sources + */ +static uint32_t +ne2000_ether_crc32_be(const uint8_t *buf, size_t len) +{ + size_t i; + uint32_t crc, carry; + int bit; + uint8_t data; + + crc = 0xffffffff; /* initial value */ + + for (i = 0; i < len; i++) { + for (data = *buf++, bit = 0; bit < 8; bit++, data >>= 1) { + carry = ((crc & 0x80000000) ? 1 : 0) ^ (data & 0x01); + crc <<= 1; + if (carry) + crc = (crc ^ ETHER_CRC_POLY_BE) | carry; + } + } + + return (crc); +} + +static int +ne2000_parse_input(const char *opts, char *tap_name, uint8_t *mac) +{ + uint8_t len = 0; + char cp_opts[MAX_INPUT_LEN]; + char *delim = NULL; + char *p_mac = NULL; + struct ether_addr *addr = NULL; + + if (opts == NULL) + return 1; + + len = strlen(opts); + if (len >= MAX_INPUT_LEN) { + DPRINTF("The input len should be less than %d", MAX_INPUT_LEN); + return 1; + } + + strncpy(cp_opts, opts, MAX_INPUT_LEN); + + /* search for mac address in the input string */ + delim = strchr(cp_opts, ','); + + if (delim != NULL) { + /* mark the end of the tap name */ + *delim = 0; + + /* point to the start of the mac address */ + p_mac = delim + 1; + + /* parse the mac addres */ + addr = ether_aton(p_mac); + + /* if the mac address is valid overwrite the default one */ + if (addr != NULL) + memcpy(mac, addr, ETHER_ADDR_LEN); + else + DPRINTF("Invalid mac"); + } + + /* copy the tap name */ + strcpy(tap_name, cp_opts); + + return 0; +} + +static int +ne2000_write_nic_locked(struct ne2000_softc *sc, uint8_t offset, uint8_t value) +{ + int err; + + /* the CR register is located always at offset = 0 */ + if (offset == ED_P0_CR || offset == ED_P1_CR || offset == ED_P2_CR) + return ne2000_emul_reg_cr(sc, value); + + if (!(sc->page == NE2000_P0 && offset == ED_P0_ISR)) + ne2000_set_reg_by_offset(sc, sc->page, offset, value); + + if (sc->page == NE2000_P0) { + err = ne2000_emul_reg_page0(sc, offset, value); + assert(err == 0); + } else if (sc->page == NE2000_P1) { + err = ne2000_emul_reg_page1(sc, offset, value); + assert(err == 0); + } else if (sc->page == NE2000_P3) + DPRINTF("The ED driver wrote a register from PAGE3"); + else + assert(0); + + return 0; +} + +static int +ne2000_write_asic_locked(struct ne2000_softc *sc, uint8_t offset, uint16_t value) +{ + uint8_t dcr = 0; + uint8_t rbcr0 = 0; + uint8_t rbcr1 = 0; + uint8_t rsar0 = 0; + uint8_t rsar1 = 0; + + uint16_t rbcr = 0; + uint16_t rsar = 0; + + uint8_t pstart = 0; + uint8_t pstop = 0; + + switch (offset) { + case ED_NOVELL_RESET: + sc->reset = value; + break; + case ED_NOVELL_DATA: + /* Write the value word into the NIC's RAM using the Remote DMA + * protocol + */ + dcr = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_DCR); + if ((dcr & ED_DCR_WTS) != ED_DCR_WTS) { + DPRINTF("The NE2000 card is working only in Word mode"); + sc->remote_write = 0; + break; + } + + assert(sc->remote_write); + + rbcr0 = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_RBCR0); + rbcr1 = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_RBCR1); + rbcr = rbcr0 | (rbcr1 << 8); + + rsar0 = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_RSAR0); + rsar1 = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_RSAR1); + rsar = rsar0 | (rsar1 << 8); + + assert(rsar < NE2000_MEM_SIZE); + + if (ne2000_receive_ring_is_valid(sc)) { + pstart = ne2000_get_reg_by_offset(sc, NE2000_P0, + ED_P0_PSTART); + pstop = ne2000_get_reg_by_offset(sc, NE2000_P0, + ED_P0_PSTOP); + assert(rsar + 1 < pstart * ED_PAGE_SIZE || + rsar >= pstop * ED_PAGE_SIZE); + } + + /* copy the value in LOW - HIGH order */ + sc->ram[rsar] = value; + sc->ram[rsar + 1] = value >> 8; + + rsar += 2; + rbcr -= 2; + + if (rbcr == 0) { + sc->remote_write = 0; + ne2000_set_field_by_offset(sc, NE2000_P0, ED_P0_ISR, + ED_ISR_RDC, ED_ISR_RDC); + } + + ne2000_set_reg_by_offset(sc, NE2000_P0, ED_P0_RSAR0, rsar); + ne2000_set_reg_by_offset(sc, NE2000_P0, ED_P0_RSAR1, rsar >> 8); + + ne2000_set_reg_by_offset(sc, NE2000_P0, ED_P0_RBCR0, rbcr); + ne2000_set_reg_by_offset(sc, NE2000_P0, ED_P0_RBCR1, rbcr >> 8); + + break; + default: + assert(0); + } + + return 0; +} + +static int +ne2000_emul_reg_cr(struct ne2000_softc *sc, uint8_t value) +{ + int err; + uint8_t rbcr0 = 0; + uint8_t rbcr1 = 0; + uint8_t rsar0 = 0; + uint8_t rsar1 = 0; + + uint16_t rbcr = 0; + uint16_t rsar = 0; + + uint8_t tbcr0 = 0; + uint8_t tbcr1 = 0; + + uint16_t tbcr = 0; + uint8_t tpsr = 0; + + uint8_t old_cr = 0; + + /* check is not selected a new page */ + switch (value & (ED_CR_PS0 | ED_CR_PS1)) { + case ED_CR_PAGE_0: + sc->page = NE2000_P0; + break; + case ED_CR_PAGE_1: + sc->page = NE2000_P1; + break; + case ED_CR_PAGE_2: + DPRINTF("The ED driver seleted PAGE2"); + assert(0); + break; + case ED_CR_PAGE_3: + sc->page = NE2000_P3; + break; + } + + old_cr = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_CR); + + /* emulate any command specified in the CR register */ + if (value & ED_CR_STA) { + if ((old_cr & ED_CR_STA) == 0) { + ne2000_set_field_by_offset(sc, NE2000_P0, ED_P0_ISR, + ED_ISR_RST, 0); + } + } + if (value & ED_CR_RD2) + assert(!(sc->remote_read || sc->remote_write)); + if (value & (ED_CR_RD0 | ED_CR_RD1)) { + assert(value & ED_CR_STA); + + if (value & ED_CR_RD0) + sc->remote_read = 1; + else + sc->remote_write = 1; + + rbcr0 = ne2000_get_reg_by_offset(sc, NE2000_P0, + ED_P0_RBCR0); + rbcr1 = ne2000_get_reg_by_offset(sc, NE2000_P0, + ED_P0_RBCR1); + rbcr = rbcr0 | (rbcr1 << 8); + + rsar0 = ne2000_get_reg_by_offset(sc, NE2000_P0, + ED_P0_RSAR0); + rsar1 = ne2000_get_reg_by_offset(sc, NE2000_P0, + ED_P0_RSAR1); + rsar = rsar0 | (rsar1 << 8); + + DPRINTF("Remote DMA %s: from %d address of %d bytes", + sc->remote_read ? "read" : "write", rsar, rbcr); + } + if (value & ED_CR_TXP) { + assert(!(sc->remote_read || sc->remote_write)); + assert(value & ED_CR_STA); + + tpsr = ne2000_get_reg_by_offset(sc, NE2000_P0, + ED_P0_TPSR); + tbcr0 = ne2000_get_reg_by_offset(sc, NE2000_P0, + ED_P0_TBCR0); + tbcr1 = ne2000_get_reg_by_offset(sc, NE2000_P0, + ED_P0_TBCR1); + tbcr = tbcr0 | (tbcr1 << 8); + + err = ne2000_tap_tx(sc, tpsr, tbcr); + assert(err == 0); + } + + /* store the value in the CR register located in the Page0 */ + ne2000_set_reg_by_offset(sc, NE2000_P0, ED_P0_CR, value); + + return 0; +} + +static int +ne2000_emul_reg_page0(struct ne2000_softc *sc, uint8_t offset, + uint8_t value) +{ + uint8_t pstart = 0; + uint8_t pstop = 0; + + assert(offset != ED_P0_CR); + + switch (offset) { + case ED_P0_PSTART: + DPRINTF("Page Start Register: %d", value); + assert(value > 0 && value * ED_PAGE_SIZE < NE2000_MEM_SIZE); + break; + case ED_P0_PSTOP: + DPRINTF("Page Stop Register: %d", value); + assert(value > 0 && value * ED_PAGE_SIZE <= NE2000_MEM_SIZE); + break; + case ED_P0_BNRY: + DPRINTF("Boundary Register: %d", value); + pstart = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_PSTART); + pstop = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_PSTOP); + assert(value >= pstart && value < pstop); + break; + case ED_P0_ISR: + DPRINTF("ISR Register: %d", value); + ne2000_set_field_by_offset(sc, NE2000_P0, ED_P0_ISR, value, 0); + ne2000_update_intr(sc); + break; + case ED_P0_RCR: + DPRINTF("RCR Register: %d", value); + break; + } + + return 0; +} + +static int +ne2000_emul_reg_page1(struct ne2000_softc *sc, uint8_t offset, + uint8_t value) +{ + uint8_t pstart = 0; + uint8_t pstop = 0; + + assert(offset != ED_P1_CR); + + switch (offset) { + case ED_P1_PAR0 ... ED_P1_PAR5: + DPRINTF("PAR[%d]: 0x%x", offset - ED_P1_PAR0, value); + break; + case ED_P1_CURR: + DPRINTF("Current Page Register: %d", value); + pstart = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_PSTART); + pstop = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_PSTOP); + assert(value >= pstart && value < pstop); + break; + case ED_P1_MAR0 ... ED_P1_MAR7: + DPRINTF("MAR[%d]: 0x%x", offset - ED_P1_MAR0, value); + break; + default: + assert(0); + } + + return 0; +} + +static int +ne2000_software_reset(struct ne2000_softc *sc) +{ + DPRINTF("The NIC is in Software Reset State"); + + /* reset the Receive Ring Registers */ + ne2000_set_reg_by_offset(sc, NE2000_P0, ED_P0_PSTART, 0); + ne2000_set_reg_by_offset(sc, NE2000_P0, ED_P0_PSTOP, 0); + ne2000_set_reg_by_offset(sc, NE2000_P1, ED_P1_CURR, 0); + ne2000_set_reg_by_offset(sc, NE2000_P0, ED_P0_BNRY, 0); + + /* disable the interrupts */ + ne2000_set_reg_by_offset(sc, NE2000_P0, ED_P0_IMR, 0); + + /* the NIC enters the reset state */ + ne2000_set_field_by_offset(sc, NE2000_P0, ED_P0_ISR, + ED_ISR_RST, ED_ISR_RST); + + return 0; +} + +static struct ne2000_softc * +ne2000_init(ne2000_intr_func_t intr_assert, ne2000_intr_func_t intr_deassert, + void *intr_arg, const char *opts) +{ + struct ne2000_softc *sc = NULL; + + /* the default mac address is 00:a0:98:4a:0e:ee */ + uint8_t mac[ETHER_ADDR_LEN] = {0x00, 0xa0, 0x98, 0x4a, 0x0e, 0xee}; + char tap_name[MAX_INPUT_LEN]; + int err; + + assert(intr_assert); + assert(intr_deassert); + assert(intr_arg); + +#if DEBUG_NE2000 == 1 + dbg = fopen("/tmp/bhyve_ne2000.log", "w+"); +#endif + + sc = calloc(1, sizeof(struct ne2000_softc)); + + sc->intr_assert = intr_assert; + sc->intr_deassert = intr_deassert; + sc->intr_arg = intr_arg; + + err = ne2000_parse_input(opts, tap_name, mac); + if (err != 0) { + printf("Use input param like: -s x:y,ne2000-net,tap_name[,mac address]"); + free(sc); + return NULL; + } + + err = pthread_mutex_init(&sc->mtx, NULL); + assert(err == 0); + + err = ne2000_tap_init(sc, tap_name); + assert(err == 0); + + /* set network medium type as 10BaseT and full-duplex */ + ne2000_set_reg_by_offset(sc, NE2000_P3, + ED_RTL80X9_CONFIG2, ED_RTL80X9_CF2_10_T); + ne2000_set_reg_by_offset(sc, NE2000_P3, + ED_RTL80X9_CONFIG3, ED_RTL80X9_CF3_FUDUP); + + /* the NE2000 card has his MAC address located in the first 6 words of the RAM memory */ + sc->ram[0] = mac[0]; + sc->ram[2] = mac[1]; + sc->ram[4] = mac[2]; + sc->ram[6] = mac[3]; + sc->ram[8] = mac[4]; + sc->ram[10] = mac[5]; + + return sc; +} + +static void +ne2000_update_intr(struct ne2000_softc *sc) +{ + uint8_t isr = 0; + uint8_t imr = 0; + + isr = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_ISR); + imr = ne2000_get_reg_by_offset(sc, NE2000_P0, ED_P0_IMR); + + if (imr & isr) { + if (!sc->lintr) { + sc->intr_assert(sc->intr_arg); + sc->lintr = 1; + } + } else { + if (sc->lintr) { + sc->intr_deassert(sc->intr_arg); + sc->lintr = 0; + } + } +} + +static uint16_t +ne2000_read(struct ne2000_softc *sc, uint8_t offset, int size) +{ + int err; + uint16_t value = 0; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-soc-all@freebsd.org Fri Aug 21 18:52:02 2015 Return-Path: Delivered-To: svn-soc-all@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 5B38B9BF7DB for ; Fri, 21 Aug 2015 18:52:02 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 4A6F1C67 for ; Fri, 21 Aug 2015 18:52:02 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LIq2BV064170 for ; Fri, 21 Aug 2015 18:52:02 GMT (envelope-from kczekirda@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LIpx43064135 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 18:51:59 GMT (envelope-from kczekirda@FreeBSD.org) Date: Fri, 21 Aug 2015 18:51:59 GMT Message-Id: <201508211851.t7LIpx43064135@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to kczekirda@FreeBSD.org using -f From: kczekirda@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290046 - in soc2015/kczekirda/master/cluster: node01/cluster node02/cluster node03/cluster MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 18:52:02 -0000 Author: kczekirda Date: Fri Aug 21 18:51:59 2015 New Revision: 290046 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290046 Log: bsdinstall condition Modified: soc2015/kczekirda/master/cluster/node01/cluster/bsdinstall.input soc2015/kczekirda/master/cluster/node01/cluster/run.sh soc2015/kczekirda/master/cluster/node02/cluster/bsdinstall.input soc2015/kczekirda/master/cluster/node02/cluster/run.sh soc2015/kczekirda/master/cluster/node03/cluster/bsdinstall.input soc2015/kczekirda/master/cluster/node03/cluster/run.sh Modified: soc2015/kczekirda/master/cluster/node01/cluster/bsdinstall.input ============================================================================== --- soc2015/kczekirda/master/cluster/node01/cluster/bsdinstall.input Fri Aug 21 18:31:36 2015 (r290045) +++ soc2015/kczekirda/master/cluster/node01/cluster/bsdinstall.input Fri Aug 21 18:51:59 2015 (r290046) @@ -1,5 +1,14 @@ PARTITIONS=ada0 DISTRIBUTIONS="kernel.txz base.txz" +INTERFACE="bge0" +IPV4="yes" +DHCP="yes" #!/bin/sh -echo "Installation complete, running in host system" \ No newline at end of file +echo "Installation complete, running in host system" +pkg install curl +/usr/local/bin/curl http://192.168.22.3:8080/admin/change_boot/$(hostname)/hdd.ipxe +cat < /etc/rc.local +#!/bin/sh +/usr/local/bin/curl http://192.168.22.3:8080/admin/change_boot/$(hostname)/take_task.ipxe +EOF \ No newline at end of file Modified: soc2015/kczekirda/master/cluster/node01/cluster/run.sh ============================================================================== --- soc2015/kczekirda/master/cluster/node01/cluster/run.sh Fri Aug 21 18:31:36 2015 (r290045) +++ soc2015/kczekirda/master/cluster/node01/cluster/run.sh Fri Aug 21 18:51:59 2015 (r290046) @@ -40,9 +40,14 @@ $curl http://$master/admin/change_task_status/$revision/installation export BSDINSTALL_DISTDIR=/usr/src/release/ftp/ -bsdinstall script /cluster/bsdinstall.input - -$curl http://$master/admin/change_node_status/$(hostname)/rebooting -$curl http://$master/admin/change_task_status/$revision/done -$curl http://$master/admin/change_boot/$(hostname)/hdd.ipxe -# reboot +if bsdinstall script /cluster/bsdinstall.input; then + $curl http://$master/admin/change_node_status/$(hostname)/rebooting + $curl http://$master/admin/change_task_status/$revision/done + $curl http://$master/admin/change_boot/$(hostname)/hdd.ipxe + reboot +else + $curl http://$master/admin/change_node_status/$(hostname)/rebooting + $curl http://$master/admin/change_task_status/$revision/failed + $curl http://$master/admin/change_boot/$(hostname)/take_task.ipxe + reboot +fi Modified: soc2015/kczekirda/master/cluster/node02/cluster/bsdinstall.input ============================================================================== --- soc2015/kczekirda/master/cluster/node02/cluster/bsdinstall.input Fri Aug 21 18:31:36 2015 (r290045) +++ soc2015/kczekirda/master/cluster/node02/cluster/bsdinstall.input Fri Aug 21 18:51:59 2015 (r290046) @@ -1,5 +1,14 @@ PARTITIONS=ada0 DISTRIBUTIONS="kernel.txz base.txz" +INTERFACE="bge0" +IPV4="yes" +DHCP="yes" #!/bin/sh -echo "Installation complete, running in host system" \ No newline at end of file +echo "Installation complete, running in host system" +pkg install curl +/usr/local/bin/curl http://192.168.22.3:8080/admin/change_boot/$(hostname)/hdd.ipxe +cat < /etc/rc.local +#!/bin/sh +/usr/local/bin/curl http://192.168.22.3:8080/admin/change_boot/$(hostname)/take_task.ipxe +EOF \ No newline at end of file Modified: soc2015/kczekirda/master/cluster/node02/cluster/run.sh ============================================================================== --- soc2015/kczekirda/master/cluster/node02/cluster/run.sh Fri Aug 21 18:31:36 2015 (r290045) +++ soc2015/kczekirda/master/cluster/node02/cluster/run.sh Fri Aug 21 18:51:59 2015 (r290046) @@ -40,9 +40,14 @@ $curl http://$master/admin/change_task_status/$revision/installation export BSDINSTALL_DISTDIR=/usr/src/release/ftp/ -bsdinstall script /cluster/bsdinstall.input - -$curl http://$master/admin/change_node_status/$(hostname)/rebooting -$curl http://$master/admin/change_task_status/$revision/done -$curl http://$master/admin/change_boot/$(hostname)/hdd.ipxe -# reboot +if bsdinstall script /cluster/bsdinstall.input; then + $curl http://$master/admin/change_node_status/$(hostname)/rebooting + $curl http://$master/admin/change_task_status/$revision/done + $curl http://$master/admin/change_boot/$(hostname)/hdd.ipxe + reboot +else + $curl http://$master/admin/change_node_status/$(hostname)/rebooting + $curl http://$master/admin/change_task_status/$revision/failed + $curl http://$master/admin/change_boot/$(hostname)/take_task.ipxe + reboot +fi Modified: soc2015/kczekirda/master/cluster/node03/cluster/bsdinstall.input ============================================================================== --- soc2015/kczekirda/master/cluster/node03/cluster/bsdinstall.input Fri Aug 21 18:31:36 2015 (r290045) +++ soc2015/kczekirda/master/cluster/node03/cluster/bsdinstall.input Fri Aug 21 18:51:59 2015 (r290046) @@ -1,5 +1,14 @@ PARTITIONS=ada0 DISTRIBUTIONS="kernel.txz base.txz" +INTERFACE="bge0" +IPV4="yes" +DHCP="yes" #!/bin/sh -echo "Installation complete, running in host system" \ No newline at end of file +echo "Installation complete, running in host system" +pkg install curl +/usr/local/bin/curl http://192.168.22.3:8080/admin/change_boot/$(hostname)/hdd.ipxe +cat < /etc/rc.local +#!/bin/sh +/usr/local/bin/curl http://192.168.22.3:8080/admin/change_boot/$(hostname)/take_task.ipxe +EOF \ No newline at end of file Modified: soc2015/kczekirda/master/cluster/node03/cluster/run.sh ============================================================================== --- soc2015/kczekirda/master/cluster/node03/cluster/run.sh Fri Aug 21 18:31:36 2015 (r290045) +++ soc2015/kczekirda/master/cluster/node03/cluster/run.sh Fri Aug 21 18:51:59 2015 (r290046) @@ -40,9 +40,14 @@ $curl http://$master/admin/change_task_status/$revision/installation export BSDINSTALL_DISTDIR=/usr/src/release/ftp/ -bsdinstall script /cluster/bsdinstall.input - -$curl http://$master/admin/change_node_status/$(hostname)/rebooting -$curl http://$master/admin/change_task_status/$revision/done -$curl http://$master/admin/change_boot/$(hostname)/hdd.ipxe -# reboot +if bsdinstall script /cluster/bsdinstall.input; then + $curl http://$master/admin/change_node_status/$(hostname)/rebooting + $curl http://$master/admin/change_task_status/$revision/done + $curl http://$master/admin/change_boot/$(hostname)/hdd.ipxe + reboot +else + $curl http://$master/admin/change_node_status/$(hostname)/rebooting + $curl http://$master/admin/change_task_status/$revision/failed + $curl http://$master/admin/change_boot/$(hostname)/take_task.ipxe + reboot +fi From owner-svn-soc-all@freebsd.org Fri Aug 21 18:56:29 2015 Return-Path: Delivered-To: svn-soc-all@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 B357B9BF852 for ; Fri, 21 Aug 2015 18:56:29 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 8379BD87 for ; Fri, 21 Aug 2015 18:56:29 +0000 (UTC) (envelope-from kczekirda@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LIuTWl068771 for ; Fri, 21 Aug 2015 18:56:29 GMT (envelope-from kczekirda@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LIuSXb068767 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 18:56:28 GMT (envelope-from kczekirda@FreeBSD.org) Date: Fri, 21 Aug 2015 18:56:28 GMT Message-Id: <201508211856.t7LIuSXb068767@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to kczekirda@FreeBSD.org using -f From: kczekirda@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290047 - in soc2015/kczekirda/master/cluster: node01/cluster node02/cluster node03/cluster MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 18:56:29 -0000 Author: kczekirda Date: Fri Aug 21 18:56:27 2015 New Revision: 290047 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290047 Log: change rev status Modified: soc2015/kczekirda/master/cluster/node01/cluster/bsdinstall.input soc2015/kczekirda/master/cluster/node02/cluster/bsdinstall.input soc2015/kczekirda/master/cluster/node03/cluster/bsdinstall.input Modified: soc2015/kczekirda/master/cluster/node01/cluster/bsdinstall.input ============================================================================== --- soc2015/kczekirda/master/cluster/node01/cluster/bsdinstall.input Fri Aug 21 18:51:59 2015 (r290046) +++ soc2015/kczekirda/master/cluster/node01/cluster/bsdinstall.input Fri Aug 21 18:56:27 2015 (r290047) @@ -10,5 +10,8 @@ /usr/local/bin/curl http://192.168.22.3:8080/admin/change_boot/$(hostname)/hdd.ipxe cat < /etc/rc.local #!/bin/sh +sleep 10 /usr/local/bin/curl http://192.168.22.3:8080/admin/change_boot/$(hostname)/take_task.ipxe -EOF \ No newline at end of file +rev=$(uname -a | cut -d ' ' -f 7 | cut -d : -f 1) +/usr/local/bin/curl http://192.168.22.3:8080/admin/change_task_statur/$rev/fine +EOF Modified: soc2015/kczekirda/master/cluster/node02/cluster/bsdinstall.input ============================================================================== --- soc2015/kczekirda/master/cluster/node02/cluster/bsdinstall.input Fri Aug 21 18:51:59 2015 (r290046) +++ soc2015/kczekirda/master/cluster/node02/cluster/bsdinstall.input Fri Aug 21 18:56:27 2015 (r290047) @@ -10,5 +10,8 @@ /usr/local/bin/curl http://192.168.22.3:8080/admin/change_boot/$(hostname)/hdd.ipxe cat < /etc/rc.local #!/bin/sh +sleep 10 /usr/local/bin/curl http://192.168.22.3:8080/admin/change_boot/$(hostname)/take_task.ipxe -EOF \ No newline at end of file +rev=$(uname -a | cut -d ' ' -f 7 | cut -d : -f 1) +/usr/local/bin/curl http://192.168.22.3:8080/admin/change_task_statur/$rev/fine +EOF Modified: soc2015/kczekirda/master/cluster/node03/cluster/bsdinstall.input ============================================================================== --- soc2015/kczekirda/master/cluster/node03/cluster/bsdinstall.input Fri Aug 21 18:51:59 2015 (r290046) +++ soc2015/kczekirda/master/cluster/node03/cluster/bsdinstall.input Fri Aug 21 18:56:27 2015 (r290047) @@ -10,5 +10,8 @@ /usr/local/bin/curl http://192.168.22.3:8080/admin/change_boot/$(hostname)/hdd.ipxe cat < /etc/rc.local #!/bin/sh +sleep 10 /usr/local/bin/curl http://192.168.22.3:8080/admin/change_boot/$(hostname)/take_task.ipxe -EOF \ No newline at end of file +rev=$(uname -a | cut -d ' ' -f 7 | cut -d : -f 1) +/usr/local/bin/curl http://192.168.22.3:8080/admin/change_task_statur/$rev/fine +EOF From owner-svn-soc-all@freebsd.org Fri Aug 21 20:28:28 2015 Return-Path: Delivered-To: svn-soc-all@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 CC8079BF660 for ; Fri, 21 Aug 2015 20:28:28 +0000 (UTC) (envelope-from clord@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 BBFB116BE for ; Fri, 21 Aug 2015 20:28:28 +0000 (UTC) (envelope-from clord@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LKSSY8076231 for ; Fri, 21 Aug 2015 20:28:28 GMT (envelope-from clord@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LKSNb7076139 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 20:28:23 GMT (envelope-from clord@FreeBSD.org) Date: Fri, 21 Aug 2015 20:28:23 GMT Message-Id: <201508212028.t7LKSNb7076139@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to clord@FreeBSD.org using -f From: clord@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290051 - in soc2015/clord/head/sys/contrib/ficl: aarch64 amd64 arm mips mips64 powerpc sparc64 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 20:28:29 -0000 Author: clord Date: Fri Aug 21 20:28:22 2015 New Revision: 290051 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290051 Log: Replicate changes to sysdep files across all architectures. Modified: soc2015/clord/head/sys/contrib/ficl/aarch64/sysdep.c soc2015/clord/head/sys/contrib/ficl/aarch64/sysdep.h soc2015/clord/head/sys/contrib/ficl/amd64/sysdep.c soc2015/clord/head/sys/contrib/ficl/arm/sysdep.c soc2015/clord/head/sys/contrib/ficl/arm/sysdep.h soc2015/clord/head/sys/contrib/ficl/mips/sysdep.c soc2015/clord/head/sys/contrib/ficl/mips/sysdep.h soc2015/clord/head/sys/contrib/ficl/mips64/sysdep.c soc2015/clord/head/sys/contrib/ficl/mips64/sysdep.h soc2015/clord/head/sys/contrib/ficl/powerpc/sysdep.c soc2015/clord/head/sys/contrib/ficl/powerpc/sysdep.h soc2015/clord/head/sys/contrib/ficl/sparc64/sysdep.c soc2015/clord/head/sys/contrib/ficl/sparc64/sysdep.h Modified: soc2015/clord/head/sys/contrib/ficl/aarch64/sysdep.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/aarch64/sysdep.c Fri Aug 21 19:51:27 2015 (r290050) +++ soc2015/clord/head/sys/contrib/ficl/aarch64/sysdep.c Fri Aug 21 20:28:22 2015 (r290051) @@ -50,12 +50,12 @@ } #endif -void ficlTextOut(FICL_VM *pVM, char *msg, int fNewline) +void ficlTextOutLocal(FICL_VM *pVM, char *text, int fNewline) { IGNORE(pVM); - while(*msg != 0) - putchar(*(msg++)); + while(*text != 0) + putchar(*(text++)); if (fNewline) putchar('\n'); Modified: soc2015/clord/head/sys/contrib/ficl/aarch64/sysdep.h ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/aarch64/sysdep.h Fri Aug 21 19:51:27 2015 (r290050) +++ soc2015/clord/head/sys/contrib/ficl/aarch64/sysdep.h Fri Aug 21 20:28:22 2015 (r290051) @@ -86,14 +86,6 @@ #define UNS32 unsigned int #endif -#if !defined UNS16 -#define UNS16 unsigned short -#endif - -#if !defined UNS8 -#define UNS8 unsigned char -#endif - #if !defined NULL #define NULL ((void *)0) #endif @@ -102,7 +94,6 @@ ** FICL_UNS and FICL_INT must have the same size as a void* on ** the target system. A CELL is a union of void*, FICL_UNS, and ** FICL_INT. -** (11/2000: same for FICL_FLOAT) */ #if !defined FICL_INT #define FICL_INT long @@ -112,10 +103,6 @@ #define FICL_UNS unsigned long #endif -#if !defined FICL_FLOAT -#define FICL_FLOAT float -#endif - /* ** Ficl presently supports values of 32 and 64 for BITS_PER_CELL */ @@ -186,7 +173,7 @@ ** Contributed by Guy Carver */ #if !defined (FICL_WANT_FLOAT) -#define FICL_WANT_FLOAT 0 +#define FICL_WANT_FLOAT 1 #endif /* @@ -301,8 +288,8 @@ ** a new virtual machine's stacks, unless overridden at ** create time. */ -#if !defined FICL_DEFAULT_STACK -#define FICL_DEFAULT_STACK 128 +#if !defined FICL_DEFAULT_STACK_SIZE +#define FICL_DEFAULT_STACK_SIZE 128 #endif /* @@ -312,12 +299,12 @@ ** FICL_DEFAULT_ENV specifies the number of cells to allot ** for the environment-query dictionary. */ -#if !defined FICL_DEFAULT_DICT -#define FICL_DEFAULT_DICT 12288 +#if !defined FICL_DEFAULT_DICTIONARY_SIZE +#define FICL_DEFAULT_DICTIONARY_SIZE 12288 #endif -#if !defined FICL_DEFAULT_ENV -#define FICL_DEFAULT_ENV 260 +#if !defined FICL_DEFAULT_ENVIRONMENT_SIZE +#define FICL_DEFAULT_ENVIRONMENT_SIZE 260 #endif /* @@ -325,8 +312,8 @@ ** the dictionary search order. See Forth DPANS sec 16.3.3 ** (file://dpans16.htm#16.3.3) */ -#if !defined FICL_DEFAULT_VOCS -#define FICL_DEFAULT_VOCS 16 +#if !defined FICL_MAX_WORDLISTS +#define FICL_MAX_WORDLISTS 16 #endif /* @@ -363,7 +350,7 @@ ** System dependent routines -- ** edit the implementations in sysdep.c to be compatible ** with your runtime environment... -** ficlTextOut sends a NULL terminated string to the +** ficlTextOutLocal sends a NULL terminated string to the ** default output device - used for system error messages ** ficlMalloc and ficlFree have the same semantics as malloc and free ** in standard C @@ -373,7 +360,7 @@ ** and remainder */ struct vm; -void ficlTextOut(struct vm *pVM, char *msg, int fNewline); +void ficlTextOutLocal(struct vm *pVM, char *text, int fNewline); void *ficlMalloc (size_t size); void ficlFree (void *p); void *ficlRealloc(void *p, size_t size); @@ -405,7 +392,16 @@ ** on a 32 bit CPU than in C, which usually doesn't support ** the double length result (but it should). */ +#ifndef __SYSDEP_H__ DPUNS ficlLongMul(FICL_UNS x, FICL_UNS y); UNSQR ficlLongDiv(DPUNS q, FICL_UNS y); +#endif + +/* +** Remove old definitions to remove conflicts with ficlcompatibility.h +** in case FICL_WANT_COMPATIBILITY is set. +*/ +#undef FICL_UNS +#undef FICL_INT #endif /*__SYSDEP_H__*/ Modified: soc2015/clord/head/sys/contrib/ficl/amd64/sysdep.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/amd64/sysdep.c Fri Aug 21 19:51:27 2015 (r290050) +++ soc2015/clord/head/sys/contrib/ficl/amd64/sysdep.c Fri Aug 21 20:28:22 2015 (r290051) @@ -50,12 +50,12 @@ } #endif -void ficlTextOut(FICL_VM *pVM, char *msg, int fNewline) +void ficlTextOutLocal(FICL_VM *pVM, char *text, int fNewline) { IGNORE(pVM); - while(*msg != 0) - putchar(*(msg++)); + while(*text != 0) + putchar(*(text++)); if (fNewline) putchar('\n'); Modified: soc2015/clord/head/sys/contrib/ficl/arm/sysdep.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/arm/sysdep.c Fri Aug 21 19:51:27 2015 (r290050) +++ soc2015/clord/head/sys/contrib/ficl/arm/sysdep.c Fri Aug 21 20:28:22 2015 (r290051) @@ -50,12 +50,12 @@ } #endif -void ficlTextOut(FICL_VM *pVM, char *msg, int fNewline) +void ficlTextOutLocal(FICL_VM *pVM, char *text, int fNewline) { IGNORE(pVM); - while(*msg != 0) - putchar(*(msg++)); + while(*text != 0) + putchar(*(text++)); if (fNewline) putchar('\n'); Modified: soc2015/clord/head/sys/contrib/ficl/arm/sysdep.h ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/arm/sysdep.h Fri Aug 21 19:51:27 2015 (r290050) +++ soc2015/clord/head/sys/contrib/ficl/arm/sysdep.h Fri Aug 21 20:28:22 2015 (r290051) @@ -86,14 +86,6 @@ #define UNS32 unsigned int #endif -#if !defined UNS16 -#define UNS16 unsigned short -#endif - -#if !defined UNS8 -#define UNS8 unsigned char -#endif - #if !defined NULL #define NULL ((void *)0) #endif @@ -102,7 +94,6 @@ ** FICL_UNS and FICL_INT must have the same size as a void* on ** the target system. A CELL is a union of void*, FICL_UNS, and ** FICL_INT. -** (11/2000: same for FICL_FLOAT) */ #if !defined FICL_INT #define FICL_INT INT32 @@ -112,10 +103,6 @@ #define FICL_UNS UNS32 #endif -#if !defined FICL_FLOAT -#define FICL_FLOAT float -#endif - /* ** Ficl presently supports values of 32 and 64 for BITS_PER_CELL */ @@ -197,7 +184,7 @@ ** Contributed by Guy Carver */ #if !defined (FICL_WANT_FLOAT) -#define FICL_WANT_FLOAT 0 +#define FICL_WANT_FLOAT 1 #endif /* @@ -312,8 +299,8 @@ ** a new virtual machine's stacks, unless overridden at ** create time. */ -#if !defined FICL_DEFAULT_STACK -#define FICL_DEFAULT_STACK 128 +#if !defined FICL_DEFAULT_STACK_SIZE +#define FICL_DEFAULT_STACK_SIZE 128 #endif /* @@ -323,12 +310,12 @@ ** FICL_DEFAULT_ENV specifies the number of cells to allot ** for the environment-query dictionary. */ -#if !defined FICL_DEFAULT_DICT -#define FICL_DEFAULT_DICT 12288 +#if !defined FICL_DEFAULT_DICTIONARY_SIZE +#define FICL_DEFAULT_DICTIONARY_SIZE 12288 #endif -#if !defined FICL_DEFAULT_ENV -#define FICL_DEFAULT_ENV 260 +#if !defined FICL_DEFAULT_ENVIRONMENT_SIZE +#define FICL_DEFAULT_ENVIRONMENT_SIZE 260 #endif /* @@ -336,8 +323,8 @@ ** the dictionary search order. See Forth DPANS sec 16.3.3 ** (file://dpans16.htm#16.3.3) */ -#if !defined FICL_DEFAULT_VOCS -#define FICL_DEFAULT_VOCS 16 +#if !defined FICL_MAX_WORDLISTS +#define FICL_MAX_WORDLISTS 16 #endif /* @@ -374,7 +361,7 @@ ** System dependent routines -- ** edit the implementations in sysdep.c to be compatible ** with your runtime environment... -** ficlTextOut sends a NULL terminated string to the +** ficlTextOutLocal sends a NULL terminated string to the ** default output device - used for system error messages ** ficlMalloc and ficlFree have the same semantics as malloc and free ** in standard C @@ -384,7 +371,7 @@ ** and remainder */ struct vm; -void ficlTextOut(struct vm *pVM, char *msg, int fNewline); +void ficlTextOutLocal(struct vm *pVM, char *text, int fNewline); void *ficlMalloc (size_t size); void ficlFree (void *p); void *ficlRealloc(void *p, size_t size); @@ -416,8 +403,10 @@ ** on a 32 bit CPU than in C, which usually doesn't support ** the double length result (but it should). */ +#ifndef __SYSDEP_H__ DPUNS ficlLongMul(FICL_UNS x, FICL_UNS y); UNSQR ficlLongDiv(DPUNS q, FICL_UNS y); +#endif /* ** FICL_HAVE_FTRUNCATE indicates whether the current OS supports @@ -428,5 +417,11 @@ #define FICL_HAVE_FTRUNCATE 0 #endif +/* +** Remove old definitions to remove conflicts with ficlcompatibility.h +** in case FICL_WANT_COMPATIBILITY is set. +*/ +#undef FICL_UNS +#undef FICL_INT #endif /*__SYSDEP_H__*/ Modified: soc2015/clord/head/sys/contrib/ficl/mips/sysdep.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/mips/sysdep.c Fri Aug 21 19:51:27 2015 (r290050) +++ soc2015/clord/head/sys/contrib/ficl/mips/sysdep.c Fri Aug 21 20:28:22 2015 (r290051) @@ -50,12 +50,12 @@ } #endif -void ficlTextOut(FICL_VM *pVM, char *msg, int fNewline) +void ficlTextOutLocal(FICL_VM *pVM, char *text, int fNewline) { IGNORE(pVM); - while(*msg != 0) - putchar(*(msg++)); + while(*text != 0) + putchar(*(text++)); if (fNewline) putchar('\n'); Modified: soc2015/clord/head/sys/contrib/ficl/mips/sysdep.h ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/mips/sysdep.h Fri Aug 21 19:51:27 2015 (r290050) +++ soc2015/clord/head/sys/contrib/ficl/mips/sysdep.h Fri Aug 21 20:28:22 2015 (r290051) @@ -86,14 +86,6 @@ #define UNS32 unsigned int #endif -#if !defined UNS16 -#define UNS16 unsigned short -#endif - -#if !defined UNS8 -#define UNS8 unsigned char -#endif - #if !defined NULL #define NULL ((void *)0) #endif @@ -102,7 +94,6 @@ ** FICL_UNS and FICL_INT must have the same size as a void* on ** the target system. A CELL is a union of void*, FICL_UNS, and ** FICL_INT. -** (11/2000: same for FICL_FLOAT) */ #if !defined FICL_INT #define FICL_INT INT32 @@ -112,10 +103,6 @@ #define FICL_UNS UNS32 #endif -#if !defined FICL_FLOAT -#define FICL_FLOAT float -#endif - /* ** Ficl presently supports values of 32 and 64 for BITS_PER_CELL */ @@ -197,7 +184,7 @@ ** Contributed by Guy Carver */ #if !defined (FICL_WANT_FLOAT) -#define FICL_WANT_FLOAT 0 +#define FICL_WANT_FLOAT 1 #endif /* @@ -312,8 +299,8 @@ ** a new virtual machine's stacks, unless overridden at ** create time. */ -#if !defined FICL_DEFAULT_STACK -#define FICL_DEFAULT_STACK 128 +#if !defined FICL_DEFAULT_STACK_SIZE +#define FICL_DEFAULT_STACK_SIZE 128 #endif /* @@ -323,12 +310,12 @@ ** FICL_DEFAULT_ENV specifies the number of cells to allot ** for the environment-query dictionary. */ -#if !defined FICL_DEFAULT_DICT -#define FICL_DEFAULT_DICT 12288 +#if !defined FICL_DEFAULT_DICTIONARY_SIZE +#define FICL_DEFAULT_DICTIONARY_SIZE 12288 #endif -#if !defined FICL_DEFAULT_ENV -#define FICL_DEFAULT_ENV 260 +#if !defined FICL_DEFAULT_ENVIRONMENT_SIZE +#define FICL_DEFAULT_ENVIRONMENT_SIZE 260 #endif /* @@ -336,8 +323,8 @@ ** the dictionary search order. See Forth DPANS sec 16.3.3 ** (file://dpans16.htm#16.3.3) */ -#if !defined FICL_DEFAULT_VOCS -#define FICL_DEFAULT_VOCS 16 +#if !defined FICL_MAX_WORDLISTS +#define FICL_MAX_WORDLISTS 16 #endif /* @@ -374,7 +361,7 @@ ** System dependent routines -- ** edit the implementations in sysdep.c to be compatible ** with your runtime environment... -** ficlTextOut sends a NULL terminated string to the +** ficlTextOutLocal sends a NULL terminated string to the ** default output device - used for system error messages ** ficlMalloc and ficlFree have the same semantics as malloc and free ** in standard C @@ -384,7 +371,7 @@ ** and remainder */ struct vm; -void ficlTextOut(struct vm *pVM, char *msg, int fNewline); +void ficlTextOutLocal(struct vm *pVM, char *text, int fNewline); void *ficlMalloc (size_t size); void ficlFree (void *p); void *ficlRealloc(void *p, size_t size); @@ -416,8 +403,10 @@ ** on a 32 bit CPU than in C, which usually doesn't support ** the double length result (but it should). */ +#ifndef __SYSDEP_H__ DPUNS ficlLongMul(FICL_UNS x, FICL_UNS y); UNSQR ficlLongDiv(DPUNS q, FICL_UNS y); +#endif /* ** FICL_HAVE_FTRUNCATE indicates whether the current OS supports @@ -428,5 +417,11 @@ #define FICL_HAVE_FTRUNCATE 0 #endif +/* +** Remove old definitions to remove conflicts with ficlcompatibility.h +** in case FICL_WANT_COMPATIBILITY is set. +*/ +#undef FICL_UNS +#undef FICL_INT #endif /*__SYSDEP_H__*/ Modified: soc2015/clord/head/sys/contrib/ficl/mips64/sysdep.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/mips64/sysdep.c Fri Aug 21 19:51:27 2015 (r290050) +++ soc2015/clord/head/sys/contrib/ficl/mips64/sysdep.c Fri Aug 21 20:28:22 2015 (r290051) @@ -50,12 +50,12 @@ } #endif -void ficlTextOut(FICL_VM *pVM, char *msg, int fNewline) +void ficlTextOutLocal(FICL_VM *pVM, char *text, int fNewline) { IGNORE(pVM); - while(*msg != 0) - putchar(*(msg++)); + while(*text != 0) + putchar(*(text++)); if (fNewline) putchar('\n'); Modified: soc2015/clord/head/sys/contrib/ficl/mips64/sysdep.h ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/mips64/sysdep.h Fri Aug 21 19:51:27 2015 (r290050) +++ soc2015/clord/head/sys/contrib/ficl/mips64/sysdep.h Fri Aug 21 20:28:22 2015 (r290051) @@ -86,14 +86,6 @@ #define UNS32 unsigned int #endif -#if !defined UNS16 -#define UNS16 unsigned short -#endif - -#if !defined UNS8 -#define UNS8 unsigned char -#endif - #if !defined NULL #define NULL ((void *)0) #endif @@ -102,7 +94,6 @@ ** FICL_UNS and FICL_INT must have the same size as a void* on ** the target system. A CELL is a union of void*, FICL_UNS, and ** FICL_INT. -** (11/2000: same for FICL_FLOAT) */ #if !defined FICL_INT #define FICL_INT long @@ -112,10 +103,6 @@ #define FICL_UNS unsigned long #endif -#if !defined FICL_FLOAT -#define FICL_FLOAT float -#endif - /* ** Ficl presently supports values of 32 and 64 for BITS_PER_CELL */ @@ -197,7 +184,7 @@ ** Contributed by Guy Carver */ #if !defined (FICL_WANT_FLOAT) -#define FICL_WANT_FLOAT 0 +#define FICL_WANT_FLOAT 1 #endif /* @@ -312,8 +299,8 @@ ** a new virtual machine's stacks, unless overridden at ** create time. */ -#if !defined FICL_DEFAULT_STACK -#define FICL_DEFAULT_STACK 128 +#if !defined FICL_DEFAULT_STACK_SIZE +#define FICL_DEFAULT_STACK_SIZE 128 #endif /* @@ -323,12 +310,12 @@ ** FICL_DEFAULT_ENV specifies the number of cells to allot ** for the environment-query dictionary. */ -#if !defined FICL_DEFAULT_DICT -#define FICL_DEFAULT_DICT 12288 +#if !defined FICL_DEFAULT_DICTIONARY_SIZE +#define FICL_DEFAULT_DICTIONARY_SIZE 12288 #endif -#if !defined FICL_DEFAULT_ENV -#define FICL_DEFAULT_ENV 260 +#if !defined FICL_DEFAULT_ENVIRONMENT_SIZE +#define FICL_DEFAULT_ENVIRONMENT_SIZE 260 #endif /* @@ -336,8 +323,8 @@ ** the dictionary search order. See Forth DPANS sec 16.3.3 ** (file://dpans16.htm#16.3.3) */ -#if !defined FICL_DEFAULT_VOCS -#define FICL_DEFAULT_VOCS 16 +#if !defined FICL_MAX_WORDLISTS +#define FICL_MAX_WORDLISTS 16 #endif /* @@ -374,7 +361,7 @@ ** System dependent routines -- ** edit the implementations in sysdep.c to be compatible ** with your runtime environment... -** ficlTextOut sends a NULL terminated string to the +** ficlTextOutLocal sends a NULL terminated string to the ** default output device - used for system error messages ** ficlMalloc and ficlFree have the same semantics as malloc and free ** in standard C @@ -384,7 +371,7 @@ ** and remainder */ struct vm; -void ficlTextOut(struct vm *pVM, char *msg, int fNewline); +void ficlTextOutLocal(struct vm *pVM, char *text, int fNewline); void *ficlMalloc (size_t size); void ficlFree (void *p); void *ficlRealloc(void *p, size_t size); @@ -416,8 +403,10 @@ ** on a 32 bit CPU than in C, which usually doesn't support ** the double length result (but it should). */ +#ifndef __SYSDEP_H__ DPUNS ficlLongMul(FICL_UNS x, FICL_UNS y); UNSQR ficlLongDiv(DPUNS q, FICL_UNS y); +#endif /* ** FICL_HAVE_FTRUNCATE indicates whether the current OS supports @@ -428,5 +417,11 @@ #define FICL_HAVE_FTRUNCATE 0 #endif +/* +** Remove old definitions to remove conflicts with ficlcompatibility.h +** in case FICL_WANT_COMPATIBILITY is set. +*/ +#undef FICL_UNS +#undef FICL_INT #endif /*__SYSDEP_H__*/ Modified: soc2015/clord/head/sys/contrib/ficl/powerpc/sysdep.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/powerpc/sysdep.c Fri Aug 21 19:51:27 2015 (r290050) +++ soc2015/clord/head/sys/contrib/ficl/powerpc/sysdep.c Fri Aug 21 20:28:22 2015 (r290051) @@ -50,12 +50,12 @@ } #endif -void ficlTextOut(FICL_VM *pVM, char *msg, int fNewline) +void ficlTextOutLocal(FICL_VM *pVM, char *text, int fNewline) { IGNORE(pVM); - while(*msg != 0) - putchar(*(msg++)); + while(*text != 0) + putchar(*(text++)); if (fNewline) putchar('\n'); Modified: soc2015/clord/head/sys/contrib/ficl/powerpc/sysdep.h ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/powerpc/sysdep.h Fri Aug 21 19:51:27 2015 (r290050) +++ soc2015/clord/head/sys/contrib/ficl/powerpc/sysdep.h Fri Aug 21 20:28:22 2015 (r290051) @@ -86,14 +86,6 @@ #define UNS32 unsigned int #endif -#if !defined UNS16 -#define UNS16 unsigned short -#endif - -#if !defined UNS8 -#define UNS8 unsigned char -#endif - #if !defined NULL #define NULL ((void *)0) #endif @@ -102,7 +94,6 @@ ** FICL_UNS and FICL_INT must have the same size as a void* on ** the target system. A CELL is a union of void*, FICL_UNS, and ** FICL_INT. -** (11/2000: same for FICL_FLOAT) */ #if !defined FICL_INT #define FICL_INT INT32 @@ -112,10 +103,6 @@ #define FICL_UNS UNS32 #endif -#if !defined FICL_FLOAT -#define FICL_FLOAT float -#endif - /* ** Ficl presently supports values of 32 and 64 for BITS_PER_CELL */ @@ -197,7 +184,7 @@ ** Contributed by Guy Carver */ #if !defined (FICL_WANT_FLOAT) -#define FICL_WANT_FLOAT 0 +#define FICL_WANT_FLOAT 1 #endif /* @@ -312,8 +299,8 @@ ** a new virtual machine's stacks, unless overridden at ** create time. */ -#if !defined FICL_DEFAULT_STACK -#define FICL_DEFAULT_STACK 128 +#if !defined FICL_DEFAULT_STACK_SIZE +#define FICL_DEFAULT_STACK_SIZE 128 #endif /* @@ -323,12 +310,12 @@ ** FICL_DEFAULT_ENV specifies the number of cells to allot ** for the environment-query dictionary. */ -#if !defined FICL_DEFAULT_DICT -#define FICL_DEFAULT_DICT 12288 +#if !defined FICL_DEFAULT_DICTIONARY_SIZE +#define FICL_DEFAULT_DICTIONARY_SIZE 12288 #endif -#if !defined FICL_DEFAULT_ENV -#define FICL_DEFAULT_ENV 260 +#if !defined FICL_DEFAULT_ENVIRONMENT_SIZE +#define FICL_DEFAULT_ENVIRONMENT_SIZE 260 #endif /* @@ -336,8 +323,8 @@ ** the dictionary search order. See Forth DPANS sec 16.3.3 ** (file://dpans16.htm#16.3.3) */ -#if !defined FICL_DEFAULT_VOCS -#define FICL_DEFAULT_VOCS 16 +#if !defined FICL_MAX_WORDLISTS +#define FICL_MAX_WORDLISTS 16 #endif /* @@ -374,7 +361,7 @@ ** System dependent routines -- ** edit the implementations in sysdep.c to be compatible ** with your runtime environment... -** ficlTextOut sends a NULL terminated string to the +** ficlTextOutLocal sends a NULL terminated string to the ** default output device - used for system error messages ** ficlMalloc and ficlFree have the same semantics as malloc and free ** in standard C @@ -384,7 +371,7 @@ ** and remainder */ struct vm; -void ficlTextOut(struct vm *pVM, char *msg, int fNewline); +void ficlTextOutLocal(struct vm *pVM, char *text, int fNewline); void *ficlMalloc (size_t size); void ficlFree (void *p); void *ficlRealloc(void *p, size_t size); @@ -416,8 +403,10 @@ ** on a 32 bit CPU than in C, which usually doesn't support ** the double length result (but it should). */ +#ifndef __SYSDEP_H__ DPUNS ficlLongMul(FICL_UNS x, FICL_UNS y); UNSQR ficlLongDiv(DPUNS q, FICL_UNS y); +#endif /* ** FICL_HAVE_FTRUNCATE indicates whether the current OS supports @@ -428,5 +417,11 @@ #define FICL_HAVE_FTRUNCATE 0 #endif +/* +** Remove old definitions to remove conflicts with ficlcompatibility.h +** in case FICL_WANT_COMPATIBILITY is set. +*/ +#undef FICL_UNS +#undef FICL_INT #endif /*__SYSDEP_H__*/ Modified: soc2015/clord/head/sys/contrib/ficl/sparc64/sysdep.c ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/sparc64/sysdep.c Fri Aug 21 19:51:27 2015 (r290050) +++ soc2015/clord/head/sys/contrib/ficl/sparc64/sysdep.c Fri Aug 21 20:28:22 2015 (r290051) @@ -50,12 +50,12 @@ } #endif -void ficlTextOut(FICL_VM *pVM, char *msg, int fNewline) +void ficlTextOutLocal(FICL_VM *pVM, char *text, int fNewline) { IGNORE(pVM); - while(*msg != 0) - putchar(*(msg++)); + while(*text != 0) + putchar(*(text++)); if (fNewline) putchar('\n'); Modified: soc2015/clord/head/sys/contrib/ficl/sparc64/sysdep.h ============================================================================== --- soc2015/clord/head/sys/contrib/ficl/sparc64/sysdep.h Fri Aug 21 19:51:27 2015 (r290050) +++ soc2015/clord/head/sys/contrib/ficl/sparc64/sysdep.h Fri Aug 21 20:28:22 2015 (r290051) @@ -87,14 +87,6 @@ #define UNS32 unsigned int #endif -#if !defined UNS16 -#define UNS16 unsigned short -#endif - -#if !defined UNS8 -#define UNS8 unsigned char -#endif - #if !defined NULL #define NULL ((void *)0) #endif @@ -103,7 +95,6 @@ ** FICL_UNS and FICL_INT must have the same size as a void* on ** the target system. A CELL is a union of void*, FICL_UNS, and ** FICL_INT. -** (11/2000: same for FICL_FLOAT) */ #if !defined FICL_INT #define FICL_INT long @@ -113,10 +104,6 @@ #define FICL_UNS unsigned long #endif -#if !defined FICL_FLOAT -#define FICL_FLOAT float -#endif - /* ** Ficl presently supports values of 32 and 64 for BITS_PER_CELL */ @@ -187,7 +174,7 @@ ** Contributed by Guy Carver */ #if !defined (FICL_WANT_FLOAT) -#define FICL_WANT_FLOAT 0 +#define FICL_WANT_FLOAT 1 #endif /* @@ -302,8 +289,8 @@ ** a new virtual machine's stacks, unless overridden at ** create time. */ -#if !defined FICL_DEFAULT_STACK -#define FICL_DEFAULT_STACK 128 +#if !defined FICL_DEFAULT_STACK_SIZE +#define FICL_DEFAULT_STACK_SIZE 128 #endif /* @@ -313,12 +300,12 @@ ** FICL_DEFAULT_ENV specifies the number of cells to allot ** for the environment-query dictionary. */ -#if !defined FICL_DEFAULT_DICT -#define FICL_DEFAULT_DICT 12288 +#if !defined FICL_DEFAULT_DICTIONARY_SIZE +#define FICL_DEFAULT_DICTIONARY_SIZE 12288 #endif -#if !defined FICL_DEFAULT_ENV -#define FICL_DEFAULT_ENV 260 +#if !defined FICL_DEFAULT_ENVIRONMENT_SIZE +#define FICL_DEFAULT_ENVIRONMENT_SIZE 260 #endif /* @@ -326,8 +313,8 @@ ** the dictionary search order. See Forth DPANS sec 16.3.3 ** (file://dpans16.htm#16.3.3) */ -#if !defined FICL_DEFAULT_VOCS -#define FICL_DEFAULT_VOCS 16 +#if !defined FICL_MAX_WORDLISTS +#define FICL_MAX_WORDLISTS 16 #endif /* @@ -364,7 +351,7 @@ ** System dependent routines -- ** edit the implementations in sysdep.c to be compatible ** with your runtime environment... -** ficlTextOut sends a NULL terminated string to the +** ficlTextOutLocal sends a NULL terminated string to the ** default output device - used for system error messages ** ficlMalloc and ficlFree have the same semantics as malloc and free ** in standard C @@ -374,7 +361,7 @@ ** and remainder */ struct vm; -void ficlTextOut(struct vm *pVM, char *msg, int fNewline); +void ficlTextOutLocal(struct vm *pVM, char *text, int fNewline); void *ficlMalloc (size_t size); void ficlFree (void *p); void *ficlRealloc(void *p, size_t size); @@ -406,7 +393,16 @@ ** on a 32 bit CPU than in C, which usually doesn't support ** the double length result (but it should). */ +#ifndef __SYSDEP_H__ DPUNS ficlLongMul(FICL_UNS x, FICL_UNS y); UNSQR ficlLongDiv(DPUNS q, FICL_UNS y); +#endif +/* +** Remove old definitions to remove conflicts with ficlcompatibility.h +** in case FICL_WANT_COMPATIBILITY is set. +*/ +#undef FICL_UNS +#undef FICL_INT + #endif /*__SYSDEP_H__*/ From owner-svn-soc-all@freebsd.org Fri Aug 21 20:45:26 2015 Return-Path: Delivered-To: svn-soc-all@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 93B679BF984 for ; Fri, 21 Aug 2015 20:45:26 +0000 (UTC) (envelope-from clord@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 84B3C1DF2 for ; Fri, 21 Aug 2015 20:45:26 +0000 (UTC) (envelope-from clord@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LKjQAK003294 for ; Fri, 21 Aug 2015 20:45:26 GMT (envelope-from clord@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LKjQpj003278 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 20:45:26 GMT (envelope-from clord@FreeBSD.org) Date: Fri, 21 Aug 2015 20:45:26 GMT Message-Id: <201508212045.t7LKjQpj003278@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to clord@FreeBSD.org using -f From: clord@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290052 - soc2015/clord/head/sys/boot/mips/beri/loader MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 20:45:26 -0000 Author: clord Date: Fri Aug 21 20:45:25 2015 New Revision: 290052 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290052 Log: Add math library to linker Modified: soc2015/clord/head/sys/boot/mips/beri/loader/Makefile Modified: soc2015/clord/head/sys/boot/mips/beri/loader/Makefile ============================================================================== --- soc2015/clord/head/sys/boot/mips/beri/loader/Makefile Fri Aug 21 20:28:22 2015 (r290051) +++ soc2015/clord/head/sys/boot/mips/beri/loader/Makefile Fri Aug 21 20:45:25 2015 (r290052) @@ -112,7 +112,7 @@ LIBSTAND= ${.OBJDIR}/../../../../../lib/libstand/libstand.a DPADD= ${LIBFICL} ${LIBSTAND} -LDADD= ${LIBFICL} ${LIBSTAND} +LDADD= ${LIBFICL} ${LIBSTAND} -lm vers.c: ${.CURDIR}/../../../common/newvers.sh ${.CURDIR}/version sh ${.CURDIR}/../../../common/newvers.sh ${.CURDIR}/version \ From owner-svn-soc-all@freebsd.org Fri Aug 21 21:18:21 2015 Return-Path: Delivered-To: svn-soc-all@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 27B419C00EE for ; Fri, 21 Aug 2015 21:18:21 +0000 (UTC) (envelope-from clord@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (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 16BF012E1 for ; Fri, 21 Aug 2015 21:18:21 +0000 (UTC) (envelope-from clord@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.15.2/8.15.2) with ESMTP id t7LLIKZA098602 for ; Fri, 21 Aug 2015 21:18:20 GMT (envelope-from clord@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.15.2/8.15.2/Submit) id t7LLIGqa098533 for svn-soc-all@FreeBSD.org; Fri, 21 Aug 2015 21:18:16 GMT (envelope-from clord@FreeBSD.org) Date: Fri, 21 Aug 2015 21:18:16 GMT Message-Id: <201508212118.t7LLIGqa098533@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to clord@FreeBSD.org using -f From: clord@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r290053 - in soc2015/clord/head/sys/boot: arm/uboot efi/loader ficl pc98/loader powerpc/kboot powerpc/ofw powerpc/ps3 powerpc/uboot sparc64/loader userboot/ficl userboot/userboot MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Aug 2015 21:18:21 -0000 Author: clord Date: Fri Aug 21 21:18:15 2015 New Revision: 290053 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=290053 Log: Updates Makefiles to point to correct places and include the math library. Modified: soc2015/clord/head/sys/boot/arm/uboot/Makefile soc2015/clord/head/sys/boot/efi/loader/Makefile soc2015/clord/head/sys/boot/ficl/Makefile soc2015/clord/head/sys/boot/pc98/loader/Makefile soc2015/clord/head/sys/boot/powerpc/kboot/Makefile soc2015/clord/head/sys/boot/powerpc/ofw/Makefile soc2015/clord/head/sys/boot/powerpc/ps3/Makefile soc2015/clord/head/sys/boot/powerpc/uboot/Makefile soc2015/clord/head/sys/boot/sparc64/loader/Makefile soc2015/clord/head/sys/boot/userboot/ficl/Makefile soc2015/clord/head/sys/boot/userboot/userboot/Makefile Modified: soc2015/clord/head/sys/boot/arm/uboot/Makefile ============================================================================== --- soc2015/clord/head/sys/boot/arm/uboot/Makefile Fri Aug 21 20:45:25 2015 (r290052) +++ soc2015/clord/head/sys/boot/arm/uboot/Makefile Fri Aug 21 21:18:15 2015 (r290053) @@ -115,7 +115,7 @@ NO_WERROR.clang= DPADD= ${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} ${LIBSTAND} -LDADD= ${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} -lstand +LDADD= ${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} -lstand -lm OBJS+= ${SRCS:N*.h:R:S/$/.o/g} Modified: soc2015/clord/head/sys/boot/efi/loader/Makefile ============================================================================== --- soc2015/clord/head/sys/boot/efi/loader/Makefile Fri Aug 21 20:45:25 2015 (r290052) +++ soc2015/clord/head/sys/boot/efi/loader/Makefile Fri Aug 21 21:18:15 2015 (r290053) @@ -111,7 +111,7 @@ DPADD= ${LIBFICL} ${LIBEFI} ${LIBFDT} ${LIBEFI_FDT} ${LIBSTAND} \ ${LDSCRIPT} -LDADD= ${LIBFICL} ${LIBEFI} ${LIBFDT} ${LIBEFI_FDT} ${LIBSTAND} +LDADD= ${LIBFICL} ${LIBEFI} ${LIBFDT} ${LIBEFI_FDT} ${LIBSTAND} -lm .endif # ${COMPILER_TYPE} != "gcc" Modified: soc2015/clord/head/sys/boot/ficl/Makefile ============================================================================== --- soc2015/clord/head/sys/boot/ficl/Makefile Fri Aug 21 20:45:25 2015 (r290052) +++ soc2015/clord/head/sys/boot/ficl/Makefile Fri Aug 21 21:18:15 2015 (r290053) @@ -16,7 +16,7 @@ stack.c system.c tools.c unix.c utility.c vm.c word.c SRCS= ${BASE_SRCS} sysdep.c softcore.c -CLEANFILES= softcore.c main main.o extras.o +CLEANFILES= softcore.c testmain main.o extras.o CFLAGS+= -ffreestanding LDADD+= -lm .if ${MACHINE_CPUARCH} == "i386" || \ Modified: soc2015/clord/head/sys/boot/pc98/loader/Makefile ============================================================================== --- soc2015/clord/head/sys/boot/pc98/loader/Makefile Fri Aug 21 20:45:25 2015 (r290052) +++ soc2015/clord/head/sys/boot/pc98/loader/Makefile Fri Aug 21 21:18:15 2015 (r290053) @@ -96,6 +96,6 @@ OBJS= ${BTXCRT} DPADD= ${LIBFICL} ${LIBPC98} ${LIBSTAND} -LDADD= ${LIBFICL} ${LIBPC98} ${LIBSTAND} +LDADD= ${LIBFICL} ${LIBPC98} ${LIBSTAND} -lm .include Modified: soc2015/clord/head/sys/boot/powerpc/kboot/Makefile ============================================================================== --- soc2015/clord/head/sys/boot/powerpc/kboot/Makefile Fri Aug 21 20:45:25 2015 (r290052) +++ soc2015/clord/head/sys/boot/powerpc/kboot/Makefile Fri Aug 21 21:18:15 2015 (r290053) @@ -100,7 +100,7 @@ CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/ DPADD= ${LIBFICL} ${LIBOFW} ${LIBFDT} ${LIBSTAND} -LDADD= ${LIBFICL} ${LIBOFW} ${LIBFDT} ${LIBSTAND} +LDADD= ${LIBFICL} ${LIBOFW} ${LIBFDT} ${LIBSTAND} -lm SC_DFLT_FONT=cp437 Modified: soc2015/clord/head/sys/boot/powerpc/ofw/Makefile ============================================================================== --- soc2015/clord/head/sys/boot/powerpc/ofw/Makefile Fri Aug 21 20:45:25 2015 (r290052) +++ soc2015/clord/head/sys/boot/powerpc/ofw/Makefile Fri Aug 21 21:18:15 2015 (r290053) @@ -100,7 +100,7 @@ CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/ DPADD= ${LIBFICL} ${LIBOFW} ${LIBFDT} ${LIBSTAND} -LDADD= ${LIBFICL} ${LIBOFW} ${LIBFDT} ${LIBSTAND} +LDADD= ${LIBFICL} ${LIBOFW} ${LIBFDT} ${LIBSTAND} -lm vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT} Modified: soc2015/clord/head/sys/boot/powerpc/ps3/Makefile ============================================================================== --- soc2015/clord/head/sys/boot/powerpc/ps3/Makefile Fri Aug 21 20:45:25 2015 (r290052) +++ soc2015/clord/head/sys/boot/powerpc/ps3/Makefile Fri Aug 21 21:18:15 2015 (r290053) @@ -97,7 +97,7 @@ CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/ DPADD= ${LIBFICL} ${LIBOFW} ${LIBSTAND} -LDADD= ${LIBFICL} ${LIBOFW} ${LIBSTAND} +LDADD= ${LIBFICL} ${LIBOFW} ${LIBSTAND} -lm SC_DFLT_FONT=cp437 Modified: soc2015/clord/head/sys/boot/powerpc/uboot/Makefile ============================================================================== --- soc2015/clord/head/sys/boot/powerpc/uboot/Makefile Fri Aug 21 20:45:25 2015 (r290052) +++ soc2015/clord/head/sys/boot/powerpc/uboot/Makefile Fri Aug 21 21:18:15 2015 (r290053) @@ -100,7 +100,7 @@ CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/ DPADD= ${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} ${LIBSTAND} -LDADD= ${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} ${LIBSTAND} +LDADD= ${LIBFICL} ${LIBUBOOT} ${LIBFDT} ${LIBUBOOT_FDT} ${LIBSTAND} -lm vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT} Modified: soc2015/clord/head/sys/boot/sparc64/loader/Makefile ============================================================================== --- soc2015/clord/head/sys/boot/sparc64/loader/Makefile Fri Aug 21 20:45:25 2015 (r290052) +++ soc2015/clord/head/sys/boot/sparc64/loader/Makefile Fri Aug 21 21:18:15 2015 (r290053) @@ -86,7 +86,7 @@ CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/ DPADD= ${LIBFICL} ${LIBZFSBOOT} ${LIBOFW} ${LIBSTAND} -LDADD= ${LIBFICL} ${LIBZFSBOOT} ${LIBOFW} -lstand +LDADD= ${LIBFICL} ${LIBZFSBOOT} ${LIBOFW} -lstand -lm vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../loader/version sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../loader/version \ Modified: soc2015/clord/head/sys/boot/userboot/ficl/Makefile ============================================================================== --- soc2015/clord/head/sys/boot/userboot/ficl/Makefile Fri Aug 21 20:45:25 2015 (r290052) +++ soc2015/clord/head/sys/boot/userboot/ficl/Makefile Fri Aug 21 21:18:15 2015 (r290053) @@ -5,12 +5,15 @@ .PATH: ${.CURDIR}/../../../contrib/ficl .PATH: ${.CURDIR}/../../../contrib/ficl/${MACHINE_CPUARCH} -BASE_SRCS= dict.c ficl.c fileaccess.c float.c loader.c math64.c \ - prefix.c search.c stack.c tools.c vm.c words.c +.PATH: ${FICLDIR}/ficlplatform +BASE_SRCS= bit.c callback.c compatibility.c dictionary.c double.c fileaccess.c \ + float.c hash.c loader.c lzuncompress.c prefix.c primitives.c search.c \ + stack.c system.c tools.c unix.c utility.c vm.c word.c SRCS= ${BASE_SRCS} sysdep.c softcore.c -CLEANFILES= softcore.c testmain testmain.o +CLEANFILES= softcore.c testmain main.o extras.o CFLAGS+= -ffreestanding -fPIC +LDADD+= -lm .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" #CFLAGS+= -march=i386 CFLAGS+= -mno-mmx -mno-3dnow -mno-sse -mno-sse2 @@ -30,7 +33,7 @@ .endif .ifmake testmain CFLAGS+= -DTESTMAIN -D_TESTMAIN -SRCS+= testmain.c +SRCS+= main.c extras.c PROG= testmain .include .else @@ -40,9 +43,9 @@ .endif # Standard softwords -.PATH: ${.CURDIR}/../../../contrib/ficl/softwords -SOFTWORDS= softcore.fr jhlocal.fr marker.fr freebsd.fr ficllocal.fr \ - ifbrack.fr +.PATH: ${.CURDIR}/../../../contrib/ficl/softcore +SOFTWORDS= softcore.fr ifbrack.fr ficl.fr jhlocal.fr marker.fr \ + freebsd.fr ficllocal.fr # Optional OO extension softwords #SOFTWORDS+= oo.fr classes.fr @@ -59,7 +62,7 @@ CFLAGS+= -I${.CURDIR}/../../common softcore.c: ${SOFTWORDS} softcore.awk - (cd ${.CURDIR}/../../../contrib/ficl/softwords; cat ${SOFTWORDS} \ + (cd ${.CURDIR}/../../../contrib/ficl/softcore; cat ${SOFTWORDS} \ | awk -f softcore.awk -v datestamp="`LC_ALL=C date`") > ${.TARGET} #.if ${MACHINE_CPUARCH} == "amd64" Modified: soc2015/clord/head/sys/boot/userboot/userboot/Makefile ============================================================================== --- soc2015/clord/head/sys/boot/userboot/userboot/Makefile Fri Aug 21 20:45:25 2015 (r290052) +++ soc2015/clord/head/sys/boot/userboot/userboot/Makefile Fri Aug 21 21:18:15 2015 (r290053) @@ -62,6 +62,6 @@ CFLAGS+= -I${.CURDIR}/../../common CFLAGS+= -I. DPADD+= ${LIBFICL} ${LIBZFSBOOT} ${LIBSTAND} -LDADD+= ${LIBFICL} ${LIBZFSBOOT} ${LIBSTAND} +LDADD+= ${LIBFICL} ${LIBZFSBOOT} ${LIBSTAND} -lm .include

Nodes

IDhostmac addressip addressboot
IDhostmac addressip addressbootstatus
{{id}} {{host}} {{mac}} {{ip}} {{boot}}{{status}} Editt Delete