From owner-svn-src-user@FreeBSD.ORG Sun Feb 22 02:49:28 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C35D5D85; Sun, 22 Feb 2015 02:49:28 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AE22AC78; Sun, 22 Feb 2015 02:49:28 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M2nSFm035915; Sun, 22 Feb 2015 02:49:28 GMT (envelope-from nwhitehorn@FreeBSD.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M2nSoN035914; Sun, 22 Feb 2015 02:49:28 GMT (envelope-from nwhitehorn@FreeBSD.org) Message-Id: <201502220249.t1M2nSoN035914@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: nwhitehorn set sender to nwhitehorn@FreeBSD.org using -f From: Nathan Whitehorn Date: Sun, 22 Feb 2015 02:49:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279135 - user/nwhitehorn/ppc64-pmap-rework/ps3 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 02:49:29 -0000 Author: nwhitehorn Date: Sun Feb 22 02:49:27 2015 New Revision: 279135 URL: https://svnweb.freebsd.org/changeset/base/279135 Log: The fact that our PMAP code now can run in parallel has exposed the fact that the PS3 hypervisor's page table code does not have such capabilities. Slap a lock on all interactions with it. This fixes occasional lockups presumably caused by conflicting TLB invalidations. Modified: user/nwhitehorn/ppc64-pmap-rework/ps3/mmu_ps3.c Modified: user/nwhitehorn/ppc64-pmap-rework/ps3/mmu_ps3.c ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/ps3/mmu_ps3.c Sun Feb 22 02:16:24 2015 (r279134) +++ user/nwhitehorn/ppc64-pmap-rework/ps3/mmu_ps3.c Sun Feb 22 02:49:27 2015 (r279135) @@ -35,7 +35,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include @@ -88,14 +87,14 @@ static mmu_method_t mps3_methods[] = { MMU_DEF_INHERIT(ps3_mmu, "mmu_ps3", mps3_methods, 0, oea64_mmu); -static struct rwlock mps3_eviction_lock; +static struct mtx mps3_table_lock; static void mps3_bootstrap(mmu_t mmup, vm_offset_t kernelstart, vm_offset_t kernelend) { uint64_t final_pteg_count; - rw_init(&mps3_eviction_lock, "pte eviction"); + mtx_init(&mps3_table_lock, "page table", NULL, MTX_DEF); moea64_early_bootstrap(mmup, kernelstart, kernelend); @@ -150,7 +149,7 @@ mps3_cpu_bootstrap(mmu_t mmup, int ap) } static int64_t -mps3_pte_synch(mmu_t mmu, struct pvo_entry *pvo) +mps3_pte_synch_locked(struct pvo_entry *pvo) { uint64_t halfbucket[4], rcbits; @@ -168,7 +167,7 @@ mps3_pte_synch(mmu_t mmu, struct pvo_ent return (-1); /* - * rcbits contains the low 12 bits of each PTEs 2nd part, + * rcbits contains the low 12 bits of each PTE's 2nd part, * spaced at 16-bit intervals */ @@ -177,16 +176,28 @@ mps3_pte_synch(mmu_t mmu, struct pvo_ent } static int64_t +mps3_pte_synch(mmu_t mmu, struct pvo_entry *pvo) +{ + int64_t retval; + + mtx_lock(&mps3_table_lock); + retval = mps3_pte_synch_locked(pvo); + mtx_unlock(&mps3_table_lock); + + return (retval); +} + +static int64_t mps3_pte_clear(mmu_t mmu, struct pvo_entry *pvo, uint64_t ptebit) { int64_t refchg; struct lpte pte; - rw_rlock(&mps3_eviction_lock); + mtx_lock(&mps3_table_lock); - refchg = mps3_pte_synch(mmu, pvo); + refchg = mps3_pte_synch_locked(pvo); if (refchg < 0) { - rw_runlock(&mps3_eviction_lock); + mtx_unlock(&mps3_table_lock); return (refchg); } @@ -197,7 +208,7 @@ mps3_pte_clear(mmu_t mmu, struct pvo_ent /* XXX: race on RC bits between write and sync. Anything to do? */ lv1_write_htab_entry(mps3_vas_id, pvo->pvo_pte.slot, pte.pte_hi, pte.pte_lo); - rw_runlock(&mps3_eviction_lock); + mtx_unlock(&mps3_table_lock); return (refchg); } @@ -207,16 +218,16 @@ mps3_pte_unset(mmu_t mmu, struct pvo_ent { int64_t refchg; - rw_rlock(&mps3_eviction_lock); - refchg = mps3_pte_synch(mmu, pvo); + mtx_lock(&mps3_table_lock); + refchg = mps3_pte_synch_locked(pvo); if (refchg < 0) { moea64_pte_overflow--; - rw_runlock(&mps3_eviction_lock); + mtx_unlock(&mps3_table_lock); return (-1); } /* XXX: race on RC bits between unset and sync. Anything to do? */ lv1_write_htab_entry(mps3_vas_id, pvo->pvo_pte.slot, 0, 0); - rw_runlock(&mps3_eviction_lock); + mtx_unlock(&mps3_table_lock); moea64_pte_valid--; return (refchg & (LPTE_REF | LPTE_CHG)); @@ -239,11 +250,11 @@ mps3_pte_insert(mmu_t mmu, struct pvo_en moea64_pte_from_pvo(pvo, &pte); evicted.pte_hi = 0; PTESYNC(); - rw_wlock(&mps3_eviction_lock); + mtx_lock(&mps3_table_lock); result = lv1_insert_htab_entry(mps3_vas_id, pvo->pvo_pte.slot, pte.pte_hi, pte.pte_lo, LPTE_LOCKED | LPTE_WIRED, 0, &index, &evicted.pte_hi, &evicted.pte_lo); - rw_wunlock(&mps3_eviction_lock); + mtx_unlock(&mps3_table_lock); if (result != 0) { /* No freeable slots in either PTEG? We're hosed. */ From owner-svn-src-user@FreeBSD.ORG Sun Feb 22 03:04:42 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C35BA378; Sun, 22 Feb 2015 03:04:42 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A5D03F21; Sun, 22 Feb 2015 03:04:42 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M34g1e045732; Sun, 22 Feb 2015 03:04:42 GMT (envelope-from nwhitehorn@FreeBSD.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M34fKi045722; Sun, 22 Feb 2015 03:04:41 GMT (envelope-from nwhitehorn@FreeBSD.org) Message-Id: <201502220304.t1M34fKi045722@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: nwhitehorn set sender to nwhitehorn@FreeBSD.org using -f From: Nathan Whitehorn Date: Sun, 22 Feb 2015 03:04:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279137 - in user/nwhitehorn/ppc64-pmap-rework: powermac ps3 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 03:04:42 -0000 Author: nwhitehorn Date: Sun Feb 22 03:04:40 2015 New Revision: 279137 URL: https://svnweb.freebsd.org/changeset/base/279137 Log: MFC @ r279136 Modified: user/nwhitehorn/ppc64-pmap-rework/powermac/atibl.c user/nwhitehorn/ppc64-pmap-rework/powermac/nvbl.c user/nwhitehorn/ppc64-pmap-rework/powermac/powermac_thermal.c user/nwhitehorn/ppc64-pmap-rework/ps3/ps3_syscons.c Directory Properties: user/nwhitehorn/ppc64-pmap-rework/ (props changed) Modified: user/nwhitehorn/ppc64-pmap-rework/powermac/atibl.c ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/powermac/atibl.c Sun Feb 22 02:59:53 2015 (r279136) +++ user/nwhitehorn/ppc64-pmap-rework/powermac/atibl.c Sun Feb 22 03:04:40 2015 (r279137) @@ -38,6 +38,11 @@ __FBSDID("$FreeBSD$"); #include #include +#include + +#ifndef PCI_VENDOR_ID_ATI +#define PCI_VENDOR_ID_ATI 0x1002 +#endif /* From the xf86-video-ati driver's radeon_reg.h */ #define RADEON_LVDS_GEN_CNTL 0x02d0 @@ -121,7 +126,9 @@ atibl_probe(device_t dev) if (OF_getprop(handle, "backlight-control", &control, sizeof(control)) < 0) return (ENXIO); - if (strcmp(control, "ati") != 0) + if (strcmp(control, "ati") != 0 && + (strcmp(control, "mnca") != 0 || + pci_get_vendor(device_get_parent(dev)) != 0x1002)) return (ENXIO); device_set_desc(dev, "PowerBook backlight for ATI graphics"); @@ -162,14 +169,13 @@ atibl_pll_rreg(struct atibl_softc *sc, u { uint32_t data, save, tmp; - bus_write_1(sc->sc_memr, RADEON_CLOCK_CNTL_INDEX, - ((reg & 0x3f) | RADEON_PLL_WR_EN)); + bus_write_1(sc->sc_memr, RADEON_CLOCK_CNTL_INDEX, (reg & 0x3f)); (void)bus_read_4(sc->sc_memr, RADEON_CLOCK_CNTL_DATA); (void)bus_read_4(sc->sc_memr, RADEON_CRTC_GEN_CNTL); data = bus_read_4(sc->sc_memr, RADEON_CLOCK_CNTL_DATA); - /* Only necessary on R300, bt won't hurt others. */ + /* Only necessary on R300, but won't hurt others. */ save = bus_read_4(sc->sc_memr, RADEON_CLOCK_CNTL_INDEX); tmp = save & (~0x3f | RADEON_PLL_WR_EN); bus_write_4(sc->sc_memr, RADEON_CLOCK_CNTL_INDEX, tmp); @@ -192,7 +198,7 @@ atibl_pll_wreg(struct atibl_softc *sc, u bus_write_4(sc->sc_memr, RADEON_CLOCK_CNTL_DATA, val); DELAY(5000); - /* Only necessary on R300, bt won't hurt others. */ + /* Only necessary on R300, but won't hurt others. */ save = bus_read_4(sc->sc_memr, RADEON_CLOCK_CNTL_INDEX); tmp = save & (~0x3f | RADEON_PLL_WR_EN); bus_write_4(sc->sc_memr, RADEON_CLOCK_CNTL_INDEX, tmp); Modified: user/nwhitehorn/ppc64-pmap-rework/powermac/nvbl.c ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/powermac/nvbl.c Sun Feb 22 02:59:53 2015 (r279136) +++ user/nwhitehorn/ppc64-pmap-rework/powermac/nvbl.c Sun Feb 22 03:04:40 2015 (r279137) @@ -38,6 +38,9 @@ __FBSDID("$FreeBSD$"); #include #include +#include + +#define PCI_VENDOR_ID_NVIDIA 0x10de #define NVIDIA_BRIGHT_MIN (0x0ec) #define NVIDIA_BRIGHT_MAX (0x538) @@ -102,7 +105,8 @@ nvbl_probe(device_t dev) if (OF_getprop(handle, "backlight-control", &control, sizeof(control)) < 0) return (ENXIO); - if (strcmp(control, "mnca") != 0) + if ((strcmp(control, "mnca") != 0) || + pci_get_vendor(device_get_parent(dev)) != PCI_VENDOR_ID_NVIDIA) return (ENXIO); device_set_desc(dev, "PowerBook backlight for nVidia graphics"); Modified: user/nwhitehorn/ppc64-pmap-rework/powermac/powermac_thermal.c ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/powermac/powermac_thermal.c Sun Feb 22 02:59:53 2015 (r279136) +++ user/nwhitehorn/ppc64-pmap-rework/powermac/powermac_thermal.c Sun Feb 22 03:04:40 2015 (r279137) @@ -42,6 +42,9 @@ __FBSDID("$FreeBSD$"); #include "powermac_thermal.h" +/* A 10 second timer for spinning down fans. */ +#define FAN_HYSTERESIS_TIMER 10 + static void fan_management_proc(void); static void pmac_therm_manage_fans(void); @@ -63,6 +66,7 @@ static MALLOC_DEFINE(M_PMACTHERM, "pmact struct pmac_fan_le { struct pmac_fan *fan; int last_val; + int timer; SLIST_ENTRY(pmac_fan_le) entries; }; struct pmac_sens_le { @@ -95,6 +99,7 @@ pmac_therm_manage_fans(void) struct pmac_sens_le *sensor; struct pmac_fan_le *fan; int average_excess, max_excess_zone, frac_excess; + int fan_speed; int nsens, nsens_zone; int temp; @@ -137,10 +142,11 @@ pmac_therm_manage_fans(void) nsens = nsens_zone = 0; average_excess = max_excess_zone = 0; SLIST_FOREACH(sensor, &sensors, entries) { - frac_excess = (sensor->last_val - + temp = imin(sensor->last_val, + sensor->sensor->max_temp); + frac_excess = (temp - sensor->sensor->target_temp)*100 / - (sensor->sensor->max_temp - - sensor->sensor->target_temp); + (sensor->sensor->max_temp - temp + 1); if (frac_excess < 0) frac_excess = 0; if (sensor->sensor->zone == fan->fan->zone) { @@ -166,9 +172,21 @@ pmac_therm_manage_fans(void) * Scale the fan linearly in the max temperature in its * thermal zone. */ - fan->fan->set(fan->fan, max_excess_zone * + max_excess_zone = imin(max_excess_zone, 100); + fan_speed = max_excess_zone * (fan->fan->max_rpm - fan->fan->min_rpm)/100 + - fan->fan->min_rpm); + fan->fan->min_rpm; + if (fan_speed >= fan->last_val) { + fan->timer = FAN_HYSTERESIS_TIMER; + fan->last_val = fan_speed; + } else { + fan->timer--; + if (fan->timer == 0) { + fan->last_val = fan_speed; + fan->timer = FAN_HYSTERESIS_TIMER; + } + } + fan->fan->set(fan->fan, fan->last_val); } } Modified: user/nwhitehorn/ppc64-pmap-rework/ps3/ps3_syscons.c ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/ps3/ps3_syscons.c Sun Feb 22 02:59:53 2015 (r279136) +++ user/nwhitehorn/ppc64-pmap-rework/ps3/ps3_syscons.c Sun Feb 22 03:04:40 2015 (r279137) @@ -49,8 +49,6 @@ __FBSDID("$FreeBSD$"); #include "ps3-hvcall.h" -#define PS3FB_SIZE (4*1024*1024) - #define L1GPU_CONTEXT_ATTRIBUTE_DISPLAY_MODE_SET 0x0100 #define L1GPU_CONTEXT_ATTRIBUTE_DISPLAY_SYNC 0x0101 #define L1GPU_DISPLAY_SYNC_HSYNC 1 @@ -138,8 +136,8 @@ ps3fb_remap(void) 0,L1GPU_DISPLAY_SYNC_VSYNC,0,0); lv1_gpu_context_attribute(0, L1GPU_CONTEXT_ATTRIBUTE_DISPLAY_SYNC, 1,L1GPU_DISPLAY_SYNC_VSYNC,0,0); - lv1_gpu_memory_allocate(PS3FB_SIZE, 0, 0, 0, 0, &sc->sc_fbhandle, - &fb_paddr); + lv1_gpu_memory_allocate(roundup2(sc->fb_info.fb_size, 1024*1024), + 0, 0, 0, 0, &sc->sc_fbhandle, &fb_paddr); lv1_gpu_context_allocate(sc->sc_fbhandle, 0, &sc->sc_fbcontext, &sc->sc_dma_control, &sc->sc_driver_info, &sc->sc_reports, &sc->sc_reports_size); @@ -150,7 +148,7 @@ ps3fb_remap(void) L1GPU_CONTEXT_ATTRIBUTE_DISPLAY_FLIP, 1, 0, 0, 0); sc->fb_info.fb_pbase = fb_paddr; - for (va = 0; va < PS3FB_SIZE; va += PAGE_SIZE) + for (va = 0; va < sc->fb_info.fb_size; va += PAGE_SIZE) pmap_kenter_attr(0x10000000 + va, fb_paddr + va, VM_MEMATTR_WRITE_COMBINING); sc->fb_info.fb_flags &= ~FB_FLAG_NOWRITE; @@ -168,6 +166,8 @@ ps3fb_init(struct vt_device *vd) sc->fb_info.fb_depth = 32; sc->fb_info.fb_height = 480; sc->fb_info.fb_width = 720; + TUNABLE_INT_FETCH("hw.ps3fb.height", &sc->fb_info.fb_height); + TUNABLE_INT_FETCH("hw.ps3fb.width", &sc->fb_info.fb_width); sc->fb_info.fb_stride = sc->fb_info.fb_width*4; sc->fb_info.fb_size = sc->fb_info.fb_height * sc->fb_info.fb_stride; sc->fb_info.fb_bpp = sc->fb_info.fb_stride / sc->fb_info.fb_width * 8; From owner-svn-src-user@FreeBSD.ORG Sun Feb 22 03:30:04 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2CEB257F; Sun, 22 Feb 2015 03:30:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0C49D139; Sun, 22 Feb 2015 03:30:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M3U30j055601; Sun, 22 Feb 2015 03:30:03 GMT (envelope-from nwhitehorn@FreeBSD.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M3U38L055597; Sun, 22 Feb 2015 03:30:03 GMT (envelope-from nwhitehorn@FreeBSD.org) Message-Id: <201502220330.t1M3U38L055597@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: nwhitehorn set sender to nwhitehorn@FreeBSD.org using -f From: Nathan Whitehorn Date: Sun, 22 Feb 2015 03:30:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279138 - user/nwhitehorn/ppc64-pmap-rework/aim X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 03:30:04 -0000 Author: nwhitehorn Date: Sun Feb 22 03:30:02 2015 New Revision: 279138 URL: https://svnweb.freebsd.org/changeset/base/279138 Log: Fix operation of 32-bit kernels on 64-bit CPUs. I'm not sure this mode is even really useful, but the fixes aren't so bad. Modified: user/nwhitehorn/ppc64-pmap-rework/aim/mmu_oea64.c user/nwhitehorn/ppc64-pmap-rework/aim/moea64_native.c Modified: user/nwhitehorn/ppc64-pmap-rework/aim/mmu_oea64.c ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/aim/mmu_oea64.c Sun Feb 22 03:04:40 2015 (r279137) +++ user/nwhitehorn/ppc64-pmap-rework/aim/mmu_oea64.c Sun Feb 22 03:30:02 2015 (r279138) @@ -969,8 +969,10 @@ moea64_late_bootstrap(mmu_t mmup, vm_off moea64_kenter(mmup, moea64_scratchpage_va[i], 0); + PMAP_LOCK(kernel_pmap); moea64_scratchpage_pvo[i] = moea64_pvo_find_va( kernel_pmap, (vm_offset_t)moea64_scratchpage_va[i]); + PMAP_UNLOCK(kernel_pmap); } } } @@ -2255,7 +2257,7 @@ moea64_pvo_enter(mmu_t mmu, struct pvo_e PMAP_LOCK_ASSERT(pvo->pvo_pmap, MA_OWNED); KASSERT(moea64_pvo_find_va(pvo->pvo_pmap, PVO_VADDR(pvo)) == NULL, - ("Existing mapping for VA %#zx", PVO_VADDR(pvo))); + ("Existing mapping for VA %#jx", (uintmax_t)PVO_VADDR(pvo))); moea64_pvo_enter_calls++; Modified: user/nwhitehorn/ppc64-pmap-rework/aim/moea64_native.c ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/aim/moea64_native.c Sun Feb 22 03:04:40 2015 (r279137) +++ user/nwhitehorn/ppc64-pmap-rework/aim/moea64_native.c Sun Feb 22 03:30:02 2015 (r279138) @@ -294,8 +294,6 @@ moea64_pte_unset_native(mmu_t mmu, struc struct lpte properpt; uint64_t ptelo; - PMAP_LOCK_ASSERT(pvo->pvo_pmap, MA_OWNED); - moea64_pte_from_pvo(pvo, &properpt); rw_rlock(&moea64_eviction_lock); @@ -334,8 +332,6 @@ moea64_pte_replace_native(mmu_t mmu, str struct lpte properpt; int64_t ptelo; - PMAP_LOCK_ASSERT(pvo->pvo_pmap, MA_OWNED); - if (flags == 0) { /* Just some software bits changing. */ moea64_pte_from_pvo(pvo, &properpt); @@ -515,8 +511,9 @@ atomic_pte_lock(volatile struct lpte *pt "li %0, 0\n\t" /* failure - retval = 0 */ "3:\n\t" : "=&r" (ret), "=&r"(oldhihalf), "=m" (pte->pte_hi) - : "r" ((volatile char *)&pte->pte_hi + 4), "r" (bitmask), - "r" (LPTE_LOCKED), "m" (pte->pte_hi) + : "r" ((volatile char *)&pte->pte_hi + 4), + "r" ((uint32_t)bitmask), "r" ((uint32_t)LPTE_LOCKED), + "m" (pte->pte_hi) : "cr0", "cr1", "cr2", "memory"); *oldhi = (pte->pte_hi & 0xffffffff00000000ULL) | oldhihalf; @@ -591,8 +588,6 @@ moea64_pte_insert_native(mmu_t mmu, stru struct lpte insertpt; uintptr_t slot; - PMAP_LOCK_ASSERT(pvo->pvo_pmap, MA_OWNED); - /* Initialize PTE */ moea64_pte_from_pvo(pvo, &insertpt); From owner-svn-src-user@FreeBSD.ORG Sun Feb 22 06:22:11 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 694799AF; Sun, 22 Feb 2015 06:22:11 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 54F1520F; Sun, 22 Feb 2015 06:22:11 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M6MBJp038923; Sun, 22 Feb 2015 06:22:11 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M6MB2r038921; Sun, 22 Feb 2015 06:22:11 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502220622.t1M6MB2r038921@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sun, 22 Feb 2015 06:22:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279140 - user/dchagin/lemul/sys/compat/linprocfs X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 06:22:11 -0000 Author: dchagin Date: Sun Feb 22 06:22:10 2015 New Revision: 279140 URL: https://svnweb.freebsd.org/changeset/base/279140 Log: Simplify linprocfs_doprocenviron(). Remove extra proc visibility checks and initialize pn_vis by well known procfs_candebug(). Modified: user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c Modified: user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c ============================================================================== --- user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c Sun Feb 22 04:50:47 2015 (r279139) +++ user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c Sun Feb 22 06:22:10 2015 (r279140) @@ -958,32 +958,15 @@ linprocfs_doproccmdline(PFS_FILL_ARGS) static int linprocfs_doprocenviron(PFS_FILL_ARGS) { - int ret; - - PROC_LOCK(p); - if ((ret = p_candebug(td, p)) != 0) { - PROC_UNLOCK(p); - return (ret); - } /* * Mimic linux behavior and pass only processes with usermode * address space as valid. Return zero silently otherwize. */ - if (p->p_vmspace == &vmspace0) { - PROC_UNLOCK(p); - return (0); - } - - if ((p->p_flag & P_SYSTEM) != 0) { - PROC_UNLOCK(p); + if (p->p_vmspace == &vmspace0) return (0); - } - PROC_UNLOCK(p); - - ret = proc_getenvv(td, p, sb); - return (ret); + return (proc_getenvv(td, p, sb)); } static char l32_map_str[] = "%08lx-%08lx %s%s%s%s %08lx %02x:%02x %lu%s%s\n"; @@ -1500,7 +1483,7 @@ linprocfs_init(PFS_INIT_ARGS) pfs_create_link(dir, "cwd", &linprocfs_doproccwd, NULL, NULL, NULL, 0); pfs_create_file(dir, "environ", &linprocfs_doprocenviron, - NULL, NULL, NULL, PFS_RD); + NULL, &procfs_candebug, NULL, PFS_RD); pfs_create_link(dir, "exe", &procfs_doprocfile, NULL, &procfs_notsystem, NULL, 0); pfs_create_file(dir, "maps", &linprocfs_doprocmaps, From owner-svn-src-user@FreeBSD.ORG Sun Feb 22 08:03:47 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 94A0C7CD; Sun, 22 Feb 2015 08:03:47 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7DFBFC55; Sun, 22 Feb 2015 08:03:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M83keo085689; Sun, 22 Feb 2015 08:03:46 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M83iUv085675; Sun, 22 Feb 2015 08:03:44 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502220803.t1M83iUv085675@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sun, 22 Feb 2015 08:03:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279148 - in user/dchagin/lemul/sys: amd64/amd64 amd64/ia32 arm/arm i386/i386 mips/mips powerpc/powerpc sparc64/sparc64 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 08:03:47 -0000 Author: dchagin Date: Sun Feb 22 08:03:44 2015 New Revision: 279148 URL: https://svnweb.freebsd.org/changeset/base/279148 Log: The kernel sends signals to the processes via ABI specific sv_sendsig method. Native ABI do not need signal conversion, only emulators may want this. Usually emulators implements its own sv_sendsig method. For now only ibcs2 emulator does not have own sv_sendsig implementation and depends on native sendsig() method. So, remove any extra attempts to convert signal numbers from native sendsig() methods except from i386 where ibsc2 is living. Modified: user/dchagin/lemul/sys/amd64/amd64/machdep.c user/dchagin/lemul/sys/amd64/ia32/ia32_signal.c user/dchagin/lemul/sys/arm/arm/machdep.c user/dchagin/lemul/sys/i386/i386/machdep.c user/dchagin/lemul/sys/mips/mips/freebsd32_machdep.c user/dchagin/lemul/sys/mips/mips/pm_machdep.c user/dchagin/lemul/sys/powerpc/powerpc/exec_machdep.c user/dchagin/lemul/sys/sparc64/sparc64/machdep.c Modified: user/dchagin/lemul/sys/amd64/amd64/machdep.c ============================================================================== --- user/dchagin/lemul/sys/amd64/amd64/machdep.c Sun Feb 22 07:20:04 2015 (r279147) +++ user/dchagin/lemul/sys/amd64/amd64/machdep.c Sun Feb 22 08:03:44 2015 (r279148) @@ -398,10 +398,6 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, /* Align to 16 bytes. */ sfp = (struct sigframe *)((unsigned long)sp & ~0xFul); - /* Translate the signal if appropriate. */ - if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize) - sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)]; - /* Build the argument list for the signal handler. */ regs->tf_rdi = sig; /* arg 1 in %rdi */ regs->tf_rdx = (register_t)&sfp->sf_uc; /* arg 3 in %rdx */ Modified: user/dchagin/lemul/sys/amd64/ia32/ia32_signal.c ============================================================================== --- user/dchagin/lemul/sys/amd64/ia32/ia32_signal.c Sun Feb 22 07:20:04 2015 (r279147) +++ user/dchagin/lemul/sys/amd64/ia32/ia32_signal.c Sun Feb 22 08:03:44 2015 (r279148) @@ -360,10 +360,6 @@ ia32_osendsig(sig_t catcher, ksiginfo_t } else fp = (struct ia32_sigframe3 *)regs->tf_rsp - 1; - /* Translate the signal if appropriate. */ - if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize) - sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)]; - /* Build the argument list for the signal handler. */ sf.sf_signum = sig; sf.sf_scp = (register_t)&fp->sf_siginfo.si_sc; @@ -498,10 +494,6 @@ freebsd4_ia32_sendsig(sig_t catcher, ksi sfp = (struct ia32_sigframe4 *)regs->tf_rsp - 1; PROC_UNLOCK(p); - /* Translate the signal if appropriate. */ - if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize) - sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)]; - /* Build the argument list for the signal handler. */ sf.sf_signum = sig; sf.sf_ucontext = (register_t)&sfp->sf_uc; @@ -643,10 +635,6 @@ ia32_sendsig(sig_t catcher, ksiginfo_t * sfp = (struct ia32_sigframe *)((uintptr_t)sp & ~0xF); PROC_UNLOCK(p); - /* Translate the signal if appropriate. */ - if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize) - sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)]; - /* Build the argument list for the signal handler. */ sf.sf_signum = sig; sf.sf_ucontext = (register_t)&sfp->sf_uc; Modified: user/dchagin/lemul/sys/arm/arm/machdep.c ============================================================================== --- user/dchagin/lemul/sys/arm/arm/machdep.c Sun Feb 22 07:20:04 2015 (r279147) +++ user/dchagin/lemul/sys/arm/arm/machdep.c Sun Feb 22 08:03:44 2015 (r279148) @@ -261,10 +261,6 @@ sendsig(catcher, ksi, mask) sigexit(td, SIGILL); } - /* Translate the signal if appropriate. */ - if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize) - sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)]; - /* * Build context to run handler in. We invoke the handler * directly, only returning via the trampoline. Note the Modified: user/dchagin/lemul/sys/i386/i386/machdep.c ============================================================================== --- user/dchagin/lemul/sys/i386/i386/machdep.c Sun Feb 22 07:20:04 2015 (r279147) +++ user/dchagin/lemul/sys/i386/i386/machdep.c Sun Feb 22 08:03:44 2015 (r279148) @@ -403,10 +403,6 @@ osendsig(sig_t catcher, ksiginfo_t *ksi, } else fp = (struct osigframe *)regs->tf_esp - 1; - /* Translate the signal if appropriate. */ - if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize) - sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)]; - /* Build the argument list for the signal handler. */ sf.sf_signum = sig; sf.sf_scp = (register_t)&fp->sf_siginfo.si_sc; @@ -554,10 +550,6 @@ freebsd4_sendsig(sig_t catcher, ksiginfo } else sfp = (struct sigframe4 *)regs->tf_esp - 1; - /* Translate the signal if appropriate. */ - if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize) - sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)]; - /* Build the argument list for the signal handler. */ sf.sf_signum = sig; sf.sf_ucontext = (register_t)&sfp->sf_uc; Modified: user/dchagin/lemul/sys/mips/mips/freebsd32_machdep.c ============================================================================== --- user/dchagin/lemul/sys/mips/mips/freebsd32_machdep.c Sun Feb 22 07:20:04 2015 (r279147) +++ user/dchagin/lemul/sys/mips/mips/freebsd32_machdep.c Sun Feb 22 08:03:44 2015 (r279148) @@ -419,12 +419,6 @@ freebsd32_sendsig(sig_t catcher, ksiginf sfp = (struct sigframe32 *)((vm_offset_t)(td->td_frame->sp - sizeof(struct sigframe32)) & ~(sizeof(__int64_t) - 1)); - /* Translate the signal if appropriate */ - if (p->p_sysent->sv_sigtbl) { - if (sig <= p->p_sysent->sv_sigsize) - sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)]; - } - /* Build the argument list for the signal handler. */ td->td_frame->a0 = sig; td->td_frame->a2 = (register_t)(intptr_t)&sfp->sf_uc; Modified: user/dchagin/lemul/sys/mips/mips/pm_machdep.c ============================================================================== --- user/dchagin/lemul/sys/mips/mips/pm_machdep.c Sun Feb 22 07:20:04 2015 (r279147) +++ user/dchagin/lemul/sys/mips/mips/pm_machdep.c Sun Feb 22 08:03:44 2015 (r279148) @@ -133,12 +133,6 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, sfp = (struct sigframe *)((vm_offset_t)(regs->sp - sizeof(struct sigframe)) & ~(sizeof(__int64_t) - 1)); - /* Translate the signal if appropriate */ - if (p->p_sysent->sv_sigtbl) { - if (sig <= p->p_sysent->sv_sigsize) - sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)]; - } - /* Build the argument list for the signal handler. */ regs->a0 = sig; regs->a2 = (register_t)(intptr_t)&sfp->sf_uc; Modified: user/dchagin/lemul/sys/powerpc/powerpc/exec_machdep.c ============================================================================== --- user/dchagin/lemul/sys/powerpc/powerpc/exec_machdep.c Sun Feb 22 07:20:04 2015 (r279147) +++ user/dchagin/lemul/sys/powerpc/powerpc/exec_machdep.c Sun Feb 22 08:03:44 2015 (r279148) @@ -231,12 +231,6 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, } /* - * Translate the signal if appropriate (Linux emu ?) - */ - if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize) - sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)]; - - /* * Save the floating-point state, if necessary, then copy it. */ /* XXX */ Modified: user/dchagin/lemul/sys/sparc64/sparc64/machdep.c ============================================================================== --- user/dchagin/lemul/sys/sparc64/sparc64/machdep.c Sun Feb 22 07:20:04 2015 (r279147) +++ user/dchagin/lemul/sys/sparc64/sparc64/machdep.c Sun Feb 22 08:03:44 2015 (r279148) @@ -654,10 +654,6 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, fp = (struct frame *)sfp - 1; - /* Translate the signal if appropriate. */ - if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize) - sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)]; - /* Build the argument list for the signal handler. */ tf->tf_out[0] = sig; tf->tf_out[2] = (register_t)&sfp->sf_uc; From owner-svn-src-user@FreeBSD.ORG Sun Feb 22 08:25:21 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 49BB3B0F; Sun, 22 Feb 2015 08:25:21 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 30432E0C; Sun, 22 Feb 2015 08:25:21 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M8PLKH095402; Sun, 22 Feb 2015 08:25:21 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M8P9ck095339; Sun, 22 Feb 2015 08:25:09 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502220825.t1M8P9ck095339@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sun, 22 Feb 2015 08:25:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279149 - in user/dchagin/lemul: . bin/pkill/tests contrib/ipfilter etc lib/libc/db/man lib/libc/gen lib/libc/regex lib/libc/sys lib/msun/src release release/doc/en_US.ISO8859-1/relnote... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 08:25:21 -0000 Author: dchagin Date: Sun Feb 22 08:25:08 2015 New Revision: 279149 URL: https://svnweb.freebsd.org/changeset/base/279149 Log: Merge from head. Added: user/dchagin/lemul/share/man/man4/man4.powerpc/llan.4 - copied unchanged from r279148, head/share/man/man4/man4.powerpc/llan.4 user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslprintf.c - copied unchanged from r279148, head/sys/contrib/dev/acpica/compiler/aslprintf.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslprune.c - copied unchanged from r279148, head/sys/contrib/dev/acpica/compiler/aslprune.c user/dchagin/lemul/sys/contrib/dev/acpica/components/disassembler/dmcstyle.c - copied unchanged from r279148, head/sys/contrib/dev/acpica/components/disassembler/dmcstyle.c user/dchagin/lemul/sys/dev/ofw/ofw_cpu.h - copied unchanged from r279148, head/sys/dev/ofw/ofw_cpu.h Deleted: user/dchagin/lemul/sys/dev/cxgb/sys/mbufq.h user/dchagin/lemul/sys/dev/xen/netfront/mbufq.h Modified: user/dchagin/lemul/Makefile.inc1 user/dchagin/lemul/UPDATING user/dchagin/lemul/bin/pkill/tests/pgrep-j_test.sh user/dchagin/lemul/bin/pkill/tests/pkill-j_test.sh user/dchagin/lemul/contrib/ipfilter/ip_fil.c user/dchagin/lemul/contrib/ipfilter/ipf.h user/dchagin/lemul/etc/netstart user/dchagin/lemul/lib/libc/db/man/dbm.3 user/dchagin/lemul/lib/libc/gen/getgrent.c user/dchagin/lemul/lib/libc/gen/getpwent.c user/dchagin/lemul/lib/libc/gen/setmode.c user/dchagin/lemul/lib/libc/regex/engine.c user/dchagin/lemul/lib/libc/regex/regcomp.c user/dchagin/lemul/lib/libc/sys/mmap.2 user/dchagin/lemul/lib/msun/src/e_j0.c user/dchagin/lemul/lib/msun/src/e_j0f.c user/dchagin/lemul/lib/msun/src/e_j1.c user/dchagin/lemul/lib/msun/src/e_j1f.c user/dchagin/lemul/release/doc/en_US.ISO8859-1/relnotes/article.xml user/dchagin/lemul/release/release.conf.sample user/dchagin/lemul/release/release.sh user/dchagin/lemul/share/man/man4/Makefile user/dchagin/lemul/share/man/man4/man4.arm/devcfg.4 user/dchagin/lemul/share/man/man4/man4.i386/apm.4 user/dchagin/lemul/share/man/man4/man4.powerpc/Makefile user/dchagin/lemul/share/man/man4/man4.powerpc/tsec.4 user/dchagin/lemul/share/man/man5/rc.conf.5 user/dchagin/lemul/share/man/man7/release.7 user/dchagin/lemul/share/man/man9/microuptime.9 user/dchagin/lemul/share/misc/committers-doc.dot user/dchagin/lemul/share/mk/bsd.sys.mk user/dchagin/lemul/sys/amd64/amd64/ptrace_machdep.c user/dchagin/lemul/sys/arm/arm/db_trace.c user/dchagin/lemul/sys/arm/arm/unwind.c user/dchagin/lemul/sys/arm/include/atomic.h user/dchagin/lemul/sys/arm/include/stack.h user/dchagin/lemul/sys/boot/efi/include/amd64/efibind.h user/dchagin/lemul/sys/boot/efi/include/efidef.h user/dchagin/lemul/sys/boot/efi/include/i386/efibind.h user/dchagin/lemul/sys/cddl/dev/dtrace/arm/dtrace_isa.c user/dchagin/lemul/sys/conf/NOTES user/dchagin/lemul/sys/conf/files user/dchagin/lemul/sys/conf/files.arm user/dchagin/lemul/sys/conf/kmod.mk user/dchagin/lemul/sys/contrib/dev/acpica/changes.txt (contents, props changed) user/dchagin/lemul/sys/contrib/dev/acpica/common/acgetline.c user/dchagin/lemul/sys/contrib/dev/acpica/common/adfile.c user/dchagin/lemul/sys/contrib/dev/acpica/common/adisasm.c user/dchagin/lemul/sys/contrib/dev/acpica/common/adwalk.c user/dchagin/lemul/sys/contrib/dev/acpica/common/ahids.c user/dchagin/lemul/sys/contrib/dev/acpica/common/ahpredef.c user/dchagin/lemul/sys/contrib/dev/acpica/common/ahuuids.c user/dchagin/lemul/sys/contrib/dev/acpica/common/cmfsize.c user/dchagin/lemul/sys/contrib/dev/acpica/common/dmextern.c user/dchagin/lemul/sys/contrib/dev/acpica/common/dmrestag.c user/dchagin/lemul/sys/contrib/dev/acpica/common/dmtable.c user/dchagin/lemul/sys/contrib/dev/acpica/common/dmtbdump.c user/dchagin/lemul/sys/contrib/dev/acpica/common/dmtbinfo.c user/dchagin/lemul/sys/contrib/dev/acpica/common/getopt.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslanalyze.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslascii.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslbtypes.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslcodegen.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslcompile.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslcompiler.h user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslcompiler.l user/dchagin/lemul/sys/contrib/dev/acpica/compiler/asldefine.h user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslerror.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslfileio.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslfiles.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslfold.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslglobal.h user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslhex.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/asllength.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/asllisting.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/asllistsup.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslload.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/asllookup.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslmain.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslmap.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslmapenter.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslmapoutput.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslmaputils.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslmessages.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslmessages.h user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslmethod.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslnamesp.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/asloffset.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslopcodes.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/asloperands.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslopt.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/asloptions.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslparser.y user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslpredef.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslprepkg.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslresource.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslrestype1.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslrestype1i.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslrestype2.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslrestype2d.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslrestype2e.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslrestype2q.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslrestype2s.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslrestype2w.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslrules.y user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslstartup.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslstubs.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslsupport.l user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslsupport.y user/dchagin/lemul/sys/contrib/dev/acpica/compiler/asltokens.y user/dchagin/lemul/sys/contrib/dev/acpica/compiler/asltransform.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/asltree.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/asltypes.h user/dchagin/lemul/sys/contrib/dev/acpica/compiler/asltypes.y user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslutils.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/asluuid.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslwalks.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/aslxref.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/dtcompile.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/dtcompiler.h user/dchagin/lemul/sys/contrib/dev/acpica/compiler/dtexpress.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/dtfield.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/dtio.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/dtparser.l user/dchagin/lemul/sys/contrib/dev/acpica/compiler/dtparser.y user/dchagin/lemul/sys/contrib/dev/acpica/compiler/dtsubtable.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/dttable.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/dttemplate.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/dttemplate.h user/dchagin/lemul/sys/contrib/dev/acpica/compiler/dtutils.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/preprocess.h user/dchagin/lemul/sys/contrib/dev/acpica/compiler/prexpress.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/prmacros.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/prparser.l user/dchagin/lemul/sys/contrib/dev/acpica/compiler/prparser.y user/dchagin/lemul/sys/contrib/dev/acpica/compiler/prscan.c user/dchagin/lemul/sys/contrib/dev/acpica/compiler/prutils.c user/dchagin/lemul/sys/contrib/dev/acpica/components/debugger/dbcmds.c user/dchagin/lemul/sys/contrib/dev/acpica/components/debugger/dbconvert.c user/dchagin/lemul/sys/contrib/dev/acpica/components/debugger/dbdisply.c user/dchagin/lemul/sys/contrib/dev/acpica/components/debugger/dbexec.c user/dchagin/lemul/sys/contrib/dev/acpica/components/debugger/dbfileio.c user/dchagin/lemul/sys/contrib/dev/acpica/components/debugger/dbhistry.c user/dchagin/lemul/sys/contrib/dev/acpica/components/debugger/dbinput.c user/dchagin/lemul/sys/contrib/dev/acpica/components/debugger/dbmethod.c user/dchagin/lemul/sys/contrib/dev/acpica/components/debugger/dbnames.c user/dchagin/lemul/sys/contrib/dev/acpica/components/debugger/dbstats.c user/dchagin/lemul/sys/contrib/dev/acpica/components/debugger/dbtest.c user/dchagin/lemul/sys/contrib/dev/acpica/components/debugger/dbutils.c user/dchagin/lemul/sys/contrib/dev/acpica/components/debugger/dbxface.c user/dchagin/lemul/sys/contrib/dev/acpica/components/disassembler/dmbuffer.c user/dchagin/lemul/sys/contrib/dev/acpica/components/disassembler/dmdeferred.c user/dchagin/lemul/sys/contrib/dev/acpica/components/disassembler/dmnames.c user/dchagin/lemul/sys/contrib/dev/acpica/components/disassembler/dmobject.c user/dchagin/lemul/sys/contrib/dev/acpica/components/disassembler/dmopcode.c user/dchagin/lemul/sys/contrib/dev/acpica/components/disassembler/dmresrc.c user/dchagin/lemul/sys/contrib/dev/acpica/components/disassembler/dmresrcl.c user/dchagin/lemul/sys/contrib/dev/acpica/components/disassembler/dmresrcl2.c user/dchagin/lemul/sys/contrib/dev/acpica/components/disassembler/dmresrcs.c user/dchagin/lemul/sys/contrib/dev/acpica/components/disassembler/dmutils.c user/dchagin/lemul/sys/contrib/dev/acpica/components/disassembler/dmwalk.c user/dchagin/lemul/sys/contrib/dev/acpica/components/dispatcher/dsargs.c user/dchagin/lemul/sys/contrib/dev/acpica/components/dispatcher/dscontrol.c user/dchagin/lemul/sys/contrib/dev/acpica/components/dispatcher/dsfield.c user/dchagin/lemul/sys/contrib/dev/acpica/components/dispatcher/dsinit.c user/dchagin/lemul/sys/contrib/dev/acpica/components/dispatcher/dsmethod.c user/dchagin/lemul/sys/contrib/dev/acpica/components/dispatcher/dsmthdat.c user/dchagin/lemul/sys/contrib/dev/acpica/components/dispatcher/dsobject.c user/dchagin/lemul/sys/contrib/dev/acpica/components/dispatcher/dsopcode.c user/dchagin/lemul/sys/contrib/dev/acpica/components/dispatcher/dsutils.c user/dchagin/lemul/sys/contrib/dev/acpica/components/dispatcher/dswexec.c user/dchagin/lemul/sys/contrib/dev/acpica/components/dispatcher/dswload.c user/dchagin/lemul/sys/contrib/dev/acpica/components/dispatcher/dswload2.c user/dchagin/lemul/sys/contrib/dev/acpica/components/dispatcher/dswscope.c user/dchagin/lemul/sys/contrib/dev/acpica/components/dispatcher/dswstate.c user/dchagin/lemul/sys/contrib/dev/acpica/components/events/evevent.c user/dchagin/lemul/sys/contrib/dev/acpica/components/events/evglock.c user/dchagin/lemul/sys/contrib/dev/acpica/components/events/evgpe.c user/dchagin/lemul/sys/contrib/dev/acpica/components/events/evgpeblk.c user/dchagin/lemul/sys/contrib/dev/acpica/components/events/evgpeinit.c user/dchagin/lemul/sys/contrib/dev/acpica/components/events/evgpeutil.c user/dchagin/lemul/sys/contrib/dev/acpica/components/events/evhandler.c user/dchagin/lemul/sys/contrib/dev/acpica/components/events/evmisc.c user/dchagin/lemul/sys/contrib/dev/acpica/components/events/evregion.c user/dchagin/lemul/sys/contrib/dev/acpica/components/events/evrgnini.c user/dchagin/lemul/sys/contrib/dev/acpica/components/events/evsci.c user/dchagin/lemul/sys/contrib/dev/acpica/components/events/evxface.c user/dchagin/lemul/sys/contrib/dev/acpica/components/events/evxfevnt.c user/dchagin/lemul/sys/contrib/dev/acpica/components/events/evxfgpe.c user/dchagin/lemul/sys/contrib/dev/acpica/components/events/evxfregn.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exconfig.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exconvrt.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/excreate.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exdebug.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exdump.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exfield.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exfldio.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exmisc.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exmutex.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exnames.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exoparg1.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exoparg2.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exoparg3.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exoparg6.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exprep.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exregion.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exresnte.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exresolv.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exresop.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exstore.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exstoren.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exstorob.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exsystem.c user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/exutils.c user/dchagin/lemul/sys/contrib/dev/acpica/components/hardware/hwacpi.c user/dchagin/lemul/sys/contrib/dev/acpica/components/hardware/hwesleep.c user/dchagin/lemul/sys/contrib/dev/acpica/components/hardware/hwgpe.c user/dchagin/lemul/sys/contrib/dev/acpica/components/hardware/hwpci.c user/dchagin/lemul/sys/contrib/dev/acpica/components/hardware/hwregs.c user/dchagin/lemul/sys/contrib/dev/acpica/components/hardware/hwsleep.c user/dchagin/lemul/sys/contrib/dev/acpica/components/hardware/hwtimer.c user/dchagin/lemul/sys/contrib/dev/acpica/components/hardware/hwvalid.c user/dchagin/lemul/sys/contrib/dev/acpica/components/hardware/hwxface.c user/dchagin/lemul/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nsaccess.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nsalloc.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nsarguments.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nsconvert.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nsdump.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nsdumpdv.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nseval.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nsinit.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nsload.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nsnames.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nsobject.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nsparse.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nspredef.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nsprepkg.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nsrepair.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nsrepair2.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nssearch.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nsutils.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nswalk.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nsxfeval.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nsxfname.c user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/nsxfobj.c user/dchagin/lemul/sys/contrib/dev/acpica/components/parser/psargs.c user/dchagin/lemul/sys/contrib/dev/acpica/components/parser/psloop.c user/dchagin/lemul/sys/contrib/dev/acpica/components/parser/psobject.c user/dchagin/lemul/sys/contrib/dev/acpica/components/parser/psopcode.c user/dchagin/lemul/sys/contrib/dev/acpica/components/parser/psopinfo.c user/dchagin/lemul/sys/contrib/dev/acpica/components/parser/psparse.c user/dchagin/lemul/sys/contrib/dev/acpica/components/parser/psscope.c user/dchagin/lemul/sys/contrib/dev/acpica/components/parser/pstree.c user/dchagin/lemul/sys/contrib/dev/acpica/components/parser/psutils.c user/dchagin/lemul/sys/contrib/dev/acpica/components/parser/pswalk.c user/dchagin/lemul/sys/contrib/dev/acpica/components/parser/psxface.c user/dchagin/lemul/sys/contrib/dev/acpica/components/resources/rsaddr.c user/dchagin/lemul/sys/contrib/dev/acpica/components/resources/rscalc.c user/dchagin/lemul/sys/contrib/dev/acpica/components/resources/rscreate.c user/dchagin/lemul/sys/contrib/dev/acpica/components/resources/rsdump.c user/dchagin/lemul/sys/contrib/dev/acpica/components/resources/rsdumpinfo.c user/dchagin/lemul/sys/contrib/dev/acpica/components/resources/rsinfo.c user/dchagin/lemul/sys/contrib/dev/acpica/components/resources/rsio.c user/dchagin/lemul/sys/contrib/dev/acpica/components/resources/rsirq.c user/dchagin/lemul/sys/contrib/dev/acpica/components/resources/rslist.c user/dchagin/lemul/sys/contrib/dev/acpica/components/resources/rsmemory.c user/dchagin/lemul/sys/contrib/dev/acpica/components/resources/rsmisc.c user/dchagin/lemul/sys/contrib/dev/acpica/components/resources/rsserial.c user/dchagin/lemul/sys/contrib/dev/acpica/components/resources/rsutils.c user/dchagin/lemul/sys/contrib/dev/acpica/components/resources/rsxface.c user/dchagin/lemul/sys/contrib/dev/acpica/components/tables/tbdata.c user/dchagin/lemul/sys/contrib/dev/acpica/components/tables/tbfadt.c user/dchagin/lemul/sys/contrib/dev/acpica/components/tables/tbfind.c user/dchagin/lemul/sys/contrib/dev/acpica/components/tables/tbinstal.c user/dchagin/lemul/sys/contrib/dev/acpica/components/tables/tbprint.c user/dchagin/lemul/sys/contrib/dev/acpica/components/tables/tbutils.c user/dchagin/lemul/sys/contrib/dev/acpica/components/tables/tbxface.c user/dchagin/lemul/sys/contrib/dev/acpica/components/tables/tbxfload.c user/dchagin/lemul/sys/contrib/dev/acpica/components/tables/tbxfroot.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utaddress.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utalloc.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utbuffer.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utcache.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utcopy.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utdebug.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utdecode.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utdelete.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/uterror.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/uteval.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utexcep.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utfileio.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utglobal.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/uthex.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utids.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utinit.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utlock.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utmath.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utmisc.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utmutex.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utobject.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utosi.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utownerid.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utpredef.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utprint.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utresrc.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utstate.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utstring.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/uttrack.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utuuid.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utxface.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utxferror.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utxfinit.c user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/utxfmutex.c user/dchagin/lemul/sys/contrib/dev/acpica/include/acapps.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acbuffer.h user/dchagin/lemul/sys/contrib/dev/acpica/include/accommon.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acconfig.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acdebug.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acdisasm.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acdispat.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acevents.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acexcep.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acglobal.h user/dchagin/lemul/sys/contrib/dev/acpica/include/achware.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acinterp.h user/dchagin/lemul/sys/contrib/dev/acpica/include/aclocal.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acmacros.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acnames.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acnamesp.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acobject.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acopcode.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acoutput.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acparser.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acpi.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acpiosxf.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acpixf.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acpredef.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acresrc.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acrestyp.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acstruct.h user/dchagin/lemul/sys/contrib/dev/acpica/include/actables.h user/dchagin/lemul/sys/contrib/dev/acpica/include/actbl.h user/dchagin/lemul/sys/contrib/dev/acpica/include/actbl1.h user/dchagin/lemul/sys/contrib/dev/acpica/include/actbl2.h user/dchagin/lemul/sys/contrib/dev/acpica/include/actbl3.h user/dchagin/lemul/sys/contrib/dev/acpica/include/actypes.h user/dchagin/lemul/sys/contrib/dev/acpica/include/acutils.h user/dchagin/lemul/sys/contrib/dev/acpica/include/amlcode.h user/dchagin/lemul/sys/contrib/dev/acpica/include/amlresrc.h user/dchagin/lemul/sys/contrib/dev/acpica/include/platform/acenv.h user/dchagin/lemul/sys/contrib/dev/acpica/include/platform/acenvex.h user/dchagin/lemul/sys/contrib/dev/acpica/include/platform/acfreebsd.h user/dchagin/lemul/sys/contrib/dev/acpica/include/platform/acgcc.h user/dchagin/lemul/sys/contrib/dev/acpica/os_specific/service_layers/oslibcfs.c user/dchagin/lemul/sys/contrib/dev/acpica/os_specific/service_layers/osunixxf.c user/dchagin/lemul/sys/dev/cxgb/cxgb_adapter.h user/dchagin/lemul/sys/dev/cxgb/cxgb_sge.c user/dchagin/lemul/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c user/dchagin/lemul/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h user/dchagin/lemul/sys/dev/cxgbe/t4_sge.c user/dchagin/lemul/sys/dev/ixl/i40e_adminq.c user/dchagin/lemul/sys/dev/ixl/i40e_adminq_cmd.h user/dchagin/lemul/sys/dev/ixl/i40e_common.c user/dchagin/lemul/sys/dev/ixl/i40e_lan_hmc.c user/dchagin/lemul/sys/dev/ixl/i40e_prototype.h user/dchagin/lemul/sys/dev/ixl/i40e_type.h user/dchagin/lemul/sys/dev/ixl/if_ixl.c user/dchagin/lemul/sys/dev/ixl/if_ixlv.c user/dchagin/lemul/sys/dev/ixl/ixl.h user/dchagin/lemul/sys/dev/ixl/ixl_pf.h user/dchagin/lemul/sys/dev/ixl/ixl_txrx.c user/dchagin/lemul/sys/dev/ixl/ixlvc.c user/dchagin/lemul/sys/dev/ofw/ofw_cpu.c user/dchagin/lemul/sys/dev/sfxge/common/efsys.h user/dchagin/lemul/sys/dev/sfxge/common/efx.h user/dchagin/lemul/sys/dev/sfxge/common/efx_ev.c user/dchagin/lemul/sys/dev/sfxge/common/efx_filter.c user/dchagin/lemul/sys/dev/sfxge/common/efx_impl.h user/dchagin/lemul/sys/dev/sfxge/common/efx_mcdi.c user/dchagin/lemul/sys/dev/sfxge/common/efx_mcdi.h user/dchagin/lemul/sys/dev/sfxge/common/efx_mon.c user/dchagin/lemul/sys/dev/sfxge/common/efx_nic.c user/dchagin/lemul/sys/dev/sfxge/common/efx_phy.c user/dchagin/lemul/sys/dev/sfxge/common/efx_regs_ef10.h user/dchagin/lemul/sys/dev/sfxge/common/efx_regs_mcdi.h user/dchagin/lemul/sys/dev/sfxge/common/efx_tx.c user/dchagin/lemul/sys/dev/sfxge/common/siena_mac.c user/dchagin/lemul/sys/dev/sfxge/common/siena_mon.c user/dchagin/lemul/sys/dev/sfxge/common/siena_nic.c user/dchagin/lemul/sys/dev/sfxge/common/siena_nvram.c user/dchagin/lemul/sys/dev/sfxge/common/siena_sram.c user/dchagin/lemul/sys/dev/sfxge/sfxge_rx.c user/dchagin/lemul/sys/dev/sfxge/sfxge_tx.c user/dchagin/lemul/sys/dev/sfxge/sfxge_tx.h user/dchagin/lemul/sys/dev/xen/netfront/netfront.c user/dchagin/lemul/sys/i386/i386/ptrace_machdep.c user/dchagin/lemul/sys/kern/kern_ctf.c user/dchagin/lemul/sys/kern/link_elf.c user/dchagin/lemul/sys/net/if_var.h user/dchagin/lemul/sys/net/if_vlan.c user/dchagin/lemul/sys/netinet/igmp.c user/dchagin/lemul/sys/netinet/igmp_var.h user/dchagin/lemul/sys/netinet/in_mcast.c user/dchagin/lemul/sys/netinet/in_var.h user/dchagin/lemul/sys/netinet6/in6_mcast.c user/dchagin/lemul/sys/netinet6/in6_var.h user/dchagin/lemul/sys/netinet6/mld6.c user/dchagin/lemul/sys/netinet6/mld6_var.h user/dchagin/lemul/sys/ofed/drivers/infiniband/core/cma.c user/dchagin/lemul/sys/powerpc/powermac/powermac_thermal.c user/dchagin/lemul/sys/powerpc/ps3/ps3_syscons.c user/dchagin/lemul/sys/sys/cpu.h user/dchagin/lemul/sys/sys/mbuf.h user/dchagin/lemul/sys/x86/acpica/acpi_wakeup.c user/dchagin/lemul/sys/x86/iommu/busdma_dmar.c user/dchagin/lemul/usr.bin/mkimg/Makefile user/dchagin/lemul/usr.bin/mkimg/mkimg.1 user/dchagin/lemul/usr.bin/mkimg/mkimg.c user/dchagin/lemul/usr.bin/mkimg/scheme.c user/dchagin/lemul/usr.bin/netstat/Makefile user/dchagin/lemul/usr.bin/netstat/bpf.c user/dchagin/lemul/usr.bin/netstat/flowtable.c user/dchagin/lemul/usr.bin/netstat/if.c user/dchagin/lemul/usr.bin/netstat/inet.c user/dchagin/lemul/usr.bin/netstat/inet6.c user/dchagin/lemul/usr.bin/netstat/ipsec.c user/dchagin/lemul/usr.bin/netstat/main.c user/dchagin/lemul/usr.bin/netstat/mbuf.c user/dchagin/lemul/usr.bin/netstat/mroute.c user/dchagin/lemul/usr.bin/netstat/mroute6.c user/dchagin/lemul/usr.bin/netstat/netgraph.c user/dchagin/lemul/usr.bin/netstat/netisr.c user/dchagin/lemul/usr.bin/netstat/netstat.1 user/dchagin/lemul/usr.bin/netstat/netstat.h user/dchagin/lemul/usr.bin/netstat/pfkey.c user/dchagin/lemul/usr.bin/netstat/route.c user/dchagin/lemul/usr.bin/netstat/sctp.c user/dchagin/lemul/usr.bin/netstat/unix.c user/dchagin/lemul/usr.sbin/acpi/acpidb/Makefile user/dchagin/lemul/usr.sbin/acpi/acpidb/acpidb.c user/dchagin/lemul/usr.sbin/acpi/iasl/Makefile user/dchagin/lemul/usr.sbin/ifmcstat/Makefile user/dchagin/lemul/usr.sbin/ifmcstat/ifmcstat.c user/dchagin/lemul/usr.sbin/jls/jls.8 user/dchagin/lemul/usr.sbin/jls/jls.c user/dchagin/lemul/usr.sbin/syslogd/syslogd.c Directory Properties: user/dchagin/lemul/ (props changed) user/dchagin/lemul/contrib/ipfilter/ (props changed) user/dchagin/lemul/etc/ (props changed) user/dchagin/lemul/lib/libc/ (props changed) user/dchagin/lemul/share/ (props changed) user/dchagin/lemul/share/man/man4/ (props changed) user/dchagin/lemul/sys/ (props changed) user/dchagin/lemul/sys/boot/ (props changed) user/dchagin/lemul/sys/conf/ (props changed) user/dchagin/lemul/sys/contrib/dev/acpica/ (props changed) user/dchagin/lemul/sys/contrib/dev/acpica/common/ (props changed) user/dchagin/lemul/sys/contrib/dev/acpica/compiler/ (props changed) user/dchagin/lemul/sys/contrib/dev/acpica/components/debugger/ (props changed) user/dchagin/lemul/sys/contrib/dev/acpica/components/disassembler/ (props changed) user/dchagin/lemul/sys/contrib/dev/acpica/components/dispatcher/ (props changed) user/dchagin/lemul/sys/contrib/dev/acpica/components/events/ (props changed) user/dchagin/lemul/sys/contrib/dev/acpica/components/executer/ (props changed) user/dchagin/lemul/sys/contrib/dev/acpica/components/hardware/ (props changed) user/dchagin/lemul/sys/contrib/dev/acpica/components/namespace/ (props changed) user/dchagin/lemul/sys/contrib/dev/acpica/components/parser/ (props changed) user/dchagin/lemul/sys/contrib/dev/acpica/components/resources/ (props changed) user/dchagin/lemul/sys/contrib/dev/acpica/components/tables/ (props changed) user/dchagin/lemul/sys/contrib/dev/acpica/components/utilities/ (props changed) user/dchagin/lemul/sys/contrib/dev/acpica/include/ (props changed) user/dchagin/lemul/sys/contrib/dev/acpica/os_specific/ (props changed) user/dchagin/lemul/usr.bin/mkimg/ (props changed) Modified: user/dchagin/lemul/Makefile.inc1 ============================================================================== --- user/dchagin/lemul/Makefile.inc1 Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/Makefile.inc1 Sun Feb 22 08:25:08 2015 (r279149) @@ -1247,11 +1247,6 @@ _m4= lib/libohash \ usr.bin/m4 .endif -.if ${BOOTSTRAPPING} < 1000013 -_yacc= lib/liby \ - usr.bin/yacc -.endif - .if ${BOOTSTRAPPING} < 1000014 _crunch= usr.sbin/crunch .endif @@ -1273,6 +1268,11 @@ _lex= usr.bin/lex _awk= usr.bin/awk .endif +.if ${BOOTSTRAPPING} < 1001506 +_yacc= lib/liby \ + usr.bin/yacc +.endif + .if ${MK_BSNMP} != "no" _gensnmptree= usr.sbin/bsnmpd/gensnmptree .endif Modified: user/dchagin/lemul/UPDATING ============================================================================== --- user/dchagin/lemul/UPDATING Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/UPDATING Sun Feb 22 08:25:08 2015 (r279149) @@ -36,8 +36,8 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 but before r278950, the RNG was not seeded properly. Immediately upgrade the kernel to r278950 or later and regenerate any keys (e.g. ssh keys or openssl keys) that were generated w/ a kernel from that - range. This does not effect programs that directly used /dev/random - or /dev/urandom. All userland uses of arc4random(3) are effected. + range. This does not affect programs that directly used /dev/random + or /dev/urandom. All userland uses of arc4random(3) are affected. 20150210: The autofs(4) ABI was changed in order to restore binary compatibility Modified: user/dchagin/lemul/bin/pkill/tests/pgrep-j_test.sh ============================================================================== --- user/dchagin/lemul/bin/pkill/tests/pgrep-j_test.sh Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/bin/pkill/tests/pgrep-j_test.sh Sun Feb 22 08:25:08 2015 (r279149) @@ -4,7 +4,7 @@ jail_name_to_jid() { local check_name="$1" - jls -j "$check_name" -s 2>/dev/null | tr ' ' '\n' | grep jid= | sed -e 's/.*=//g' + jls -j "$check_name" -s | tr ' ' '\n' | grep jid= | sed -e 's/.*=//g' } base=pgrep_j_test @@ -38,6 +38,7 @@ for i in `seq 1 10`; do esac sleep 0.1 done +sleep 0.5 pid1="$(pgrep -f -x -j "$jid" "$sleep $sleep_amount" | sort)" pid2=$(printf "%s\n%s" "$(cat ${PWD}/${base}_1_1.pid)" \ Modified: user/dchagin/lemul/bin/pkill/tests/pkill-j_test.sh ============================================================================== --- user/dchagin/lemul/bin/pkill/tests/pkill-j_test.sh Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/bin/pkill/tests/pkill-j_test.sh Sun Feb 22 08:25:08 2015 (r279149) @@ -4,7 +4,7 @@ jail_name_to_jid() { local check_name="$1" - jls -j "$check_name" -s 2>/dev/null | tr ' ' '\n' | grep jid= | sed -e 's/.*=//g' + jls -j "$check_name" -s | tr ' ' '\n' | grep jid= | sed -e 's/.*=//g' } base=pkill_j_test @@ -40,6 +40,7 @@ for i in `seq 1 10`; do esac sleep 0.1 done +sleep 0.5 if pkill -f -j "$jid" $sleep && sleep 0.5 && ! -f ${PWD}/${base}_1_1.pid && Modified: user/dchagin/lemul/contrib/ipfilter/ip_fil.c ============================================================================== --- user/dchagin/lemul/contrib/ipfilter/ip_fil.c Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/contrib/ipfilter/ip_fil.c Sun Feb 22 08:25:08 2015 (r279149) @@ -44,6 +44,9 @@ static int write_output __P((struct ifne # endif #endif +struct ifaddr { + struct sockaddr_storage ifa_addr; +}; int ipfattach(softc) Modified: user/dchagin/lemul/contrib/ipfilter/ipf.h ============================================================================== --- user/dchagin/lemul/contrib/ipfilter/ipf.h Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/contrib/ipfilter/ipf.h Sun Feb 22 08:25:08 2015 (r279149) @@ -43,9 +43,6 @@ struct file; #include #include -#define _WANT_IFADDR -#include - #include #include #include Modified: user/dchagin/lemul/etc/netstart ============================================================================== --- user/dchagin/lemul/etc/netstart Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/etc/netstart Sun Feb 22 08:25:08 2015 (r279149) @@ -57,7 +57,6 @@ _start=quietstart /etc/rc.d/routing ${_start} /etc/rc.d/mroute6d ${_start} /etc/rc.d/route6d ${_start} -/etc/rc.d/mrouted ${_start} /etc/rc.d/routed ${_start} /etc/rc.d/rtsold ${_start} /etc/rc.d/nisdomain ${_start} Modified: user/dchagin/lemul/lib/libc/db/man/dbm.3 ============================================================================== --- user/dchagin/lemul/lib/libc/db/man/dbm.3 Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/lib/libc/db/man/dbm.3 Sun Feb 22 08:25:08 2015 (r279149) @@ -15,7 +15,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 16, 2006 +.Dd February 19, 2015 .Dt DBM 3 .Os .Sh NAME @@ -174,9 +174,7 @@ deletes the entry for The .Fn dbm_delete function -normally returns zero but returns 1 if there was no entry with -.Fa key -in the database or returns -1 and sets +normally returns zero or returns -1 and sets .Va errno if there were any errors. .Pp Modified: user/dchagin/lemul/lib/libc/gen/getgrent.c ============================================================================== --- user/dchagin/lemul/lib/libc/gen/getgrent.c Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/lib/libc/gen/getgrent.c Sun Feb 22 08:25:08 2015 (r279149) @@ -1173,8 +1173,10 @@ nis_group(void *retval, void *mdata, va_ * terminator, alignment padding, and one (char *) * pointer for the member list terminator. */ - if (resultlen >= bufsize - _ALIGNBYTES - sizeof(char *)) + if (resultlen >= bufsize - _ALIGNBYTES - sizeof(char *)) { + free(result); goto erange; + } memcpy(buffer, result, resultlen); buffer[resultlen] = '\0'; free(result); Modified: user/dchagin/lemul/lib/libc/gen/getpwent.c ============================================================================== --- user/dchagin/lemul/lib/libc/gen/getpwent.c Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/lib/libc/gen/getpwent.c Sun Feb 22 08:25:08 2015 (r279149) @@ -1392,8 +1392,10 @@ nis_passwd(void *retval, void *mdata, va continue; } } - if (resultlen >= bufsize) + if (resultlen >= bufsize) { + free(result); goto erange; + } memcpy(buffer, result, resultlen); buffer[resultlen] = '\0'; free(result); Modified: user/dchagin/lemul/lib/libc/gen/setmode.c ============================================================================== --- user/dchagin/lemul/lib/libc/gen/setmode.c Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/lib/libc/gen/setmode.c Sun Feb 22 08:25:08 2015 (r279149) @@ -186,10 +186,10 @@ setmode(const char *p) * as best we can. */ sigfillset(&sigset); - (void)_sigprocmask(SIG_BLOCK, &sigset, &sigoset); + (void)_sigprocmask(SIG_BLOCK, &sigset, &sigoset); (void)umask(mask = umask(0)); mask = ~mask; - (void)_sigprocmask(SIG_SETMASK, &sigoset, NULL); + (void)_sigprocmask(SIG_SETMASK, &sigoset, NULL); setlen = SET_LEN + 2; Modified: user/dchagin/lemul/lib/libc/regex/engine.c ============================================================================== --- user/dchagin/lemul/lib/libc/regex/engine.c Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/lib/libc/regex/engine.c Sun Feb 22 08:25:08 2015 (r279149) @@ -157,7 +157,7 @@ matcher(struct re_guts *g, int i; struct match mv; struct match *m = &mv; - const char *dp; + const char *dp = NULL; const sopno gf = g->firststate+1; /* +1 for OEND */ const sopno gl = g->laststate; const char *start; @@ -244,7 +244,7 @@ matcher(struct re_guts *g, ZAPSTATE(&m->mbs); /* Adjust start according to moffset, to speed things up */ - if (g->moffset > -1) + if (dp != NULL && g->moffset > -1) start = ((dp - g->moffset) < start) ? start : dp - g->moffset; SP("mloop", m->st, *start); Modified: user/dchagin/lemul/lib/libc/regex/regcomp.c ============================================================================== --- user/dchagin/lemul/lib/libc/regex/regcomp.c Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/lib/libc/regex/regcomp.c Sun Feb 22 08:25:08 2015 (r279149) @@ -1422,8 +1422,8 @@ static void findmust(struct parse *p, struct re_guts *g) { sop *scan; - sop *start; - sop *newstart; + sop *start = NULL; + sop *newstart = NULL; sopno newlen; sop s; char *cp; Modified: user/dchagin/lemul/lib/libc/sys/mmap.2 ============================================================================== --- user/dchagin/lemul/lib/libc/sys/mmap.2 Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/lib/libc/sys/mmap.2 Sun Feb 22 08:25:08 2015 (r279149) @@ -28,7 +28,7 @@ .\" @(#)mmap.2 8.4 (Berkeley) 5/11/95 .\" $FreeBSD$ .\" -.Dd September 17, 2014 +.Dd February 18, 2015 .Dt MMAP 2 .Os .Sh NAME @@ -160,7 +160,7 @@ is specified, must be a multiple of the pagesize. If .Dv MAP_EXCL -is not specified, a successfull +is not specified, a successful .Dv MAP_FIXED request replaces any previous mappings for the process' pages in the range from @@ -225,7 +225,7 @@ it. You can test file fragmentation by observing the KB/t (kilobytes per transfer) results from an .Dq Li iostat 1 -while reading a large file sequentially, e.g.\& using +while reading a large file sequentially, e.g.,\& using .Dq Li dd if=filename of=/dev/null bs=32k . .Pp The @@ -448,17 +448,3 @@ was specified and insufficient memory wa .Xr munmap 2 , .Xr getpagesize 3 , .Xr getpagesizes 3 -.Sh BUGS -The -.Fa len -argument -is limited to the maximum file size or available userland address -space. -Files may not be able to be made more than 1TB large on 32 bit systems -due to file systems restrictions and bugs, but address space is far more -restrictive. -Larger files may be possible on 64 bit systems. -.Pp -The previous documented limit of 2GB was a documentation bug. -That limit has not existed since -.Fx 2.2 . Modified: user/dchagin/lemul/lib/msun/src/e_j0.c ============================================================================== --- user/dchagin/lemul/lib/msun/src/e_j0.c Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/lib/msun/src/e_j0.c Sun Feb 22 08:25:08 2015 (r279149) @@ -278,7 +278,7 @@ static const double pS2[5] = { if(ix>=0x40200000) {p = pR8; q= pS8;} else if(ix>=0x40122E8B){p = pR5; q= pS5;} else if(ix>=0x4006DB6D){p = pR3; q= pS3;} - else if(ix>=0x40000000){p = pR2; q= pS2;} + else {p = pR2; q= pS2;} /* ix>=0x40000000 */ z = one/(x*x); r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5])))); s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4])))); Modified: user/dchagin/lemul/lib/msun/src/e_j0f.c ============================================================================== --- user/dchagin/lemul/lib/msun/src/e_j0f.c Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/lib/msun/src/e_j0f.c Sun Feb 22 08:25:08 2015 (r279149) @@ -234,7 +234,7 @@ static const float pS2[5] = { if(ix>=0x41000000) {p = pR8; q= pS8;} else if(ix>=0x40f71c58){p = pR5; q= pS5;} else if(ix>=0x4036db68){p = pR3; q= pS3;} - else if(ix>=0x40000000){p = pR2; q= pS2;} + else {p = pR2; q= pS2;} /* ix>=0x40000000 */ z = one/(x*x); r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5])))); s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4])))); Modified: user/dchagin/lemul/lib/msun/src/e_j1.c ============================================================================== --- user/dchagin/lemul/lib/msun/src/e_j1.c Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/lib/msun/src/e_j1.c Sun Feb 22 08:25:08 2015 (r279149) @@ -272,7 +272,7 @@ static const double ps2[5] = { if(ix>=0x40200000) {p = pr8; q= ps8;} else if(ix>=0x40122E8B){p = pr5; q= ps5;} else if(ix>=0x4006DB6D){p = pr3; q= ps3;} - else if(ix>=0x40000000){p = pr2; q= ps2;} + else {p = pr2; q= ps2;} /* ix>=0x40000000 */ z = one/(x*x); r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5])))); s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4])))); Modified: user/dchagin/lemul/lib/msun/src/e_j1f.c ============================================================================== --- user/dchagin/lemul/lib/msun/src/e_j1f.c Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/lib/msun/src/e_j1f.c Sun Feb 22 08:25:08 2015 (r279149) @@ -229,7 +229,7 @@ static const float ps2[5] = { if(ix>=0x41000000) {p = pr8; q= ps8;} else if(ix>=0x40f71c58){p = pr5; q= ps5;} else if(ix>=0x4036db68){p = pr3; q= ps3;} - else if(ix>=0x40000000){p = pr2; q= ps2;} + else {p = pr2; q= ps2;} /* ix>=0x40000000 */ z = one/(x*x); r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5])))); s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4])))); Modified: user/dchagin/lemul/release/doc/en_US.ISO8859-1/relnotes/article.xml ============================================================================== --- user/dchagin/lemul/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/release/doc/en_US.ISO8859-1/relnotes/article.xml Sun Feb 22 08:25:08 2015 (r279149) @@ -22,7 +22,7 @@ $FreeBSD$ - + 2015 @@ -302,6 +302,13 @@ The &man.ptrace.2; system call has been updated include support for Altivec registers on &os;/&arch.powerpc;. + + A new device control utility, + &man.devctl.8; has been added, which allows making + administrative changes to individual devices, such as + attaching and detaching drivers, and enabling and disabling + devices. The &man.devctl.8; utility uses the new + &man.devctl.3; library. @@ -375,6 +382,12 @@ OpenSSL has been updated to version 1.0.1l. + + The &man.xz.1; utility has been udpated + to version 5.2.0. + + The &man.xz.1; utility has been updated + to support multi-threaded compression. @@ -460,6 +473,16 @@ The &man.gpio.3; library has been added, providing a wrapper around the &man.gpio.4; kernel interface. + + The futimens() and + utimensat() system calls have been + added. See &man.utimensat.2; for more information. + + The &man.elf.3; compile-time dependency + has been removed from dtri.o, which + allows adding DTrace probes to + userland applications and libraries without also linking + against &man.elf.3;. @@ -515,12 +538,32 @@ at the &man.loader.8; prompt during boot, or add kern.vty=vt to &man.loader.conf.5; and reboot the system. + + The &man.config.8; utility has been + updated to allow using a non-standard src/ tree, specified as an + argument to the -s flag. + + The + &os;/&arch.powerpc64; kernel now builds as + a position-independent executable, allowing the kernel to be + loaded into and run from any physical or virtual + address. + + + This change requires an update to &man.loader.8;. + The userland and kernel must be updated before rebooting the + system. + System Tuning and Controls -   + The + &man.hwpmc.4; default and maximum callchain depths have been + increased. The default has been increased from 16 to 32, and + the maximum increased from 32 to 128. @@ -761,6 +804,18 @@ This section covers changes and additions to file systems and other storage subsystems, both local and networked. + + General Storage + The + &man.ctl.4; LUN mapping has been rewritten, + replacing iSCSI-specific mapping mechanisms + with a new mechanism that works for any port. + + The + &man.ctld.8; utility has been updated to allow controlling + non-iSCSI &man.ctl.4; ports. + + Networked Storage @@ -962,6 +1017,11 @@ Release Engineering build tools have been updated to include support for producing virtual machine disk images for various cloud hosting providers. + + The Release Engineering build tools have + been updated to use multi-threaded &man.xz.1;. By default, + the number of &man.xz.1; threads is set to the number of cores + available. Modified: user/dchagin/lemul/release/release.conf.sample ============================================================================== --- user/dchagin/lemul/release/release.conf.sample Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/release/release.conf.sample Sun Feb 22 08:25:08 2015 (r279149) @@ -53,6 +53,9 @@ PORTBRANCH="ports/head@rHEAD" #WITH_DVD= #WITH_COMPRESSED_IMAGES= +## Set to '1' to disable multi-threaded xz(1) compression. +#XZ_THREADS=0 + ## Set when building embedded images. #EMBEDDEDBUILD= Modified: user/dchagin/lemul/release/release.sh ============================================================================== --- user/dchagin/lemul/release/release.sh Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/release/release.sh Sun Feb 22 08:25:08 2015 (r279149) @@ -93,6 +93,7 @@ WITH_COMPRESSED_IMAGES= # the release. WITH_VMIMAGES= WITH_COMPRESSED_VMIMAGES= +XZ_THREADS=0 # Set to non-empty value to build virtual machine images for various # cloud providers as part of the release. @@ -179,7 +180,7 @@ RELEASE_WMAKEFLAGS="${MAKE_FLAGS} ${WORL RELEASE_KMAKEFLAGS="${MAKE_FLAGS} ${KERNEL_FLAGS} KERNCONF=\"${KERNEL}\" ${ARCH_FLAGS} ${CONF_FILES}" RELEASE_RMAKEFLAGS="${ARCH_FLAGS} KERNCONF=\"${KERNEL}\" ${CONF_FILES} \ ${DOCPORTS} WITH_DVD=${WITH_DVD} WITH_VMIMAGES=${WITH_VMIMAGES} \ - WITH_CLOUDWARE=${WITH_CLOUDWARE}" + WITH_CLOUDWARE=${WITH_CLOUDWARE} XZ_THREADS=${XZ_THREADS}" # Force src checkout if configured FORCE_SRC_KEY= Modified: user/dchagin/lemul/share/man/man4/Makefile ============================================================================== --- user/dchagin/lemul/share/man/man4/Makefile Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/share/man/man4/Makefile Sun Feb 22 08:25:08 2015 (r279149) @@ -573,7 +573,9 @@ MLINKS+=cdce.4 if_cdce.4 MLINKS+=crypto.4 cryptodev.4 MLINKS+=cue.4 if_cue.4 MLINKS+=cxgb.4 if_cxgb.4 -MLINKS+=cxgbe.4 if_cxgbe.4 +MLINKS+=cxgbe.4 if_cxgbe.4 \ + cxgbe.4 cxl.4 \ + cxgbe.4 if_cxl.4 MLINKS+=dc.4 if_dc.4 MLINKS+=de.4 if_de.4 MLINKS+=disc.4 if_disc.4 Modified: user/dchagin/lemul/share/man/man4/man4.arm/devcfg.4 ============================================================================== --- user/dchagin/lemul/share/man/man4/man4.arm/devcfg.4 Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/share/man/man4/man4.arm/devcfg.4 Sun Feb 22 08:25:08 2015 (r279149) @@ -92,4 +92,4 @@ driver. .Sh SEE ALSO Zynq-7000 SoC Technical Reference Manual (Xilinx doc UG585) .Sh AUTHORS -Thomas Skibo +.An Thomas Skibo Modified: user/dchagin/lemul/share/man/man4/man4.i386/apm.4 ============================================================================== --- user/dchagin/lemul/share/man/man4/man4.i386/apm.4 Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/share/man/man4/man4.i386/apm.4 Sun Feb 22 08:25:08 2015 (r279149) @@ -121,7 +121,7 @@ polls APM events and handles the followi .Xr apm 8 , .Xr zzz 8 .Sh AUTHORS -Tatsumi Hosokawa +.An Tatsumi Hosokawa Aq Mt hosokawa@jp.FreeBSD.org .Sh BUGS WARNING! Many, if not most, of the implementations of APM-bios in laptops Modified: user/dchagin/lemul/share/man/man4/man4.powerpc/Makefile ============================================================================== --- user/dchagin/lemul/share/man/man4/man4.powerpc/Makefile Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/share/man/man4/man4.powerpc/Makefile Sun Feb 22 08:25:08 2015 (r279149) @@ -6,6 +6,7 @@ MAN= adb.4 \ ams.4 \ bm.4 \ cuda.4 \ + llan.4 \ pmu.4 \ powermac_nvram.4 \ smu.4 \ Copied: user/dchagin/lemul/share/man/man4/man4.powerpc/llan.4 (from r279148, head/share/man/man4/man4.powerpc/llan.4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/dchagin/lemul/share/man/man4/man4.powerpc/llan.4 Sun Feb 22 08:25:08 2015 (r279149, copy of r279148, head/share/man/man4/man4.powerpc/llan.4) @@ -0,0 +1,61 @@ +.\"- +.\" Copyright (c) 2015 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 ``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 BE LIABLE FOR ANY DIRECT, +.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +.\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd February 19, 2015 +.Dt LLAN 4 +.Os +.Sh NAME +.Nm llan +.Nd POWER Logical Lan +.Sh SYNOPSIS +To compile this driver into the kernel, +place the following lines in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device llan" +.Ed +.Sh DESCRIPTION +The +.Nm +driver provides support for the inter-partition logical LAN controller +provided by PAPR-compliant POWER hypervisors (such as PowerVM and PowerKVM). +On some firmwares, advanced offload features are supported by the hypervisor, +but these are not currently supported by the driver. +.Sh SEE ALSO +.Xr vtnet 4 , +.Xr ifconfig 8 +.Sh HISTORY +The +.Nm +device driver appeared in +.Fx 10.0. +.Sh AUTHORS +.An -nosplit +The +.Nm +driver was written by +.An Nathan Whitehorn Aq Mt nwhitehorn@FreeBSD.org . Modified: user/dchagin/lemul/share/man/man4/man4.powerpc/tsec.4 ============================================================================== --- user/dchagin/lemul/share/man/man4/man4.powerpc/tsec.4 Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/share/man/man4/man4.powerpc/tsec.4 Sun Feb 22 08:25:08 2015 (r279149) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd April 22, 2009 +.Dd February 20, 2015 .Dt TSEC 4 .Os .Sh NAME @@ -91,18 +91,23 @@ The driver supports interrupts coalescing (IC) so that raising a transmit/receive frame interrupt is delayed, if possible, until a threshold-defined period of time has elapsed, or a threshold-defined frame counter has been reached -(whichever occurs first). The following sysctls regulate this behaviour: +(whichever occurs first). +The following sysctls regulate this behaviour: .Bl -tag -width indent .It Va dev.tsec.X.int_coal.rx_time .It Va dev.tsec.X.int_coal.rx_count .It Va dev.tsec.X.int_coal.tx_time .It Va dev.tsec.X.int_coal.tx_count .Pp -Value of 0 for either time or count disables IC on the given path. Time value +Value of 0 for either time or count disables IC on the given path. +Time value 1-65535 corresponds to a real time period and is expressed in units equivalent -to 64 ticks of the TSEC clock. Count 1-255 represents the number of frames -(note that value of 1 is equivalent to IC disabled). User provided values -larger than supported will be trimmed to the maximum supported. More details +to 64 ticks of the TSEC clock. +Count 1-255 represents the number of frames +(note that value of 1 is equivalent to IC disabled). +User provided values +larger than supported will be trimmed to the maximum supported. +More details are available in the reference manual of the device. .El .Sh HARDWARE @@ -144,9 +149,9 @@ device driver first appeared in The base version of .Nm device driver was written by -.An Piotr Kruszynski. +.An Piotr Kruszynski . It has been extended with polling and interrupt coalescing support by -.An Rafal Jaworowski. +.An Rafal Jaworowski . It has been further enhanced with multicast, h/w checksum calculation and vlan support by .An Piotr Ziecik . Modified: user/dchagin/lemul/share/man/man5/rc.conf.5 ============================================================================== --- user/dchagin/lemul/share/man/man5/rc.conf.5 Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/share/man/man5/rc.conf.5 Sun Feb 22 08:25:08 2015 (r279149) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 11, 2014 +.Dd February 20, 2015 .Dt RC.CONF 5 .Os .Sh NAME @@ -2806,16 +2806,8 @@ these are the flags to pass to the routi .Pq Vt str The IPv6 equivalent of .Va routed_flags . -.It Va mrouted_enable -.Pq Vt bool -If set to -.Dq Li YES , -run the multicast routing daemon, -.Xr mrouted 8 . .It Va mroute6d_enable .Pq Vt bool -The IPv6 equivalent of -.Va mrouted_enable . If set to .Dq Li YES , run the IPv6 multicast routing daemon. @@ -2829,19 +2821,8 @@ and may be installed from the .Fx Ports Collection. -.It Va mrouted_flags -.Pq Vt str -If -.Va mrouted_enable -is set to -.Dq Li YES , -these are the flags to pass to the -.Xr mrouted 8 -daemon. .It Va mroute6d_flags .Pq Vt str -The IPv6 equivalent of -.Va mrouted_flags . If .Va mroute6d_enable is set to @@ -4530,7 +4511,6 @@ ruleset to load for .Xr mixer 8 , .Xr mountd 8 , .Xr moused 8 , -.Xr mrouted 8 , .Xr newfs 8 , .Xr newsyslog 8 , .Xr nfsd 8 , Modified: user/dchagin/lemul/share/man/man7/release.7 ============================================================================== --- user/dchagin/lemul/share/man/man7/release.7 Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/share/man/man7/release.7 Sun Feb 22 08:25:08 2015 (r279149) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 28, 2015 +.Dd February 20, 2015 .Dt RELEASE 7 .Os .Sh NAME @@ -256,6 +256,15 @@ Set to a non-empty value to compress the The original .Pq uncompressed images are not removed. +.It Va XZ_THREADS Pq Vt int +Set to the number of threads +.Xr xz 1 +should use when compressing images. +By default, +.Va XZ_THREADS +is set to +.Va 0 , +which uses all available cores on the system. .It Va VCSCMD The command run to obtain the source trees. Defaults to Modified: user/dchagin/lemul/share/man/man9/microuptime.9 ============================================================================== --- user/dchagin/lemul/share/man/man9/microuptime.9 Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/share/man/man9/microuptime.9 Sun Feb 22 08:25:08 2015 (r279149) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 25, 2013 +.Dd February 21, 2015 .Dt MICROUPTIME 9 .Os .Sh NAME @@ -112,6 +112,7 @@ functions is to enforce the user's prefe execution time. .Sh SEE ALSO .Xr bintime 9 , +.Xr get_cyclecount 9 , .Xr getbintime 9 , .Xr getmicrotime 9 , .Xr getnanotime 9 , Modified: user/dchagin/lemul/share/misc/committers-doc.dot ============================================================================== --- user/dchagin/lemul/share/misc/committers-doc.dot Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/share/misc/committers-doc.dot Sun Feb 22 08:25:08 2015 (r279149) @@ -53,6 +53,7 @@ node [color=lightblue2, style=filled, bg ale [label="Alex Dupre\nale@FreeBSD.org\n2003/12/22"] allanjude [label="Allan Jude\nallanjude@FreeBSD.org\n2014/05/17"] bcr [label="Benedict Reuschling\nbcr@FreeBSD.org\n2009/12/24"] +bhd [label="Björn Heidotting\nbhd@FreeBSD.org\n2014/10/14"] blackend [label="Marc Fonvieille\nblackend@FreeBSD.org\n2002/06/16"] brd [label="Brad Davis\nbrd@FreeBSD.org\n2005/06/01"] brueffer [label="Christian Brueffer\nbrueffer@FreeBSD.org\n2003/01/13"] @@ -102,6 +103,7 @@ bcr -> dru bcr -> crees bcr -> jgh bcr -> allanjude +bcr -> bhd blackend -> ale Modified: user/dchagin/lemul/share/mk/bsd.sys.mk ============================================================================== --- user/dchagin/lemul/share/mk/bsd.sys.mk Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/share/mk/bsd.sys.mk Sun Feb 22 08:25:08 2015 (r279149) @@ -118,7 +118,10 @@ CWARNFLAGS+= -Wno-unknown-pragmas CLANG_NO_IAS= -no-integrated-as .endif CLANG_OPT_SMALL= -mstack-alignment=8 -mllvm -inline-threshold=3\ - -mllvm -simplifycfg-dup-ret -mllvm -enable-gvn=false + -mllvm -simplifycfg-dup-ret -mllvm +.if ${COMPILER_VERSION} > 30400 +CLANG_OPT_SMALL+= -enable-gvn=false +.endif CFLAGS.clang+= -Qunused-arguments .if ${MACHINE_CPUARCH} == "sparc64" # Don't emit .cfi directives, since we must use GNU as on sparc64, for now. Modified: user/dchagin/lemul/sys/amd64/amd64/ptrace_machdep.c ============================================================================== --- user/dchagin/lemul/sys/amd64/amd64/ptrace_machdep.c Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/sys/amd64/amd64/ptrace_machdep.c Sun Feb 22 08:25:08 2015 (r279149) @@ -88,7 +88,8 @@ cpu_ptrace_xstate(struct thread *td, int break; case PT_SETXSTATE: - if (data > cpu_max_ext_state_size) { + if (data < sizeof(struct savefpu) || + data > cpu_max_ext_state_size) { error = EINVAL; break; } Modified: user/dchagin/lemul/sys/arm/arm/db_trace.c ============================================================================== --- user/dchagin/lemul/sys/arm/arm/db_trace.c Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/sys/arm/arm/db_trace.c Sun Feb 22 08:25:08 2015 (r279149) @@ -66,7 +66,7 @@ db_stack_trace_cmd(struct unwind_state * finished = false; while (!finished) { - finished = unwind_stack_one(state); + finished = unwind_stack_one(state, 0); /* Print the frame details */ sym = db_search_symbol(state->start_pc, DB_STGY_ANY, &offset); Modified: user/dchagin/lemul/sys/arm/arm/unwind.c ============================================================================== --- user/dchagin/lemul/sys/arm/arm/unwind.c Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/sys/arm/arm/unwind.c Sun Feb 22 08:25:08 2015 (r279149) @@ -33,9 +33,12 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include +#include "linker_if.h" + /* * Definitions for the instruction interpreter. * @@ -61,7 +64,7 @@ __FBSDID("$FreeBSD$"); * These are set in the linker script. Their addresses will be * either the start or end of the exception table or index. */ -extern int extab_start, extab_end, exidx_start, exidx_end; +extern int exidx_start, exidx_end; /* * Entry types. @@ -104,13 +107,47 @@ expand_prel31(uint32_t prel31) return ((int32_t)(prel31 & 0x7fffffffu) << 1) / 2; } +struct search_context { + uint32_t addr; + caddr_t exidx_start; + caddr_t exidx_end; +}; + +static int +module_search(linker_file_t lf, void *context) +{ + struct search_context *sc = context; + linker_symval_t symval; + c_linker_sym_t sym; + + if (lf->address <= (caddr_t)sc->addr && + (lf->address + lf->size) >= (caddr_t)sc->addr) { + if ((LINKER_LOOKUP_SYMBOL(lf, "__exidx_start", &sym) == 0 || + LINKER_LOOKUP_SYMBOL(lf, "exidx_start", &sym) == 0) && + LINKER_SYMBOL_VALUES(lf, sym, &symval) == 0) + sc->exidx_start = symval.value; + + if ((LINKER_LOOKUP_SYMBOL(lf, "__exidx_end", &sym) == 0 || + LINKER_LOOKUP_SYMBOL(lf, "exidx_end", &sym) == 0) && + LINKER_SYMBOL_VALUES(lf, sym, &symval) == 0) + sc->exidx_end = symval.value; + + if (sc->exidx_start != NULL && sc->exidx_end != NULL) + return (1); + panic("Invalid module %s, no unwind tables\n", lf->filename); + } + return (0); +} + /* * Perform a binary search of the index table to find the function * with the largest address that doesn't exceed addr. */ static struct unwind_idx * -find_index(uint32_t addr) +find_index(uint32_t addr, int search_modules) { + struct search_context sc; + caddr_t idx_start, idx_end; unsigned int min, mid, max; struct unwind_idx *start; struct unwind_idx *item; @@ -118,9 +155,23 @@ find_index(uint32_t addr) uint32_t func_addr; start = (struct unwind_idx *)&exidx_start; + idx_start = (caddr_t)&exidx_start; + idx_end = (caddr_t)&exidx_end; + + /* This may acquire a lock */ + if (search_modules) { + bzero(&sc, sizeof(sc)); + sc.addr = addr; + if (linker_file_foreach(module_search, &sc) != 0 && + sc.exidx_start != NULL && sc.exidx_end != NULL) { + start = (struct unwind_idx *)sc.exidx_start; + idx_start = sc.exidx_start; + idx_end = sc.exidx_end; + } + } min = 0; - max = (&exidx_end - &exidx_start) / 2; + max = (idx_end - idx_start) / sizeof(struct unwind_idx); while (min != max) { mid = min + (max - min + 1) / 2; @@ -332,7 +383,7 @@ unwind_tab(struct unwind_state *state) } int -unwind_stack_one(struct unwind_state *state) +unwind_stack_one(struct unwind_state *state, int can_lock) { struct unwind_idx *index; int finished; @@ -344,7 +395,7 @@ unwind_stack_one(struct unwind_state *st state->start_pc = state->registers[PC]; /* Find the item to run */ - index = find_index(state->start_pc); + index = find_index(state->start_pc, can_lock); finished = 0; if (index->insn != EXIDX_CANTUNWIND) { Modified: user/dchagin/lemul/sys/arm/include/atomic.h ============================================================================== --- user/dchagin/lemul/sys/arm/include/atomic.h Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/sys/arm/include/atomic.h Sun Feb 22 08:25:08 2015 (r279149) @@ -582,8 +582,8 @@ atomic_load_64(volatile uint64_t *p) /* * The only way to atomically load 64 bits is with LDREXD which puts the - * exclusive monitor into the open state, so reset it with CLREX because - * we don't actually need to store anything. + * exclusive monitor into the exclusive state, so reset it to open state + * with CLREX because we don't actually need to store anything. */ __asm __volatile( "1: \n" Modified: user/dchagin/lemul/sys/arm/include/stack.h ============================================================================== --- user/dchagin/lemul/sys/arm/include/stack.h Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/sys/arm/include/stack.h Sun Feb 22 08:25:08 2015 (r279149) @@ -55,6 +55,6 @@ struct unwind_state { #define LR 14 #define PC 15 -int unwind_stack_one(struct unwind_state *); +int unwind_stack_one(struct unwind_state *, int); #endif /* !_MACHINE_STACK_H_ */ Modified: user/dchagin/lemul/sys/boot/efi/include/amd64/efibind.h ============================================================================== --- user/dchagin/lemul/sys/boot/efi/include/amd64/efibind.h Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/sys/boot/efi/include/amd64/efibind.h Sun Feb 22 08:25:08 2015 (r279149) @@ -85,6 +85,9 @@ Revision History // Basic EFI types of various widths // +#ifndef ACPI_THREAD_ID /* ACPI's definitions are fine */ +#define ACPI_USE_SYSTEM_INTTYPES 1 /* Tell ACPI we've defined types */ + typedef uint64_t UINT64; typedef int64_t INT64; @@ -98,6 +101,7 @@ typedef int16_t INT16; typedef uint8_t UINT8; typedef int8_t INT8; +#endif #undef VOID #define VOID void Modified: user/dchagin/lemul/sys/boot/efi/include/efidef.h ============================================================================== --- user/dchagin/lemul/sys/boot/efi/include/efidef.h Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/sys/boot/efi/include/efidef.h Sun Feb 22 08:25:08 2015 (r279149) @@ -30,7 +30,9 @@ Revision History typedef UINT16 CHAR16; typedef UINT8 CHAR8; +#ifndef ACPI_THREAD_ID /* ACPI's definitions are fine */ typedef UINT8 BOOLEAN; +#endif #ifndef TRUE #define TRUE ((BOOLEAN) 1) Modified: user/dchagin/lemul/sys/boot/efi/include/i386/efibind.h ============================================================================== --- user/dchagin/lemul/sys/boot/efi/include/i386/efibind.h Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/sys/boot/efi/include/i386/efibind.h Sun Feb 22 08:25:08 2015 (r279149) @@ -85,6 +85,9 @@ Revision History // Basic EFI types of various widths // +#ifndef ACPI_THREAD_ID /* ACPI's definitions are fine, use those */ +#define ACPI_USE_SYSTEM_INTTYPES 1 /* Tell ACPI we've defined types */ + typedef uint64_t UINT64; typedef int64_t INT64; @@ -98,6 +101,7 @@ typedef int16_t INT16; typedef uint8_t UINT8; typedef int8_t INT8; +#endif #undef VOID #define VOID void Modified: user/dchagin/lemul/sys/cddl/dev/dtrace/arm/dtrace_isa.c ============================================================================== --- user/dchagin/lemul/sys/cddl/dev/dtrace/arm/dtrace_isa.c Sun Feb 22 08:03:44 2015 (r279148) +++ user/dchagin/lemul/sys/cddl/dev/dtrace/arm/dtrace_isa.c Sun Feb 22 08:25:08 2015 (r279149) @@ -69,9 +69,10 @@ void dtrace_getpcstack(pc_t *pcstack, int pcstack_limit, int aframes, uint32_t *intrpc) { - u_int32_t *frame, *lastframe; - int scp_offset; - int depth = 0; + struct unwind_state state; + register_t sp; + int scp_offset; + int depth = 0; pc_t caller = (pc_t) solaris_cpu[curcpu].cpu_dtrace_caller; if (intrpc != 0) @@ -79,23 +80,17 @@ dtrace_getpcstack(pc_t *pcstack, int pcs aframes++; - frame = (u_int32_t *)__builtin_frame_address(0);; - lastframe = NULL; - scp_offset = -(get_pc_str_offset() >> 2); - - while ((frame != NULL) && (depth < pcstack_limit)) { - db_addr_t scp; -#if 0 - u_int32_t savecode; - int r; - u_int32_t *rp; -#endif - - /* - * In theory, the SCP isn't guaranteed to be in the function - * that generated the stack frame. We hope for the best. - */ - scp = frame[FR_SCP]; + __asm __volatile("mov %0, sp" : "=&r" (sp)); + + state.registers[FP] = (uint32_t)__builtin_frame_address(0); + state.registers[SP] = sp; + state.registers[LR] = (uint32_t)__builtin_return_address(0); + state.registers[PC] = (uint32_t)dtrace_getpcstack; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sun Feb 22 08:52:56 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3FFC8EAB; Sun, 22 Feb 2015 08:52:56 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 226F3CE; Sun, 22 Feb 2015 08:52:56 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M8qucD009337; Sun, 22 Feb 2015 08:52:56 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M8qrxR009320; Sun, 22 Feb 2015 08:52:53 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502220852.t1M8qrxR009320@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sun, 22 Feb 2015 08:52:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279151 - in user/dchagin/lemul/sys: amd64/linux amd64/linux32 compat/linux i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 08:52:56 -0000 Author: dchagin Date: Sun Feb 22 08:52:53 2015 New Revision: 279151 URL: https://svnweb.freebsd.org/changeset/base/279151 Log: Add utimensat() system call. The patch developed by Jilles Tjoelker and Andrew Wilcox and adopted for lemul branch by me. Modified: user/dchagin/lemul/sys/amd64/linux/linux_dummy.c user/dchagin/lemul/sys/amd64/linux/syscalls.master user/dchagin/lemul/sys/amd64/linux32/linux32_dummy.c user/dchagin/lemul/sys/amd64/linux32/syscalls.master user/dchagin/lemul/sys/compat/linux/linux_misc.c user/dchagin/lemul/sys/compat/linux/linux_misc.h user/dchagin/lemul/sys/i386/linux/linux_dummy.c user/dchagin/lemul/sys/i386/linux/syscalls.master Modified: user/dchagin/lemul/sys/amd64/linux/linux_dummy.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/linux_dummy.c Sun Feb 22 08:50:05 2015 (r279150) +++ user/dchagin/lemul/sys/amd64/linux/linux_dummy.c Sun Feb 22 08:52:53 2015 (r279151) @@ -98,7 +98,6 @@ DUMMY(tee); DUMMY(sync_file_range); DUMMY(vmsplice); DUMMY(move_pages); -DUMMY(utimensat); DUMMY(epoll_pwait); DUMMY(signalfd); DUMMY(timerfd); Modified: user/dchagin/lemul/sys/amd64/linux/syscalls.master ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/syscalls.master Sun Feb 22 08:50:05 2015 (r279150) +++ user/dchagin/lemul/sys/amd64/linux/syscalls.master Sun Feb 22 08:52:53 2015 (r279151) @@ -467,7 +467,8 @@ 277 AUE_NULL STD { int linux_sync_file_range(void); } 278 AUE_NULL STD { int linux_vmsplice(void); } 279 AUE_NULL STD { int linux_move_pages(void); } -280 AUE_NULL STD { int linux_utimensat(void); } +280 AUE_FUTIMESAT STD { int linux_utimensat(l_int dfd, const char *pathname, \ + const struct l_timespec *times, l_int flags); } 281 AUE_NULL STD { int linux_epoll_pwait(l_int epfd, struct epoll_event *events, \ l_int maxevents, l_int timeout, l_sigset_t *mask); } 282 AUE_NULL STD { int linux_signalfd(void); } Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_dummy.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_dummy.c Sun Feb 22 08:50:05 2015 (r279150) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_dummy.c Sun Feb 22 08:52:53 2015 (r279151) @@ -104,7 +104,6 @@ DUMMY(move_pages); DUMMY(getcpu); DUMMY(epoll_pwait); /* linux 2.6.22: */ -DUMMY(utimensat); DUMMY(signalfd); DUMMY(timerfd_create); /* linux 2.6.25: */ Modified: user/dchagin/lemul/sys/amd64/linux32/syscalls.master ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/syscalls.master Sun Feb 22 08:50:05 2015 (r279150) +++ user/dchagin/lemul/sys/amd64/linux32/syscalls.master Sun Feb 22 08:52:53 2015 (r279151) @@ -531,7 +531,8 @@ 319 AUE_NULL STD { int linux_epoll_pwait(l_int epfd, struct epoll_event *events, \ l_int maxevents, l_int timeout, l_osigset_t *mask); } ; linux 2.6.22: -320 AUE_NULL STD { int linux_utimensat(void); } +320 AUE_FUTIMESAT STD { int linux_utimensat(l_int dfd, const char *pathname, \ + const struct l_timespec *times, l_int flags); } 321 AUE_NULL STD { int linux_signalfd(void); } 322 AUE_NULL STD { int linux_timerfd_create(void); } 323 AUE_NULL STD { int linux_eventfd(l_uint initval); } Modified: user/dchagin/lemul/sys/compat/linux/linux_misc.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_misc.c Sun Feb 22 08:50:05 2015 (r279150) +++ user/dchagin/lemul/sys/compat/linux/linux_misc.c Sun Feb 22 08:52:53 2015 (r279151) @@ -824,6 +824,87 @@ linux_utimes(struct thread *td, struct l return (error); } +int +linux_utimensat(struct thread *td, struct linux_utimensat_args *args) +{ + struct l_timespec l_times[2]; + struct timespec times[2], *timesp = NULL; + char *path = NULL; + int error, dfd, flags = 0; + + dfd = (args->dfd == LINUX_AT_FDCWD) ? AT_FDCWD : args->dfd; + +#ifdef DEBUG + if (ldebug(utimensat)) + printf(ARGS(utimensat, "%d, *"), dfd); +#endif + + if (args->flags & ~LINUX_AT_SYMLINK_NOFOLLOW) + return (EINVAL); + + if (args->times != NULL) { + error = copyin(args->times, l_times, sizeof(l_times)); + if (error != 0) + return (error); + + if (l_times[0].tv_nsec > 999999999 || + l_times[1].tv_nsec > 999999999) + return (EINVAL); + + times[0].tv_sec = l_times[0].tv_sec; + switch (l_times[0].tv_nsec) + { + case LINUX_UTIME_OMIT: + times[0].tv_nsec = UTIME_OMIT; + break; + case LINUX_UTIME_NOW: + times[0].tv_nsec = UTIME_NOW; + break; + default: + times[0].tv_nsec = l_times[0].tv_nsec; + } + + times[1].tv_sec = l_times[1].tv_sec; + switch (l_times[1].tv_nsec) + { + case LINUX_UTIME_OMIT: + times[1].tv_nsec = UTIME_OMIT; + break; + case LINUX_UTIME_NOW: + times[1].tv_nsec = UTIME_NOW; + break; + default: + times[1].tv_nsec = l_times[1].tv_nsec; + break; + } + timesp = times; + } + + if (times[0].tv_nsec == UTIME_OMIT && times[1].tv_nsec == UTIME_OMIT) + /* This breaks POSIX, but is what the Linux kernel does + * _on purpose_ (documented in the man page for utimensat(2)), + * so we must follow that behaviour. */ + return (0); + + if (args->pathname != NULL) + LCONVPATHEXIST_AT(td, args->pathname, &path, dfd); + else if (args->flags != 0) + return (EINVAL); + + if (args->flags & LINUX_AT_SYMLINK_NOFOLLOW) + flags |= AT_SYMLINK_NOFOLLOW; + + if (path == NULL) + error = kern_futimens(td, dfd, timesp, UIO_SYSSPACE); + else { + error = kern_utimensat(td, dfd, path, UIO_SYSSPACE, timesp, + UIO_SYSSPACE, flags); + LFREEPATH(path); + } + + return (error); +} + int linux_futimesat(struct thread *td, struct linux_futimesat_args *args) { Modified: user/dchagin/lemul/sys/compat/linux/linux_misc.h ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_misc.h Sun Feb 22 08:50:05 2015 (r279150) +++ user/dchagin/lemul/sys/compat/linux/linux_misc.h Sun Feb 22 08:52:53 2015 (r279151) @@ -116,6 +116,9 @@ struct l_new_utsname { #define LINUX_CLOCK_REALTIME_HR 4 #define LINUX_CLOCK_MONOTONIC_HR 5 +#define LINUX_UTIME_NOW 0x3FFFFFFF +#define LINUX_UTIME_OMIT 0x3FFFFFFE + extern int stclohz; #define LINUX_WNOHANG 0x00000001 Modified: user/dchagin/lemul/sys/i386/linux/linux_dummy.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_dummy.c Sun Feb 22 08:50:05 2015 (r279150) +++ user/dchagin/lemul/sys/i386/linux/linux_dummy.c Sun Feb 22 08:52:53 2015 (r279151) @@ -100,7 +100,6 @@ DUMMY(move_pages); DUMMY(getcpu); DUMMY(epoll_pwait); /* linux 2.6.22: */ -DUMMY(utimensat); DUMMY(signalfd); DUMMY(timerfd_create); /* linux 2.6.25: */ Modified: user/dchagin/lemul/sys/i386/linux/syscalls.master ============================================================================== --- user/dchagin/lemul/sys/i386/linux/syscalls.master Sun Feb 22 08:50:05 2015 (r279150) +++ user/dchagin/lemul/sys/i386/linux/syscalls.master Sun Feb 22 08:52:53 2015 (r279151) @@ -539,7 +539,8 @@ 319 AUE_NULL STD { int linux_epoll_pwait(l_int epfd, struct epoll_event *events, \ l_int maxevents, l_int timeout, l_osigset_t *mask); } ; linux 2.6.22: -320 AUE_NULL STD { int linux_utimensat(void); } +320 AUE_FUTIMESAT STD { int linux_utimensat(l_int dfd, const char *pathname, \ + const struct l_timespec *times, l_int flags); } 321 AUE_NULL STD { int linux_signalfd(void); } 322 AUE_NULL STD { int linux_timerfd_create(void); } 323 AUE_NULL STD { int linux_eventfd(l_uint initval); } From owner-svn-src-user@FreeBSD.ORG Sun Feb 22 08:54:30 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 36199F9B; Sun, 22 Feb 2015 08:54:30 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 189E0D7; Sun, 22 Feb 2015 08:54:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M8sTac009577; Sun, 22 Feb 2015 08:54:29 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M8sQiH009557; Sun, 22 Feb 2015 08:54:26 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502220854.t1M8sQiH009557@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sun, 22 Feb 2015 08:54:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279152 - in user/dchagin/lemul/sys: amd64/linux amd64/linux32 i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 08:54:30 -0000 Author: dchagin Date: Sun Feb 22 08:54:25 2015 New Revision: 279152 URL: https://svnweb.freebsd.org/changeset/base/279152 Log: Regen for r279151 (utimensat). Modified: user/dchagin/lemul/sys/amd64/linux/linux_proto.h user/dchagin/lemul/sys/amd64/linux/linux_sysent.c user/dchagin/lemul/sys/amd64/linux/linux_systrace_args.c user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c user/dchagin/lemul/sys/i386/linux/linux_proto.h user/dchagin/lemul/sys/i386/linux/linux_syscall.h user/dchagin/lemul/sys/i386/linux/linux_syscalls.c user/dchagin/lemul/sys/i386/linux/linux_sysent.c user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Modified: user/dchagin/lemul/sys/amd64/linux/linux_proto.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/linux_proto.h Sun Feb 22 08:52:53 2015 (r279151) +++ user/dchagin/lemul/sys/amd64/linux/linux_proto.h Sun Feb 22 08:54:25 2015 (r279152) @@ -985,7 +985,10 @@ struct linux_move_pages_args { register_t dummy; }; struct linux_utimensat_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char pathname_l_[PADL_(const char *)]; const char * pathname; char pathname_r_[PADR_(const char *)]; + char times_l_[PADL_(const struct l_timespec *)]; const struct l_timespec * times; char times_r_[PADR_(const struct l_timespec *)]; + char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; }; struct linux_epoll_pwait_args { char epfd_l_[PADL_(l_int)]; l_int epfd; char epfd_r_[PADR_(l_int)]; @@ -1612,7 +1615,7 @@ int linux_finit_module(struct thread *, #define LINUX_SYS_AUE_linux_sync_file_range AUE_NULL #define LINUX_SYS_AUE_linux_vmsplice AUE_NULL #define LINUX_SYS_AUE_linux_move_pages AUE_NULL -#define LINUX_SYS_AUE_linux_utimensat AUE_NULL +#define LINUX_SYS_AUE_linux_utimensat AUE_FUTIMESAT #define LINUX_SYS_AUE_linux_epoll_pwait AUE_NULL #define LINUX_SYS_AUE_linux_signalfd AUE_NULL #define LINUX_SYS_AUE_linux_timerfd AUE_NULL Modified: user/dchagin/lemul/sys/amd64/linux/linux_sysent.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/linux_sysent.c Sun Feb 22 08:52:53 2015 (r279151) +++ user/dchagin/lemul/sys/amd64/linux/linux_sysent.c Sun Feb 22 08:54:25 2015 (r279152) @@ -298,7 +298,7 @@ struct sysent linux_sysent[] = { { 0, (sy_call_t *)linux_sync_file_range, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 277 = linux_sync_file_range */ { 0, (sy_call_t *)linux_vmsplice, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 278 = linux_vmsplice */ { 0, (sy_call_t *)linux_move_pages, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 279 = linux_move_pages */ - { 0, (sy_call_t *)linux_utimensat, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 280 = linux_utimensat */ + { AS(linux_utimensat_args), (sy_call_t *)linux_utimensat, AUE_FUTIMESAT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 280 = linux_utimensat */ { AS(linux_epoll_pwait_args), (sy_call_t *)linux_epoll_pwait, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 281 = linux_epoll_pwait */ { 0, (sy_call_t *)linux_signalfd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 282 = linux_signalfd */ { 0, (sy_call_t *)linux_timerfd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 283 = linux_timerfd */ Modified: user/dchagin/lemul/sys/amd64/linux/linux_systrace_args.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/linux_systrace_args.c Sun Feb 22 08:52:53 2015 (r279151) +++ user/dchagin/lemul/sys/amd64/linux/linux_systrace_args.c Sun Feb 22 08:54:25 2015 (r279152) @@ -2052,7 +2052,12 @@ systrace_args(int sysnum, void *params, } /* linux_utimensat */ case 280: { - *n_args = 0; + struct linux_utimensat_args *p = params; + iarg[0] = p->dfd; /* l_int */ + uarg[1] = (intptr_t) p->pathname; /* const char * */ + uarg[2] = (intptr_t) p->times; /* const struct l_timespec * */ + iarg[3] = p->flags; /* l_int */ + *n_args = 4; break; } /* linux_epoll_pwait */ @@ -5355,6 +5360,22 @@ systrace_entry_setargdesc(int sysnum, in break; /* linux_utimensat */ case 280: + switch(ndx) { + case 0: + p = "l_int"; + break; + case 1: + p = "const char *"; + break; + case 2: + p = "const struct l_timespec *"; + break; + case 3: + p = "l_int"; + break; + default: + break; + }; break; /* linux_epoll_pwait */ case 281: @@ -6698,6 +6719,9 @@ systrace_return_setargdesc(int sysnum, i case 279: /* linux_utimensat */ case 280: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_epoll_pwait */ case 281: if (ndx == 0 || ndx == 1) Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h Sun Feb 22 08:52:53 2015 (r279151) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h Sun Feb 22 08:54:25 2015 (r279152) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 277191 2015-01-14 19:46:05Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279151 2015-02-22 08:52:53Z dchagin */ #ifndef _LINUX_SYSPROTO_H_ @@ -1052,7 +1052,10 @@ struct linux_epoll_pwait_args { char mask_l_[PADL_(l_osigset_t *)]; l_osigset_t * mask; char mask_r_[PADR_(l_osigset_t *)]; }; struct linux_utimensat_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char pathname_l_[PADL_(const char *)]; const char * pathname; char pathname_r_[PADR_(const char *)]; + char times_l_[PADL_(const struct l_timespec *)]; const struct l_timespec * times; char times_r_[PADR_(const struct l_timespec *)]; + char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; }; struct linux_signalfd_args { register_t dummy; @@ -1702,7 +1705,7 @@ int linux_process_vm_writev(struct threa #define LINUX_SYS_AUE_linux_move_pages AUE_NULL #define LINUX_SYS_AUE_linux_getcpu AUE_NULL #define LINUX_SYS_AUE_linux_epoll_pwait AUE_NULL -#define LINUX_SYS_AUE_linux_utimensat AUE_NULL +#define LINUX_SYS_AUE_linux_utimensat AUE_FUTIMESAT #define LINUX_SYS_AUE_linux_signalfd AUE_NULL #define LINUX_SYS_AUE_linux_timerfd_create AUE_NULL #define LINUX_SYS_AUE_linux_eventfd AUE_NULL Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h Sun Feb 22 08:52:53 2015 (r279151) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h Sun Feb 22 08:54:25 2015 (r279152) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 277191 2015-01-14 19:46:05Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279151 2015-02-22 08:52:53Z dchagin */ #define LINUX_SYS_linux_exit 1 Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c Sun Feb 22 08:52:53 2015 (r279151) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c Sun Feb 22 08:54:25 2015 (r279152) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 277191 2015-01-14 19:46:05Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279151 2015-02-22 08:52:53Z dchagin */ const char *linux_syscallnames[] = { Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c Sun Feb 22 08:52:53 2015 (r279151) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c Sun Feb 22 08:54:25 2015 (r279152) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 277191 2015-01-14 19:46:05Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279151 2015-02-22 08:52:53Z dchagin */ #include "opt_compat.h" @@ -339,7 +339,7 @@ struct sysent linux_sysent[] = { { 0, (sy_call_t *)linux_move_pages, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 317 = linux_move_pages */ { 0, (sy_call_t *)linux_getcpu, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 318 = linux_getcpu */ { AS(linux_epoll_pwait_args), (sy_call_t *)linux_epoll_pwait, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 319 = linux_epoll_pwait */ - { 0, (sy_call_t *)linux_utimensat, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 320 = linux_utimensat */ + { AS(linux_utimensat_args), (sy_call_t *)linux_utimensat, AUE_FUTIMESAT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 320 = linux_utimensat */ { 0, (sy_call_t *)linux_signalfd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 321 = linux_signalfd */ { 0, (sy_call_t *)linux_timerfd_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 322 = linux_timerfd_create */ { AS(linux_eventfd_args), (sy_call_t *)linux_eventfd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 323 = linux_eventfd */ Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c Sun Feb 22 08:52:53 2015 (r279151) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c Sun Feb 22 08:54:25 2015 (r279152) @@ -2170,7 +2170,12 @@ systrace_args(int sysnum, void *params, } /* linux_utimensat */ case 320: { - *n_args = 0; + struct linux_utimensat_args *p = params; + iarg[0] = p->dfd; /* l_int */ + uarg[1] = (intptr_t) p->pathname; /* const char * */ + uarg[2] = (intptr_t) p->times; /* const struct l_timespec * */ + iarg[3] = p->flags; /* l_int */ + *n_args = 4; break; } /* linux_signalfd */ @@ -5584,6 +5589,22 @@ systrace_entry_setargdesc(int sysnum, in break; /* linux_utimensat */ case 320: + switch(ndx) { + case 0: + p = "l_int"; + break; + case 1: + p = "const char *"; + break; + case 2: + p = "const struct l_timespec *"; + break; + case 3: + p = "l_int"; + break; + default: + break; + }; break; /* linux_signalfd */ case 321: @@ -6966,6 +6987,9 @@ systrace_return_setargdesc(int sysnum, i break; /* linux_utimensat */ case 320: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_signalfd */ case 321: /* linux_timerfd_create */ Modified: user/dchagin/lemul/sys/i386/linux/linux_proto.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_proto.h Sun Feb 22 08:52:53 2015 (r279151) +++ user/dchagin/lemul/sys/i386/linux/linux_proto.h Sun Feb 22 08:54:25 2015 (r279152) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 277191 2015-01-14 19:46:05Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279151 2015-02-22 08:52:53Z dchagin */ #ifndef _LINUX_SYSPROTO_H_ @@ -1070,7 +1070,10 @@ struct linux_epoll_pwait_args { char mask_l_[PADL_(l_osigset_t *)]; l_osigset_t * mask; char mask_r_[PADR_(l_osigset_t *)]; }; struct linux_utimensat_args { - register_t dummy; + char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; + char pathname_l_[PADL_(const char *)]; const char * pathname; char pathname_r_[PADR_(const char *)]; + char times_l_[PADL_(const struct l_timespec *)]; const struct l_timespec * times; char times_r_[PADR_(const struct l_timespec *)]; + char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)]; }; struct linux_signalfd_args { register_t dummy; @@ -1724,7 +1727,7 @@ int linux_process_vm_writev(struct threa #define LINUX_SYS_AUE_linux_move_pages AUE_NULL #define LINUX_SYS_AUE_linux_getcpu AUE_NULL #define LINUX_SYS_AUE_linux_epoll_pwait AUE_NULL -#define LINUX_SYS_AUE_linux_utimensat AUE_NULL +#define LINUX_SYS_AUE_linux_utimensat AUE_FUTIMESAT #define LINUX_SYS_AUE_linux_signalfd AUE_NULL #define LINUX_SYS_AUE_linux_timerfd_create AUE_NULL #define LINUX_SYS_AUE_linux_eventfd AUE_NULL Modified: user/dchagin/lemul/sys/i386/linux/linux_syscall.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_syscall.h Sun Feb 22 08:52:53 2015 (r279151) +++ user/dchagin/lemul/sys/i386/linux/linux_syscall.h Sun Feb 22 08:54:25 2015 (r279152) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 277191 2015-01-14 19:46:05Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279151 2015-02-22 08:52:53Z dchagin */ #define LINUX_SYS_linux_exit 1 Modified: user/dchagin/lemul/sys/i386/linux/linux_syscalls.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_syscalls.c Sun Feb 22 08:52:53 2015 (r279151) +++ user/dchagin/lemul/sys/i386/linux/linux_syscalls.c Sun Feb 22 08:54:25 2015 (r279152) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 277191 2015-01-14 19:46:05Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279151 2015-02-22 08:52:53Z dchagin */ const char *linux_syscallnames[] = { Modified: user/dchagin/lemul/sys/i386/linux/linux_sysent.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_sysent.c Sun Feb 22 08:52:53 2015 (r279151) +++ user/dchagin/lemul/sys/i386/linux/linux_sysent.c Sun Feb 22 08:54:25 2015 (r279152) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 277191 2015-01-14 19:46:05Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279151 2015-02-22 08:52:53Z dchagin */ #include @@ -338,7 +338,7 @@ struct sysent linux_sysent[] = { { 0, (sy_call_t *)linux_move_pages, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 317 = linux_move_pages */ { 0, (sy_call_t *)linux_getcpu, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 318 = linux_getcpu */ { AS(linux_epoll_pwait_args), (sy_call_t *)linux_epoll_pwait, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 319 = linux_epoll_pwait */ - { 0, (sy_call_t *)linux_utimensat, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 320 = linux_utimensat */ + { AS(linux_utimensat_args), (sy_call_t *)linux_utimensat, AUE_FUTIMESAT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 320 = linux_utimensat */ { 0, (sy_call_t *)linux_signalfd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 321 = linux_signalfd */ { 0, (sy_call_t *)linux_timerfd_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 322 = linux_timerfd_create */ { AS(linux_eventfd_args), (sy_call_t *)linux_eventfd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 323 = linux_eventfd */ Modified: user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Sun Feb 22 08:52:53 2015 (r279151) +++ user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Sun Feb 22 08:54:25 2015 (r279152) @@ -2246,7 +2246,12 @@ systrace_args(int sysnum, void *params, } /* linux_utimensat */ case 320: { - *n_args = 0; + struct linux_utimensat_args *p = params; + iarg[0] = p->dfd; /* l_int */ + uarg[1] = (intptr_t) p->pathname; /* const char * */ + uarg[2] = (intptr_t) p->times; /* const struct l_timespec * */ + iarg[3] = p->flags; /* l_int */ + *n_args = 4; break; } /* linux_signalfd */ @@ -5815,6 +5820,22 @@ systrace_entry_setargdesc(int sysnum, in break; /* linux_utimensat */ case 320: + switch(ndx) { + case 0: + p = "l_int"; + break; + case 1: + p = "const char *"; + break; + case 2: + p = "const struct l_timespec *"; + break; + case 3: + p = "l_int"; + break; + default: + break; + }; break; /* linux_signalfd */ case 321: @@ -7244,6 +7265,9 @@ systrace_return_setargdesc(int sysnum, i break; /* linux_utimensat */ case 320: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_signalfd */ case 321: /* linux_timerfd_create */ From owner-svn-src-user@FreeBSD.ORG Sun Feb 22 14:03:41 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CED8DB6B; Sun, 22 Feb 2015 14:03:41 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A192A6BD; Sun, 22 Feb 2015 14:03:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1ME3fwo056493; Sun, 22 Feb 2015 14:03:41 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1ME3ecd056488; Sun, 22 Feb 2015 14:03:40 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201502221403.t1ME3ecd056488@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Sun, 22 Feb 2015 14:03:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279155 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 14:03:41 -0000 Author: pho Date: Sun Feb 22 14:03:40 2015 New Revision: 279155 URL: https://svnweb.freebsd.org/changeset/base/279155 Log: Added "retrycnt" to nfs mount option. Sponsored by: EMC / Isilon storage division Modified: user/pho/stress2/misc/nfs10.sh user/pho/stress2/misc/nfs11.sh user/pho/stress2/misc/nullfs8.sh Modified: user/pho/stress2/misc/nfs10.sh ============================================================================== --- user/pho/stress2/misc/nfs10.sh Sun Feb 22 13:36:44 2015 (r279154) +++ user/pho/stress2/misc/nfs10.sh Sun Feb 22 14:03:40 2015 (r279155) @@ -35,7 +35,8 @@ . ../default.cfg -grep -q $mntpoint /etc/exports || { echo "$mntpoint missing from /etc/exports"; exit 0; } +grep -q $mntpoint /etc/exports || + { echo "$mntpoint missing from /etc/exports"; exit 0; } m2=${mntpoint}2 [ -d $m2 ] || mkdir $m2 @@ -51,7 +52,7 @@ newfs $newfs_flags md${mdstart}$part > / mount /dev/md${mdstart}$part $mntpoint chmod 777 $mntpoint -mount -t nfs -o nfsv4 -o rw 127.0.0.1:$mntpoint $m2 +mount -t nfs -o nfsv4 -o rw,retrycnt=3 127.0.0.1:$mntpoint $m2 export RUNDIR=$m2/stressX export runRUNTIME=10m # Run tests for 10 minutes Modified: user/pho/stress2/misc/nfs11.sh ============================================================================== --- user/pho/stress2/misc/nfs11.sh Sun Feb 22 13:36:44 2015 (r279154) +++ user/pho/stress2/misc/nfs11.sh Sun Feb 22 14:03:40 2015 (r279155) @@ -34,7 +34,8 @@ . ../default.cfg -grep -q $mntpoint /etc/exports || { echo "$mntpoint missing from /etc/exports"; exit 0; } +grep -q $mntpoint /etc/exports || + { echo "$mntpoint missing from /etc/exports"; exit 0; } m2=${mntpoint}2 [ -d $m2 ] || mkdir $m2 @@ -50,12 +51,12 @@ newfs $newfs_flags md${mdstart}$part > / mount /dev/md${mdstart}$part $mntpoint chmod 777 $mntpoint -mount -t nfs -o nfsv4 -o rw 127.0.0.1:$mntpoint $m2 +mount -t nfs -o nfsv4 -o rw,retrycnt=3 127.0.0.1:$mntpoint $m2 export RUNDIR=$m2/stressX export runRUNTIME=10m # Run tests for 10 minutes -su $testuser -c "(cd ..; ./run.sh marcus.cfg)" +su $testuser -c "(cd ..; ./run.sh marcus.cfg)" while mount | grep "on $m2 " | grep -q nfs; do umount $m2 Modified: user/pho/stress2/misc/nullfs8.sh ============================================================================== --- user/pho/stress2/misc/nullfs8.sh Sun Feb 22 13:36:44 2015 (r279154) +++ user/pho/stress2/misc/nullfs8.sh Sun Feb 22 14:03:40 2015 (r279155) @@ -36,7 +36,9 @@ . ../default.cfg -opt="-o nfsv3,rw,udp,rdirplus,noauto" +opt="-o nfsv3,rw,udp,rdirplus,noauto,retrycnt=3" +grep -q $mntpoint /etc/exports || + { echo "$mntpoint missing from /etc/exports"; exit 0; } mount | grep -wq $mntpoint && umount $mntpoint mount -t nullfs /tmp $mntpoint From owner-svn-src-user@FreeBSD.ORG Sun Feb 22 15:48:37 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DF9C54CD; Sun, 22 Feb 2015 15:48:37 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CBD84C5; Sun, 22 Feb 2015 15:48:37 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MFmbX7005504; Sun, 22 Feb 2015 15:48:37 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MFmbZD005503; Sun, 22 Feb 2015 15:48:37 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502221548.t1MFmbZD005503@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sun, 22 Feb 2015 15:48:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279160 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 15:48:38 -0000 Author: dchagin Date: Sun Feb 22 15:48:36 2015 New Revision: 279160 URL: https://svnweb.freebsd.org/changeset/base/279160 Log: Fix a bug introduced in r279107. Linux supports signal numbers from 1 to 64 incl. To prevent such errors in the future remove LINUX_NSIG constant which is similar to SIGRTMAX and use last everywhere. Remove LINUX_SIGTBLSZ constant which is not used anymore. Modified: user/dchagin/lemul/sys/compat/linux/linux.h Modified: user/dchagin/lemul/sys/compat/linux/linux.h ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux.h Sun Feb 22 15:30:08 2015 (r279159) +++ user/dchagin/lemul/sys/compat/linux/linux.h Sun Feb 22 15:48:36 2015 (r279160) @@ -37,9 +37,6 @@ int linux_to_bsd_sigaltstack(int lsa); int bsd_to_linux_sigaltstack(int bsa); /* sigset */ -#define LINUX_SIGTBLSZ 31 -#define LINUX_NSIG 64 - typedef struct { uint64_t __mask; } l_sigset_t; @@ -87,7 +84,7 @@ void bsd_to_linux_sigset(sigset_t *, l_s #define LINUX_SIGPWR 30 #define LINUX_SIGSYS 31 #define LINUX_SIGRTMIN 32 -#define LINUX_SIGRTMAX LINUX_NSIG-1 +#define LINUX_SIGRTMAX 64 #define LINUX_SIG_VALID(sig) ((sig) <= LINUX_SIGRTMAX && (sig) > 0) From owner-svn-src-user@FreeBSD.ORG Sun Feb 22 16:08:28 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D62DAAFB; Sun, 22 Feb 2015 16:08:28 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C1EAB26B; Sun, 22 Feb 2015 16:08:28 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MG8SCW015138; Sun, 22 Feb 2015 16:08:28 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MG8SWb015137; Sun, 22 Feb 2015 16:08:28 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502221608.t1MG8SWb015137@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sun, 22 Feb 2015 16:08:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279164 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 16:08:28 -0000 Author: dchagin Date: Sun Feb 22 16:08:27 2015 New Revision: 279164 URL: https://svnweb.freebsd.org/changeset/base/279164 Log: Convert signal number to native for VT_SETMODE ioctl and remove strange and invalid ISSIGVALID macro. The code has not been tested right way but it was originally broken. Modified: user/dchagin/lemul/sys/compat/linux/linux_ioctl.c Modified: user/dchagin/lemul/sys/compat/linux/linux_ioctl.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_ioctl.c Sun Feb 22 16:04:37 2015 (r279163) +++ user/dchagin/lemul/sys/compat/linux/linux_ioctl.c Sun Feb 22 16:08:27 2015 (r279164) @@ -1977,8 +1977,6 @@ linux_ioctl_sound(struct thread *td, str * Console related ioctls */ -#define ISSIGVALID(sig) ((sig) > 0 && (sig) < NSIG) - static int linux_ioctl_console(struct thread *td, struct linux_ioctl_args *args) { @@ -2061,8 +2059,16 @@ linux_ioctl_console(struct thread *td, s struct vt_mode mode; if ((error = copyin((void *)args->arg, &mode, sizeof(mode)))) break; - if (!ISSIGVALID(mode.frsig) && ISSIGVALID(mode.acqsig)) - mode.frsig = mode.acqsig; + if (LINUX_SIG_VALID(mode.relsig)) + mode.relsig = linux_to_bsd_signal(mode.relsig); + else + mode.relsig = 0; + if (LINUX_SIG_VALID(mode.acqsig)) + mode.acqsig = linux_to_bsd_signal(mode.acqsig); + else + mode.acqsig = 0; + /* XXX. Linux ignores frsig and set it to 0. */ + mode.frsig = 0; if ((error = copyout(&mode, (void *)args->arg, sizeof(mode)))) break; args->cmd = VT_SETMODE; From owner-svn-src-user@FreeBSD.ORG Sun Feb 22 16:17:18 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E22EBC37; Sun, 22 Feb 2015 16:17:18 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CE2D1352; Sun, 22 Feb 2015 16:17:18 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MGHIRK019715; Sun, 22 Feb 2015 16:17:18 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MGHIPR019714; Sun, 22 Feb 2015 16:17:18 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502221617.t1MGHIPR019714@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sun, 22 Feb 2015 16:17:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279165 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 16:17:19 -0000 Author: dchagin Date: Sun Feb 22 16:17:18 2015 New Revision: 279165 URL: https://svnweb.freebsd.org/changeset/base/279165 Log: Whoops, LINUX_SIGTBLSZ is used. Always forget about linux_common module. Modified: user/dchagin/lemul/sys/compat/linux/linux.h Modified: user/dchagin/lemul/sys/compat/linux/linux.h ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux.h Sun Feb 22 16:08:27 2015 (r279164) +++ user/dchagin/lemul/sys/compat/linux/linux.h Sun Feb 22 16:17:18 2015 (r279165) @@ -83,6 +83,7 @@ void bsd_to_linux_sigset(sigset_t *, l_s #define LINUX_SIGPOLL LINUX_SIGIO #define LINUX_SIGPWR 30 #define LINUX_SIGSYS 31 +#define LINUX_SIGTBLSZ 31 #define LINUX_SIGRTMIN 32 #define LINUX_SIGRTMAX 64 From owner-svn-src-user@FreeBSD.ORG Sun Feb 22 17:45:15 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 71B16FDE; Sun, 22 Feb 2015 17:45:15 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5C59ADDB; Sun, 22 Feb 2015 17:45:15 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MHjFxY064102; Sun, 22 Feb 2015 17:45:15 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MHjA6g064078; Sun, 22 Feb 2015 17:45:10 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201502221745.t1MHjA6g064078@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Sun, 22 Feb 2015 17:45:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279167 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 17:45:15 -0000 Author: pho Date: Sun Feb 22 17:45:09 2015 New Revision: 279167 URL: https://svnweb.freebsd.org/changeset/base/279167 Log: Remove trailing whitespace. Sponsored by: EMC / Isilon storage division Modified: user/pho/stress2/misc/extattrctl.sh user/pho/stress2/misc/f_offset.sh user/pho/stress2/misc/fdescfs.sh user/pho/stress2/misc/ldt2.sh user/pho/stress2/misc/lookup_shared.sh user/pho/stress2/misc/md4.sh user/pho/stress2/misc/mount.sh user/pho/stress2/misc/mountro.sh user/pho/stress2/misc/mountro2.sh user/pho/stress2/misc/newfs.sh user/pho/stress2/misc/nfs5.sh user/pho/stress2/misc/nullfs10.sh user/pho/stress2/misc/nullfs2.sh user/pho/stress2/misc/nullfs7.sh user/pho/stress2/misc/suj34.sh user/pho/stress2/misc/swappedout.sh user/pho/stress2/misc/umount.sh Modified: user/pho/stress2/misc/extattrctl.sh ============================================================================== --- user/pho/stress2/misc/extattrctl.sh Sun Feb 22 16:28:24 2015 (r279166) +++ user/pho/stress2/misc/extattrctl.sh Sun Feb 22 17:45:09 2015 (r279167) @@ -32,7 +32,7 @@ # Kernel must be compiled with options UFS_EXTATTR and UFS_EXTATTR_AUTOSTART # Scenario by rwatson@ from: -# +# # Newsgroups: lucky.freebsd.current # Subject: Re: setfacl requirements? # Date: Thu, 5 Dec 2002 15:50:02 +0000 (UTC) Modified: user/pho/stress2/misc/f_offset.sh ============================================================================== --- user/pho/stress2/misc/f_offset.sh Sun Feb 22 16:28:24 2015 (r279166) +++ user/pho/stress2/misc/f_offset.sh Sun Feb 22 17:45:09 2015 (r279167) @@ -28,7 +28,7 @@ # $FreeBSD$ # -# Problem seen with atomic assingment of f_offset. Fixed in r238029. +# Problem seen with atomic assignment of f_offset. Fixed in r238029. # Test scenario by kib@ Modified: user/pho/stress2/misc/fdescfs.sh ============================================================================== --- user/pho/stress2/misc/fdescfs.sh Sun Feb 22 16:28:24 2015 (r279166) +++ user/pho/stress2/misc/fdescfs.sh Sun Feb 22 17:45:09 2015 (r279167) @@ -28,7 +28,7 @@ # $FreeBSD$ # -# +# [ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 Modified: user/pho/stress2/misc/ldt2.sh ============================================================================== --- user/pho/stress2/misc/ldt2.sh Sun Feb 22 16:28:24 2015 (r279166) +++ user/pho/stress2/misc/ldt2.sh Sun Feb 22 17:45:09 2015 (r279167) @@ -55,7 +55,7 @@ mkdir -p $jail cd /var/tmp/deviant2 # You will need to change this! make -j4 TARGET=i386 TARGET_ARCH=i386 DESTDIR=$jail world -make TARGET=i386 TARGET_ARCH=i386 DESTDIR=$jail distribution +make TARGET=i386 TARGET_ARCH=i386 DESTDIR=$jail distribution mount -t devfs devfs $jail/dev Modified: user/pho/stress2/misc/lookup_shared.sh ============================================================================== --- user/pho/stress2/misc/lookup_shared.sh Sun Feb 22 16:28:24 2015 (r279166) +++ user/pho/stress2/misc/lookup_shared.sh Sun Feb 22 17:45:09 2015 (r279167) @@ -35,7 +35,7 @@ saved=`sysctl vfs.lookup_shared | awk '{ export runRUNTIME=10m # Run tests for 10 minutes for i in 1 0; do sysctl vfs.lookup_shared=$i - (cd ..; ./run.sh disk.cfg) + (cd ..; ./run.sh disk.cfg) done -sysctl vfs.lookup_shared=$saved +sysctl vfs.lookup_shared=$saved Modified: user/pho/stress2/misc/md4.sh ============================================================================== --- user/pho/stress2/misc/md4.sh Sun Feb 22 16:28:24 2015 (r279166) +++ user/pho/stress2/misc/md4.sh Sun Feb 22 17:45:09 2015 (r279167) @@ -40,7 +40,7 @@ fdisk -I md$MD_DEV > /dev/null 2>&1 bsdlabel -w -B md${MD_DEV}s1 || exit 1 dd if=/dev/md$MD_DEV of=/dev/null bs=64k 2>&1 | egrep -v "records|transferred" -bsdlabel md${MD_DEV}s1 > /dev/null || +bsdlabel md${MD_DEV}s1 > /dev/null || { echo FAIL; status=1; } mdconfig -d -u $MD_DEV exit $status Modified: user/pho/stress2/misc/mount.sh ============================================================================== --- user/pho/stress2/misc/mount.sh Sun Feb 22 16:28:24 2015 (r279166) +++ user/pho/stress2/misc/mount.sh Sun Feb 22 17:45:09 2015 (r279167) @@ -33,7 +33,7 @@ # cpuid = 1 # KDB: enter: panic # [thread pid 69453 tid 100388 ] -# Stopped at kdb_enter+0x2b: nop +# Stopped at kdb_enter+0x2b: nop # db> where # Tracing pid 69453 tid 100388 td 0xc4b5c1b0 # kdb_enter(c091d9db) at kdb_enter+0x2b Modified: user/pho/stress2/misc/mountro.sh ============================================================================== --- user/pho/stress2/misc/mountro.sh Sun Feb 22 16:28:24 2015 (r279166) +++ user/pho/stress2/misc/mountro.sh Sun Feb 22 17:45:09 2015 (r279167) @@ -34,7 +34,7 @@ [ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 D=$diskimage -dede $D 1m 128 || exit +dede $D 1m 128 || exit mount | grep "$mntpoint" | grep -q /md && umount -f ${mntpoint} mdconfig -l | grep -q ${mdstart} && mdconfig -d -u $mdstart Modified: user/pho/stress2/misc/mountro2.sh ============================================================================== --- user/pho/stress2/misc/mountro2.sh Sun Feb 22 16:28:24 2015 (r279166) +++ user/pho/stress2/misc/mountro2.sh Sun Feb 22 17:45:09 2015 (r279167) @@ -36,7 +36,7 @@ [ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 D=$diskimage -dede $D 1m 20 || exit +dede $D 1m 20 || exit mount | grep "$mntpoint" | grep -q /md && umount -f ${mntpoint} mdconfig -l | grep -q ${mdstart} && mdconfig -d -u $mdstart Modified: user/pho/stress2/misc/newfs.sh ============================================================================== --- user/pho/stress2/misc/newfs.sh Sun Feb 22 16:28:24 2015 (r279166) +++ user/pho/stress2/misc/newfs.sh Sun Feb 22 17:45:09 2015 (r279167) @@ -48,7 +48,7 @@ for opt in -O1 -O2 -U -j; do mount /dev/md${mdstart}$part $mntpoint export RUNDIR=$mntpoint/stressX export runRUNTIME=4m - (cd ..; ./run.sh disk.cfg > /dev/null 2>&1) + (cd ..; ./run.sh disk.cfg > /dev/null 2>&1) while mount | grep "$mntpoint" | grep -q md${mdstart}$part; do umount $mntpoint > /dev/null 2>&1 || sleep 1 done Modified: user/pho/stress2/misc/nfs5.sh ============================================================================== --- user/pho/stress2/misc/nfs5.sh Sun Feb 22 16:28:24 2015 (r279166) +++ user/pho/stress2/misc/nfs5.sh Sun Feb 22 17:45:09 2015 (r279167) @@ -33,7 +33,7 @@ [ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 D=$diskimage -dede $D 1m 128 || exit +dede $D 1m 128 || exit mount | grep "${mntpoint}2" | grep nfs > /dev/null && umount -f ${mntpoint}2 mount | grep "$mntpoint" | grep /md > /dev/null && umount -f ${mntpoint} Modified: user/pho/stress2/misc/nullfs10.sh ============================================================================== --- user/pho/stress2/misc/nullfs10.sh Sun Feb 22 16:28:24 2015 (r279166) +++ user/pho/stress2/misc/nullfs10.sh Sun Feb 22 17:45:09 2015 (r279167) @@ -57,7 +57,7 @@ mount -t nullfs $mntpoint $mnt2 cp /bin/ls $mntpoint chmod +w $mntpoint/ls sleep 2 >> $mntpoint/ls & -sleep .5 +sleep .5 # This line should cause a "/mnt2/ls: Text file busy" $mnt2/ls -l /bin/ls $mntpoint $mnt2 && echo FAIL || echo OK kill $! Modified: user/pho/stress2/misc/nullfs2.sh ============================================================================== --- user/pho/stress2/misc/nullfs2.sh Sun Feb 22 16:28:24 2015 (r279166) +++ user/pho/stress2/misc/nullfs2.sh Sun Feb 22 17:45:09 2015 (r279167) @@ -40,7 +40,7 @@ mount -t nullfs $RUNDIR $mntpoint export RUNDIR=$mntpoint/stressX export runRUNTIME=10m -(cd ..; ./run.sh marcus.cfg) +(cd ..; ./run.sh marcus.cfg) while mount | grep -q "on $mntpoint "; do umount $mntpoint || sleep 1 Modified: user/pho/stress2/misc/nullfs7.sh ============================================================================== --- user/pho/stress2/misc/nullfs7.sh Sun Feb 22 16:28:24 2015 (r279166) +++ user/pho/stress2/misc/nullfs7.sh Sun Feb 22 17:45:09 2015 (r279167) @@ -51,7 +51,7 @@ for i in `jot 50`; do mount -oro -t nullfs $RUNDIR $DST mount -orw -t nullfs /bin $DST done -mount | grep nullfs | awk '{print $3}' | xargs umount +mount | grep nullfs | awk '{print $3}' | xargs umount while mount | grep $mntpoint | grep -q /dev/md; do umount $mntpoint || sleep 1 Modified: user/pho/stress2/misc/suj34.sh ============================================================================== --- user/pho/stress2/misc/suj34.sh Sun Feb 22 16:28:24 2015 (r279166) +++ user/pho/stress2/misc/suj34.sh Sun Feb 22 17:45:09 2015 (r279167) @@ -52,7 +52,7 @@ mount -t nullfs $mntpoint/null $mnt2 export RUNDIR=$mnt2/stressX export runRUNTIME=10m -(cd ..; ./run.sh marcus.cfg) +(cd ..; ./run.sh marcus.cfg) while mount | grep -q "on $mnt2 "; do umount $mnt2 || sleep 1 Modified: user/pho/stress2/misc/swappedout.sh ============================================================================== --- user/pho/stress2/misc/swappedout.sh Sun Feb 22 16:28:24 2015 (r279166) +++ user/pho/stress2/misc/swappedout.sh Sun Feb 22 17:45:09 2015 (r279167) @@ -33,7 +33,7 @@ [ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 -(cd ../testcases/swap; ./swap -t 2m -i 20 -v) > /dev/null +(cd ../testcases/swap; ./swap -t 2m -i 20 -v) > /dev/null ps auxww | awk '{print $8}' | egrep -q ".W" || exit 0 swapoff -a > /dev/null || exit 1 if ps auxww | awk '{print $8}' | egrep -q ".W"; then Modified: user/pho/stress2/misc/umount.sh ============================================================================== --- user/pho/stress2/misc/umount.sh Sun Feb 22 16:28:24 2015 (r279166) +++ user/pho/stress2/misc/umount.sh Sun Feb 22 17:45:09 2015 (r279167) @@ -46,7 +46,7 @@ newfs md${mdstart}${part} mount /dev/md${mdstart}${part} $mntpoint export RUNDIR=$mntpoint/stressX export runRUNTIME=3m # Run tests for three minutes -(cd ..; ./run.sh vfs.cfg) +(cd ..; ./run.sh vfs.cfg) umount $mntpoint mdconfig -d -u ${mdstart} rm -f $D From owner-svn-src-user@FreeBSD.ORG Sun Feb 22 17:48:51 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 656D5158; Sun, 22 Feb 2015 17:48:51 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4F5DEDE8; Sun, 22 Feb 2015 17:48:51 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MHmp5N064554; Sun, 22 Feb 2015 17:48:51 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MHmnqm064546; Sun, 22 Feb 2015 17:48:49 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502221748.t1MHmnqm064546@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sun, 22 Feb 2015 17:48:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279168 - in user/dchagin/lemul/sys: amd64/linux amd64/linux32 compat/linux i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 17:48:51 -0000 Author: dchagin Date: Sun Feb 22 17:48:48 2015 New Revision: 279168 URL: https://svnweb.freebsd.org/changeset/base/279168 Log: Implement epoll_pwait() system call. Modified: user/dchagin/lemul/sys/amd64/linux/linux_dummy.c user/dchagin/lemul/sys/amd64/linux32/linux32_dummy.c user/dchagin/lemul/sys/amd64/linux32/syscalls.master user/dchagin/lemul/sys/compat/linux/linux_event.c user/dchagin/lemul/sys/i386/linux/linux_dummy.c user/dchagin/lemul/sys/i386/linux/syscalls.master Modified: user/dchagin/lemul/sys/amd64/linux/linux_dummy.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/linux_dummy.c Sun Feb 22 17:45:09 2015 (r279167) +++ user/dchagin/lemul/sys/amd64/linux/linux_dummy.c Sun Feb 22 17:48:48 2015 (r279168) @@ -98,7 +98,6 @@ DUMMY(tee); DUMMY(sync_file_range); DUMMY(vmsplice); DUMMY(move_pages); -DUMMY(epoll_pwait); DUMMY(signalfd); DUMMY(timerfd); DUMMY(timerfd_settime); Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_dummy.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_dummy.c Sun Feb 22 17:45:09 2015 (r279167) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_dummy.c Sun Feb 22 17:48:48 2015 (r279168) @@ -102,7 +102,6 @@ DUMMY(vmsplice); DUMMY(move_pages); /* linux 2.6.19: */ DUMMY(getcpu); -DUMMY(epoll_pwait); /* linux 2.6.22: */ DUMMY(signalfd); DUMMY(timerfd_create); Modified: user/dchagin/lemul/sys/amd64/linux32/syscalls.master ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/syscalls.master Sun Feb 22 17:45:09 2015 (r279167) +++ user/dchagin/lemul/sys/amd64/linux32/syscalls.master Sun Feb 22 17:48:48 2015 (r279168) @@ -529,7 +529,7 @@ ; linux 2.6.19: 318 AUE_NULL STD { int linux_getcpu(void); } 319 AUE_NULL STD { int linux_epoll_pwait(l_int epfd, struct epoll_event *events, \ - l_int maxevents, l_int timeout, l_osigset_t *mask); } + l_int maxevents, l_int timeout, l_sigset_t *mask); } ; linux 2.6.22: 320 AUE_FUTIMESAT STD { int linux_utimensat(l_int dfd, const char *pathname, \ const struct l_timespec *times, l_int flags); } Modified: user/dchagin/lemul/sys/compat/linux/linux_event.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_event.c Sun Feb 22 17:45:09 2015 (r279167) +++ user/dchagin/lemul/sys/compat/linux/linux_event.c Sun Feb 22 17:48:48 2015 (r279168) @@ -471,8 +471,9 @@ leave1: /* * Wait for a filter to be triggered on the epoll file descriptor. */ -int -linux_epoll_wait(struct thread *td, struct linux_epoll_wait_args *args) +static int +linux_epoll_wait_common(struct thread *td, int epfd, struct epoll_event *events, + int maxevents, int timeout, sigset_t *uset) { struct file *epfp; struct timespec ts, *tsp; @@ -483,33 +484,49 @@ linux_epoll_wait(struct thread *td, stru NULL}; int error; - if (args->maxevents <= 0 || args->maxevents > LINUX_MAX_EVENTS) + if (maxevents <= 0 || maxevents > LINUX_MAX_EVENTS) return (EINVAL); - error = fget(td, args->epfd, + if (uset != NULL) { + error = kern_sigprocmask(td, SIG_SETMASK, uset, + &td->td_oldsigmask, 0); + if (error != 0) + return (error); + td->td_pflags |= TDP_OLDMASK; + /* + * Make sure that ast() is called on return to + * usermode and TDP_OLDMASK is cleared, restoring old + * sigmask. + */ + thread_lock(td); + td->td_flags |= TDF_ASTPENDING; + thread_unlock(td); + } + + error = fget(td, epfd, cap_rights_init(&rights, CAP_KQUEUE_EVENT), &epfp); if (error != 0) return (error); - coargs.leventlist = args->events; + coargs.leventlist = events; coargs.p = td->td_proc; coargs.count = 0; coargs.error = 0; - if (args->timeout != -1) { - if (args->timeout < 0) { + if (timeout != -1) { + if (timeout < 0) { error = EINVAL; goto leave; } /* Convert from milliseconds to timespec. */ - ts.tv_sec = args->timeout / 1000; - ts.tv_nsec = (args->timeout % 1000) * 1000000; + ts.tv_sec = timeout / 1000; + ts.tv_nsec = (timeout % 1000) * 1000000; tsp = &ts; } else { tsp = NULL; } - error = kern_kevent_fp(td, epfp, 0, args->maxevents, &k_ops, tsp); + error = kern_kevent_fp(td, epfp, 0, maxevents, &k_ops, tsp); if (error == 0 && coargs.error != 0) error = coargs.error; @@ -524,6 +541,33 @@ leave: return (error); } +int +linux_epoll_wait(struct thread *td, struct linux_epoll_wait_args *args) +{ + + return (linux_epoll_wait_common(td, args->epfd, args->events, + args->maxevents, args->timeout, NULL)); +} + +int +linux_epoll_pwait(struct thread *td, struct linux_epoll_pwait_args *args) +{ + sigset_t mask, *pmask; + l_sigset_t lmask; + int error; + + if (args->mask != NULL) { + error = copyin(args->mask, &lmask, sizeof(l_sigset_t)); + if (error != 0) + return (error); + linux_to_bsd_sigset(&lmask, &mask); + pmask = &mask; + } else + pmask = NULL; + return (linux_epoll_wait_common(td, args->epfd, args->events, + args->maxevents, args->timeout, pmask)); +} + static int epoll_delete_event(struct thread *td, struct file *epfp, int fd, int filter) { Modified: user/dchagin/lemul/sys/i386/linux/linux_dummy.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_dummy.c Sun Feb 22 17:45:09 2015 (r279167) +++ user/dchagin/lemul/sys/i386/linux/linux_dummy.c Sun Feb 22 17:48:48 2015 (r279168) @@ -98,7 +98,6 @@ DUMMY(vmsplice); DUMMY(move_pages); /* linux 2.6.19: */ DUMMY(getcpu); -DUMMY(epoll_pwait); /* linux 2.6.22: */ DUMMY(signalfd); DUMMY(timerfd_create); Modified: user/dchagin/lemul/sys/i386/linux/syscalls.master ============================================================================== --- user/dchagin/lemul/sys/i386/linux/syscalls.master Sun Feb 22 17:45:09 2015 (r279167) +++ user/dchagin/lemul/sys/i386/linux/syscalls.master Sun Feb 22 17:48:48 2015 (r279168) @@ -537,7 +537,7 @@ ; linux 2.6.19: 318 AUE_NULL STD { int linux_getcpu(void); } 319 AUE_NULL STD { int linux_epoll_pwait(l_int epfd, struct epoll_event *events, \ - l_int maxevents, l_int timeout, l_osigset_t *mask); } + l_int maxevents, l_int timeout, l_sigset_t *mask); } ; linux 2.6.22: 320 AUE_FUTIMESAT STD { int linux_utimensat(l_int dfd, const char *pathname, \ const struct l_timespec *times, l_int flags); } From owner-svn-src-user@FreeBSD.ORG Sun Feb 22 17:50:21 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 63551324; Sun, 22 Feb 2015 17:50:21 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 446DDDFA; Sun, 22 Feb 2015 17:50:21 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MHoLGJ064992; Sun, 22 Feb 2015 17:50:21 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MHoKPD064987; Sun, 22 Feb 2015 17:50:20 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201502221750.t1MHoKPD064987@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Sun, 22 Feb 2015 17:50:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279169 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 17:50:21 -0000 Author: pho Date: Sun Feb 22 17:50:19 2015 New Revision: 279169 URL: https://svnweb.freebsd.org/changeset/base/279169 Log: Use $mntpoint as mount point. Sponsored by: EMC / Isilon storage division Modified: user/pho/stress2/misc/nullfs3.sh user/pho/stress2/misc/nullfs5.sh user/pho/stress2/misc/union.sh Modified: user/pho/stress2/misc/nullfs3.sh ============================================================================== --- user/pho/stress2/misc/nullfs3.sh Sun Feb 22 17:48:48 2015 (r279168) +++ user/pho/stress2/misc/nullfs3.sh Sun Feb 22 17:50:19 2015 (r279169) @@ -36,20 +36,17 @@ . ../default.cfg -[ -d mp1 ] || mkdir mp1 -[ -d $RUNDIR ] || mkdir $RUNDIR +[ -d $RUNDIR/stressX ] || mkdir -p $RUNDIR/stressX -mp=`pwd`/mp1 +mp=$mntpoint mount | grep -q $mp && umount -f $mp mount -t nullfs `dirname $RUNDIR` $mp cd $mp/stressX -whereis something +whereis something > /dev/null cd / umount $mp mount | grep -q $mp && umount -f $mp - -rm -rf $mp Modified: user/pho/stress2/misc/nullfs5.sh ============================================================================== --- user/pho/stress2/misc/nullfs5.sh Sun Feb 22 17:48:48 2015 (r279168) +++ user/pho/stress2/misc/nullfs5.sh Sun Feb 22 17:50:19 2015 (r279169) @@ -50,22 +50,17 @@ for j in `jot 5`; do /tmp/kinfo & done -[ -d mp1 ] || mkdir mp1 +mount | grep -q $mntpoint && umount -f $mntpoint -mp=`pwd`/mp1 -mount | grep -q $mp && umount -f $mp +mount -t nullfs `dirname $RUNDIR` $mntpoint -mount -t nullfs `dirname $RUNDIR` $mp - -export RUNDIR=`pwd`/mp1/stressX +export RUNDIR=$mntpoint/stressX export runRUNTIME=10m (cd ..; ./run.sh marcus.cfg) -umount $mp 2>&1 | grep -v busy - -mount | grep -q $mp && umount -f $mp +umount $mntpoint 2>&1 | grep -v busy -rm -rf mp1 +mount | grep -q $mntpoint && umount -f $mntpoint for j in `jot 5`; do wait Modified: user/pho/stress2/misc/union.sh ============================================================================== --- user/pho/stress2/misc/union.sh Sun Feb 22 17:48:48 2015 (r279168) +++ user/pho/stress2/misc/union.sh Sun Feb 22 17:50:19 2015 (r279169) @@ -36,7 +36,6 @@ u1=$mdstart u2=$((u1 + 1)) -[ -d mp1 ] || mkdir mp1 mount | grep -q /dev/md${u2}$part && umount -f /dev/md${u2}$part mount | grep -q /dev/md${u1}$part && umount -f /dev/md${u1}$part @@ -51,12 +50,12 @@ mdconfig -s 256m -u $u2 bsdlabel -w md$u2 auto newfs md${u2}${part} > /dev/null -mount -o ro /dev/md${u1}$part mp1 -mount -o union /dev/md${u2}$part mp1 +mount -o ro /dev/md${u1}$part $mntpoint +mount -o union /dev/md${u2}$part $mntpoint -export RUNDIR=`pwd`/mp1/stressX +export RUNDIR=$mntpoint/stressX export runRUNTIME=10m -(cd ..; ./run.sh marcus.cfg) +(cd ..; ./run.sh marcus.cfg) > /dev/null umount /dev/md${u2}$part umount /dev/md${u1}$part @@ -66,5 +65,3 @@ mount | grep -q /dev/md${u1}$part && umo mdconfig -d -u $u2 mdconfig -d -u $u1 - -rm -rf mp1 From owner-svn-src-user@FreeBSD.ORG Sun Feb 22 17:50:43 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7DBEA447; Sun, 22 Feb 2015 17:50:43 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 68066E77; Sun, 22 Feb 2015 17:50:43 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MHohAH065083; Sun, 22 Feb 2015 17:50:43 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MHoeWt065073; Sun, 22 Feb 2015 17:50:40 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502221750.t1MHoeWt065073@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sun, 22 Feb 2015 17:50:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279170 - in user/dchagin/lemul/sys: amd64/linux32 i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 17:50:43 -0000 Author: dchagin Date: Sun Feb 22 17:50:39 2015 New Revision: 279170 URL: https://svnweb.freebsd.org/changeset/base/279170 Log: Regen for r279178. (epoll_pwait) Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c user/dchagin/lemul/sys/i386/linux/linux_proto.h user/dchagin/lemul/sys/i386/linux/linux_syscall.h user/dchagin/lemul/sys/i386/linux/linux_syscalls.c user/dchagin/lemul/sys/i386/linux/linux_sysent.c user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h Sun Feb 22 17:50:19 2015 (r279169) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h Sun Feb 22 17:50:39 2015 (r279170) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279151 2015-02-22 08:52:53Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279168 2015-02-22 17:48:48Z dchagin */ #ifndef _LINUX_SYSPROTO_H_ @@ -1049,7 +1049,7 @@ struct linux_epoll_pwait_args { char events_l_[PADL_(struct epoll_event *)]; struct epoll_event * events; char events_r_[PADR_(struct epoll_event *)]; char maxevents_l_[PADL_(l_int)]; l_int maxevents; char maxevents_r_[PADR_(l_int)]; char timeout_l_[PADL_(l_int)]; l_int timeout; char timeout_r_[PADR_(l_int)]; - char mask_l_[PADL_(l_osigset_t *)]; l_osigset_t * mask; char mask_r_[PADR_(l_osigset_t *)]; + char mask_l_[PADL_(l_sigset_t *)]; l_sigset_t * mask; char mask_r_[PADR_(l_sigset_t *)]; }; struct linux_utimensat_args { char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h Sun Feb 22 17:50:19 2015 (r279169) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h Sun Feb 22 17:50:39 2015 (r279170) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279151 2015-02-22 08:52:53Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279168 2015-02-22 17:48:48Z dchagin */ #define LINUX_SYS_linux_exit 1 Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c Sun Feb 22 17:50:19 2015 (r279169) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c Sun Feb 22 17:50:39 2015 (r279170) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279151 2015-02-22 08:52:53Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279168 2015-02-22 17:48:48Z dchagin */ const char *linux_syscallnames[] = { Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c Sun Feb 22 17:50:19 2015 (r279169) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c Sun Feb 22 17:50:39 2015 (r279170) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279151 2015-02-22 08:52:53Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279168 2015-02-22 17:48:48Z dchagin */ #include "opt_compat.h" Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c Sun Feb 22 17:50:19 2015 (r279169) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c Sun Feb 22 17:50:39 2015 (r279170) @@ -2164,7 +2164,7 @@ systrace_args(int sysnum, void *params, uarg[1] = (intptr_t) p->events; /* struct epoll_event * */ iarg[2] = p->maxevents; /* l_int */ iarg[3] = p->timeout; /* l_int */ - uarg[4] = (intptr_t) p->mask; /* l_osigset_t * */ + uarg[4] = (intptr_t) p->mask; /* l_sigset_t * */ *n_args = 5; break; } @@ -5581,7 +5581,7 @@ systrace_entry_setargdesc(int sysnum, in p = "l_int"; break; case 4: - p = "l_osigset_t *"; + p = "l_sigset_t *"; break; default: break; Modified: user/dchagin/lemul/sys/i386/linux/linux_proto.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_proto.h Sun Feb 22 17:50:19 2015 (r279169) +++ user/dchagin/lemul/sys/i386/linux/linux_proto.h Sun Feb 22 17:50:39 2015 (r279170) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279151 2015-02-22 08:52:53Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279168 2015-02-22 17:48:48Z dchagin */ #ifndef _LINUX_SYSPROTO_H_ @@ -1067,7 +1067,7 @@ struct linux_epoll_pwait_args { char events_l_[PADL_(struct epoll_event *)]; struct epoll_event * events; char events_r_[PADR_(struct epoll_event *)]; char maxevents_l_[PADL_(l_int)]; l_int maxevents; char maxevents_r_[PADR_(l_int)]; char timeout_l_[PADL_(l_int)]; l_int timeout; char timeout_r_[PADR_(l_int)]; - char mask_l_[PADL_(l_osigset_t *)]; l_osigset_t * mask; char mask_r_[PADR_(l_osigset_t *)]; + char mask_l_[PADL_(l_sigset_t *)]; l_sigset_t * mask; char mask_r_[PADR_(l_sigset_t *)]; }; struct linux_utimensat_args { char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)]; Modified: user/dchagin/lemul/sys/i386/linux/linux_syscall.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_syscall.h Sun Feb 22 17:50:19 2015 (r279169) +++ user/dchagin/lemul/sys/i386/linux/linux_syscall.h Sun Feb 22 17:50:39 2015 (r279170) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279151 2015-02-22 08:52:53Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279168 2015-02-22 17:48:48Z dchagin */ #define LINUX_SYS_linux_exit 1 Modified: user/dchagin/lemul/sys/i386/linux/linux_syscalls.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_syscalls.c Sun Feb 22 17:50:19 2015 (r279169) +++ user/dchagin/lemul/sys/i386/linux/linux_syscalls.c Sun Feb 22 17:50:39 2015 (r279170) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279151 2015-02-22 08:52:53Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279168 2015-02-22 17:48:48Z dchagin */ const char *linux_syscallnames[] = { Modified: user/dchagin/lemul/sys/i386/linux/linux_sysent.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_sysent.c Sun Feb 22 17:50:19 2015 (r279169) +++ user/dchagin/lemul/sys/i386/linux/linux_sysent.c Sun Feb 22 17:50:39 2015 (r279170) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279151 2015-02-22 08:52:53Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279168 2015-02-22 17:48:48Z dchagin */ #include Modified: user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Sun Feb 22 17:50:19 2015 (r279169) +++ user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Sun Feb 22 17:50:39 2015 (r279170) @@ -2240,7 +2240,7 @@ systrace_args(int sysnum, void *params, uarg[1] = (intptr_t) p->events; /* struct epoll_event * */ iarg[2] = p->maxevents; /* l_int */ iarg[3] = p->timeout; /* l_int */ - uarg[4] = (intptr_t) p->mask; /* l_osigset_t * */ + uarg[4] = (intptr_t) p->mask; /* l_sigset_t * */ *n_args = 5; break; } @@ -5812,7 +5812,7 @@ systrace_entry_setargdesc(int sysnum, in p = "l_int"; break; case 4: - p = "l_osigset_t *"; + p = "l_sigset_t *"; break; default: break; From owner-svn-src-user@FreeBSD.ORG Sun Feb 22 18:04:34 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6F3C171E; Sun, 22 Feb 2015 18:04:34 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3F944FA2; Sun, 22 Feb 2015 18:04:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MI4XWD073693; Sun, 22 Feb 2015 18:04:33 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MI4XTb073690; Sun, 22 Feb 2015 18:04:33 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201502221804.t1MI4XTb073690@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Sun, 22 Feb 2015 18:04:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279171 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 18:04:34 -0000 Author: pho Date: Sun Feb 22 18:04:32 2015 New Revision: 279171 URL: https://svnweb.freebsd.org/changeset/base/279171 Log: Handle graid not being available. Sponsored by: EMC / Isilon storage division Modified: user/pho/stress2/misc/graid0.sh user/pho/stress2/misc/graid1.sh user/pho/stress2/misc/graid3.sh Modified: user/pho/stress2/misc/graid0.sh ============================================================================== --- user/pho/stress2/misc/graid0.sh Sun Feb 22 17:50:39 2015 (r279170) +++ user/pho/stress2/misc/graid0.sh Sun Feb 22 18:04:32 2015 (r279171) @@ -43,9 +43,10 @@ for u in $md1 $md2 $md3; do mdconfig -a -t swap -s 1g -u $u done -gstripe load || exit 1 +gstripe load > /dev/null 2>&1 gstripe label -v -s 131072 data /dev/md$md1 /dev/md$md2 /dev/md$md3 > \ - /dev/null + /dev/null || exit 1 +[ -c /dev/stripe/data ] || exit 1 newfs $newfs_flags /dev/stripe/data > /dev/null mount /dev/stripe/data $mntpoint chmod 777 $mntpoint Modified: user/pho/stress2/misc/graid1.sh ============================================================================== --- user/pho/stress2/misc/graid1.sh Sun Feb 22 17:50:39 2015 (r279170) +++ user/pho/stress2/misc/graid1.sh Sun Feb 22 18:04:32 2015 (r279171) @@ -43,9 +43,10 @@ for u in $md1 $md2 $md3; do mdconfig -a -t swap -s 1g -u $u done -gmirror load || exit 1 +gmirror load > /dev/null 2>&1 gmirror label -v -b split -s 2048 data /dev/md$md1 /dev/md$md2 \ - /dev/md$md3 > /dev/null + /dev/md$md3 > /dev/null || exit 1 +[ -c /dev/mirror/data ] || exit 1 newfs $newfs_flags /dev/mirror/data > /dev/null mount /dev/mirror/data $mntpoint chmod 777 $mntpoint Modified: user/pho/stress2/misc/graid3.sh ============================================================================== --- user/pho/stress2/misc/graid3.sh Sun Feb 22 17:50:39 2015 (r279170) +++ user/pho/stress2/misc/graid3.sh Sun Feb 22 18:04:32 2015 (r279171) @@ -44,8 +44,9 @@ for u in $md1 $md2 $md3; do mdconfig -a -t swap -s 1g -u $u done -graid3 load || exit -graid3 label -v -r data md$md1 md$md2 md$md3 > /dev/null || exit +graid3 load > /dev/null 2>&1 +graid3 label -v -r data md$md1 md$md2 md$md3 > /dev/null || exit 1 +[ -c /dev/raid3/data ] || exit 1 newfs $newfs_flags /dev/raid3/data > /dev/null mount /dev/raid3/data $mntpoint chmod 777 $mntpoint From owner-svn-src-user@FreeBSD.ORG Sun Feb 22 22:00:58 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1E852A0; Sun, 22 Feb 2015 22:00:58 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 074E7BB5; Sun, 22 Feb 2015 22:00:58 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MM0v1V086818; Sun, 22 Feb 2015 22:00:57 GMT (envelope-from nwhitehorn@FreeBSD.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MM0sYR086547; Sun, 22 Feb 2015 22:00:54 GMT (envelope-from nwhitehorn@FreeBSD.org) Message-Id: <201502222200.t1MM0sYR086547@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: nwhitehorn set sender to nwhitehorn@FreeBSD.org using -f From: Nathan Whitehorn Date: Sun, 22 Feb 2015 22:00:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279190 - in user/nwhitehorn/ppc64-pmap-rework: aim fpu include powerpc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 22:00:58 -0000 Author: nwhitehorn Date: Sun Feb 22 22:00:53 2015 New Revision: 279190 URL: https://svnweb.freebsd.org/changeset/base/279190 Log: IFC after VSX kernel code Modified: user/nwhitehorn/ppc64-pmap-rework/aim/trap.c user/nwhitehorn/ppc64-pmap-rework/aim/trap_subr64.S user/nwhitehorn/ppc64-pmap-rework/fpu/fpu_emu.c user/nwhitehorn/ppc64-pmap-rework/fpu/fpu_explode.c user/nwhitehorn/ppc64-pmap-rework/include/cpu.h user/nwhitehorn/ppc64-pmap-rework/include/pcb.h user/nwhitehorn/ppc64-pmap-rework/include/psl.h user/nwhitehorn/ppc64-pmap-rework/include/reg.h user/nwhitehorn/ppc64-pmap-rework/include/trap.h user/nwhitehorn/ppc64-pmap-rework/powerpc/cpu.c user/nwhitehorn/ppc64-pmap-rework/powerpc/db_trace.c user/nwhitehorn/ppc64-pmap-rework/powerpc/exec_machdep.c user/nwhitehorn/ppc64-pmap-rework/powerpc/fpu.c Directory Properties: user/nwhitehorn/ppc64-pmap-rework/ (props changed) Modified: user/nwhitehorn/ppc64-pmap-rework/aim/trap.c ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/aim/trap.c Sun Feb 22 21:40:27 2015 (r279189) +++ user/nwhitehorn/ppc64-pmap-rework/aim/trap.c Sun Feb 22 22:00:53 2015 (r279190) @@ -116,6 +116,7 @@ static struct powerpc_exception powerpc_ { 0x0e00, "floating-point assist" }, { 0x0f00, "performance monitoring" }, { 0x0f20, "altivec unavailable" }, + { 0x0f40, "vsx unavailable" }, { 0x1000, "instruction tlb miss" }, { 0x1100, "data load tlb miss" }, { 0x1200, "data store tlb miss" }, @@ -230,6 +231,17 @@ trap(struct trapframe *frame) enable_vec(td); break; + case EXC_VSX: + KASSERT((td->td_pcb->pcb_flags & PCB_VSX) != PCB_VSX, + ("VSX already enabled for thread")); + if (!(td->td_pcb->pcb_flags & PCB_VEC)) + enable_vec(td); + if (!(td->td_pcb->pcb_flags & PCB_FPU)) + save_fpu(td); + td->td_pcb->pcb_flags |= PCB_VSX; + enable_fpu(td); + break; + case EXC_VECAST_G4: case EXC_VECAST_G5: /* @@ -709,7 +721,7 @@ fix_unaligned(struct thread *td, struct case EXC_ALI_LFD: case EXC_ALI_STFD: reg = EXC_ALI_RST(frame->cpu.aim.dsisr); - fpr = &td->td_pcb->pcb_fpu.fpr[reg]; + fpr = &td->td_pcb->pcb_fpu.fpr[reg].fpr; fputhread = PCPU_GET(fputhread); /* Juggle the FPU to ensure that we've initialized Modified: user/nwhitehorn/ppc64-pmap-rework/aim/trap_subr64.S ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/aim/trap_subr64.S Sun Feb 22 21:40:27 2015 (r279189) +++ user/nwhitehorn/ppc64-pmap-rework/aim/trap_subr64.S Sun Feb 22 22:00:53 2015 (r279190) @@ -359,7 +359,7 @@ CNAME(trapcode): li %r1,TRAP_GENTRAP ld %r1,0(%r1) mtlr %r1 - li %r1, 0xA0 /* How to get the vector from LR */ + li %r1, 0xe0 /* How to get the vector from LR */ blrl /* Branch to generictrap */ CNAME(trapcodeend): Modified: user/nwhitehorn/ppc64-pmap-rework/fpu/fpu_emu.c ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/fpu/fpu_emu.c Sun Feb 22 21:40:27 2015 (r279189) +++ user/nwhitehorn/ppc64-pmap-rework/fpu/fpu_emu.c Sun Feb 22 22:00:53 2015 (r279190) @@ -335,7 +335,7 @@ fpu_execute(struct trapframe *tf, struct if (ra != 0) addr += tf->fixreg[ra]; rt = instr.i_x.i_rt; - a = (int *)&fs->fpreg[rt]; + a = (int *)&fs->fpreg[rt].fpr; DPRINTF(FPE_INSN, ("fpu_execute: Store INT %x at %p\n", a[1], (void *)addr)); @@ -402,7 +402,8 @@ fpu_execute(struct trapframe *tf, struct DPRINTF(FPE_INSN, ("fpu_execute: Store DBL at %p\n", (void *)addr)); - if (copyout(&fs->fpreg[rt], (void *)addr, size)) + if (copyout(&fs->fpreg[rt].fpr, (void *)addr, + size)) return (FAULT); } } else { @@ -410,12 +411,13 @@ fpu_execute(struct trapframe *tf, struct FPU_EMU_EVCNT_INCR(fpload); DPRINTF(FPE_INSN, ("fpu_execute: Load from %p\n", (void *)addr)); - if (copyin((const void *)addr, &fs->fpreg[rt], size)) + if (copyin((const void *)addr, &fs->fpreg[rt].fpr, + size)) return (FAULT); if (type != FTYPE_DBL) { fpu_explode(fe, fp = &fe->fe_f1, type, rt); fpu_implode(fe, fp, FTYPE_DBL, - (u_int *)&fs->fpreg[rt]); + (u_int *)&fs->fpreg[rt].fpr); } } if (update) @@ -468,7 +470,7 @@ fpu_execute(struct trapframe *tf, struct DPRINTF(FPE_INSN, ("fpu_execute: FRSP\n")); fpu_explode(fe, fp = &fe->fe_f1, FTYPE_DBL, rb); fpu_implode(fe, fp, FTYPE_SNG, - (u_int *)&fs->fpreg[rt]); + (u_int *)&fs->fpreg[rt].fpr); fpu_explode(fe, fp = &fe->fe_f1, FTYPE_SNG, rt); type = FTYPE_DBL; break; @@ -501,9 +503,9 @@ fpu_execute(struct trapframe *tf, struct case OPC63_FNEG: FPU_EMU_EVCNT_INCR(fnegabs); DPRINTF(FPE_INSN, ("fpu_execute: FNEGABS\n")); - memcpy(&fs->fpreg[rt], &fs->fpreg[rb], + memcpy(&fs->fpreg[rt].fpr, &fs->fpreg[rb].fpr, sizeof(double)); - a = (int *)&fs->fpreg[rt]; + a = (int *)&fs->fpreg[rt].fpr; *a ^= (1U << 31); break; case OPC63_MCRFS: @@ -531,7 +533,7 @@ fpu_execute(struct trapframe *tf, struct case OPC63_FMR: FPU_EMU_EVCNT_INCR(fmr); DPRINTF(FPE_INSN, ("fpu_execute: FMR\n")); - memcpy(&fs->fpreg[rt], &fs->fpreg[rb], + memcpy(&fs->fpreg[rt].fpr, &fs->fpreg[rb].fpr, sizeof(double)); break; case OPC63_MTFSFI: @@ -548,23 +550,23 @@ fpu_execute(struct trapframe *tf, struct case OPC63_FNABS: FPU_EMU_EVCNT_INCR(fnabs); DPRINTF(FPE_INSN, ("fpu_execute: FABS\n")); - memcpy(&fs->fpreg[rt], &fs->fpreg[rb], + memcpy(&fs->fpreg[rt].fpr, &fs->fpreg[rb].fpr, sizeof(double)); - a = (int *)&fs->fpreg[rt]; + a = (int *)&fs->fpreg[rt].fpr; *a |= (1U << 31); break; case OPC63_FABS: FPU_EMU_EVCNT_INCR(fabs); DPRINTF(FPE_INSN, ("fpu_execute: FABS\n")); - memcpy(&fs->fpreg[rt], &fs->fpreg[rb], + memcpy(&fs->fpreg[rt].fpr, &fs->fpreg[rb].fpr, sizeof(double)); - a = (int *)&fs->fpreg[rt]; + a = (int *)&fs->fpreg[rt].fpr; *a &= ~(1U << 31); break; case OPC63_MFFS: FPU_EMU_EVCNT_INCR(mffs); DPRINTF(FPE_INSN, ("fpu_execute: MFFS\n")); - memcpy(&fs->fpreg[rt], &fs->fpscr, + memcpy(&fs->fpreg[rt].fpr, &fs->fpscr, sizeof(fs->fpscr)); break; case OPC63_MTFSF: @@ -579,7 +581,7 @@ fpu_execute(struct trapframe *tf, struct if (rt & (1<fpreg[rt]; + a = (int *)&fs->fpreg[rt].fpr; fe->fe_cx = mask & a[1]; fe->fe_fpscr = (fe->fe_fpscr&~mask) | (fe->fe_cx); @@ -646,12 +648,12 @@ fpu_execute(struct trapframe *tf, struct case OPC63M_FSEL: FPU_EMU_EVCNT_INCR(fsel); DPRINTF(FPE_INSN, ("fpu_execute: FSEL\n")); - a = (int *)&fe->fe_fpstate->fpreg[ra]; + a = (int *)&fe->fe_fpstate->fpreg[ra].fpr; if ((*a & 0x80000000) && (*a & 0x7fffffff)) /* fra < 0 */ rc = rb; DPRINTF(FPE_INSN, ("f%d => f%d\n", rc, rt)); - memcpy(&fs->fpreg[rt], &fs->fpreg[rc], + memcpy(&fs->fpreg[rt].fpr, &fs->fpreg[rc].fpr, sizeof(double)); break; case OPC59_FRES: @@ -660,7 +662,7 @@ fpu_execute(struct trapframe *tf, struct fpu_explode(fe, &fe->fe_f1, type, rb); fp = fpu_sqrt(fe); /* now we've gotta overwrite the dest reg */ - *((int *)&fe->fe_fpstate->fpreg[rt]) = 1; + *((int *)&fe->fe_fpstate->fpreg[rt].fpr) = 1; fpu_explode(fe, &fe->fe_f1, FTYPE_INT, rt); fpu_div(fe); break; @@ -679,7 +681,7 @@ fpu_execute(struct trapframe *tf, struct fp = fpu_sqrt(fe); fe->fe_f2 = *fp; /* now we've gotta overwrite the dest reg */ - *((int *)&fe->fe_fpstate->fpreg[rt]) = 1; + *((int *)&fe->fe_fpstate->fpreg[rt].fpr) = 1; fpu_explode(fe, &fe->fe_f1, FTYPE_INT, rt); fpu_div(fe); break; @@ -735,7 +737,7 @@ fpu_execute(struct trapframe *tf, struct /* If the instruction was single precision, round */ if (!(instr.i_any.i_opcd & 0x4)) { fpu_implode(fe, fp, FTYPE_SNG, - (u_int *)&fs->fpreg[rt]); + (u_int *)&fs->fpreg[rt].fpr); fpu_explode(fe, fp = &fe->fe_f1, FTYPE_SNG, rt); } } @@ -750,7 +752,7 @@ fpu_execute(struct trapframe *tf, struct * Otherwise set new current exceptions and accrue. */ if (fp) - fpu_implode(fe, fp, type, (u_int *)&fs->fpreg[rt]); + fpu_implode(fe, fp, type, (u_int *)&fs->fpreg[rt].fpr); cx = fe->fe_cx; fsr = fe->fe_fpscr; if (cx != 0) { Modified: user/nwhitehorn/ppc64-pmap-rework/fpu/fpu_explode.c ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/fpu/fpu_explode.c Sun Feb 22 21:40:27 2015 (r279189) +++ user/nwhitehorn/ppc64-pmap-rework/fpu/fpu_explode.c Sun Feb 22 22:00:53 2015 (r279190) @@ -211,9 +211,9 @@ fpu_explode(struct fpemu *fe, struct fpn u_int s, *space; u_int64_t l, *xspace; - xspace = (u_int64_t *)&fe->fe_fpstate->fpreg[reg]; + xspace = (u_int64_t *)&fe->fe_fpstate->fpreg[reg].fpr; l = xspace[0]; - space = (u_int *)&fe->fe_fpstate->fpreg[reg]; + space = (u_int *)&fe->fe_fpstate->fpreg[reg].fpr; s = space[0]; fp->fp_sign = s >> 31; fp->fp_sticky = 0; Modified: user/nwhitehorn/ppc64-pmap-rework/include/cpu.h ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/include/cpu.h Sun Feb 22 21:40:27 2015 (r279189) +++ user/nwhitehorn/ppc64-pmap-rework/include/cpu.h Sun Feb 22 22:00:53 2015 (r279190) @@ -55,10 +55,12 @@ extern int cpu_features; #define PPC_FEATURE_HAS_FPU 0x08000000 #define PPC_FEATURE_HAS_MMU 0x04000000 #define PPC_FEATURE_UNIFIED_CACHE 0x01000000 +#define PPC_FEATURE_HAS_VSX 0x00000080 #define PPC_FEATURE_BITMASK \ "\20" \ - "\040PPC32\037PPC64\035ALTIVEC\034FPU\033MMU\031UNIFIEDCACHE" + "\040PPC32\037PPC64\035ALTIVEC\034FPU\033MMU\031UNIFIEDCACHE" \ + "\010VSX" #define TRAPF_USERMODE(frame) (((frame)->srr1 & PSL_PR) != 0) #define TRAPF_PC(frame) ((frame)->srr0) Modified: user/nwhitehorn/ppc64-pmap-rework/include/pcb.h ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/include/pcb.h Sun Feb 22 21:40:27 2015 (r279189) +++ user/nwhitehorn/ppc64-pmap-rework/include/pcb.h Sun Feb 22 22:00:53 2015 (r279190) @@ -50,8 +50,12 @@ struct pcb { #define PCB_FPU 1 /* Process uses FPU */ #define PCB_FPREGS 2 /* Process had FPU registers initialized */ #define PCB_VEC 4 /* Process had Altivec initialized */ +#define PCB_VSX 8 /* Process had VSX initialized */ struct fpu { - double fpr[32]; + union { + double fpr; + uint32_t vsr[4]; + } fpr[32]; double fpscr; /* FPSCR stored as double for easier access */ } pcb_fpu; /* Floating point processor */ unsigned int pcb_fpcpu; /* which CPU had our FPU Modified: user/nwhitehorn/ppc64-pmap-rework/include/psl.h ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/include/psl.h Sun Feb 22 21:40:27 2015 (r279189) +++ user/nwhitehorn/ppc64-pmap-rework/include/psl.h Sun Feb 22 22:00:53 2015 (r279190) @@ -39,6 +39,7 @@ * Machine State Register (MSR) - All cores */ #define PSL_VEC 0x02000000UL /* AltiVec/SPE vector unit available */ +#define PSL_VSX 0x00800000UL /* Vector-Scalar unit available */ #define PSL_EE 0x00008000UL /* external interrupt enable */ #define PSL_PR 0x00004000UL /* privilege mode (1 == user) */ #define PSL_FP 0x00002000UL /* floating point enable */ Modified: user/nwhitehorn/ppc64-pmap-rework/include/reg.h ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/include/reg.h Sun Feb 22 21:40:27 2015 (r279189) +++ user/nwhitehorn/ppc64-pmap-rework/include/reg.h Sun Feb 22 22:00:53 2015 (r279190) @@ -20,7 +20,10 @@ struct reg { /* Must match pcb.pcb_fpu */ struct fpreg { - double fpreg[32]; + union { + double fpr; + uint64_t vsr[2]; + } fpreg[32]; double fpscr; }; Modified: user/nwhitehorn/ppc64-pmap-rework/include/trap.h ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/include/trap.h Sun Feb 22 21:40:27 2015 (r279189) +++ user/nwhitehorn/ppc64-pmap-rework/include/trap.h Sun Feb 22 22:00:53 2015 (r279190) @@ -74,6 +74,9 @@ #define EXC_DLMISS 0x1100 /* Data load translation miss */ #define EXC_DSMISS 0x1200 /* Data store translation miss */ +/* Power ISA 2.06+: */ +#define EXC_VSX 0x0f40 /* VSX Unavailable */ + /* The following are available on 4xx and 85xx */ #define EXC_CRIT 0x0100 /* Critical Input Interrupt */ #define EXC_PIT 0x1000 /* Programmable Interval Timer */ Modified: user/nwhitehorn/ppc64-pmap-rework/powerpc/cpu.c ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/powerpc/cpu.c Sun Feb 22 21:40:27 2015 (r279189) +++ user/nwhitehorn/ppc64-pmap-rework/powerpc/cpu.c Sun Feb 22 22:00:53 2015 (r279190) @@ -141,17 +141,17 @@ static const struct cputab models[] = { PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU, NULL }, { "IBM POWER7", IBMPOWER7, REVFMT_MAJMIN, - PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU, - NULL }, + PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU | + PPC_FEATURE_HAS_VSX, NULL }, { "IBM POWER7+", IBMPOWER7PLUS, REVFMT_MAJMIN, - PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU, - NULL }, + PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU | + PPC_FEATURE_HAS_VSX, NULL }, { "IBM POWER8E", IBMPOWER8E, REVFMT_MAJMIN, - PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU, - NULL }, + PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU | + PPC_FEATURE_HAS_VSX, NULL }, { "IBM POWER8", IBMPOWER8, REVFMT_MAJMIN, - PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU, - NULL }, + PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU | + PPC_FEATURE_HAS_VSX, NULL }, { "Motorola PowerPC 7400", MPC7400, REVFMT_MAJMIN, PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU, cpu_6xx_setup }, { "Motorola PowerPC 7410", MPC7410, REVFMT_MAJMIN, Modified: user/nwhitehorn/ppc64-pmap-rework/powerpc/db_trace.c ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/powerpc/db_trace.c Sun Feb 22 21:40:27 2015 (r279189) +++ user/nwhitehorn/ppc64-pmap-rework/powerpc/db_trace.c Sun Feb 22 22:00:53 2015 (r279190) @@ -252,6 +252,7 @@ db_backtrace(struct thread *td, db_addr_ case EXC_FPU: trapstr = "FPU"; break; case EXC_DECR: trapstr = "DECR"; break; case EXC_PERF: trapstr = "PERF"; break; + case EXC_VSX: trapstr = "VSX"; break; default: trapstr = NULL; break; } if (trapstr != NULL) { Modified: user/nwhitehorn/ppc64-pmap-rework/powerpc/exec_machdep.c ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/powerpc/exec_machdep.c Sun Feb 22 21:40:27 2015 (r279189) +++ user/nwhitehorn/ppc64-pmap-rework/powerpc/exec_machdep.c Sun Feb 22 22:00:53 2015 (r279190) @@ -373,6 +373,7 @@ static int grab_mcontext(struct thread *td, mcontext_t *mcp, int flags) { struct pcb *pcb; + int i; pcb = td->td_pcb; @@ -403,6 +404,9 @@ grab_mcontext(struct thread *td, mcontex mcp->mc_flags |= _MC_FP_VALID; memcpy(&mcp->mc_fpscr, &pcb->pcb_fpu.fpscr, sizeof(double)); memcpy(mcp->mc_fpreg, pcb->pcb_fpu.fpr, 32*sizeof(double)); + for (i = 0; i < 32; i++) + memcpy(&mcp->mc_fpreg[i], &pcb->pcb_fpu.fpr[i].fpr, + sizeof(double)); } /* @@ -421,6 +425,8 @@ grab_mcontext(struct thread *td, mcontex memcpy(mcp->mc_avec, pcb->pcb_vec.vr, sizeof(mcp->mc_avec)); } + /* XXX VSX context */ + mcp->mc_len = sizeof(*mcp); return (0); @@ -447,6 +453,7 @@ set_mcontext(struct thread *td, mcontext struct pcb *pcb; struct trapframe *tf; register_t tls; + int i; pcb = td->td_pcb; tf = td->td_frame; @@ -476,7 +483,10 @@ set_mcontext(struct thread *td, mcontext /* enable_fpu() will happen lazily on a fault */ pcb->pcb_flags |= PCB_FPREGS; memcpy(&pcb->pcb_fpu.fpscr, &mcp->mc_fpscr, sizeof(double)); - memcpy(pcb->pcb_fpu.fpr, mcp->mc_fpreg, 32*sizeof(double)); + bzero(pcb->pcb_fpu.fpr, sizeof(pcb->pcb_fpu.fpr)); + for (i = 0; i < 32; i++) + memcpy(&pcb->pcb_fpu.fpr[i].fpr, &mcp->mc_fpreg[i], + sizeof(double)); } if (mcp->mc_flags & _MC_AV_VALID) { @@ -490,6 +500,8 @@ set_mcontext(struct thread *td, mcontext memcpy(pcb->pcb_vec.vr, mcp->mc_avec, sizeof(mcp->mc_avec)); } + /* XXX VSX context */ + return (0); } Modified: user/nwhitehorn/ppc64-pmap-rework/powerpc/fpu.c ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/powerpc/fpu.c Sun Feb 22 21:40:27 2015 (r279189) +++ user/nwhitehorn/ppc64-pmap-rework/powerpc/fpu.c Sun Feb 22 22:00:53 2015 (r279190) @@ -67,7 +67,10 @@ enable_fpu(struct thread *td) * to indicate that the FPU is in use. */ pcb->pcb_flags |= PCB_FPU; - tf->srr1 |= PSL_FP; + if (pcb->pcb_flags & PCB_VSX) + tf->srr1 |= PSL_FP | PSL_VSX; + else + tf->srr1 |= PSL_FP; if (!(pcb->pcb_flags & PCB_FPREGS)) { memset(&pcb->pcb_fpu, 0, sizeof pcb->pcb_fpu); pcb->pcb_flags |= PCB_FPREGS; @@ -78,7 +81,10 @@ enable_fpu(struct thread *td) * can be restored. */ msr = mfmsr(); - mtmsr(msr | PSL_FP); + if (pcb->pcb_flags & PCB_VSX) + mtmsr(msr | PSL_FP | PSL_VSX); + else + mtmsr(msr | PSL_FP); isync(); /* @@ -89,17 +95,31 @@ enable_fpu(struct thread *td) __asm __volatile ("lfd 0,0(%0); mtfsf 0xff,0" :: "b"(&pcb->pcb_fpu.fpscr)); -#define LFP(n) __asm ("lfd " #n ", 0(%0)" \ - :: "b"(&pcb->pcb_fpu.fpr[n])); - LFP(0); LFP(1); LFP(2); LFP(3); - LFP(4); LFP(5); LFP(6); LFP(7); - LFP(8); LFP(9); LFP(10); LFP(11); - LFP(12); LFP(13); LFP(14); LFP(15); - LFP(16); LFP(17); LFP(18); LFP(19); - LFP(20); LFP(21); LFP(22); LFP(23); - LFP(24); LFP(25); LFP(26); LFP(27); - LFP(28); LFP(29); LFP(30); LFP(31); -#undef LFP + if (pcb->pcb_flags & PCB_VSX) { + #define LFP(n) __asm ("lxvw4x " #n ", 0,%0" \ + :: "b"(&pcb->pcb_fpu.fpr[n])); + LFP(0); LFP(1); LFP(2); LFP(3); + LFP(4); LFP(5); LFP(6); LFP(7); + LFP(8); LFP(9); LFP(10); LFP(11); + LFP(12); LFP(13); LFP(14); LFP(15); + LFP(16); LFP(17); LFP(18); LFP(19); + LFP(20); LFP(21); LFP(22); LFP(23); + LFP(24); LFP(25); LFP(26); LFP(27); + LFP(28); LFP(29); LFP(30); LFP(31); + #undef LFP + } else { + #define LFP(n) __asm ("lfd " #n ", 0(%0)" \ + :: "b"(&pcb->pcb_fpu.fpr[n])); + LFP(0); LFP(1); LFP(2); LFP(3); + LFP(4); LFP(5); LFP(6); LFP(7); + LFP(8); LFP(9); LFP(10); LFP(11); + LFP(12); LFP(13); LFP(14); LFP(15); + LFP(16); LFP(17); LFP(18); LFP(19); + LFP(20); LFP(21); LFP(22); LFP(23); + LFP(24); LFP(25); LFP(26); LFP(27); + LFP(28); LFP(29); LFP(30); LFP(31); + #undef LFP + } isync(); mtmsr(msr); @@ -117,23 +137,40 @@ save_fpu(struct thread *td) * Temporarily re-enable floating-point during the save */ msr = mfmsr(); - mtmsr(msr | PSL_FP); + if (pcb->pcb_flags & PCB_VSX) + mtmsr(msr | PSL_FP | PSL_VSX); + else + mtmsr(msr | PSL_FP); isync(); /* * Save the floating-point registers and FPSCR to the PCB */ -#define SFP(n) __asm ("stfd " #n ", 0(%0)" \ - :: "b"(&pcb->pcb_fpu.fpr[n])); - SFP(0); SFP(1); SFP(2); SFP(3); - SFP(4); SFP(5); SFP(6); SFP(7); - SFP(8); SFP(9); SFP(10); SFP(11); - SFP(12); SFP(13); SFP(14); SFP(15); - SFP(16); SFP(17); SFP(18); SFP(19); - SFP(20); SFP(21); SFP(22); SFP(23); - SFP(24); SFP(25); SFP(26); SFP(27); - SFP(28); SFP(29); SFP(30); SFP(31); -#undef SFP + if (pcb->pcb_flags & PCB_VSX) { + #define SFP(n) __asm ("stxvw4x " #n ", 0,%0" \ + :: "b"(&pcb->pcb_fpu.fpr[n])); + SFP(0); SFP(1); SFP(2); SFP(3); + SFP(4); SFP(5); SFP(6); SFP(7); + SFP(8); SFP(9); SFP(10); SFP(11); + SFP(12); SFP(13); SFP(14); SFP(15); + SFP(16); SFP(17); SFP(18); SFP(19); + SFP(20); SFP(21); SFP(22); SFP(23); + SFP(24); SFP(25); SFP(26); SFP(27); + SFP(28); SFP(29); SFP(30); SFP(31); + #undef SFP + } else { + #define SFP(n) __asm ("stfd " #n ", 0(%0)" \ + :: "b"(&pcb->pcb_fpu.fpr[n])); + SFP(0); SFP(1); SFP(2); SFP(3); + SFP(4); SFP(5); SFP(6); SFP(7); + SFP(8); SFP(9); SFP(10); SFP(11); + SFP(12); SFP(13); SFP(14); SFP(15); + SFP(16); SFP(17); SFP(18); SFP(19); + SFP(20); SFP(21); SFP(22); SFP(23); + SFP(24); SFP(25); SFP(26); SFP(27); + SFP(28); SFP(29); SFP(30); SFP(31); + #undef SFP + } __asm __volatile ("mffs 0; stfd 0,0(%0)" :: "b"(&pcb->pcb_fpu.fpscr)); /* From owner-svn-src-user@FreeBSD.ORG Mon Feb 23 09:37:12 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 734E7F2D; Mon, 23 Feb 2015 09:37:12 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5E2928AD; Mon, 23 Feb 2015 09:37:12 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1N9bBlW012675; Mon, 23 Feb 2015 09:37:11 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1N9bBHI012669; Mon, 23 Feb 2015 09:37:11 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502230937.t1N9bBHI012669@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Mon, 23 Feb 2015 09:37:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279202 - in user/dchagin/lemul/sys: amd64/linux amd64/linux32 compat/linux i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 09:37:12 -0000 Author: dchagin Date: Mon Feb 23 09:37:10 2015 New Revision: 279202 URL: https://svnweb.freebsd.org/changeset/base/279202 Log: Reduce duplication between MD Linux code by moving msg related struct definitions out into the compat/linux/linux_socket.h Modified: user/dchagin/lemul/sys/amd64/linux/linux.h user/dchagin/lemul/sys/amd64/linux32/linux.h user/dchagin/lemul/sys/compat/linux/linux_socket.h user/dchagin/lemul/sys/i386/linux/linux.h Modified: user/dchagin/lemul/sys/amd64/linux/linux.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/linux.h Mon Feb 23 08:45:42 2015 (r279201) +++ user/dchagin/lemul/sys/amd64/linux/linux.h Mon Feb 23 09:37:10 2015 (r279202) @@ -447,22 +447,6 @@ struct l_sockaddr { char sa_data[14]; }; -struct l_msghdr { - l_uintptr_t msg_name; - l_int msg_namelen; - l_uintptr_t msg_iov; - l_size_t msg_iovlen; - l_uintptr_t msg_control; - l_size_t msg_controllen; - l_uint msg_flags; -}; - -struct l_cmsghdr { - l_size_t cmsg_len; - l_int cmsg_level; - l_int cmsg_type; -}; - struct l_ifmap { l_ulong mem_start; l_ulong mem_end; Modified: user/dchagin/lemul/sys/amd64/linux32/linux.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux.h Mon Feb 23 08:45:42 2015 (r279201) +++ user/dchagin/lemul/sys/amd64/linux32/linux.h Mon Feb 23 09:37:10 2015 (r279202) @@ -525,22 +525,6 @@ struct l_sockaddr { char sa_data[14]; } __packed; -struct l_msghdr { - l_uintptr_t msg_name; - l_int msg_namelen; - l_uintptr_t msg_iov; - l_size_t msg_iovlen; - l_uintptr_t msg_control; - l_size_t msg_controllen; - l_uint msg_flags; -}; - -struct l_cmsghdr { - l_size_t cmsg_len; - l_int cmsg_level; - l_int cmsg_type; -}; - struct l_ifmap { l_ulong mem_start; l_ulong mem_end; Modified: user/dchagin/lemul/sys/compat/linux/linux_socket.h ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_socket.h Mon Feb 23 08:45:42 2015 (r279201) +++ user/dchagin/lemul/sys/compat/linux/linux_socket.h Mon Feb 23 09:37:10 2015 (r279202) @@ -55,6 +55,22 @@ #define LINUX_SCM_RIGHTS 0x01 #define LINUX_SCM_CREDENTIALS 0x02 +struct l_msghdr { + l_uintptr_t msg_name; + l_int msg_namelen; + l_uintptr_t msg_iov; + l_size_t msg_iovlen; + l_uintptr_t msg_control; + l_size_t msg_controllen; + l_uint msg_flags; +}; + +struct l_cmsghdr { + l_size_t cmsg_len; + l_int cmsg_level; + l_int cmsg_type; +}; + /* Ancilliary data object information macros */ #define LINUX_CMSG_ALIGN(len) roundup2(len, sizeof(l_ulong)) Modified: user/dchagin/lemul/sys/i386/linux/linux.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux.h Mon Feb 23 08:45:42 2015 (r279201) +++ user/dchagin/lemul/sys/i386/linux/linux.h Mon Feb 23 09:37:10 2015 (r279202) @@ -504,22 +504,6 @@ struct l_sockaddr { char sa_data[14]; }; -struct l_msghdr { - l_uintptr_t msg_name; - l_int msg_namelen; - l_uintptr_t msg_iov; - l_size_t msg_iovlen; - l_uintptr_t msg_control; - l_size_t msg_controllen; - l_uint msg_flags; -}; - -struct l_cmsghdr { - l_size_t cmsg_len; - l_int cmsg_level; - l_int cmsg_type; -}; - struct l_ifmap { l_ulong mem_start; l_ulong mem_end; From owner-svn-src-user@FreeBSD.ORG Mon Feb 23 09:38:31 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C4213DE; Mon, 23 Feb 2015 09:38:31 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ADC458CA; Mon, 23 Feb 2015 09:38:31 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1N9cVpS012898; Mon, 23 Feb 2015 09:38:31 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1N9cTon012887; Mon, 23 Feb 2015 09:38:29 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502230938.t1N9cTon012887@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Mon, 23 Feb 2015 09:38:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279203 - in user/dchagin/lemul/sys: amd64/linux amd64/linux32 compat/linux i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 09:38:31 -0000 Author: dchagin Date: Mon Feb 23 09:38:28 2015 New Revision: 279203 URL: https://svnweb.freebsd.org/changeset/base/279203 Log: Implement recvmmsg() and sendmmsg() system calls. Modified: user/dchagin/lemul/sys/amd64/linux/linux_dummy.c user/dchagin/lemul/sys/amd64/linux/syscalls.master user/dchagin/lemul/sys/amd64/linux32/linux32_dummy.c user/dchagin/lemul/sys/amd64/linux32/syscalls.master user/dchagin/lemul/sys/compat/linux/linux_socket.c user/dchagin/lemul/sys/compat/linux/linux_socket.h user/dchagin/lemul/sys/i386/linux/linux_dummy.c user/dchagin/lemul/sys/i386/linux/syscalls.master Modified: user/dchagin/lemul/sys/amd64/linux/linux_dummy.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/linux_dummy.c Mon Feb 23 09:37:10 2015 (r279202) +++ user/dchagin/lemul/sys/amd64/linux/linux_dummy.c Mon Feb 23 09:38:28 2015 (r279203) @@ -108,14 +108,12 @@ DUMMY(preadv); DUMMY(pwritev); DUMMY(rt_tsigqueueinfo); DUMMY(perf_event_open); -DUMMY(recvmmsg); DUMMY(fanotify_init); DUMMY(fanotify_mark); DUMMY(name_to_handle_at); DUMMY(open_by_handle_at); DUMMY(clock_adjtime); DUMMY(syncfs); -DUMMY(sendmmsg); DUMMY(setns); DUMMY(process_vm_readv); DUMMY(process_vm_writev); Modified: user/dchagin/lemul/sys/amd64/linux/syscalls.master ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/syscalls.master Mon Feb 23 09:37:10 2015 (r279202) +++ user/dchagin/lemul/sys/amd64/linux/syscalls.master Mon Feb 23 09:38:28 2015 (r279203) @@ -491,7 +491,9 @@ 296 AUE_NULL STD { int linux_pwritev(void); } 297 AUE_NULL STD { int linux_rt_tsigqueueinfo(void); } 298 AUE_NULL STD { int linux_perf_event_open(void); } -299 AUE_NULL STD { int linux_recvmmsg(void); } +299 AUE_NULL STD { int linux_recvmmsg(l_int s, \ + struct l_mmsghdr *msg, l_uint vlen, \ + l_uint flags, struct l_timespec *timeout); } 300 AUE_NULL STD { int linux_fanotify_init(void); } 301 AUE_NULL STD { int linux_fanotify_mark(void); } 302 AUE_NULL STD { int linux_prlimit64(l_pid_t pid, \ @@ -501,7 +503,9 @@ 304 AUE_NULL STD { int linux_open_by_handle_at(void); } 305 AUE_NULL STD { int linux_clock_adjtime(void); } 306 AUE_NULL STD { int linux_syncfs(void); } -307 AUE_NULL STD { int linux_sendmmsg(void); } +307 AUE_NULL STD { int linux_sendmmsg(l_int s, \ + struct l_mmsghdr *msg, l_uint vlen, \ + l_uint flags); } 308 AUE_NULL STD { int linux_setns(void); } 309 AUE_NULL STD { int linux_process_vm_readv(void); } 310 AUE_NULL STD { int linux_process_vm_writev(void); } Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_dummy.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_dummy.c Mon Feb 23 09:37:10 2015 (r279202) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_dummy.c Mon Feb 23 09:38:28 2015 (r279203) @@ -118,7 +118,6 @@ DUMMY(pwritev); DUMMY(rt_tsigqueueinfo); DUMMY(perf_event_open); /* linux 2.6.33: */ -DUMMY(recvmmsg); DUMMY(fanotify_init); DUMMY(fanotify_mark); /* later: */ @@ -126,7 +125,6 @@ DUMMY(name_to_handle_at); DUMMY(open_by_handle_at); DUMMY(clock_adjtime); DUMMY(syncfs); -DUMMY(sendmmsg); DUMMY(setns); DUMMY(process_vm_readv); DUMMY(process_vm_writev); Modified: user/dchagin/lemul/sys/amd64/linux32/syscalls.master ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/syscalls.master Mon Feb 23 09:37:10 2015 (r279202) +++ user/dchagin/lemul/sys/amd64/linux32/syscalls.master Mon Feb 23 09:38:28 2015 (r279203) @@ -557,7 +557,9 @@ 335 AUE_NULL STD { int linux_rt_tsigqueueinfo(void); } 336 AUE_NULL STD { int linux_perf_event_open(void); } ; linux 2.6.33: -337 AUE_NULL STD { int linux_recvmmsg(void); } +337 AUE_NULL STD { int linux_recvmmsg(l_int s, \ + struct l_mmsghdr *msg, l_uint vlen, \ + l_uint flags, struct l_timespec *timeout); } 338 AUE_NULL STD { int linux_fanotify_init(void); } 339 AUE_NULL STD { int linux_fanotify_mark(void); } ; linux 2.6.36: @@ -570,7 +572,9 @@ 342 AUE_NULL STD { int linux_open_by_handle_at(void); } 343 AUE_NULL STD { int linux_clock_adjtime(void); } 344 AUE_NULL STD { int linux_syncfs(void); } -345 AUE_NULL STD { int linux_sendmmsg(void); } +345 AUE_NULL STD { int linux_sendmmsg(l_int s, \ + struct l_mmsghdr *msg, l_uint vlen, \ + l_uint flags); } 346 AUE_NULL STD { int linux_setns(void); } 347 AUE_NULL STD { int linux_process_vm_readv(void); } 348 AUE_NULL STD { int linux_process_vm_writev(void); } Modified: user/dchagin/lemul/sys/compat/linux/linux_socket.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_socket.c Mon Feb 23 09:37:10 2015 (r279202) +++ user/dchagin/lemul/sys/compat/linux/linux_socket.c Mon Feb 23 09:38:28 2015 (r279203) @@ -72,9 +72,14 @@ __FBSDID("$FreeBSD$"); #endif #include #include +#include #include static int linux_to_bsd_domain(int); +static int linux_sendmsg_common(struct thread *, l_int, struct l_msghdr *, + l_uint); +static int linux_recvmsg_common(struct thread *, l_int, struct l_msghdr *, + l_uint, struct msghdr *); /* * Reads a linux sockaddr and does any necessary translation. @@ -1068,8 +1073,9 @@ linux_recvfrom(struct thread *td, struct return (error); } -int -linux_sendmsg(struct thread *td, struct linux_sendmsg_args *args) +static int +linux_sendmsg_common(struct thread *td, l_int s, struct l_msghdr *msghdr, + l_uint flags) { struct cmsghdr *cmsg; struct cmsgcred cmcred; @@ -1085,8 +1091,8 @@ linux_sendmsg(struct thread *td, struct void *data; int error; - error = copyin(PTRIN(args->msg), &linux_msg, sizeof(linux_msg)); - if (error) + error = copyin(msghdr, &linux_msg, sizeof(linux_msg)); + if (error != 0) return (error); /* @@ -1100,7 +1106,7 @@ linux_sendmsg(struct thread *td, struct linux_msg.msg_control = PTROUT(NULL); error = linux_to_bsd_msghdr(&msg, &linux_msg); - if (error) + if (error != 0) return (error); #ifdef COMPAT_LINUX32 @@ -1109,21 +1115,21 @@ linux_sendmsg(struct thread *td, struct #else error = copyiniov(msg.msg_iov, msg.msg_iovlen, &iov, EMSGSIZE); #endif - if (error) + if (error != 0) return (error); control = NULL; cmsg = NULL; if ((ptr_cmsg = LINUX_CMSG_FIRSTHDR(&linux_msg)) != NULL) { - error = kern_getsockname(td, args->s, &sa, &datalen); - if (error) + error = kern_getsockname(td, s, &sa, &datalen); + if (error != 0) goto bad; sa_family = sa->sa_family; free(sa, M_SONAME); error = ENOBUFS; - cmsg = malloc(CMSG_HDRSZ, M_LINUX, M_WAITOK | M_ZERO); + cmsg = malloc(CMSG_HDRSZ, M_LINUX, M_WAITOK|M_ZERO); control = m_get(M_WAITOK, MT_CONTROL); if (control == NULL) goto bad; @@ -1131,7 +1137,7 @@ linux_sendmsg(struct thread *td, struct do { error = copyin(ptr_cmsg, &linux_cmsg, sizeof(struct l_cmsghdr)); - if (error) + if (error != 0) goto bad; error = EINVAL; @@ -1195,8 +1201,7 @@ linux_sendmsg(struct thread *td, struct msg.msg_iov = iov; msg.msg_flags = 0; - error = linux_sendit(td, args->s, &msg, args->flags, control, - UIO_USERSPACE); + error = linux_sendit(td, s, &msg, flags, control, UIO_USERSPACE); bad: free(iov, M_IOV); @@ -1206,11 +1211,49 @@ bad: } int -linux_recvmsg(struct thread *td, struct linux_recvmsg_args *args) +linux_sendmsg(struct thread *td, struct linux_sendmsg_args *args) +{ + + return (linux_sendmsg_common(td, args->s, PTRIN(args->msg), + args->flags)); +} + +int +linux_sendmmsg(struct thread *td, struct linux_sendmmsg_args *args) +{ + struct l_mmsghdr *msg; + l_uint retval; + int error, datagrams; + + if (args->vlen > UIO_MAXIOV) + args->vlen = UIO_MAXIOV; + + msg = PTRIN(args->msg); + datagrams = 0; + while (datagrams < args->vlen) { + error = linux_sendmsg_common(td, args->s, &msg->msg_hdr, + args->flags); + if (error != 0) + break; + + retval = td->td_retval[0]; + error = copyout(&retval, &msg->msg_len, sizeof(msg->msg_len)); + if (error != 0) + break; + ++msg; + ++datagrams; + } + if (error == 0) + td->td_retval[0] = datagrams; + return (error); +} + +static int +linux_recvmsg_common(struct thread *td, l_int s, struct l_msghdr *msghdr, + l_uint flags, struct msghdr *msg) { struct cmsghdr *cm; struct cmsgcred *cmcred; - struct msghdr msg; struct l_cmsghdr *linux_cmsg = NULL; struct l_ucred linux_ucred; socklen_t datalen, outlen; @@ -1222,51 +1265,51 @@ linux_recvmsg(struct thread *td, struct void *data; int error, i, fd, fds, *fdp; - error = copyin(PTRIN(args->msg), &linux_msg, sizeof(linux_msg)); - if (error) + error = copyin(msghdr, &linux_msg, sizeof(linux_msg)); + if (error != 0) return (error); - error = linux_to_bsd_msghdr(&msg, &linux_msg); - if (error) + error = linux_to_bsd_msghdr(msg, &linux_msg); + if (error != 0) return (error); #ifdef COMPAT_LINUX32 - error = linux32_copyiniov(PTRIN(msg.msg_iov), msg.msg_iovlen, + error = linux32_copyiniov(PTRIN(msg->msg_iov), msg->msg_iovlen, &iov, EMSGSIZE); #else - error = copyiniov(msg.msg_iov, msg.msg_iovlen, &iov, EMSGSIZE); + error = copyiniov(msg->msg_iov, msg->msg_iovlen, &iov, EMSGSIZE); #endif - if (error) + if (error != 0) return (error); - if (msg.msg_name) { - error = linux_to_bsd_sockaddr((struct sockaddr *)msg.msg_name, - msg.msg_namelen); - if (error) + if (msg->msg_name) { + error = linux_to_bsd_sockaddr((struct sockaddr *)msg->msg_name, + msg->msg_namelen); + if (error != 0) goto bad; } - uiov = msg.msg_iov; - msg.msg_iov = iov; - controlp = (msg.msg_control != NULL) ? &control : NULL; - error = kern_recvit(td, args->s, &msg, UIO_USERSPACE, controlp); - msg.msg_iov = uiov; - if (error) + uiov = msg->msg_iov; + msg->msg_iov = iov; + controlp = (msg->msg_control != NULL) ? &control : NULL; + error = kern_recvit(td, s, msg, UIO_USERSPACE, controlp); + msg->msg_iov = uiov; + if (error != 0) goto bad; - error = bsd_to_linux_msghdr(&msg, &linux_msg); - if (error) + error = bsd_to_linux_msghdr(msg, &linux_msg); + if (error != 0) goto bad; if (linux_msg.msg_name) { error = bsd_to_linux_sockaddr((struct sockaddr *) PTRIN(linux_msg.msg_name)); - if (error) + if (error != 0) goto bad; } if (linux_msg.msg_name && linux_msg.msg_namelen > 2) { error = linux_sa_put(PTRIN(linux_msg.msg_name)); - if (error) + if (error != 0) goto bad; } @@ -1276,10 +1319,10 @@ linux_recvmsg(struct thread *td, struct if (control) { linux_cmsg = malloc(L_CMSG_HDRSZ, M_LINUX, M_WAITOK | M_ZERO); - msg.msg_control = mtod(control, struct cmsghdr *); - msg.msg_controllen = control->m_len; + msg->msg_control = mtod(control, struct cmsghdr *); + msg->msg_controllen = control->m_len; - cm = CMSG_FIRSTHDR(&msg); + cm = CMSG_FIRSTHDR(msg); while (cm != NULL) { linux_cmsg->cmsg_type = @@ -1299,7 +1342,7 @@ linux_recvmsg(struct thread *td, struct switch (cm->cmsg_type) { case SCM_RIGHTS: - if (args->flags & LINUX_MSG_CMSG_CLOEXEC) { + if (flags & LINUX_MSG_CMSG_CLOEXEC) { fds = datalen / sizeof(int); fdp = data; for (i = 0; i < fds; i++) { @@ -1356,13 +1399,13 @@ linux_recvmsg(struct thread *td, struct outbuf += LINUX_CMSG_ALIGN(datalen); outlen += LINUX_CMSG_LEN(datalen); - cm = CMSG_NXTHDR(&msg, cm); + cm = CMSG_NXTHDR(msg, cm); } } out: linux_msg.msg_controllen = outlen; - error = copyout(&linux_msg, PTRIN(args->msg), sizeof(linux_msg)); + error = copyout(&linux_msg, msghdr, sizeof(linux_msg)); bad: free(iov, M_IOV); @@ -1373,6 +1416,74 @@ bad: } int +linux_recvmsg(struct thread *td, struct linux_recvmsg_args *args) +{ + + return (linux_recvmsg_common(td, args->s, PTRIN(args->msg), + args->flags, NULL)); +} + +int +linux_recvmmsg(struct thread *td, struct linux_recvmmsg_args *args) +{ + struct l_mmsghdr *msg; + struct msghdr bsd_msg; + struct l_timespec lts; + struct timespec ts, tts; + l_uint retval; + int error, datagrams; + + if (args->timeout) { + error = copyin(args->timeout, <s, sizeof(struct l_timespec)); + if (error != 0) + return (error); + error = linux_to_native_timespec(&ts, <s); + if (error != 0) + return (error); + getnanotime(&tts); + timespecadd(&tts, &ts); + } + + msg = PTRIN(args->msg); + datagrams = 0; + while (datagrams < args->vlen) { + error = linux_recvmsg_common(td, args->s, &msg->msg_hdr, + args->flags & ~LINUX_MSG_WAITFORONE, &bsd_msg); + if (error != 0) + break; + + retval = td->td_retval[0]; + error = copyout(&retval, &msg->msg_len, sizeof(msg->msg_len)); + if (error != 0) + break; + ++msg; + ++datagrams; + + /* + * MSG_WAITFORONE turns on MSG_DONTWAIT after one packet. + */ + if (args->flags & LINUX_MSG_WAITFORONE) + args->flags |= LINUX_MSG_DONTWAIT; + + /* + * See BUGS section of recvmmsg(2). + */ + if (args->timeout) { + getnanotime(&ts); + timespecsub(&ts, &tts); + if (!timespecisset(&ts) || ts.tv_sec > 0) + break; + } + /* Out of band data, return right away. */ + if (bsd_msg.msg_flags & MSG_OOB) + break; + } + if (error == 0) + td->td_retval[0] = datagrams; + return (error); +} + +int linux_shutdown(struct thread *td, struct linux_shutdown_args *args) { struct shutdown_args /* { @@ -1550,7 +1661,8 @@ static const unsigned char lxs_args[] = LINUX_AL(6) /* recvfrom */, LINUX_AL(2) /* shutdown */, LINUX_AL(5) /* setsockopt */, LINUX_AL(5) /* getsockopt */, LINUX_AL(3) /* sendmsg */, LINUX_AL(3) /* recvmsg */, - LINUX_AL(4) /* accept4 */ + LINUX_AL(4) /* accept4 */, LINUX_AL(5) /* recvmmsg */, + LINUX_AL(4) /* sendmmsg */ }; #define LINUX_AL_SIZE sizeof(lxs_args) / sizeof(lxs_args[0]) - 1 @@ -1606,6 +1718,10 @@ linux_socketcall(struct thread *td, stru return (linux_recvmsg(td, arg)); case LINUX_ACCEPT4: return (linux_accept4(td, arg)); + case LINUX_RECVMMSG: + return (linux_recvmmsg(td, arg)); + case LINUX_SENDMMSG: + return (linux_sendmmsg(td, arg)); } uprintf("LINUX: 'socket' typ=%d not implemented\n", args->what); Modified: user/dchagin/lemul/sys/compat/linux/linux_socket.h ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_socket.h Mon Feb 23 09:37:10 2015 (r279202) +++ user/dchagin/lemul/sys/compat/linux/linux_socket.h Mon Feb 23 09:38:28 2015 (r279203) @@ -48,6 +48,7 @@ #define LINUX_MSG_RST 0x1000 #define LINUX_MSG_ERRQUEUE 0x2000 #define LINUX_MSG_NOSIGNAL 0x4000 +#define LINUX_MSG_WAITFORONE 0x10000 #define LINUX_MSG_CMSG_CLOEXEC 0x40000000 /* Socket-level control message types */ @@ -65,6 +66,12 @@ struct l_msghdr { l_uint msg_flags; }; +struct l_mmsghdr { + struct l_msghdr msg_hdr; + l_uint msg_len; + +}; + struct l_cmsghdr { l_size_t cmsg_len; l_int cmsg_level; @@ -279,6 +286,8 @@ int linux_getsockopt(struct thread *td, #define LINUX_SENDMSG 16 #define LINUX_RECVMSG 17 #define LINUX_ACCEPT4 18 +#define LINUX_RECVMMSG 19 +#define LINUX_SENDMMSG 20 /* Socket options */ #define LINUX_IP_TOS 1 Modified: user/dchagin/lemul/sys/i386/linux/linux_dummy.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_dummy.c Mon Feb 23 09:37:10 2015 (r279202) +++ user/dchagin/lemul/sys/i386/linux/linux_dummy.c Mon Feb 23 09:38:28 2015 (r279203) @@ -114,7 +114,6 @@ DUMMY(pwritev); DUMMY(rt_tsigqueueinfo); DUMMY(perf_event_open); /* linux 2.6.33: */ -DUMMY(recvmmsg); DUMMY(fanotify_init); DUMMY(fanotify_mark); /* later: */ @@ -122,7 +121,6 @@ DUMMY(name_to_handle_at); DUMMY(open_by_handle_at); DUMMY(clock_adjtime); DUMMY(syncfs); -DUMMY(sendmmsg); DUMMY(setns); DUMMY(process_vm_readv); DUMMY(process_vm_writev); Modified: user/dchagin/lemul/sys/i386/linux/syscalls.master ============================================================================== --- user/dchagin/lemul/sys/i386/linux/syscalls.master Mon Feb 23 09:37:10 2015 (r279202) +++ user/dchagin/lemul/sys/i386/linux/syscalls.master Mon Feb 23 09:38:28 2015 (r279203) @@ -565,7 +565,9 @@ 335 AUE_NULL STD { int linux_rt_tsigqueueinfo(void); } 336 AUE_NULL STD { int linux_perf_event_open(void); } ; linux 2.6.33: -337 AUE_NULL STD { int linux_recvmmsg(void); } +337 AUE_NULL STD { int linux_recvmmsg(l_int s, \ + struct l_mmsghdr *msg, l_uint vlen, \ + l_uint flags, struct l_timespec *timeout); } 338 AUE_NULL STD { int linux_fanotify_init(void); } 339 AUE_NULL STD { int linux_fanotify_mark(void); } ; linux 2.6.36: @@ -578,7 +580,9 @@ 342 AUE_NULL STD { int linux_open_by_handle_at(void); } 343 AUE_NULL STD { int linux_clock_adjtime(void); } 344 AUE_NULL STD { int linux_syncfs(void); } -345 AUE_NULL STD { int linux_sendmmsg(void); } +345 AUE_NULL STD { int linux_sendmmsg(l_int s, \ + struct l_mmsghdr *msg, l_uint vlen, \ + l_uint flags); } 346 AUE_NULL STD { int linux_setns(void); } 347 AUE_NULL STD { int linux_process_vm_readv(void); } 348 AUE_NULL STD { int linux_process_vm_writev(void); } From owner-svn-src-user@FreeBSD.ORG Mon Feb 23 09:41:04 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 47E572EA; Mon, 23 Feb 2015 09:41:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 31D83981; Mon, 23 Feb 2015 09:41:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1N9f4db015736; Mon, 23 Feb 2015 09:41:04 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1N9f0wU015715; Mon, 23 Feb 2015 09:41:00 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502230941.t1N9f0wU015715@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Mon, 23 Feb 2015 09:41:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279204 - in user/dchagin/lemul/sys: amd64/linux amd64/linux32 i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 09:41:04 -0000 Author: dchagin Date: Mon Feb 23 09:40:59 2015 New Revision: 279204 URL: https://svnweb.freebsd.org/changeset/base/279204 Log: Regen for r279203 (recvmmsg, sendmmsg). Modified: user/dchagin/lemul/sys/amd64/linux/linux_proto.h user/dchagin/lemul/sys/amd64/linux/linux_sysent.c user/dchagin/lemul/sys/amd64/linux/linux_systrace_args.c user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c user/dchagin/lemul/sys/i386/linux/linux_proto.h user/dchagin/lemul/sys/i386/linux/linux_syscall.h user/dchagin/lemul/sys/i386/linux/linux_syscalls.c user/dchagin/lemul/sys/i386/linux/linux_sysent.c user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Modified: user/dchagin/lemul/sys/amd64/linux/linux_proto.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/linux_proto.h Mon Feb 23 09:38:28 2015 (r279203) +++ user/dchagin/lemul/sys/amd64/linux/linux_proto.h Mon Feb 23 09:40:59 2015 (r279204) @@ -1059,7 +1059,11 @@ struct linux_perf_event_open_args { register_t dummy; }; struct linux_recvmmsg_args { - register_t dummy; + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char msg_l_[PADL_(struct l_mmsghdr *)]; struct l_mmsghdr * msg; char msg_r_[PADR_(struct l_mmsghdr *)]; + char vlen_l_[PADL_(l_uint)]; l_uint vlen; char vlen_r_[PADR_(l_uint)]; + char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)]; + char timeout_l_[PADL_(struct l_timespec *)]; struct l_timespec * timeout; char timeout_r_[PADR_(struct l_timespec *)]; }; struct linux_fanotify_init_args { register_t dummy; @@ -1086,7 +1090,10 @@ struct linux_syncfs_args { register_t dummy; }; struct linux_sendmmsg_args { - register_t dummy; + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char msg_l_[PADL_(struct l_mmsghdr *)]; struct l_mmsghdr * msg; char msg_r_[PADR_(struct l_mmsghdr *)]; + char vlen_l_[PADL_(l_uint)]; l_uint vlen; char vlen_r_[PADR_(l_uint)]; + char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)]; }; struct linux_setns_args { register_t dummy; Modified: user/dchagin/lemul/sys/amd64/linux/linux_sysent.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/linux_sysent.c Mon Feb 23 09:38:28 2015 (r279203) +++ user/dchagin/lemul/sys/amd64/linux/linux_sysent.c Mon Feb 23 09:40:59 2015 (r279204) @@ -317,7 +317,7 @@ struct sysent linux_sysent[] = { { 0, (sy_call_t *)linux_pwritev, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 296 = linux_pwritev */ { 0, (sy_call_t *)linux_rt_tsigqueueinfo, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 297 = linux_rt_tsigqueueinfo */ { 0, (sy_call_t *)linux_perf_event_open, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 298 = linux_perf_event_open */ - { 0, (sy_call_t *)linux_recvmmsg, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 299 = linux_recvmmsg */ + { AS(linux_recvmmsg_args), (sy_call_t *)linux_recvmmsg, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 299 = linux_recvmmsg */ { 0, (sy_call_t *)linux_fanotify_init, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 300 = linux_fanotify_init */ { 0, (sy_call_t *)linux_fanotify_mark, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 301 = linux_fanotify_mark */ { AS(linux_prlimit64_args), (sy_call_t *)linux_prlimit64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 302 = linux_prlimit64 */ @@ -325,7 +325,7 @@ struct sysent linux_sysent[] = { { 0, (sy_call_t *)linux_open_by_handle_at, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 304 = linux_open_by_handle_at */ { 0, (sy_call_t *)linux_clock_adjtime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 305 = linux_clock_adjtime */ { 0, (sy_call_t *)linux_syncfs, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 306 = linux_syncfs */ - { 0, (sy_call_t *)linux_sendmmsg, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 307 = linux_sendmmsg */ + { AS(linux_sendmmsg_args), (sy_call_t *)linux_sendmmsg, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 307 = linux_sendmmsg */ { 0, (sy_call_t *)linux_setns, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 308 = linux_setns */ { 0, (sy_call_t *)linux_process_vm_readv, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 309 = linux_process_vm_readv */ { 0, (sy_call_t *)linux_process_vm_writev, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 310 = linux_process_vm_writev */ Modified: user/dchagin/lemul/sys/amd64/linux/linux_systrace_args.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/linux_systrace_args.c Mon Feb 23 09:38:28 2015 (r279203) +++ user/dchagin/lemul/sys/amd64/linux/linux_systrace_args.c Mon Feb 23 09:40:59 2015 (r279204) @@ -2182,7 +2182,13 @@ systrace_args(int sysnum, void *params, } /* linux_recvmmsg */ case 299: { - *n_args = 0; + struct linux_recvmmsg_args *p = params; + iarg[0] = p->s; /* l_int */ + uarg[1] = (intptr_t) p->msg; /* struct l_mmsghdr * */ + iarg[2] = p->vlen; /* l_uint */ + iarg[3] = p->flags; /* l_uint */ + uarg[4] = (intptr_t) p->timeout; /* struct l_timespec * */ + *n_args = 5; break; } /* linux_fanotify_init */ @@ -2227,7 +2233,12 @@ systrace_args(int sysnum, void *params, } /* linux_sendmmsg */ case 307: { - *n_args = 0; + struct linux_sendmmsg_args *p = params; + iarg[0] = p->s; /* l_int */ + uarg[1] = (intptr_t) p->msg; /* struct l_mmsghdr * */ + iarg[2] = p->vlen; /* l_uint */ + iarg[3] = p->flags; /* l_uint */ + *n_args = 4; break; } /* linux_setns */ @@ -5531,6 +5542,25 @@ systrace_entry_setargdesc(int sysnum, in break; /* linux_recvmmsg */ case 299: + switch(ndx) { + case 0: + p = "l_int"; + break; + case 1: + p = "struct l_mmsghdr *"; + break; + case 2: + p = "l_uint"; + break; + case 3: + p = "l_uint"; + break; + case 4: + p = "struct l_timespec *"; + break; + default: + break; + }; break; /* linux_fanotify_init */ case 300: @@ -5571,6 +5601,22 @@ systrace_entry_setargdesc(int sysnum, in break; /* linux_sendmmsg */ case 307: + switch(ndx) { + case 0: + p = "l_int"; + break; + case 1: + p = "struct l_mmsghdr *"; + break; + case 2: + p = "l_uint"; + break; + case 3: + p = "l_uint"; + break; + default: + break; + }; break; /* linux_setns */ case 308: @@ -6784,6 +6830,9 @@ systrace_return_setargdesc(int sysnum, i case 298: /* linux_recvmmsg */ case 299: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_fanotify_init */ case 300: /* linux_fanotify_mark */ @@ -6803,6 +6852,9 @@ systrace_return_setargdesc(int sysnum, i case 306: /* linux_sendmmsg */ case 307: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_setns */ case 308: /* linux_process_vm_readv */ Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h Mon Feb 23 09:38:28 2015 (r279203) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h Mon Feb 23 09:40:59 2015 (r279204) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279168 2015-02-22 17:48:48Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279203 2015-02-23 09:38:28Z dchagin */ #ifndef _LINUX_SYSPROTO_H_ @@ -1113,7 +1113,11 @@ struct linux_perf_event_open_args { register_t dummy; }; struct linux_recvmmsg_args { - register_t dummy; + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char msg_l_[PADL_(struct l_mmsghdr *)]; struct l_mmsghdr * msg; char msg_r_[PADR_(struct l_mmsghdr *)]; + char vlen_l_[PADL_(l_uint)]; l_uint vlen; char vlen_r_[PADR_(l_uint)]; + char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)]; + char timeout_l_[PADL_(struct l_timespec *)]; struct l_timespec * timeout; char timeout_r_[PADR_(struct l_timespec *)]; }; struct linux_fanotify_init_args { register_t dummy; @@ -1140,7 +1144,10 @@ struct linux_syncfs_args { register_t dummy; }; struct linux_sendmmsg_args { - register_t dummy; + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char msg_l_[PADL_(struct l_mmsghdr *)]; struct l_mmsghdr * msg; char msg_r_[PADR_(struct l_mmsghdr *)]; + char vlen_l_[PADL_(l_uint)]; l_uint vlen; char vlen_r_[PADR_(l_uint)]; + char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)]; }; struct linux_setns_args { register_t dummy; Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h Mon Feb 23 09:38:28 2015 (r279203) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h Mon Feb 23 09:40:59 2015 (r279204) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279168 2015-02-22 17:48:48Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279203 2015-02-23 09:38:28Z dchagin */ #define LINUX_SYS_linux_exit 1 Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c Mon Feb 23 09:38:28 2015 (r279203) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c Mon Feb 23 09:40:59 2015 (r279204) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279168 2015-02-22 17:48:48Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279203 2015-02-23 09:38:28Z dchagin */ const char *linux_syscallnames[] = { Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c Mon Feb 23 09:38:28 2015 (r279203) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c Mon Feb 23 09:40:59 2015 (r279204) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279168 2015-02-22 17:48:48Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279203 2015-02-23 09:38:28Z dchagin */ #include "opt_compat.h" @@ -356,7 +356,7 @@ struct sysent linux_sysent[] = { { 0, (sy_call_t *)linux_pwritev, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 334 = linux_pwritev */ { 0, (sy_call_t *)linux_rt_tsigqueueinfo, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 335 = linux_rt_tsigqueueinfo */ { 0, (sy_call_t *)linux_perf_event_open, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 336 = linux_perf_event_open */ - { 0, (sy_call_t *)linux_recvmmsg, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 337 = linux_recvmmsg */ + { AS(linux_recvmmsg_args), (sy_call_t *)linux_recvmmsg, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 337 = linux_recvmmsg */ { 0, (sy_call_t *)linux_fanotify_init, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 338 = linux_fanotify_init */ { 0, (sy_call_t *)linux_fanotify_mark, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 339 = linux_fanotify_mark */ { AS(linux_prlimit64_args), (sy_call_t *)linux_prlimit64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 340 = linux_prlimit64 */ @@ -364,7 +364,7 @@ struct sysent linux_sysent[] = { { 0, (sy_call_t *)linux_open_by_handle_at, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 342 = linux_open_by_handle_at */ { 0, (sy_call_t *)linux_clock_adjtime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 343 = linux_clock_adjtime */ { 0, (sy_call_t *)linux_syncfs, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 344 = linux_syncfs */ - { 0, (sy_call_t *)linux_sendmmsg, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 345 = linux_sendmmsg */ + { AS(linux_sendmmsg_args), (sy_call_t *)linux_sendmmsg, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 345 = linux_sendmmsg */ { 0, (sy_call_t *)linux_setns, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 346 = linux_setns */ { 0, (sy_call_t *)linux_process_vm_readv, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 347 = linux_process_vm_readv */ { 0, (sy_call_t *)linux_process_vm_writev, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 348 = linux_process_vm_writev */ Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c Mon Feb 23 09:38:28 2015 (r279203) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c Mon Feb 23 09:40:59 2015 (r279204) @@ -2279,7 +2279,13 @@ systrace_args(int sysnum, void *params, } /* linux_recvmmsg */ case 337: { - *n_args = 0; + struct linux_recvmmsg_args *p = params; + iarg[0] = p->s; /* l_int */ + uarg[1] = (intptr_t) p->msg; /* struct l_mmsghdr * */ + iarg[2] = p->vlen; /* l_uint */ + iarg[3] = p->flags; /* l_uint */ + uarg[4] = (intptr_t) p->timeout; /* struct l_timespec * */ + *n_args = 5; break; } /* linux_fanotify_init */ @@ -2324,7 +2330,12 @@ systrace_args(int sysnum, void *params, } /* linux_sendmmsg */ case 345: { - *n_args = 0; + struct linux_sendmmsg_args *p = params; + iarg[0] = p->s; /* l_int */ + uarg[1] = (intptr_t) p->msg; /* struct l_mmsghdr * */ + iarg[2] = p->vlen; /* l_uint */ + iarg[3] = p->flags; /* l_uint */ + *n_args = 4; break; } /* linux_setns */ @@ -5719,6 +5730,25 @@ systrace_entry_setargdesc(int sysnum, in break; /* linux_recvmmsg */ case 337: + switch(ndx) { + case 0: + p = "l_int"; + break; + case 1: + p = "struct l_mmsghdr *"; + break; + case 2: + p = "l_uint"; + break; + case 3: + p = "l_uint"; + break; + case 4: + p = "struct l_timespec *"; + break; + default: + break; + }; break; /* linux_fanotify_init */ case 338: @@ -5759,6 +5789,22 @@ systrace_entry_setargdesc(int sysnum, in break; /* linux_sendmmsg */ case 345: + switch(ndx) { + case 0: + p = "l_int"; + break; + case 1: + p = "struct l_mmsghdr *"; + break; + case 2: + p = "l_uint"; + break; + case 3: + p = "l_uint"; + break; + default: + break; + }; break; /* linux_setns */ case 346: @@ -7042,6 +7088,9 @@ systrace_return_setargdesc(int sysnum, i case 336: /* linux_recvmmsg */ case 337: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_fanotify_init */ case 338: /* linux_fanotify_mark */ @@ -7061,6 +7110,9 @@ systrace_return_setargdesc(int sysnum, i case 344: /* linux_sendmmsg */ case 345: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_setns */ case 346: /* linux_process_vm_readv */ Modified: user/dchagin/lemul/sys/i386/linux/linux_proto.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_proto.h Mon Feb 23 09:38:28 2015 (r279203) +++ user/dchagin/lemul/sys/i386/linux/linux_proto.h Mon Feb 23 09:40:59 2015 (r279204) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279168 2015-02-22 17:48:48Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279203 2015-02-23 09:38:28Z dchagin */ #ifndef _LINUX_SYSPROTO_H_ @@ -1131,7 +1131,11 @@ struct linux_perf_event_open_args { register_t dummy; }; struct linux_recvmmsg_args { - register_t dummy; + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char msg_l_[PADL_(struct l_mmsghdr *)]; struct l_mmsghdr * msg; char msg_r_[PADR_(struct l_mmsghdr *)]; + char vlen_l_[PADL_(l_uint)]; l_uint vlen; char vlen_r_[PADR_(l_uint)]; + char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)]; + char timeout_l_[PADL_(struct l_timespec *)]; struct l_timespec * timeout; char timeout_r_[PADR_(struct l_timespec *)]; }; struct linux_fanotify_init_args { register_t dummy; @@ -1158,7 +1162,10 @@ struct linux_syncfs_args { register_t dummy; }; struct linux_sendmmsg_args { - register_t dummy; + char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; + char msg_l_[PADL_(struct l_mmsghdr *)]; struct l_mmsghdr * msg; char msg_r_[PADR_(struct l_mmsghdr *)]; + char vlen_l_[PADL_(l_uint)]; l_uint vlen; char vlen_r_[PADR_(l_uint)]; + char flags_l_[PADL_(l_uint)]; l_uint flags; char flags_r_[PADR_(l_uint)]; }; struct linux_setns_args { register_t dummy; Modified: user/dchagin/lemul/sys/i386/linux/linux_syscall.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_syscall.h Mon Feb 23 09:38:28 2015 (r279203) +++ user/dchagin/lemul/sys/i386/linux/linux_syscall.h Mon Feb 23 09:40:59 2015 (r279204) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279168 2015-02-22 17:48:48Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279203 2015-02-23 09:38:28Z dchagin */ #define LINUX_SYS_linux_exit 1 Modified: user/dchagin/lemul/sys/i386/linux/linux_syscalls.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_syscalls.c Mon Feb 23 09:38:28 2015 (r279203) +++ user/dchagin/lemul/sys/i386/linux/linux_syscalls.c Mon Feb 23 09:40:59 2015 (r279204) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279168 2015-02-22 17:48:48Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279203 2015-02-23 09:38:28Z dchagin */ const char *linux_syscallnames[] = { Modified: user/dchagin/lemul/sys/i386/linux/linux_sysent.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_sysent.c Mon Feb 23 09:38:28 2015 (r279203) +++ user/dchagin/lemul/sys/i386/linux/linux_sysent.c Mon Feb 23 09:40:59 2015 (r279204) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279168 2015-02-22 17:48:48Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279203 2015-02-23 09:38:28Z dchagin */ #include @@ -355,7 +355,7 @@ struct sysent linux_sysent[] = { { 0, (sy_call_t *)linux_pwritev, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 334 = linux_pwritev */ { 0, (sy_call_t *)linux_rt_tsigqueueinfo, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 335 = linux_rt_tsigqueueinfo */ { 0, (sy_call_t *)linux_perf_event_open, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 336 = linux_perf_event_open */ - { 0, (sy_call_t *)linux_recvmmsg, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 337 = linux_recvmmsg */ + { AS(linux_recvmmsg_args), (sy_call_t *)linux_recvmmsg, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 337 = linux_recvmmsg */ { 0, (sy_call_t *)linux_fanotify_init, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 338 = linux_fanotify_init */ { 0, (sy_call_t *)linux_fanotify_mark, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 339 = linux_fanotify_mark */ { AS(linux_prlimit64_args), (sy_call_t *)linux_prlimit64, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 340 = linux_prlimit64 */ @@ -363,7 +363,7 @@ struct sysent linux_sysent[] = { { 0, (sy_call_t *)linux_open_by_handle_at, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 342 = linux_open_by_handle_at */ { 0, (sy_call_t *)linux_clock_adjtime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 343 = linux_clock_adjtime */ { 0, (sy_call_t *)linux_syncfs, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 344 = linux_syncfs */ - { 0, (sy_call_t *)linux_sendmmsg, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 345 = linux_sendmmsg */ + { AS(linux_sendmmsg_args), (sy_call_t *)linux_sendmmsg, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 345 = linux_sendmmsg */ { 0, (sy_call_t *)linux_setns, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 346 = linux_setns */ { 0, (sy_call_t *)linux_process_vm_readv, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 347 = linux_process_vm_readv */ { 0, (sy_call_t *)linux_process_vm_writev, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 348 = linux_process_vm_writev */ Modified: user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Mon Feb 23 09:38:28 2015 (r279203) +++ user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Mon Feb 23 09:40:59 2015 (r279204) @@ -2355,7 +2355,13 @@ systrace_args(int sysnum, void *params, } /* linux_recvmmsg */ case 337: { - *n_args = 0; + struct linux_recvmmsg_args *p = params; + iarg[0] = p->s; /* l_int */ + uarg[1] = (intptr_t) p->msg; /* struct l_mmsghdr * */ + iarg[2] = p->vlen; /* l_uint */ + iarg[3] = p->flags; /* l_uint */ + uarg[4] = (intptr_t) p->timeout; /* struct l_timespec * */ + *n_args = 5; break; } /* linux_fanotify_init */ @@ -2400,7 +2406,12 @@ systrace_args(int sysnum, void *params, } /* linux_sendmmsg */ case 345: { - *n_args = 0; + struct linux_sendmmsg_args *p = params; + iarg[0] = p->s; /* l_int */ + uarg[1] = (intptr_t) p->msg; /* struct l_mmsghdr * */ + iarg[2] = p->vlen; /* l_uint */ + iarg[3] = p->flags; /* l_uint */ + *n_args = 4; break; } /* linux_setns */ @@ -5950,6 +5961,25 @@ systrace_entry_setargdesc(int sysnum, in break; /* linux_recvmmsg */ case 337: + switch(ndx) { + case 0: + p = "l_int"; + break; + case 1: + p = "struct l_mmsghdr *"; + break; + case 2: + p = "l_uint"; + break; + case 3: + p = "l_uint"; + break; + case 4: + p = "struct l_timespec *"; + break; + default: + break; + }; break; /* linux_fanotify_init */ case 338: @@ -5990,6 +6020,22 @@ systrace_entry_setargdesc(int sysnum, in break; /* linux_sendmmsg */ case 345: + switch(ndx) { + case 0: + p = "l_int"; + break; + case 1: + p = "struct l_mmsghdr *"; + break; + case 2: + p = "l_uint"; + break; + case 3: + p = "l_uint"; + break; + default: + break; + }; break; /* linux_setns */ case 346: @@ -7320,6 +7366,9 @@ systrace_return_setargdesc(int sysnum, i case 336: /* linux_recvmmsg */ case 337: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_fanotify_init */ case 338: /* linux_fanotify_mark */ @@ -7339,6 +7388,9 @@ systrace_return_setargdesc(int sysnum, i case 344: /* linux_sendmmsg */ case 345: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_setns */ case 346: /* linux_process_vm_readv */ From owner-svn-src-user@FreeBSD.ORG Mon Feb 23 14:42:15 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A3D956F8; Mon, 23 Feb 2015 14:42:15 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8F4B6CF1; Mon, 23 Feb 2015 14:42:15 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1NEgFmV059331; Mon, 23 Feb 2015 14:42:15 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1NEgFJD059330; Mon, 23 Feb 2015 14:42:15 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502231442.t1NEgFJD059330@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Mon, 23 Feb 2015 14:42:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279207 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 14:42:15 -0000 Author: dchagin Date: Mon Feb 23 14:42:14 2015 New Revision: 279207 URL: https://svnweb.freebsd.org/changeset/base/279207 Log: Fix recvmsg() after r279203. Modified: user/dchagin/lemul/sys/compat/linux/linux_socket.c Modified: user/dchagin/lemul/sys/compat/linux/linux_socket.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_socket.c Mon Feb 23 13:41:35 2015 (r279206) +++ user/dchagin/lemul/sys/compat/linux/linux_socket.c Mon Feb 23 14:42:14 2015 (r279207) @@ -1418,9 +1418,10 @@ bad: int linux_recvmsg(struct thread *td, struct linux_recvmsg_args *args) { + struct msghdr bsd_msg; return (linux_recvmsg_common(td, args->s, PTRIN(args->msg), - args->flags, NULL)); + args->flags, &bsd_msg)); } int From owner-svn-src-user@FreeBSD.ORG Mon Feb 23 15:05:40 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B3405E8C; Mon, 23 Feb 2015 15:05:40 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 93A71F34; Mon, 23 Feb 2015 15:05:40 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1NF5esj069352; Mon, 23 Feb 2015 15:05:40 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1NF5eue069351; Mon, 23 Feb 2015 15:05:40 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502231505.t1NF5eue069351@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Mon, 23 Feb 2015 15:05:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279208 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 15:05:40 -0000 Author: dchagin Date: Mon Feb 23 15:05:39 2015 New Revision: 279208 URL: https://svnweb.freebsd.org/changeset/base/279208 Log: Since FreeBSD supports SOCK_CLOEXEC & SOCK_NONBLOCK options remove its emulation via fcntl call from Linuxulator. XXX. Commit mostly for test Modified: user/dchagin/lemul/sys/compat/linux/linux_socket.c Modified: user/dchagin/lemul/sys/compat/linux/linux_socket.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_socket.c Mon Feb 23 14:42:14 2015 (r279207) +++ user/dchagin/lemul/sys/compat/linux/linux_socket.c Mon Feb 23 15:05:39 2015 (r279208) @@ -80,6 +80,7 @@ static int linux_sendmsg_common(struct t l_uint); static int linux_recvmsg_common(struct thread *, l_int, struct l_msghdr *, l_uint, struct msghdr *); +static int linux_set_socket_flags(int, int *); /* * Reads a linux sockaddr and does any necessary translation. @@ -534,20 +535,15 @@ bsd_to_linux_msghdr(const struct msghdr } static int -linux_set_socket_flags(struct thread *td, int s, int flags) +linux_set_socket_flags(int lflags, int *flags) { - int error; - if (flags & LINUX_SOCK_NONBLOCK) { - error = kern_fcntl(td, s, F_SETFL, O_NONBLOCK); - if (error) - return (error); - } - if (flags & LINUX_SOCK_CLOEXEC) { - error = kern_fcntl(td, s, F_SETFD, FD_CLOEXEC); - if (error) - return (error); - } + if (lflags & ~(LINUX_SOCK_CLOEXEC | LINUX_SOCK_NONBLOCK)) + return (EINVAL); + if (lflags & LINUX_SOCK_NONBLOCK) + *flags |= SOCK_NONBLOCK; + if (lflags & LINUX_SOCK_CLOEXEC) + *flags |= SOCK_CLOEXEC; return (0); } @@ -649,15 +645,16 @@ linux_socket(struct thread *td, struct l int type; int protocol; } */ bsd_args; - int retval_socket, socket_flags; + int retval_socket; bsd_args.protocol = args->protocol; - socket_flags = args->type & ~LINUX_SOCK_TYPE_MASK; - if (socket_flags & ~(LINUX_SOCK_CLOEXEC | LINUX_SOCK_NONBLOCK)) - return (EINVAL); bsd_args.type = args->type & LINUX_SOCK_TYPE_MASK; if (bsd_args.type < 0 || bsd_args.type > LINUX_SOCK_MAX) return (EINVAL); + retval_socket = linux_set_socket_flags(args->type & ~LINUX_SOCK_TYPE_MASK, + &bsd_args.type); + if (retval_socket != 0) + return (retval_socket); bsd_args.domain = linux_to_bsd_domain(args->domain); if (bsd_args.domain == -1) return (EAFNOSUPPORT); @@ -666,13 +663,6 @@ linux_socket(struct thread *td, struct l if (retval_socket) return (retval_socket); - retval_socket = linux_set_socket_flags(td, td->td_retval[0], - socket_flags); - if (retval_socket) { - (void)kern_close(td, td->td_retval[0]); - goto out; - } - if (bsd_args.type == SOCK_RAW && (bsd_args.protocol == IPPROTO_RAW || bsd_args.protocol == 0) && bsd_args.domain == PF_INET) { @@ -701,7 +691,6 @@ linux_socket(struct thread *td, struct l } #endif -out: return (retval_socket); } @@ -784,43 +773,30 @@ static int linux_accept_common(struct thread *td, int s, l_uintptr_t addr, l_uintptr_t namelen, int flags) { - struct accept_args /* { + struct accept4_args /* { int s; struct sockaddr * __restrict name; socklen_t * __restrict anamelen; + int flags; } */ bsd_args; int error; - if (flags & ~(LINUX_SOCK_CLOEXEC | LINUX_SOCK_NONBLOCK)) - return (EINVAL); - bsd_args.s = s; /* XXX: */ bsd_args.name = (struct sockaddr * __restrict)PTRIN(addr); bsd_args.anamelen = PTRIN(namelen);/* XXX */ - error = sys_accept(td, &bsd_args); + error = linux_set_socket_flags(flags, &bsd_args.flags); + if (error != 0) + return (error); + error = sys_accept4(td, &bsd_args); bsd_to_linux_sockaddr((struct sockaddr *)bsd_args.name); if (error) { if (error == EFAULT && namelen != sizeof(struct sockaddr_in)) return (EINVAL); return (error); } - - /* - * linux appears not to copy flags from the parent socket to the - * accepted one, so we must clear the flags in the new descriptor - * and apply the requested flags. - */ - error = kern_fcntl(td, td->td_retval[0], F_SETFL, 0); - if (error) - goto out; - error = linux_set_socket_flags(td, td->td_retval[0], flags); - if (error) - goto out; if (addr) error = linux_sa_put(PTRIN(addr)); - -out: if (error) { (void)kern_close(td, td->td_retval[0]); td->td_retval[0] = 0; @@ -900,20 +876,18 @@ linux_socketpair(struct thread *td, stru int protocol; int *rsv; } */ bsd_args; - int error, socket_flags; - int sv[2]; + int error; bsd_args.domain = linux_to_bsd_domain(args->domain); if (bsd_args.domain != PF_LOCAL) return (EAFNOSUPPORT); - - socket_flags = args->type & ~LINUX_SOCK_TYPE_MASK; - if (socket_flags & ~(LINUX_SOCK_CLOEXEC | LINUX_SOCK_NONBLOCK)) - return (EINVAL); bsd_args.type = args->type & LINUX_SOCK_TYPE_MASK; if (bsd_args.type < 0 || bsd_args.type > LINUX_SOCK_MAX) return (EINVAL); - + error = linux_set_socket_flags(args->type & ~LINUX_SOCK_TYPE_MASK, + &bsd_args.type); + if (error != 0) + return (error); if (args->protocol != 0 && args->protocol != PF_UNIX) /* @@ -926,25 +900,7 @@ linux_socketpair(struct thread *td, stru else bsd_args.protocol = 0; bsd_args.rsv = (int *)PTRIN(args->rsv); - error = kern_socketpair(td, bsd_args.domain, bsd_args.type, - bsd_args.protocol, sv); - if (error) - return (error); - error = linux_set_socket_flags(td, sv[0], socket_flags); - if (error) - goto out; - error = linux_set_socket_flags(td, sv[1], socket_flags); - if (error) - goto out; - - error = copyout(sv, bsd_args.rsv, 2 * sizeof(int)); - -out: - if (error) { - (void)kern_close(td, sv[0]); - (void)kern_close(td, sv[1]); - } - return (error); + return (sys_socketpair(td, &bsd_args)); } #if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) From owner-svn-src-user@FreeBSD.ORG Mon Feb 23 19:36:32 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A980DA6A; Mon, 23 Feb 2015 19:36:32 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 95A0F27B; Mon, 23 Feb 2015 19:36:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1NJaWiP097651; Mon, 23 Feb 2015 19:36:32 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1NJaW9h097650; Mon, 23 Feb 2015 19:36:32 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502231936.t1NJaW9h097650@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Mon, 23 Feb 2015 19:36:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279214 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 19:36:32 -0000 Author: dchagin Date: Mon Feb 23 19:36:31 2015 New Revision: 279214 URL: https://svnweb.freebsd.org/changeset/base/279214 Log: Properly check tv_nsec value. The tv_nsec field can also be one of the special value UTIME_NOW or UTIME_OMIT. Modified: user/dchagin/lemul/sys/compat/linux/linux_misc.c Modified: user/dchagin/lemul/sys/compat/linux/linux_misc.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_misc.c Mon Feb 23 18:57:09 2015 (r279213) +++ user/dchagin/lemul/sys/compat/linux/linux_misc.c Mon Feb 23 19:36:31 2015 (r279214) @@ -138,6 +138,9 @@ struct l_pselect6arg { l_size_t ss_len; }; +static int linux_utimensat_nsec_valid(l_long); + + int linux_sysinfo(struct thread *td, struct linux_sysinfo_args *args) { @@ -824,6 +827,17 @@ linux_utimes(struct thread *td, struct l return (error); } +static int +linux_utimensat_nsec_valid(l_long nsec) +{ + + if (nsec == LINUX_UTIME_OMIT || nsec == LINUX_UTIME_NOW) + return (0); + if (nsec >= 0 && nsec <= 999999999) + return (0); + return (1); +} + int linux_utimensat(struct thread *td, struct linux_utimensat_args *args) { @@ -847,8 +861,8 @@ linux_utimensat(struct thread *td, struc if (error != 0) return (error); - if (l_times[0].tv_nsec > 999999999 || - l_times[1].tv_nsec > 999999999) + if (linux_utimensat_nsec_valid(l_times[0].tv_nsec) != 0 || + linux_utimensat_nsec_valid(l_times[1].tv_nsec) != 0) return (EINVAL); times[0].tv_sec = l_times[0].tv_sec; From owner-svn-src-user@FreeBSD.ORG Tue Feb 24 15:07:10 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9CF80148; Tue, 24 Feb 2015 15:07:10 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 881CF755; Tue, 24 Feb 2015 15:07:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OF7AWo059681; Tue, 24 Feb 2015 15:07:10 GMT (envelope-from nwhitehorn@FreeBSD.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OF7AwJ059680; Tue, 24 Feb 2015 15:07:10 GMT (envelope-from nwhitehorn@FreeBSD.org) Message-Id: <201502241507.t1OF7AwJ059680@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: nwhitehorn set sender to nwhitehorn@FreeBSD.org using -f From: Nathan Whitehorn Date: Tue, 24 Feb 2015 15:07:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279238 - user/nwhitehorn/ppc64-pmap-rework/pseries X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 15:07:10 -0000 Author: nwhitehorn Date: Tue Feb 24 15:07:09 2015 New Revision: 279238 URL: https://svnweb.freebsd.org/changeset/base/279238 Log: IFC Modified: user/nwhitehorn/ppc64-pmap-rework/pseries/phyp_vscsi.c Directory Properties: user/nwhitehorn/ppc64-pmap-rework/ (props changed) Modified: user/nwhitehorn/ppc64-pmap-rework/pseries/phyp_vscsi.c ============================================================================== --- user/nwhitehorn/ppc64-pmap-rework/pseries/phyp_vscsi.c Tue Feb 24 13:07:31 2015 (r279237) +++ user/nwhitehorn/ppc64-pmap-rework/pseries/phyp_vscsi.c Tue Feb 24 15:07:09 2015 (r279238) @@ -931,10 +931,11 @@ vscsi_check_response_queue(struct vscsi_ mtx_assert(&sc->io_lock, MA_OWNED); - phyp_hcall(H_VIO_SIGNAL, sc->unit, 0); - bus_dmamap_sync(sc->crq_tag, sc->crq_map, BUS_DMASYNC_POSTREAD); - while (sc->crq_queue[sc->cur_crq].valid != 0) { + /* The hypercalls at both ends of this are not optimal */ + phyp_hcall(H_VIO_SIGNAL, sc->unit, 0); + bus_dmamap_sync(sc->crq_tag, sc->crq_map, BUS_DMASYNC_POSTREAD); + crq = &sc->crq_queue[sc->cur_crq]; switch (crq->valid) { @@ -983,9 +984,9 @@ vscsi_check_response_queue(struct vscsi_ crq->valid = 0; sc->cur_crq = (sc->cur_crq + 1) % sc->n_crqs; - }; - bus_dmamap_sync(sc->crq_tag, sc->crq_map, BUS_DMASYNC_PREWRITE); - phyp_hcall(H_VIO_SIGNAL, sc->unit, 1); + bus_dmamap_sync(sc->crq_tag, sc->crq_map, BUS_DMASYNC_PREWRITE); + phyp_hcall(H_VIO_SIGNAL, sc->unit, 1); + } } From owner-svn-src-user@FreeBSD.ORG Thu Feb 26 14:48:29 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5242AD75; Thu, 26 Feb 2015 14:48:29 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 32DBDF7A; Thu, 26 Feb 2015 14:48:29 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1QEmSW6032502; Thu, 26 Feb 2015 14:48:28 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1QEmSpF032501; Thu, 26 Feb 2015 14:48:28 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201502261448.t1QEmSpF032501@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Thu, 26 Feb 2015 14:48:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279322 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 14:48:29 -0000 Author: pho Date: Thu Feb 26 14:48:28 2015 New Revision: 279322 URL: https://svnweb.freebsd.org/changeset/base/279322 Log: Added a regression test. Sponsored by: EMC / Isilon storage division Added: user/pho/stress2/misc/core5.sh (contents, props changed) Added: user/pho/stress2/misc/core5.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/core5.sh Thu Feb 26 14:48:28 2015 (r279322) @@ -0,0 +1,195 @@ +#!/bin/sh + +# +# Copyright (c) 2015 EMC Corp. +# 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$ +# + +# The core file vnode is unreferenced before notification is sent. + +# Problem reported by sbruno@ +# http://people.freebsd.org/~pho/stress/log/core5.txt +# Fixed by r279237. + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg + +here=`pwd` +cd /tmp +sed '1,/^EOF/d' < $here/$0 > core5.c +mycc -o core5 -Wall -Wextra -O0 -g core5.c || exit 1 +rm -f core5.c + +cat > core5-dumper.c << EOT +#include + +#include +#include +#include +#include +#include +#include + +int +main(int argc __unused, char *argv[]) +{ + time_t start; + char core[80]; + + snprintf(core, sizeof(core), "%s.core", argv[0]); + + if (unlink(core) == -1) + if (errno != ENOENT) + warn("unlink(%s)", core); + + start = time(NULL); + while (time(NULL) - start < 600) { + if (fork() == 0) + raise(SIGSEGV); + wait(NULL); + } + if (unlink(core) == -1) + if (errno != ENOENT) + warn("unlink(%s)", core); + + return (0); +} +EOT +mycc -o core5-dumper -Wall -Wextra -O0 -g core5-dumper.c || exit 1 +rm -f core5-dumper.c +for i in `jot 10`; do + cp core5-dumper core5-dumper$i +done +rm -f core5-dumper + +mount | grep -q "on $mntpoint " && umount $mntpoint +[ -c /dev/md$mdstart ] && mdconfig -d -u $mdstart + +mdconfig -a -t malloc -s 1g -u $mdstart +bsdlabel -w md${mdstart} auto + +newfs -b 4096 -f 512 -i 2048 md${mdstart}$part > /dev/null +mount -o async /dev/md${mdstart}$part $mntpoint || exit 1 + +cp /tmp/core5 $mntpoint +mkdir $mntpoint/dir +cd $mntpoint + +mp2=${mntpoint}2 +[ -d $mp2 ] || mkdir $mp2 +mount | grep -q "on $mp2 " && umount $mp2 +mount -t tmpfs tmpfs $mp2 || exit 1 +for i in `jot 10`; do + (cd $mp2; /tmp/core5-dumper$i ) & +done +$mntpoint/core5 $mntpoint/dir +wait +umount $mp2 + +cd $here +while mount | grep -q "on $mntpoint "; do + umount $mntpoint || sleep 1 +done +mdconfig -d -u $mdstart +rm -f /tmp/core5 /tmp/core5-dumper* /tmp/core5-dumper*.core +exit 0 +EOF +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#define MAXVNODES 1000 +#define NBFILES 10000 +#define PARALLEL 4 +#define RTIME (10 * 60) + +char *path; + +void +test(int n) +{ + int fd, i; + char file[80]; + + usleep(arc4random() % 1000); + for (i = 0; i < NBFILES; i++) { + snprintf(file, sizeof(file), "%s/f%d.%06d", path, n, i); + if ((fd = open(file, O_CREAT, 0644)) == -1) { + warn("open(%s)", file); + break; + } + close(fd); + } + for (i = 0; i < NBFILES; i++) { + snprintf(file, sizeof(file), "%s/f%d.%06d", path, n, i); + if (unlink(file) == -1) + err(1, "unlink(%s)", file); + } + + _exit(0); +} + +int +main(int argc, char *argv[]) +{ + size_t len; + time_t start; + int j, maxvnodes, nv; + + if (argc != 2) + errx(1, "Usage: %s ", argv[0]); + path = argv[1]; + + nv = MAXVNODES; + len = sizeof(maxvnodes); + if (sysctlbyname("kern.maxvnodes", &maxvnodes, &len, &nv, + sizeof(nv)) != 0) + err(1, "sysctl kern.maxvnodes 1"); + + start = time(NULL); + while (time(NULL) - start < RTIME) { + for (j = 0; j < PARALLEL; j++) + if (fork() == 0) + test(j); + + for (j = 0; j < PARALLEL; j++) + wait(NULL); + } + + if (sysctlbyname("kern.maxvnodes", NULL, NULL, &maxvnodes, + sizeof(maxvnodes)) != 0) + err(1, "sysctl kern.maxvnodes 2"); + + return (0); +} From owner-svn-src-user@FreeBSD.ORG Thu Feb 26 21:10:06 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5E076EAB; Thu, 26 Feb 2015 21:10:06 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3E7BC831; Thu, 26 Feb 2015 21:10:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1QLA6Ng017976; Thu, 26 Feb 2015 21:10:06 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1QLA45t017966; Thu, 26 Feb 2015 21:10:04 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502262110.t1QLA45t017966@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Thu, 26 Feb 2015 21:10:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279331 - in user/dchagin/lemul/sys: amd64/linux amd64/linux32 compat/linux i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 21:10:06 -0000 Author: dchagin Date: Thu Feb 26 21:10:03 2015 New Revision: 279331 URL: https://svnweb.freebsd.org/changeset/base/279331 Log: Implement Linux specific syncfs() system call. Modified: user/dchagin/lemul/sys/amd64/linux/linux_dummy.c user/dchagin/lemul/sys/amd64/linux/syscalls.master user/dchagin/lemul/sys/amd64/linux32/linux32_dummy.c user/dchagin/lemul/sys/amd64/linux32/syscalls.master user/dchagin/lemul/sys/compat/linux/linux_stats.c user/dchagin/lemul/sys/i386/linux/linux_dummy.c user/dchagin/lemul/sys/i386/linux/syscalls.master Modified: user/dchagin/lemul/sys/amd64/linux/linux_dummy.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/linux_dummy.c Thu Feb 26 20:59:18 2015 (r279330) +++ user/dchagin/lemul/sys/amd64/linux/linux_dummy.c Thu Feb 26 21:10:03 2015 (r279331) @@ -113,7 +113,6 @@ DUMMY(fanotify_mark); DUMMY(name_to_handle_at); DUMMY(open_by_handle_at); DUMMY(clock_adjtime); -DUMMY(syncfs); DUMMY(setns); DUMMY(process_vm_readv); DUMMY(process_vm_writev); Modified: user/dchagin/lemul/sys/amd64/linux/syscalls.master ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/syscalls.master Thu Feb 26 20:59:18 2015 (r279330) +++ user/dchagin/lemul/sys/amd64/linux/syscalls.master Thu Feb 26 21:10:03 2015 (r279331) @@ -502,7 +502,7 @@ 303 AUE_NULL STD { int linux_name_to_handle_at(void); } 304 AUE_NULL STD { int linux_open_by_handle_at(void); } 305 AUE_NULL STD { int linux_clock_adjtime(void); } -306 AUE_NULL STD { int linux_syncfs(void); } +306 AUE_SYNC STD { int linux_syncfs(l_int fd); } 307 AUE_NULL STD { int linux_sendmmsg(l_int s, \ struct l_mmsghdr *msg, l_uint vlen, \ l_uint flags); } Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_dummy.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_dummy.c Thu Feb 26 20:59:18 2015 (r279330) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_dummy.c Thu Feb 26 21:10:03 2015 (r279331) @@ -124,7 +124,6 @@ DUMMY(fanotify_mark); DUMMY(name_to_handle_at); DUMMY(open_by_handle_at); DUMMY(clock_adjtime); -DUMMY(syncfs); DUMMY(setns); DUMMY(process_vm_readv); DUMMY(process_vm_writev); Modified: user/dchagin/lemul/sys/amd64/linux32/syscalls.master ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/syscalls.master Thu Feb 26 20:59:18 2015 (r279330) +++ user/dchagin/lemul/sys/amd64/linux32/syscalls.master Thu Feb 26 21:10:03 2015 (r279331) @@ -571,7 +571,7 @@ 341 AUE_NULL STD { int linux_name_to_handle_at(void); } 342 AUE_NULL STD { int linux_open_by_handle_at(void); } 343 AUE_NULL STD { int linux_clock_adjtime(void); } -344 AUE_NULL STD { int linux_syncfs(void); } +344 AUE_SYNC STD { int linux_syncfs(l_int fd); } 345 AUE_NULL STD { int linux_sendmmsg(l_int s, \ struct l_mmsghdr *msg, l_uint vlen, \ l_uint flags); } Modified: user/dchagin/lemul/sys/compat/linux/linux_stats.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_stats.c Thu Feb 26 20:59:18 2015 (r279330) +++ user/dchagin/lemul/sys/compat/linux/linux_stats.c Thu Feb 26 21:10:03 2015 (r279331) @@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$"); #include "opt_compat.h" #include +#include #include #include #include @@ -653,3 +654,43 @@ linux_newfstatat(struct thread *td, stru } #endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ + +int +linux_syncfs(struct thread *td, struct linux_syncfs_args *args) +{ + cap_rights_t rights; + struct mount *mp; + struct vnode *vp; + int error, save; + + error = fgetvp(td, args->fd, cap_rights_init(&rights, CAP_FSYNC), &vp); + if (error != 0) + /* + * Linux syncfs() returns only EBADF, however fgetvp() + * can return EINVAL in case of file descriptor does + * not represent a vnode. XXX. + */ + return (error); + + mp = vp->v_mount; + mtx_lock(&mountlist_mtx); + error = vfs_busy(mp, MBF_MNTLSTLOCK); + if (error != 0) { + /* See comment above. */ + mtx_unlock(&mountlist_mtx); + goto out; + } + if ((mp->mnt_flag & MNT_RDONLY) == 0 && + vn_start_write(NULL, &mp, V_NOWAIT) == 0) { + save = curthread_pflags_set(TDP_SYNCIO); + vfs_msync(mp, MNT_NOWAIT); + VFS_SYNC(mp, MNT_NOWAIT); + curthread_pflags_restore(save); + vn_finished_write(mp); + } + vfs_unbusy(mp); + + out: + vrele(vp); + return (error); +} Modified: user/dchagin/lemul/sys/i386/linux/linux_dummy.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_dummy.c Thu Feb 26 20:59:18 2015 (r279330) +++ user/dchagin/lemul/sys/i386/linux/linux_dummy.c Thu Feb 26 21:10:03 2015 (r279331) @@ -120,7 +120,6 @@ DUMMY(fanotify_mark); DUMMY(name_to_handle_at); DUMMY(open_by_handle_at); DUMMY(clock_adjtime); -DUMMY(syncfs); DUMMY(setns); DUMMY(process_vm_readv); DUMMY(process_vm_writev); Modified: user/dchagin/lemul/sys/i386/linux/syscalls.master ============================================================================== --- user/dchagin/lemul/sys/i386/linux/syscalls.master Thu Feb 26 20:59:18 2015 (r279330) +++ user/dchagin/lemul/sys/i386/linux/syscalls.master Thu Feb 26 21:10:03 2015 (r279331) @@ -579,7 +579,7 @@ 341 AUE_NULL STD { int linux_name_to_handle_at(void); } 342 AUE_NULL STD { int linux_open_by_handle_at(void); } 343 AUE_NULL STD { int linux_clock_adjtime(void); } -344 AUE_NULL STD { int linux_syncfs(void); } +344 AUE_SYNC STD { int linux_syncfs(l_int fd); } 345 AUE_NULL STD { int linux_sendmmsg(l_int s, \ struct l_mmsghdr *msg, l_uint vlen, \ l_uint flags); } From owner-svn-src-user@FreeBSD.ORG Thu Feb 26 21:12:26 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EBEA0FBE; Thu, 26 Feb 2015 21:12:26 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D5677848; Thu, 26 Feb 2015 21:12:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1QLCQPf021764; Thu, 26 Feb 2015 21:12:26 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1QLCNAS021739; Thu, 26 Feb 2015 21:12:23 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502262112.t1QLCNAS021739@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Thu, 26 Feb 2015 21:12:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279332 - in user/dchagin/lemul/sys: amd64/linux amd64/linux32 i386/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 21:12:27 -0000 Author: dchagin Date: Thu Feb 26 21:12:22 2015 New Revision: 279332 URL: https://svnweb.freebsd.org/changeset/base/279332 Log: Regen for r279331 (syncfs). Modified: user/dchagin/lemul/sys/amd64/linux/linux_proto.h user/dchagin/lemul/sys/amd64/linux/linux_sysent.c user/dchagin/lemul/sys/amd64/linux/linux_systrace_args.c user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c user/dchagin/lemul/sys/i386/linux/linux_proto.h user/dchagin/lemul/sys/i386/linux/linux_syscall.h user/dchagin/lemul/sys/i386/linux/linux_syscalls.c user/dchagin/lemul/sys/i386/linux/linux_sysent.c user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Modified: user/dchagin/lemul/sys/amd64/linux/linux_proto.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/linux_proto.h Thu Feb 26 21:10:03 2015 (r279331) +++ user/dchagin/lemul/sys/amd64/linux/linux_proto.h Thu Feb 26 21:12:22 2015 (r279332) @@ -1087,7 +1087,7 @@ struct linux_clock_adjtime_args { register_t dummy; }; struct linux_syncfs_args { - register_t dummy; + char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)]; }; struct linux_sendmmsg_args { char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; @@ -1648,7 +1648,7 @@ int linux_finit_module(struct thread *, #define LINUX_SYS_AUE_linux_name_to_handle_at AUE_NULL #define LINUX_SYS_AUE_linux_open_by_handle_at AUE_NULL #define LINUX_SYS_AUE_linux_clock_adjtime AUE_NULL -#define LINUX_SYS_AUE_linux_syncfs AUE_NULL +#define LINUX_SYS_AUE_linux_syncfs AUE_SYNC #define LINUX_SYS_AUE_linux_sendmmsg AUE_NULL #define LINUX_SYS_AUE_linux_setns AUE_NULL #define LINUX_SYS_AUE_linux_process_vm_readv AUE_NULL Modified: user/dchagin/lemul/sys/amd64/linux/linux_sysent.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/linux_sysent.c Thu Feb 26 21:10:03 2015 (r279331) +++ user/dchagin/lemul/sys/amd64/linux/linux_sysent.c Thu Feb 26 21:12:22 2015 (r279332) @@ -324,7 +324,7 @@ struct sysent linux_sysent[] = { { 0, (sy_call_t *)linux_name_to_handle_at, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 303 = linux_name_to_handle_at */ { 0, (sy_call_t *)linux_open_by_handle_at, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 304 = linux_open_by_handle_at */ { 0, (sy_call_t *)linux_clock_adjtime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 305 = linux_clock_adjtime */ - { 0, (sy_call_t *)linux_syncfs, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 306 = linux_syncfs */ + { AS(linux_syncfs_args), (sy_call_t *)linux_syncfs, AUE_SYNC, NULL, 0, 0, 0, SY_THR_STATIC }, /* 306 = linux_syncfs */ { AS(linux_sendmmsg_args), (sy_call_t *)linux_sendmmsg, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 307 = linux_sendmmsg */ { 0, (sy_call_t *)linux_setns, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 308 = linux_setns */ { 0, (sy_call_t *)linux_process_vm_readv, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 309 = linux_process_vm_readv */ Modified: user/dchagin/lemul/sys/amd64/linux/linux_systrace_args.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux/linux_systrace_args.c Thu Feb 26 21:10:03 2015 (r279331) +++ user/dchagin/lemul/sys/amd64/linux/linux_systrace_args.c Thu Feb 26 21:12:22 2015 (r279332) @@ -2228,7 +2228,9 @@ systrace_args(int sysnum, void *params, } /* linux_syncfs */ case 306: { - *n_args = 0; + struct linux_syncfs_args *p = params; + iarg[0] = p->fd; /* l_int */ + *n_args = 1; break; } /* linux_sendmmsg */ @@ -5598,6 +5600,13 @@ systrace_entry_setargdesc(int sysnum, in break; /* linux_syncfs */ case 306: + switch(ndx) { + case 0: + p = "l_int"; + break; + default: + break; + }; break; /* linux_sendmmsg */ case 307: @@ -6850,6 +6859,9 @@ systrace_return_setargdesc(int sysnum, i case 305: /* linux_syncfs */ case 306: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sendmmsg */ case 307: if (ndx == 0 || ndx == 1) Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h Thu Feb 26 21:10:03 2015 (r279331) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_proto.h Thu Feb 26 21:12:22 2015 (r279332) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279203 2015-02-23 09:38:28Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279331 2015-02-26 21:10:03Z dchagin */ #ifndef _LINUX_SYSPROTO_H_ @@ -1141,7 +1141,7 @@ struct linux_clock_adjtime_args { register_t dummy; }; struct linux_syncfs_args { - register_t dummy; + char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)]; }; struct linux_sendmmsg_args { char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; @@ -1736,7 +1736,7 @@ int linux_process_vm_writev(struct threa #define LINUX_SYS_AUE_linux_name_to_handle_at AUE_NULL #define LINUX_SYS_AUE_linux_open_by_handle_at AUE_NULL #define LINUX_SYS_AUE_linux_clock_adjtime AUE_NULL -#define LINUX_SYS_AUE_linux_syncfs AUE_NULL +#define LINUX_SYS_AUE_linux_syncfs AUE_SYNC #define LINUX_SYS_AUE_linux_sendmmsg AUE_NULL #define LINUX_SYS_AUE_linux_setns AUE_NULL #define LINUX_SYS_AUE_linux_process_vm_readv AUE_NULL Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h Thu Feb 26 21:10:03 2015 (r279331) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_syscall.h Thu Feb 26 21:12:22 2015 (r279332) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279203 2015-02-23 09:38:28Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279331 2015-02-26 21:10:03Z dchagin */ #define LINUX_SYS_linux_exit 1 Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c Thu Feb 26 21:10:03 2015 (r279331) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_syscalls.c Thu Feb 26 21:12:22 2015 (r279332) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279203 2015-02-23 09:38:28Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279331 2015-02-26 21:10:03Z dchagin */ const char *linux_syscallnames[] = { Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c Thu Feb 26 21:10:03 2015 (r279331) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_sysent.c Thu Feb 26 21:12:22 2015 (r279332) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279203 2015-02-23 09:38:28Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/amd64/linux32/syscalls.master 279331 2015-02-26 21:10:03Z dchagin */ #include "opt_compat.h" @@ -363,7 +363,7 @@ struct sysent linux_sysent[] = { { 0, (sy_call_t *)linux_name_to_handle_at, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 341 = linux_name_to_handle_at */ { 0, (sy_call_t *)linux_open_by_handle_at, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 342 = linux_open_by_handle_at */ { 0, (sy_call_t *)linux_clock_adjtime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 343 = linux_clock_adjtime */ - { 0, (sy_call_t *)linux_syncfs, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 344 = linux_syncfs */ + { AS(linux_syncfs_args), (sy_call_t *)linux_syncfs, AUE_SYNC, NULL, 0, 0, 0, SY_THR_STATIC }, /* 344 = linux_syncfs */ { AS(linux_sendmmsg_args), (sy_call_t *)linux_sendmmsg, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 345 = linux_sendmmsg */ { 0, (sy_call_t *)linux_setns, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 346 = linux_setns */ { 0, (sy_call_t *)linux_process_vm_readv, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 347 = linux_process_vm_readv */ Modified: user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c ============================================================================== --- user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c Thu Feb 26 21:10:03 2015 (r279331) +++ user/dchagin/lemul/sys/amd64/linux32/linux32_systrace_args.c Thu Feb 26 21:12:22 2015 (r279332) @@ -2325,7 +2325,9 @@ systrace_args(int sysnum, void *params, } /* linux_syncfs */ case 344: { - *n_args = 0; + struct linux_syncfs_args *p = params; + iarg[0] = p->fd; /* l_int */ + *n_args = 1; break; } /* linux_sendmmsg */ @@ -5786,6 +5788,13 @@ systrace_entry_setargdesc(int sysnum, in break; /* linux_syncfs */ case 344: + switch(ndx) { + case 0: + p = "l_int"; + break; + default: + break; + }; break; /* linux_sendmmsg */ case 345: @@ -7108,6 +7117,9 @@ systrace_return_setargdesc(int sysnum, i case 343: /* linux_syncfs */ case 344: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sendmmsg */ case 345: if (ndx == 0 || ndx == 1) Modified: user/dchagin/lemul/sys/i386/linux/linux_proto.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_proto.h Thu Feb 26 21:10:03 2015 (r279331) +++ user/dchagin/lemul/sys/i386/linux/linux_proto.h Thu Feb 26 21:12:22 2015 (r279332) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279203 2015-02-23 09:38:28Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279331 2015-02-26 21:10:03Z dchagin */ #ifndef _LINUX_SYSPROTO_H_ @@ -1159,7 +1159,7 @@ struct linux_clock_adjtime_args { register_t dummy; }; struct linux_syncfs_args { - register_t dummy; + char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)]; }; struct linux_sendmmsg_args { char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)]; @@ -1758,7 +1758,7 @@ int linux_process_vm_writev(struct threa #define LINUX_SYS_AUE_linux_name_to_handle_at AUE_NULL #define LINUX_SYS_AUE_linux_open_by_handle_at AUE_NULL #define LINUX_SYS_AUE_linux_clock_adjtime AUE_NULL -#define LINUX_SYS_AUE_linux_syncfs AUE_NULL +#define LINUX_SYS_AUE_linux_syncfs AUE_SYNC #define LINUX_SYS_AUE_linux_sendmmsg AUE_NULL #define LINUX_SYS_AUE_linux_setns AUE_NULL #define LINUX_SYS_AUE_linux_process_vm_readv AUE_NULL Modified: user/dchagin/lemul/sys/i386/linux/linux_syscall.h ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_syscall.h Thu Feb 26 21:10:03 2015 (r279331) +++ user/dchagin/lemul/sys/i386/linux/linux_syscall.h Thu Feb 26 21:12:22 2015 (r279332) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279203 2015-02-23 09:38:28Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279331 2015-02-26 21:10:03Z dchagin */ #define LINUX_SYS_linux_exit 1 Modified: user/dchagin/lemul/sys/i386/linux/linux_syscalls.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_syscalls.c Thu Feb 26 21:10:03 2015 (r279331) +++ user/dchagin/lemul/sys/i386/linux/linux_syscalls.c Thu Feb 26 21:12:22 2015 (r279332) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279203 2015-02-23 09:38:28Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279331 2015-02-26 21:10:03Z dchagin */ const char *linux_syscallnames[] = { Modified: user/dchagin/lemul/sys/i386/linux/linux_sysent.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_sysent.c Thu Feb 26 21:10:03 2015 (r279331) +++ user/dchagin/lemul/sys/i386/linux/linux_sysent.c Thu Feb 26 21:12:22 2015 (r279332) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279203 2015-02-23 09:38:28Z dchagin + * created from FreeBSD: user/dchagin/lemul/sys/i386/linux/syscalls.master 279331 2015-02-26 21:10:03Z dchagin */ #include @@ -362,7 +362,7 @@ struct sysent linux_sysent[] = { { 0, (sy_call_t *)linux_name_to_handle_at, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 341 = linux_name_to_handle_at */ { 0, (sy_call_t *)linux_open_by_handle_at, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 342 = linux_open_by_handle_at */ { 0, (sy_call_t *)linux_clock_adjtime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 343 = linux_clock_adjtime */ - { 0, (sy_call_t *)linux_syncfs, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 344 = linux_syncfs */ + { AS(linux_syncfs_args), (sy_call_t *)linux_syncfs, AUE_SYNC, NULL, 0, 0, 0, SY_THR_STATIC }, /* 344 = linux_syncfs */ { AS(linux_sendmmsg_args), (sy_call_t *)linux_sendmmsg, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 345 = linux_sendmmsg */ { 0, (sy_call_t *)linux_setns, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 346 = linux_setns */ { 0, (sy_call_t *)linux_process_vm_readv, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 347 = linux_process_vm_readv */ Modified: user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c ============================================================================== --- user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Thu Feb 26 21:10:03 2015 (r279331) +++ user/dchagin/lemul/sys/i386/linux/linux_systrace_args.c Thu Feb 26 21:12:22 2015 (r279332) @@ -2401,7 +2401,9 @@ systrace_args(int sysnum, void *params, } /* linux_syncfs */ case 344: { - *n_args = 0; + struct linux_syncfs_args *p = params; + iarg[0] = p->fd; /* l_int */ + *n_args = 1; break; } /* linux_sendmmsg */ @@ -6017,6 +6019,13 @@ systrace_entry_setargdesc(int sysnum, in break; /* linux_syncfs */ case 344: + switch(ndx) { + case 0: + p = "l_int"; + break; + default: + break; + }; break; /* linux_sendmmsg */ case 345: @@ -7386,6 +7395,9 @@ systrace_return_setargdesc(int sysnum, i case 343: /* linux_syncfs */ case 344: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sendmmsg */ case 345: if (ndx == 0 || ndx == 1) From owner-svn-src-user@FreeBSD.ORG Thu Feb 26 21:13:35 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 351A6227; Thu, 26 Feb 2015 21:13:35 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1FDEA862; Thu, 26 Feb 2015 21:13:35 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1QLDYW9022093; Thu, 26 Feb 2015 21:13:35 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1QLDY9N022090; Thu, 26 Feb 2015 21:13:34 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502262113.t1QLDY9N022090@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Thu, 26 Feb 2015 21:13:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279333 - in user/dchagin/lemul/sys: fs/pseudofs modules/pseudofs X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 21:13:35 -0000 Author: dchagin Date: Thu Feb 26 21:13:33 2015 New Revision: 279333 URL: https://svnweb.freebsd.org/changeset/base/279333 Log: Hide vfs.pfs.trace variable if it is not used. Modified: user/dchagin/lemul/sys/fs/pseudofs/pseudofs.c user/dchagin/lemul/sys/modules/pseudofs/Makefile Modified: user/dchagin/lemul/sys/fs/pseudofs/pseudofs.c ============================================================================== --- user/dchagin/lemul/sys/fs/pseudofs/pseudofs.c Thu Feb 26 21:12:22 2015 (r279332) +++ user/dchagin/lemul/sys/fs/pseudofs/pseudofs.c Thu Feb 26 21:13:33 2015 (r279333) @@ -52,9 +52,11 @@ static MALLOC_DEFINE(M_PFSNODES, "pfs_no SYSCTL_NODE(_vfs, OID_AUTO, pfs, CTLFLAG_RW, 0, "pseudofs"); +#ifdef PSEUDOFS_TRACE int pfs_trace; SYSCTL_INT(_vfs_pfs, OID_AUTO, trace, CTLFLAG_RW, &pfs_trace, 0, "enable tracing of pseudofs vnode operations"); +#endif #if PFS_FSNAMELEN != MFSNAMELEN #error "PFS_FSNAMELEN is not equal to MFSNAMELEN" Modified: user/dchagin/lemul/sys/modules/pseudofs/Makefile ============================================================================== --- user/dchagin/lemul/sys/modules/pseudofs/Makefile Thu Feb 26 21:12:22 2015 (r279332) +++ user/dchagin/lemul/sys/modules/pseudofs/Makefile Thu Feb 26 21:13:33 2015 (r279333) @@ -23,4 +23,10 @@ EXPORT_SYMS= pfs_mount \ pfs_enable \ pfs_destroy +.if !defined(KERNBUILDDIR) +.if defined(PSEUDOFS_TRACE) +CFLAGS+=-DPSEUDOFS_TRACE +.endif +.endif + .include From owner-svn-src-user@FreeBSD.ORG Thu Feb 26 21:15:03 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E6803322; Thu, 26 Feb 2015 21:15:03 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D1E4186F; Thu, 26 Feb 2015 21:15:03 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1QLF3IB022381; Thu, 26 Feb 2015 21:15:03 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1QLF3SF022378; Thu, 26 Feb 2015 21:15:03 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502262115.t1QLF3SF022378@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Thu, 26 Feb 2015 21:15:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279334 - in user/dchagin/lemul/sys: kern sys X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 21:15:04 -0000 Author: dchagin Date: Thu Feb 26 21:15:02 2015 New Revision: 279334 URL: https://svnweb.freebsd.org/changeset/base/279334 Log: Export fdhold() & fddrop() needed by an upcoming pseudofs change. Modified: user/dchagin/lemul/sys/kern/kern_descrip.c user/dchagin/lemul/sys/sys/filedesc.h Modified: user/dchagin/lemul/sys/kern/kern_descrip.c ============================================================================== --- user/dchagin/lemul/sys/kern/kern_descrip.c Thu Feb 26 21:13:33 2015 (r279333) +++ user/dchagin/lemul/sys/kern/kern_descrip.c Thu Feb 26 21:15:02 2015 (r279334) @@ -1845,7 +1845,7 @@ fdinit(struct filedesc *fdp, bool prepfi return (newfdp); } -static struct filedesc * +struct filedesc * fdhold(struct proc *p) { struct filedesc *fdp; @@ -1858,7 +1858,7 @@ fdhold(struct proc *p) return (fdp); } -static void +void fddrop(struct filedesc *fdp) { int i; Modified: user/dchagin/lemul/sys/sys/filedesc.h ============================================================================== --- user/dchagin/lemul/sys/sys/filedesc.h Thu Feb 26 21:13:33 2015 (r279333) +++ user/dchagin/lemul/sys/sys/filedesc.h Thu Feb 26 21:15:02 2015 (r279334) @@ -154,6 +154,8 @@ int fdallocn(struct thread *td, int minf int fdcheckstd(struct thread *td); void fdclose(struct filedesc *fdp, struct file *fp, int idx, struct thread *td); void fdcloseexec(struct thread *td); +void fddrop(struct filedesc *fdp); +struct filedesc *fdhold(struct proc *p); void fdsetugidsafety(struct thread *td); struct filedesc *fdcopy(struct filedesc *fdp); void fdunshare(struct thread *td); From owner-svn-src-user@FreeBSD.ORG Thu Feb 26 21:30:44 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A1BEB70F; Thu, 26 Feb 2015 21:30:44 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8ADA1A5C; Thu, 26 Feb 2015 21:30:44 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1QLUi3o027965; Thu, 26 Feb 2015 21:30:44 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1QLUfwf027872; Thu, 26 Feb 2015 21:30:41 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502262130.t1QLUfwf027872@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Thu, 26 Feb 2015 21:30:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279335 - in user/dchagin/lemul/sys: compat/linprocfs fs/procfs fs/pseudofs modules/procfs X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 21:30:44 -0000 Author: dchagin Date: Thu Feb 26 21:30:40 2015 New Revision: 279335 URL: https://svnweb.freebsd.org/changeset/base/279335 Log: Add preliminary support of /proc/[pid]/fd. On Linux this is a subdirectory containing one entry for each file which the process has open, named by its file descriptor, and which is a symbolic link to the actual file. For now only regular file descriptors are supported. Added: user/dchagin/lemul/sys/fs/procfs/procfs_fdlink.c (contents, props changed) Modified: user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c user/dchagin/lemul/sys/fs/procfs/procfs.c user/dchagin/lemul/sys/fs/procfs/procfs.h user/dchagin/lemul/sys/fs/pseudofs/pseudofs.c user/dchagin/lemul/sys/fs/pseudofs/pseudofs.h user/dchagin/lemul/sys/fs/pseudofs/pseudofs_fileno.c user/dchagin/lemul/sys/fs/pseudofs/pseudofs_internal.h user/dchagin/lemul/sys/fs/pseudofs/pseudofs_vncache.c user/dchagin/lemul/sys/fs/pseudofs/pseudofs_vnops.c user/dchagin/lemul/sys/modules/procfs/Makefile Modified: user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c ============================================================================== --- user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c Thu Feb 26 21:15:02 2015 (r279334) +++ user/dchagin/lemul/sys/compat/linprocfs/linprocfs.c Thu Feb 26 21:30:40 2015 (r279335) @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -1351,21 +1352,6 @@ linprocfs_domodules(PFS_FILL_ARGS) #endif /* - * Filler function for proc/pid/fd - */ -static int -linprocfs_dofdescfs(PFS_FILL_ARGS) -{ - - if (p == curproc) - sbuf_printf(sb, "/dev/fd"); - else - sbuf_printf(sb, "unknown"); - return (0); -} - - -/* * Filler function for proc/sys/kernel/random/uuid */ static int @@ -1498,10 +1484,11 @@ linprocfs_init(PFS_INIT_ARGS) NULL, NULL, NULL, PFS_RD); pfs_create_file(dir, "status", &linprocfs_doprocstatus, NULL, NULL, NULL, PFS_RD); - pfs_create_link(dir, "fd", &linprocfs_dofdescfs, - NULL, NULL, NULL, 0); pfs_create_file(dir, "auxv", &linprocfs_doauxv, NULL, &procfs_candebug, NULL, PFS_RD|PFS_RAWRD); + dir = pfs_create_dir(dir, "fd", NULL, NULL, NULL, 0); + pfs_create_link(dir, "---", &procfs_dofdlink, + NULL, &procfs_candebug, NULL, PFS_PROCFDDEP); /* /proc/scsi/... */ dir = pfs_create_dir(root, "scsi", NULL, NULL, NULL, 0); Modified: user/dchagin/lemul/sys/fs/procfs/procfs.c ============================================================================== --- user/dchagin/lemul/sys/fs/procfs/procfs.c Thu Feb 26 21:15:02 2015 (r279334) +++ user/dchagin/lemul/sys/fs/procfs/procfs.c Thu Feb 26 21:30:40 2015 (r279335) @@ -196,6 +196,10 @@ procfs_init(PFS_INIT_ARGS) pfs_create_link(dir, "file", procfs_doprocfile, NULL, procfs_notsystem, NULL, 0); + dir = pfs_create_dir(dir, "fd", NULL, NULL, NULL, 0); + pfs_create_link(dir, "---", &procfs_dofdlink, + NULL, procfs_candebug, NULL, PFS_PROCFDDEP); + return (0); } Modified: user/dchagin/lemul/sys/fs/procfs/procfs.h ============================================================================== --- user/dchagin/lemul/sys/fs/procfs/procfs.h Thu Feb 26 21:15:02 2015 (r279334) +++ user/dchagin/lemul/sys/fs/procfs/procfs.h Thu Feb 26 21:30:40 2015 (r279335) @@ -39,6 +39,7 @@ #ifdef _KERNEL int procfs_docurproc(PFS_FILL_ARGS); +int procfs_dofdlink(PFS_FILL_ARGS); int procfs_doosrel(PFS_FILL_ARGS); int procfs_doproccmdline(PFS_FILL_ARGS); int procfs_doprocctl(PFS_FILL_ARGS); Added: user/dchagin/lemul/sys/fs/procfs/procfs_fdlink.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/dchagin/lemul/sys/fs/procfs/procfs_fdlink.c Thu Feb 26 21:30:40 2015 (r279335) @@ -0,0 +1,87 @@ +/*- + * Copyright (c) 2015 Dmitry Chagin + * 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 REGENTS 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 REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + + +int +procfs_dofdlink(PFS_FILL_ARGS) +{ + char *fullpath, *freepath, *endfileno; + struct filedesc *fdp; + struct vnode *vp; + struct file *fp; + int fileno, error; + + if (vnode_name == NULL) + return (ENOENT); + + fileno = (int)strtol(vnode_name, &endfileno, 10); + if (fileno == 0 && (vnode_namelen > 1 || + (vnode_namelen == 1 && vnode_name[0] != '0'))) + return (ENOENT); + if (vnode_namelen != endfileno - vnode_name) + return (ENOENT); + + fdp = fdhold(p); + if (fdp == NULL) + return (ENOENT); + + error = fget_unlocked(fdp, fileno, NULL, &fp, NULL); + if (error != 0) + goto out; + + freepath = NULL; + fullpath = "-"; + vp = fp->f_vnode; + if (vp != NULL) { + vref(vp); + error = vn_fullpath(td, vp, &fullpath, &freepath); + vrele(vp); + } + if (error == 0) + error = sbuf_printf(sb, "%s", fullpath); + if (freepath != NULL) + free(freepath, M_TEMP); + fdrop(fp, td); + + out: + fddrop(fdp); + return (error); +} Modified: user/dchagin/lemul/sys/fs/pseudofs/pseudofs.c ============================================================================== --- user/dchagin/lemul/sys/fs/pseudofs/pseudofs.c Thu Feb 26 21:15:02 2015 (r279334) +++ user/dchagin/lemul/sys/fs/pseudofs/pseudofs.c Thu Feb 26 21:30:40 2015 (r279335) @@ -222,7 +222,8 @@ pfs_create_link(struct pfs_node *parent, { struct pfs_node *pn; - pn = pfs_alloc_node(parent->pn_info, name, pfstype_symlink); + pn = pfs_alloc_node(parent->pn_info, name, + (flags & PFS_PROCFDDEP) ? pfstype_fdlink : pfstype_symlink); pn->pn_fill = fill; pn->pn_attr = attr; pn->pn_vis = vis; @@ -361,7 +362,7 @@ pfs_root(struct mount *mp, int flags, st struct pfs_info *pi; pi = (struct pfs_info *)mp->mnt_data; - return (pfs_vncache_alloc(mp, vpp, pi->pi_root, NO_PID)); + return (pfs_vncache_alloc(mp, vpp, pi->pi_root, NO_PID, NULL, 0)); } /* Modified: user/dchagin/lemul/sys/fs/pseudofs/pseudofs.h ============================================================================== --- user/dchagin/lemul/sys/fs/pseudofs/pseudofs.h Thu Feb 26 21:15:02 2015 (r279334) +++ user/dchagin/lemul/sys/fs/pseudofs/pseudofs.h Thu Feb 26 21:30:40 2015 (r279335) @@ -62,7 +62,8 @@ typedef enum { pfstype_parent, pfstype_file, pfstype_symlink, - pfstype_procdir + pfstype_procdir, + pfstype_fdlink } pfs_type_t; /* @@ -75,6 +76,7 @@ typedef enum { #define PFS_RAWWR 0x0008 /* raw writer */ #define PFS_RAW (PFS_RAWRD|PFS_RAWWR) #define PFS_PROCDEP 0x0010 /* process-dependent */ +#define PFS_PROCFDDEP 0x0020 /* process-filedesc-dependent */ /* * Data structures @@ -100,9 +102,10 @@ typedef int (*pfs_init_t)(PFS_INIT_ARGS) */ #define PFS_FILL_ARGS \ struct thread *td, struct proc *p, struct pfs_node *pn, \ - struct sbuf *sb, struct uio *uio + struct sbuf *sb, struct uio *uio, char *vnode_name, \ + int vnode_namelen #define PFS_FILL_ARGNAMES \ - td, p, pn, sb, uio + td, p, pn, sb, uio, vnode_name, vnode_namelen #define PFS_FILL_PROTO(name) \ int name(PFS_FILL_ARGS); typedef int (*pfs_fill_t)(PFS_FILL_ARGS); Modified: user/dchagin/lemul/sys/fs/pseudofs/pseudofs_fileno.c ============================================================================== --- user/dchagin/lemul/sys/fs/pseudofs/pseudofs_fileno.c Thu Feb 26 21:15:02 2015 (r279334) +++ user/dchagin/lemul/sys/fs/pseudofs/pseudofs_fileno.c Thu Feb 26 21:30:40 2015 (r279335) @@ -92,6 +92,7 @@ pfs_fileno_alloc(struct pfs_node *pn) case pfstype_file: case pfstype_symlink: case pfstype_procdir: + case pfstype_fdlink: pn->pn_fileno = alloc_unr(pn->pn_info->pi_unrhdr); break; case pfstype_this: @@ -145,6 +146,7 @@ pfs_fileno_free(struct pfs_node *pn) case pfstype_file: case pfstype_symlink: case pfstype_procdir: + case pfstype_fdlink: free_unr(pn->pn_info->pi_unrhdr, pn->pn_fileno); break; case pfstype_this: Modified: user/dchagin/lemul/sys/fs/pseudofs/pseudofs_internal.h ============================================================================== --- user/dchagin/lemul/sys/fs/pseudofs/pseudofs_internal.h Thu Feb 26 21:15:02 2015 (r279334) +++ user/dchagin/lemul/sys/fs/pseudofs/pseudofs_internal.h Thu Feb 26 21:30:40 2015 (r279335) @@ -43,6 +43,8 @@ struct pfs_vdata { struct pfs_node *pvd_pn; pid_t pvd_pid; struct vnode *pvd_vnode; + char *pvd_vnode_name; + int pvd_vnode_namelen; struct pfs_vdata*pvd_prev, *pvd_next; int pvd_dead:1; }; @@ -53,7 +55,8 @@ struct pfs_vdata { void pfs_vncache_load (void); void pfs_vncache_unload (void); int pfs_vncache_alloc (struct mount *, struct vnode **, - struct pfs_node *, pid_t pid); + struct pfs_node *, pid_t pid, + char *name, int namelen); int pfs_vncache_free (struct vnode *); /* Modified: user/dchagin/lemul/sys/fs/pseudofs/pseudofs_vncache.c ============================================================================== --- user/dchagin/lemul/sys/fs/pseudofs/pseudofs_vncache.c Thu Feb 26 21:15:02 2015 (r279334) +++ user/dchagin/lemul/sys/fs/pseudofs/pseudofs_vncache.c Thu Feb 26 21:30:40 2015 (r279335) @@ -108,13 +108,15 @@ pfs_vncache_unload(void) * Allocate a vnode */ int -pfs_vncache_alloc(struct mount *mp, struct vnode **vpp, - struct pfs_node *pn, pid_t pid) +pfs_vncache_alloc(struct mount *mp, struct vnode **vpp, struct pfs_node *pn, + pid_t pid, char *name, int namelen) { struct pfs_vdata *pvd, *pvd2; struct vnode *vp; int error; + PFS_TRACE(("%s", (name != NULL? name : pn->pn_name))); + /* * See if the vnode is in the cache. * XXX linear search is not very efficient. @@ -124,6 +126,10 @@ retry: for (pvd = pfs_vncache; pvd; pvd = pvd->pvd_next) { if (pvd->pvd_pn == pn && pvd->pvd_pid == pid && pvd->pvd_vnode->v_mount == mp) { + if ((pn->pn_flags & PFS_PROCFDDEP) && + (namelen != pvd->pvd_vnode_namelen || + bcmp(name, pvd->pvd_vnode_name, namelen))) + continue; vp = pvd->pvd_vnode; VI_LOCK(vp); mtx_unlock(&pfs_vncache_mutex); @@ -148,7 +154,7 @@ retry: mtx_unlock(&pfs_vncache_mutex); /* nope, get a new one */ - pvd = malloc(sizeof *pvd, M_PFSVNCACHE, M_WAITOK); + pvd = malloc(sizeof *pvd, M_PFSVNCACHE, M_WAITOK|M_ZERO); pvd->pvd_next = pvd->pvd_prev = NULL; error = getnewvnode("pseudofs", mp, &pfs_vnodeops, vpp); if (error) { @@ -157,6 +163,12 @@ retry: } pvd->pvd_pn = pn; pvd->pvd_pid = pid; + if (name != NULL && namelen > 0) { + pvd->pvd_vnode_name = malloc(namelen + 1, M_PFSVNCACHE, + M_WAITOK); + strlcpy(pvd->pvd_vnode_name, name, namelen + 1); + pvd->pvd_vnode_namelen = namelen; + } (*vpp)->v_data = pvd; switch (pn->pn_type) { case pfstype_root: @@ -175,6 +187,7 @@ retry: (*vpp)->v_type = VREG; break; case pfstype_symlink: + case pfstype_fdlink: (*vpp)->v_type = VLNK; break; case pfstype_none: @@ -207,6 +220,10 @@ retry2: for (pvd2 = pfs_vncache; pvd2; pvd2 = pvd2->pvd_next) { if (pvd2->pvd_pn == pn && pvd2->pvd_pid == pid && pvd2->pvd_vnode->v_mount == mp) { + if ((pn->pn_flags & PFS_PROCFDDEP) && + (namelen != pvd2->pvd_vnode_namelen || + bcmp(name, pvd2->pvd_vnode_name, namelen))) + continue; vp = pvd2->pvd_vnode; VI_LOCK(vp); mtx_unlock(&pfs_vncache_mutex); @@ -243,7 +260,11 @@ pfs_vncache_free(struct vnode *vp) mtx_lock(&pfs_vncache_mutex); pvd = (struct pfs_vdata *)vp->v_data; + KASSERT(pvd != NULL, ("pfs_vncache_free(): no vnode data\n")); + PFS_TRACE(("%s", (pvd->pvd_vnode_name != NULL ? + pvd->pvd_vnode_name : pvd->pvd_pn->pn_name))); + if (pvd->pvd_next) pvd->pvd_next->pvd_prev = pvd->pvd_prev; if (pvd->pvd_prev) { @@ -255,6 +276,8 @@ pfs_vncache_free(struct vnode *vp) } mtx_unlock(&pfs_vncache_mutex); + if (pvd->pvd_vnode_name != NULL) + free(pvd->pvd_vnode_name, M_PFSVNCACHE); free(pvd, M_PFSVNCACHE); vp->v_data = NULL; return (0); Modified: user/dchagin/lemul/sys/fs/pseudofs/pseudofs_vnops.c ============================================================================== --- user/dchagin/lemul/sys/fs/pseudofs/pseudofs_vnops.c Thu Feb 26 21:15:02 2015 (r279334) +++ user/dchagin/lemul/sys/fs/pseudofs/pseudofs_vnops.c Thu Feb 26 21:30:40 2015 (r279335) @@ -34,9 +34,12 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include +#include +#include #include #include #include @@ -63,7 +66,8 @@ __FBSDID("$FreeBSD$"); ("%s(): VREG vnode refers to non-file pfs_node", __func__)) #define KASSERT_PN_IS_LINK(pn) \ - KASSERT((pn)->pn_type == pfstype_symlink, \ + KASSERT((pn)->pn_type == pfstype_symlink || \ + (pn)->pn_type == pfstype_fdlink, \ ("%s(): VLNK vnode refers to non-link pfs_node", __func__)) /* @@ -139,7 +143,8 @@ pfs_access(struct vop_access_args *va) struct vattr vattr; int error; - PFS_TRACE(("%s", pvd->pvd_pn->pn_name)); + PFS_TRACE(("%s", (pvd->pvd_vnode_name != NULL ? + pvd->pvd_vnode_name : pvd->pvd_pn->pn_name))); (void)pvd; error = VOP_GETATTR(vn, &vattr, va->a_cred); @@ -229,6 +234,7 @@ pfs_getattr(struct vop_getattr_args *va) break; case pfstype_file: case pfstype_symlink: + case pfstype_fdlink: vap->va_mode = 0444; break; default: @@ -402,7 +408,7 @@ pfs_vptocnp(struct vop_vptocnp_args *ap) locked = VOP_ISLOCKED(vp); VOP_UNLOCK(vp, 0); - error = pfs_vncache_alloc(mp, dvp, pn, pid); + error = pfs_vncache_alloc(mp, dvp, pn, pid, NULL, 0); if (error) { vn_lock(vp, locked | LK_RETRY); vfs_unbusy(mp); @@ -432,10 +438,15 @@ pfs_lookup(struct vop_cachedlookup_args struct pfs_vdata *pvd = vn->v_data; struct pfs_node *pd = pvd->pvd_pn; struct pfs_node *pn, *pdn = NULL; + struct thread *td = curthread; struct mount *mp; + cap_rights_t rights; pid_t pid = pvd->pvd_pid; - char *pname; - int error, i, namelen, visible; + char *pname, *pnameend; + int error, i, namelen, visible, fileno; + struct filedesc *fdp; + struct file *fp; + struct proc *p; PFS_TRACE(("%.*s", (int)cnp->cn_namelen, cnp->cn_nameptr)); pfs_assert_not_owned(pd); @@ -519,7 +530,8 @@ pfs_lookup(struct vop_cachedlookup_args /* named node */ for (pn = pd->pn_nodes; pn != NULL; pn = pn->pn_next) - if (pn->pn_type == pfstype_procdir) + if (pn->pn_type == pfstype_procdir || + pn->pn_type == pfstype_fdlink) pdn = pn; else if (pn->pn_name[namelen] == '\0' && bcmp(pname, pn->pn_name, namelen) == 0) { @@ -528,7 +540,7 @@ pfs_lookup(struct vop_cachedlookup_args } /* process dependent node */ - if ((pn = pdn) != NULL) { + if ((pn = pdn) != NULL && pn->pn_type == pfstype_procdir) { pid = 0; for (pid = 0, i = 0; i < namelen && isdigit(pname[i]); ++i) if ((pid = pid * 10 + pname[i] - '0') > PID_MAX) @@ -539,8 +551,38 @@ pfs_lookup(struct vop_cachedlookup_args } } - pfs_unlock(pd); + /* process filedesc dependent node */ + if ((pn = pdn) != NULL && pn->pn_type == pfstype_fdlink) { + pfs_unlock(pd); + fileno = (int)strtol(pname, &pnameend, 10); + if ((fileno == 0 && (namelen > 1 || + (namelen == 1 && pname[0] != '0'))) || + (namelen != pnameend - pname)) { + goto bad; + } + if ((p = pfind(pid)) == NULL) + goto bad; + fdp = fdhold(p); + if (fdp == NULL) { + PROC_UNLOCK(p); + goto bad; + } + + error = fget_unlocked(fdp, fileno, + cap_rights_init(&rights, CAP_READ), &fp, NULL); + if (error == 0) { + fdrop(fp, td); + fddrop(fdp); + PROC_UNLOCK(p); + goto got_pnode; + } + fddrop(fdp); + PROC_UNLOCK(p); + goto bad; + } + pfs_unlock(pd); + bad: PFS_RETURN (ENOENT); got_pnode: @@ -552,7 +594,7 @@ pfs_lookup(struct vop_cachedlookup_args goto failed; } - error = pfs_vncache_alloc(mp, vpp, pn, pid); + error = pfs_vncache_alloc(mp, vpp, pn, pid, pname, namelen); if (error) goto failed; @@ -648,7 +690,8 @@ pfs_read(struct vop_read_args *va) if (pn->pn_flags & PFS_RAWRD) { PFS_TRACE(("%zd resid", uio->uio_resid)); - error = pn_fill(curthread, proc, pn, NULL, uio); + error = pn_fill(curthread, proc, pn, NULL, uio, + pvd->pvd_vnode_name, pvd->pvd_vnode_namelen); PFS_TRACE(("%zd resid", uio->uio_resid)); goto ret; } @@ -668,7 +711,8 @@ pfs_read(struct vop_read_args *va) goto ret; } - error = pn_fill(curthread, proc, pn, sb, uio); + error = pn_fill(curthread, proc, pn, sb, uio, + pvd->pvd_vnode_name, pvd->pvd_vnode_namelen); if (error) { sbuf_delete(sb); @@ -697,9 +741,11 @@ ret: */ static int pfs_iterate(struct thread *td, struct proc *proc, struct pfs_node *pd, - struct pfs_node **pn, struct proc **p) + struct pfs_node **pn, struct proc **p, struct filedesc **fdp, int *fileno) { - int visible; + struct file *fp; + cap_rights_t rights; + int error, visible; sx_assert(&allproc_lock, SX_SLOCKED); pfs_assert_owned(pd); @@ -707,7 +753,8 @@ pfs_iterate(struct thread *td, struct pr if (*pn == NULL) { /* first node */ *pn = pd->pn_nodes; - } else if ((*pn)->pn_type != pfstype_procdir) { + } else if ((*pn)->pn_type != pfstype_procdir && + (*pn)->pn_type != pfstype_fdlink) { /* next node */ *pn = (*pn)->pn_next; } @@ -723,7 +770,35 @@ pfs_iterate(struct thread *td, struct pr else PROC_LOCK(*p); } + if (*pn != NULL && (*pn)->pn_type == pfstype_fdlink) { + /* Next fileno */ + KASSERT(proc != NULL, + ("%s(): fdlink has no proc", __func__)); + if (*fdp == NULL) { + *fdp = fdhold(proc); + if (*fdp != NULL) + *fileno = -1; + } + while (*fdp != NULL) { + (*fileno) += 1; + if ((*fdp)->fd_nfiles == 0 || + *fileno > (*fdp)->fd_lastfile) { + fddrop(*fdp); + *fdp = NULL; + break; + } + error = fget_unlocked(*fdp, *fileno, + cap_rights_init(&rights, CAP_READ), &fp, NULL); + if (error == 0) { + fdrop(fp, td); + break; + } + } + /* Out of process files: next node */ + if (*fdp == NULL) + *pn = (*pn)->pn_next; + } if ((*pn) == NULL) return (-1); @@ -759,12 +834,13 @@ pfs_readdir(struct vop_readdir_args *va) struct pfs_node *pd = pvd->pvd_pn; pid_t pid = pvd->pvd_pid; struct proc *p, *proc; + struct filedesc *fdp; struct pfs_node *pn; struct uio *uio; struct pfsentry *pfsent, *pfsent2; struct pfsdirentlist lst; off_t offset; - int error, i, resid; + int error, i, resid, fileno; STAILQ_INIT(&lst); error = 0; @@ -799,12 +875,16 @@ pfs_readdir(struct vop_readdir_args *va) KASSERT(pid == NO_PID || proc != NULL, ("%s(): no process for pid %lu", __func__, (unsigned long)pid)); + fdp = NULL; /* skip unwanted entries */ for (pn = NULL, p = NULL; offset > 0; offset -= PFS_DELEN) { - if (pfs_iterate(curthread, proc, pd, &pn, &p) == -1) { + if (pfs_iterate(curthread, + proc, pd, &pn, &p, &fdp, &fileno) == -1) { /* nothing left... */ if (proc != NULL) PROC_UNLOCK(proc); + if (fdp != NULL) + fddrop(fdp); pfs_unlock(pd); sx_sunlock(&allproc_lock); PFS_RETURN (0); @@ -812,7 +892,7 @@ pfs_readdir(struct vop_readdir_args *va) } /* fill in entries */ - while (pfs_iterate(curthread, proc, pd, &pn, &p) != -1 && + while (pfs_iterate(curthread, proc, pd, &pn, &p, &fdp, &fileno) != -1 && resid >= PFS_DELEN) { if ((pfsent = malloc(sizeof(struct pfsentry), M_IOV, M_NOWAIT | M_ZERO)) == NULL) { @@ -822,8 +902,12 @@ pfs_readdir(struct vop_readdir_args *va) pfsent->entry.d_reclen = PFS_DELEN; pfsent->entry.d_fileno = pn_fileno(pn, pid); /* PFS_DELEN was picked to fit PFS_NAMLEN */ - for (i = 0; i < PFS_NAMELEN - 1 && pn->pn_name[i] != '\0'; ++i) - pfsent->entry.d_name[i] = pn->pn_name[i]; + + if (pn->pn_type != pfstype_procdir && + pn->pn_type != pfstype_fdlink) + for (i = 0; i < PFS_NAMELEN - 1 && + pn->pn_name[i] != '\0'; ++i) + pfsent->entry.d_name[i] = pn->pn_name[i]; pfsent->entry.d_name[i] = 0; pfsent->entry.d_namlen = i; switch (pn->pn_type) { @@ -842,6 +926,10 @@ pfs_readdir(struct vop_readdir_args *va) case pfstype_file: pfsent->entry.d_type = DT_REG; break; + case pfstype_fdlink: + pfsent->entry.d_namlen = snprintf(pfsent->entry.d_name, + PFS_NAMELEN, "%d", fileno); + /* FALLTHROUGH */ case pfstype_symlink: pfsent->entry.d_type = DT_LNK; break; @@ -855,6 +943,8 @@ pfs_readdir(struct vop_readdir_args *va) } if (proc != NULL) PROC_UNLOCK(proc); + if (fdp != NULL) + fddrop(fdp); pfs_unlock(pd); sx_sunlock(&allproc_lock); i = 0; @@ -883,7 +973,8 @@ pfs_readlink(struct vop_readlink_args *v struct sbuf sb; int error, locked; - PFS_TRACE(("%s", pn->pn_name)); + PFS_TRACE(("%s", (pvd->pvd_vnode_name != NULL ? + pvd->pvd_vnode_name : pn->pn_name))); pfs_assert_not_owned(pn); if (vn->v_type != VLNK) @@ -910,12 +1001,21 @@ pfs_readlink(struct vop_readlink_args *v /* sbuf_new() can't fail with a static buffer */ sbuf_new(&sb, buf, sizeof buf, 0); - error = pn_fill(curthread, proc, pn, &sb, NULL); + error = pn_fill(curthread, proc, pn, &sb, NULL, + pvd->pvd_vnode_name, pvd->pvd_vnode_namelen); if (proc != NULL) PRELE(proc); vn_lock(vn, locked | LK_RETRY); - vdrop(vn); + + /* + * Vgone file descriptor dependent node right after use as + * is not trivial to control file operations from pseudofs + */ + if (pn->pn_flags & PFS_PROCFDDEP) + vgone(vn); + else + vdrop(vn); if (error) { sbuf_delete(&sb); @@ -942,7 +1042,8 @@ pfs_reclaim(struct vop_reclaim_args *va) struct pfs_vdata *pvd = vn->v_data; struct pfs_node *pn = pvd->pvd_pn; - PFS_TRACE(("%s", pn->pn_name)); + PFS_TRACE(("%s", (pvd->pvd_vnode_name != NULL ? + pvd->pvd_vnode_name : pn->pn_name))); pfs_assert_not_owned(pn); return (pfs_vncache_free(va->a_vp)); @@ -1003,7 +1104,8 @@ pfs_write(struct vop_write_args *va) } if (pn->pn_flags & PFS_RAWWR) { - error = pn_fill(curthread, proc, pn, NULL, uio); + error = pn_fill(curthread, proc, pn, NULL, uio, + pvd->pvd_vnode_name, pvd->pvd_vnode_namelen); if (proc != NULL) PRELE(proc); PFS_RETURN (error); @@ -1016,7 +1118,8 @@ pfs_write(struct vop_write_args *va) PFS_RETURN (error); } - error = pn_fill(curthread, proc, pn, &sb, uio); + error = pn_fill(curthread, proc, pn, &sb, uio, + pvd->pvd_vnode_name, pvd->pvd_vnode_namelen); sbuf_delete(&sb); if (proc != NULL) Modified: user/dchagin/lemul/sys/modules/procfs/Makefile ============================================================================== --- user/dchagin/lemul/sys/modules/procfs/Makefile Thu Feb 26 21:15:02 2015 (r279334) +++ user/dchagin/lemul/sys/modules/procfs/Makefile Thu Feb 26 21:30:40 2015 (r279335) @@ -8,6 +8,7 @@ SRCS+= opt_compat.h SRCS+= vnode_if.h SRCS+= procfs_ctl.c SRCS+= procfs_dbregs.c +SRCS+= procfs_fdlink.c SRCS+= procfs_fpregs.c SRCS+= procfs_ioctl.c SRCS+= procfs_map.c @@ -27,6 +28,7 @@ EXPORT_SYMS+= procfs_docurproc EXPORT_SYMS+= procfs_doprocfile EXPORT_SYMS+= procfs_doprocmem EXPORT_SYMS+= procfs_notsystem +EXPORT_SYMS+= procfs_dofdlink .if !defined(KERNBUILDDIR) opt_compat.h: From owner-svn-src-user@FreeBSD.ORG Thu Feb 26 22:03:48 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DC02F5D8; Thu, 26 Feb 2015 22:03:48 +0000 (UTC) Received: from mail-wg0-x231.google.com (mail-wg0-x231.google.com [IPv6:2a00:1450:400c:c00::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6A2E1E14; Thu, 26 Feb 2015 22:03:48 +0000 (UTC) Received: by wghl2 with SMTP id l2so15244355wgh.9; Thu, 26 Feb 2015 14:03:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=/FI7aeZ82CG/KpFAZyXYqiurFHV1x06YJZgksPDE9Aw=; b=NU3PykUljg3c7k55vqqz+3I3y5DE73GbINREBDt4Xuub7c5UYij1RtsOC0oAGIfIV9 25GtmE3I15hMLoLAcQjE6Fwi+1K3IGMWndrAwzXSYWAyRc0QY+NOrHDRIBtMNRlArP0c MeY3J8JazhbS0ztg+/a52xnglsQSjql8ZPYdJDavzxeZwKU1MD3NLomW1VTxaP45UwEi 7fImvTaW6hNHmjgMuL0wEEdi9CHi6b8c1uooRQmrP6Zmu99Tc0TLPidQNsGlWUBZMsvC VzZAARnvnpJAggvhMg1OAp2uHtjYwtQPi/xpe1f3d5PLWnZOawBUmmGwBzgMRyb5UsSL /s/A== X-Received: by 10.180.103.102 with SMTP id fv6mr282022wib.80.1424988225871; Thu, 26 Feb 2015 14:03:45 -0800 (PST) Received: from dft-labs.eu (n1x0n-1-pt.tunnel.tserv5.lon1.ipv6.he.net. [2001:470:1f08:1f7::2]) by mx.google.com with ESMTPSA id k1sm3250261wjn.9.2015.02.26.14.03.44 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Thu, 26 Feb 2015 14:03:44 -0800 (PST) Date: Thu, 26 Feb 2015 23:03:42 +0100 From: Mateusz Guzik To: Dmitry Chagin Subject: Re: svn commit: r279335 - in user/dchagin/lemul/sys: compat/linprocfs fs/procfs fs/pseudofs modules/procfs Message-ID: <20150226220342.GC3799@dft-labs.eu> References: <201502262130.t1QLUfwf027872@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <201502262130.t1QLUfwf027872@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: src-committers@freebsd.org, svn-src-user@freebsd.org X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 22:03:49 -0000 On Thu, Feb 26, 2015 at 09:30:41PM +0000, Dmitry Chagin wrote: > +int > +procfs_dofdlink(PFS_FILL_ARGS) > +{ > + char *fullpath, *freepath, *endfileno; > + struct filedesc *fdp; > + struct vnode *vp; > + struct file *fp; > + int fileno, error; > + > + if (vnode_name == NULL) > + return (ENOENT); > + > + fileno = (int)strtol(vnode_name, &endfileno, 10); > + if (fileno == 0 && (vnode_namelen > 1 || > + (vnode_namelen == 1 && vnode_name[0] != '0'))) > + return (ENOENT); > + if (vnode_namelen != endfileno - vnode_name) > + return (ENOENT); > + > + fdp = fdhold(p); > + if (fdp == NULL) > + return (ENOENT); > + > + error = fget_unlocked(fdp, fileno, NULL, &fp, NULL); > + if (error != 0) > + goto out; > + > + freepath = NULL; > + fullpath = "-"; > + vp = fp->f_vnode; > + if (vp != NULL) { > + vref(vp); > + error = vn_fullpath(td, vp, &fullpath, &freepath); > + vrele(vp); > + } > + if (error == 0) > + error = sbuf_printf(sb, "%s", fullpath); > + if (freepath != NULL) > + free(freepath, M_TEMP); > + fdrop(fp, td); > + > + out: > + fddrop(fdp); > + return (error); > +} > fdhold does not protect file descriptor table, it only makes sure struct filedesc itself is not freed. Here you need to lock it and inspect fd_refcnt. See e.g. kern_proc_filedesc_out. While this guarantees data consistency, is in fact still incorrect since the process you are inspecing can exec setuid in the meantime and thus make security checks (if any performed) stale. I have an old WIP patch which provides appropriate interfaces to ensure stability of the process (no exit, no exec), but this needs additional changes. HOpefully i'll have the time to deal with it in March. -- Mateusz Guzik From owner-svn-src-user@FreeBSD.ORG Fri Feb 27 19:53:40 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8BB46494; Fri, 27 Feb 2015 19:53:40 +0000 (UTC) Received: from dchagin.static.corbina.net (dchagin.static.corbina.ru [78.107.232.239]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "dchagin.static.corbina.net", Issuer "dchagin.static.corbina.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id E9D03FB7; Fri, 27 Feb 2015 19:53:38 +0000 (UTC) Received: from dchagin.static.corbina.net (localhost [127.0.0.1]) by dchagin.static.corbina.net (8.14.9/8.14.9) with ESMTP id t1RJrTIY008027 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 27 Feb 2015 22:53:29 +0300 (MSK) (envelope-from dchagin@dchagin.static.corbina.net) Received: (from dchagin@localhost) by dchagin.static.corbina.net (8.14.9/8.14.9/Submit) id t1RJrTNV008026; Fri, 27 Feb 2015 22:53:29 +0300 (MSK) (envelope-from dchagin) Date: Fri, 27 Feb 2015 22:53:29 +0300 From: Chagin Dmitry To: Mateusz Guzik Subject: Re: svn commit: r279335 - in user/dchagin/lemul/sys: compat/linprocfs fs/procfs fs/pseudofs modules/procfs Message-ID: <20150227195329.GA7995@dchagin.static.corbina.net> References: <201502262130.t1QLUfwf027872@svn.freebsd.org> <20150226220342.GC3799@dft-labs.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150226220342.GC3799@dft-labs.eu> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: src-committers@freebsd.org, svn-src-user@freebsd.org X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 19:53:40 -0000 On Thu, Feb 26, 2015 at 11:03:42PM +0100, Mateusz Guzik wrote: > On Thu, Feb 26, 2015 at 09:30:41PM +0000, Dmitry Chagin wrote: > > +int > > +procfs_dofdlink(PFS_FILL_ARGS) > > +{ > > + char *fullpath, *freepath, *endfileno; > > + struct filedesc *fdp; > > + struct vnode *vp; > > + struct file *fp; > > + int fileno, error; > > + > > + if (vnode_name == NULL) > > + return (ENOENT); > > + > > + fileno = (int)strtol(vnode_name, &endfileno, 10); > > + if (fileno == 0 && (vnode_namelen > 1 || > > + (vnode_namelen == 1 && vnode_name[0] != '0'))) > > + return (ENOENT); > > + if (vnode_namelen != endfileno - vnode_name) > > + return (ENOENT); > > + > > + fdp = fdhold(p); > > + if (fdp == NULL) > > + return (ENOENT); > > + > > + error = fget_unlocked(fdp, fileno, NULL, &fp, NULL); > > + if (error != 0) > > + goto out; > > + > > + freepath = NULL; > > + fullpath = "-"; > > + vp = fp->f_vnode; > > + if (vp != NULL) { > > + vref(vp); > > + error = vn_fullpath(td, vp, &fullpath, &freepath); > > + vrele(vp); > > + } > > + if (error == 0) > > + error = sbuf_printf(sb, "%s", fullpath); > > + if (freepath != NULL) > > + free(freepath, M_TEMP); > > + fdrop(fp, td); > > + > > + out: > > + fddrop(fdp); > > + return (error); > > +} > > > > > fdhold does not protect file descriptor table, it only makes sure struct > filedesc itself is not freed. > > Here you need to lock it and inspect fd_refcnt. See e.g. > kern_proc_filedesc_out. > pfs_readlink does a PHOLD and PRELE around calling fill method, is this not enought? > While this guarantees data consistency, is in fact still incorrect since > the process you are inspecing can exec setuid in the meantime and thus > make security checks (if any performed) stale. > > I have an old WIP patch which provides appropriate interfaces to ensure > stability of the process (no exit, no exec), but this needs additional > changes. HOpefully i'll have the time to deal with it in March. ok, give me see the patch, pls. -- Have fun! chd From owner-svn-src-user@FreeBSD.ORG Sat Feb 28 20:03:53 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BBD33A9; Sat, 28 Feb 2015 20:03:53 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A7C80177; Sat, 28 Feb 2015 20:03:53 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SK3rbx057621; Sat, 28 Feb 2015 20:03:53 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SK3rNn057620; Sat, 28 Feb 2015 20:03:53 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201502282003.t1SK3rNn057620@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Sat, 28 Feb 2015 20:03:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279403 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 20:03:53 -0000 Author: pho Date: Sat Feb 28 20:03:52 2015 New Revision: 279403 URL: https://svnweb.freebsd.org/changeset/base/279403 Log: Cleanup script and document new problem found and fixed. Sponsored by: EMC / Isilon storage division Modified: user/pho/stress2/misc/fdescfs.sh Modified: user/pho/stress2/misc/fdescfs.sh ============================================================================== --- user/pho/stress2/misc/fdescfs.sh Sat Feb 28 20:02:41 2015 (r279402) +++ user/pho/stress2/misc/fdescfs.sh Sat Feb 28 20:03:52 2015 (r279403) @@ -28,17 +28,19 @@ # $FreeBSD$ # -# +# Page fault seen in fdesc_allocvp+0x8f: +# http://people.freebsd.org/~pho/stress/log/fdescfs-2.txt +# Fixed by r279401 [ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 . ../default.cfg mounts=15 # Number of parallel scripts -mdstart=$mdstart # Use md unit numbers from this point -D=$diskimage +cont=/tmp/fdescfs.continue if [ $# -eq 0 ]; then + touch $cont # start the parallel tests for i in `jot $mounts`; do [ -d ${mntpoint}$i ] || mkdir -p ${mntpoint}$i @@ -55,17 +57,19 @@ else exec 7< /dev/zero exec 8< /dev/zero exec 9< /dev/zero - for i in `jot 128`; do + while [ -r $cont ]; do ls -l ${mntpoint}* > /dev/null 2>&1 done else # The test: Parallel mount and unmounts - for i in `jot 128`; do + start=`date '+%s'` + while [ `date '+%s'` -lt $((start + 300)) ]; do mount -t fdescfs null ${mntpoint}$1 while mount | grep -wq ${mntpoint}$1; do umount -f ${mntpoint}$1 > /dev/null 2>&1 done done + rm -f $cont fi fi From owner-svn-src-user@FreeBSD.ORG Sat Feb 28 20:57:04 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B79F6B98; Sat, 28 Feb 2015 20:57:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A2653848; Sat, 28 Feb 2015 20:57:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SKv4Yx081456; Sat, 28 Feb 2015 20:57:04 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SKv4XO081455; Sat, 28 Feb 2015 20:57:04 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502282057.t1SKv4XO081455@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sat, 28 Feb 2015 20:57:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279407 - user/dchagin/lemul/sys/compat/linux X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 20:57:04 -0000 Author: dchagin Date: Sat Feb 28 20:57:03 2015 New Revision: 279407 URL: https://svnweb.freebsd.org/changeset/base/279407 Log: Fix an mbuf(9) leak in sendmsg() under failure condition and remove unneeded check for failed M_WAITOK allocation. Found by: Brainy Code Scanner Reported by: Maxime Villard Modified: user/dchagin/lemul/sys/compat/linux/linux_socket.c Modified: user/dchagin/lemul/sys/compat/linux/linux_socket.c ============================================================================== --- user/dchagin/lemul/sys/compat/linux/linux_socket.c Sat Feb 28 20:37:38 2015 (r279406) +++ user/dchagin/lemul/sys/compat/linux/linux_socket.c Sat Feb 28 20:57:03 2015 (r279407) @@ -1087,8 +1087,6 @@ linux_sendmsg_common(struct thread *td, error = ENOBUFS; cmsg = malloc(CMSG_HDRSZ, M_LINUX, M_WAITOK|M_ZERO); control = m_get(M_WAITOK, MT_CONTROL); - if (control == NULL) - goto bad; do { error = copyin(ptr_cmsg, &linux_cmsg, @@ -1160,6 +1158,7 @@ linux_sendmsg_common(struct thread *td, error = linux_sendit(td, s, &msg, flags, control, UIO_USERSPACE); bad: + m_freem(control); free(iov, M_IOV); if (cmsg) free(cmsg, M_LINUX); From owner-svn-src-user@FreeBSD.ORG Sat Feb 28 21:21:00 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 258F1214; Sat, 28 Feb 2015 21:21:00 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0A8EFAA2; Sat, 28 Feb 2015 21:21:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SLKxH1093178; Sat, 28 Feb 2015 21:20:59 GMT (envelope-from dchagin@FreeBSD.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SLKmnw093125; Sat, 28 Feb 2015 21:20:48 GMT (envelope-from dchagin@FreeBSD.org) Message-Id: <201502282120.t1SLKmnw093125@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dchagin set sender to dchagin@FreeBSD.org using -f From: Dmitry Chagin Date: Sat, 28 Feb 2015 21:20:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r279409 - in user/dchagin/lemul: . bin/sh cddl/contrib/opensolaris/cmd/zpool cddl/usr.bin/ctfconvert cddl/usr.bin/ctfmerge contrib/binutils/bfd contrib/binutils/opcodes contrib/elftoolc... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 21:21:00 -0000 Author: dchagin Date: Sat Feb 28 21:20:46 2015 New Revision: 279409 URL: https://svnweb.freebsd.org/changeset/base/279409 Log: Merge from head. Added: user/dchagin/lemul/contrib/llvm/patches/patch-32-llvm-r230058-indirectbrs-assert.diff - copied unchanged from r279408, head/contrib/llvm/patches/patch-32-llvm-r230058-indirectbrs-assert.diff user/dchagin/lemul/lib/libmt/ - copied from r279408, head/lib/libmt/ user/dchagin/lemul/release/tools/gce-package.sh - copied unchanged from r279408, head/release/tools/gce-package.sh user/dchagin/lemul/share/examples/uefisign/ - copied from r279408, head/share/examples/uefisign/ user/dchagin/lemul/share/man/man4/ds3231.4 - copied unchanged from r279408, head/share/man/man4/ds3231.4 user/dchagin/lemul/sys/dev/fdt/simplebus.h - copied unchanged from r279408, head/sys/dev/fdt/simplebus.h user/dchagin/lemul/sys/dev/iicbus/ds3231.c - copied unchanged from r279408, head/sys/dev/iicbus/ds3231.c user/dchagin/lemul/sys/dev/iicbus/ds3231reg.h - copied unchanged from r279408, head/sys/dev/iicbus/ds3231reg.h user/dchagin/lemul/sys/dev/netmap/if_ixl_netmap.h - copied unchanged from r279408, head/sys/dev/netmap/if_ixl_netmap.h user/dchagin/lemul/sys/gnu/dts/arm/aks-cdu.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/aks-cdu.dts user/dchagin/lemul/sys/gnu/dts/arm/alphascale-asm9260-devkit.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/alphascale-asm9260-devkit.dts user/dchagin/lemul/sys/gnu/dts/arm/alphascale-asm9260.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/alphascale-asm9260.dtsi user/dchagin/lemul/sys/gnu/dts/arm/am335x-base0033.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/am335x-base0033.dts user/dchagin/lemul/sys/gnu/dts/arm/am335x-bone-common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/am335x-bone-common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/am335x-bone.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/am335x-bone.dts user/dchagin/lemul/sys/gnu/dts/arm/am335x-boneblack.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/am335x-boneblack.dts user/dchagin/lemul/sys/gnu/dts/arm/am335x-evm.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/am335x-evm.dts user/dchagin/lemul/sys/gnu/dts/arm/am335x-evmsk.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/am335x-evmsk.dts user/dchagin/lemul/sys/gnu/dts/arm/am335x-igep0033.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/am335x-igep0033.dtsi user/dchagin/lemul/sys/gnu/dts/arm/am335x-lxm.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/am335x-lxm.dts user/dchagin/lemul/sys/gnu/dts/arm/am335x-nano.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/am335x-nano.dts user/dchagin/lemul/sys/gnu/dts/arm/am335x-pepper.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/am335x-pepper.dts user/dchagin/lemul/sys/gnu/dts/arm/am33xx-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/am33xx-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/am33xx.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/am33xx.dtsi user/dchagin/lemul/sys/gnu/dts/arm/am3517-craneboard.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/am3517-craneboard.dts user/dchagin/lemul/sys/gnu/dts/arm/am3517-evm.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/am3517-evm.dts user/dchagin/lemul/sys/gnu/dts/arm/am3517.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/am3517.dtsi user/dchagin/lemul/sys/gnu/dts/arm/am3517_mt_ventoux.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/am3517_mt_ventoux.dts user/dchagin/lemul/sys/gnu/dts/arm/am35xx-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/am35xx-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/am4372.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/am4372.dtsi user/dchagin/lemul/sys/gnu/dts/arm/am437x-gp-evm.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/am437x-gp-evm.dts user/dchagin/lemul/sys/gnu/dts/arm/am437x-idk-evm.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/am437x-idk-evm.dts user/dchagin/lemul/sys/gnu/dts/arm/am437x-sk-evm.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/am437x-sk-evm.dts user/dchagin/lemul/sys/gnu/dts/arm/am43x-epos-evm.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/am43x-epos-evm.dts user/dchagin/lemul/sys/gnu/dts/arm/am43xx-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/am43xx-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/am57xx-beagle-x15.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/am57xx-beagle-x15.dts user/dchagin/lemul/sys/gnu/dts/arm/arm-realview-pb1176.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/arm-realview-pb1176.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-370-db.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-370-db.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-370-mirabox.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-370-mirabox.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-370-netgear-rn102.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-370-netgear-rn102.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-370-netgear-rn104.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-370-netgear-rn104.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-370-rd.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-370-rd.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-370-synology-ds213j.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-370-synology-ds213j.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-370-xp.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-370-xp.dtsi user/dchagin/lemul/sys/gnu/dts/arm/armada-370.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-370.dtsi user/dchagin/lemul/sys/gnu/dts/arm/armada-375-db.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-375-db.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-375.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-375.dtsi user/dchagin/lemul/sys/gnu/dts/arm/armada-380.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-380.dtsi user/dchagin/lemul/sys/gnu/dts/arm/armada-385-db-ap.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-385-db-ap.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-385.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-385.dtsi user/dchagin/lemul/sys/gnu/dts/arm/armada-388-db.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-388-db.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-388-gp.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-388-gp.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-388-rd.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-388-rd.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-388.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-388.dtsi user/dchagin/lemul/sys/gnu/dts/arm/armada-38x.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-38x.dtsi user/dchagin/lemul/sys/gnu/dts/arm/armada-xp-axpwifiap.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-xp-axpwifiap.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-xp-db.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-xp-db.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-xp-gp.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-xp-gp.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-xp-lenovo-ix4-300d.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-xp-lenovo-ix4-300d.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-xp-matrix.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-xp-matrix.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-xp-mv78230.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-xp-mv78230.dtsi user/dchagin/lemul/sys/gnu/dts/arm/armada-xp-mv78260.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-xp-mv78260.dtsi user/dchagin/lemul/sys/gnu/dts/arm/armada-xp-mv78460.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-xp-mv78460.dtsi user/dchagin/lemul/sys/gnu/dts/arm/armada-xp-netgear-rn2120.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-xp-netgear-rn2120.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-xp-openblocks-ax3-4.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-xp-openblocks-ax3-4.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-xp-synology-ds414.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-xp-synology-ds414.dts user/dchagin/lemul/sys/gnu/dts/arm/armada-xp.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/armada-xp.dtsi user/dchagin/lemul/sys/gnu/dts/arm/armv7-m.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/armv7-m.dtsi user/dchagin/lemul/sys/gnu/dts/arm/at91-sama5d4ek.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/at91-sama5d4ek.dts user/dchagin/lemul/sys/gnu/dts/arm/at91sam9xe.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/at91sam9xe.dtsi user/dchagin/lemul/sys/gnu/dts/arm/atlas6-evb.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/atlas6-evb.dts user/dchagin/lemul/sys/gnu/dts/arm/atlas6.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/atlas6.dtsi user/dchagin/lemul/sys/gnu/dts/arm/atlas7-evb.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/atlas7-evb.dts user/dchagin/lemul/sys/gnu/dts/arm/atlas7.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/atlas7.dtsi user/dchagin/lemul/sys/gnu/dts/arm/axm5516-amarillo.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/axm5516-amarillo.dts user/dchagin/lemul/sys/gnu/dts/arm/axm5516-cpus.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/axm5516-cpus.dtsi user/dchagin/lemul/sys/gnu/dts/arm/axm55xx.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/axm55xx.dtsi user/dchagin/lemul/sys/gnu/dts/arm/axp209.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/axp209.dtsi user/dchagin/lemul/sys/gnu/dts/arm/bcm-cygnus-clock.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm-cygnus-clock.dtsi user/dchagin/lemul/sys/gnu/dts/arm/bcm-cygnus.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm-cygnus.dtsi user/dchagin/lemul/sys/gnu/dts/arm/bcm11351.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm11351.dtsi user/dchagin/lemul/sys/gnu/dts/arm/bcm21664-garnet.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm21664-garnet.dts user/dchagin/lemul/sys/gnu/dts/arm/bcm21664.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm21664.dtsi user/dchagin/lemul/sys/gnu/dts/arm/bcm28155-ap.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm28155-ap.dts user/dchagin/lemul/sys/gnu/dts/arm/bcm2835-rpi-b-plus.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm2835-rpi-b-plus.dts user/dchagin/lemul/sys/gnu/dts/arm/bcm2835-rpi-b.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm2835-rpi-b.dts user/dchagin/lemul/sys/gnu/dts/arm/bcm2835-rpi.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm2835-rpi.dtsi user/dchagin/lemul/sys/gnu/dts/arm/bcm2835.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm2835.dtsi user/dchagin/lemul/sys/gnu/dts/arm/bcm4708-buffalo-wzr-1750dhp.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm4708-buffalo-wzr-1750dhp.dts user/dchagin/lemul/sys/gnu/dts/arm/bcm4708-luxul-xwc-1000.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm4708-luxul-xwc-1000.dts user/dchagin/lemul/sys/gnu/dts/arm/bcm4708-netgear-r6250.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm4708-netgear-r6250.dts user/dchagin/lemul/sys/gnu/dts/arm/bcm4708-netgear-r6300-v2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm4708-netgear-r6300-v2.dts user/dchagin/lemul/sys/gnu/dts/arm/bcm4708.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm4708.dtsi user/dchagin/lemul/sys/gnu/dts/arm/bcm47081-asus-rt-n18u.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm47081-asus-rt-n18u.dts user/dchagin/lemul/sys/gnu/dts/arm/bcm47081-buffalo-wzr-600dhp2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm47081-buffalo-wzr-600dhp2.dts user/dchagin/lemul/sys/gnu/dts/arm/bcm47081-buffalo-wzr-900dhp.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm47081-buffalo-wzr-900dhp.dts user/dchagin/lemul/sys/gnu/dts/arm/bcm47081.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm47081.dtsi user/dchagin/lemul/sys/gnu/dts/arm/bcm5301x.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm5301x.dtsi user/dchagin/lemul/sys/gnu/dts/arm/bcm59056.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm59056.dtsi user/dchagin/lemul/sys/gnu/dts/arm/bcm63138.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm63138.dtsi user/dchagin/lemul/sys/gnu/dts/arm/bcm7445-bcm97445svmb.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm7445-bcm97445svmb.dts user/dchagin/lemul/sys/gnu/dts/arm/bcm7445.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm7445.dtsi user/dchagin/lemul/sys/gnu/dts/arm/bcm911360_entphn.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm911360_entphn.dts user/dchagin/lemul/sys/gnu/dts/arm/bcm911360k.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm911360k.dts user/dchagin/lemul/sys/gnu/dts/arm/bcm958300k.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm958300k.dts user/dchagin/lemul/sys/gnu/dts/arm/bcm963138dvt.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/bcm963138dvt.dts user/dchagin/lemul/sys/gnu/dts/arm/berlin2-sony-nsz-gs7.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/berlin2-sony-nsz-gs7.dts user/dchagin/lemul/sys/gnu/dts/arm/berlin2.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/berlin2.dtsi user/dchagin/lemul/sys/gnu/dts/arm/berlin2cd-google-chromecast.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/berlin2cd-google-chromecast.dts user/dchagin/lemul/sys/gnu/dts/arm/berlin2cd.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/berlin2cd.dtsi user/dchagin/lemul/sys/gnu/dts/arm/berlin2q-marvell-dmp.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/berlin2q-marvell-dmp.dts user/dchagin/lemul/sys/gnu/dts/arm/berlin2q.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/berlin2q.dtsi user/dchagin/lemul/sys/gnu/dts/arm/cros-adc-thermistors.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/cros-adc-thermistors.dtsi user/dchagin/lemul/sys/gnu/dts/arm/cros-ec-keyboard.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/cros-ec-keyboard.dtsi user/dchagin/lemul/sys/gnu/dts/arm/cx92755.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/cx92755.dtsi user/dchagin/lemul/sys/gnu/dts/arm/cx92755_equinox.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/cx92755_equinox.dts user/dchagin/lemul/sys/gnu/dts/arm/da850-enbw-cmc.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/da850-enbw-cmc.dts user/dchagin/lemul/sys/gnu/dts/arm/da850-evm.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/da850-evm.dts user/dchagin/lemul/sys/gnu/dts/arm/da850.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/da850.dtsi user/dchagin/lemul/sys/gnu/dts/arm/dm8168-evm.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/dm8168-evm.dts user/dchagin/lemul/sys/gnu/dts/arm/dm816x-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/dm816x-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/dm816x.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/dm816x.dtsi user/dchagin/lemul/sys/gnu/dts/arm/dove-cm-a510.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/dove-cm-a510.dts user/dchagin/lemul/sys/gnu/dts/arm/dove-cubox-es.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/dove-cubox-es.dts user/dchagin/lemul/sys/gnu/dts/arm/dove-cubox.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/dove-cubox.dts user/dchagin/lemul/sys/gnu/dts/arm/dove-d2plug.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/dove-d2plug.dts user/dchagin/lemul/sys/gnu/dts/arm/dove-d3plug.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/dove-d3plug.dts user/dchagin/lemul/sys/gnu/dts/arm/dove-dove-db.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/dove-dove-db.dts user/dchagin/lemul/sys/gnu/dts/arm/dove.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/dove.dtsi user/dchagin/lemul/sys/gnu/dts/arm/dra7-evm.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/dra7-evm.dts user/dchagin/lemul/sys/gnu/dts/arm/dra7.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/dra7.dtsi user/dchagin/lemul/sys/gnu/dts/arm/dra72-evm.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/dra72-evm.dts user/dchagin/lemul/sys/gnu/dts/arm/dra72x.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/dra72x.dtsi user/dchagin/lemul/sys/gnu/dts/arm/dra74x.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/dra74x.dtsi user/dchagin/lemul/sys/gnu/dts/arm/dra7xx-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/dra7xx-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/ea3250.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/ea3250.dts user/dchagin/lemul/sys/gnu/dts/arm/ecx-2000.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/ecx-2000.dts user/dchagin/lemul/sys/gnu/dts/arm/ecx-common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/ecx-common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/efm32gg-dk3750.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/efm32gg-dk3750.dts user/dchagin/lemul/sys/gnu/dts/arm/efm32gg.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/efm32gg.dtsi user/dchagin/lemul/sys/gnu/dts/arm/elpida_ecb240abacn.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/elpida_ecb240abacn.dtsi user/dchagin/lemul/sys/gnu/dts/arm/emev2-kzm9d.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/emev2-kzm9d.dts user/dchagin/lemul/sys/gnu/dts/arm/emev2.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/emev2.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos3250-monk.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos3250-monk.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos3250-pinctrl.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos3250-pinctrl.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos3250-rinato.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos3250-rinato.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos3250.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos3250.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos4.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos4210-origen.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4210-origen.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos4210-pinctrl.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4210-pinctrl.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos4210-smdkv310.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4210-smdkv310.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos4210-trats.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4210-trats.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos4210-universal_c210.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4210-universal_c210.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos4210.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4210.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos4212.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4212.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos4412-odroid-common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4412-odroid-common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos4412-odroidu3.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4412-odroidu3.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos4412-odroidx.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4412-odroidx.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos4412-odroidx2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4412-odroidx2.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos4412-origen.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4412-origen.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos4412-smdk4412.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4412-smdk4412.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos4412-tiny4412.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4412-tiny4412.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos4412-trats2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4412-trats2.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos4412.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4412.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos4415-pinctrl.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4415-pinctrl.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos4415.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4415.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos4x12-pinctrl.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4x12-pinctrl.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos4x12.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos4x12.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos5.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos5250-arndale.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5250-arndale.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos5250-pinctrl.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5250-pinctrl.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos5250-smdk5250.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5250-smdk5250.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos5250-snow.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5250-snow.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos5250-spring.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5250-spring.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos5250.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5250.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos5260-pinctrl.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5260-pinctrl.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos5260-xyref5260.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5260-xyref5260.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos5260.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5260.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos5410-smdk5410.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5410-smdk5410.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos5410.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5410.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos5420-arndale-octa.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5420-arndale-octa.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos5420-peach-pit.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5420-peach-pit.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos5420-pinctrl.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5420-pinctrl.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos5420-smdk5420.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5420-smdk5420.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos5420.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5420.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos5422-odroidxu3.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5422-odroidxu3.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos5440-sd5v1.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5440-sd5v1.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos5440-ssdk5440.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5440-ssdk5440.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos5440.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5440.dtsi user/dchagin/lemul/sys/gnu/dts/arm/exynos5800-peach-pi.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5800-peach-pi.dts user/dchagin/lemul/sys/gnu/dts/arm/exynos5800.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/exynos5800.dtsi user/dchagin/lemul/sys/gnu/dts/arm/hi3620-hi4511.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/hi3620-hi4511.dts user/dchagin/lemul/sys/gnu/dts/arm/hi3620.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/hi3620.dtsi user/dchagin/lemul/sys/gnu/dts/arm/highbank.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/highbank.dts user/dchagin/lemul/sys/gnu/dts/arm/hip01-ca9x2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/hip01-ca9x2.dts user/dchagin/lemul/sys/gnu/dts/arm/hip01.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/hip01.dtsi user/dchagin/lemul/sys/gnu/dts/arm/hip04-d01.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/hip04-d01.dts user/dchagin/lemul/sys/gnu/dts/arm/hip04.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/hip04.dtsi user/dchagin/lemul/sys/gnu/dts/arm/hisi-x5hd2-dkb.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/hisi-x5hd2-dkb.dts user/dchagin/lemul/sys/gnu/dts/arm/hisi-x5hd2.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/hisi-x5hd2.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx1-ads.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx1-ads.dts user/dchagin/lemul/sys/gnu/dts/arm/imx1-apf9328.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx1-apf9328.dts user/dchagin/lemul/sys/gnu/dts/arm/imx1-pinfunc.h - copied unchanged from r279408, head/sys/gnu/dts/arm/imx1-pinfunc.h user/dchagin/lemul/sys/gnu/dts/arm/imx1.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx1.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx23-evk.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx23-evk.dts user/dchagin/lemul/sys/gnu/dts/arm/imx23-olinuxino.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx23-olinuxino.dts user/dchagin/lemul/sys/gnu/dts/arm/imx23-pinfunc.h - copied unchanged from r279408, head/sys/gnu/dts/arm/imx23-pinfunc.h user/dchagin/lemul/sys/gnu/dts/arm/imx23-stmp378x_devb.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx23-stmp378x_devb.dts user/dchagin/lemul/sys/gnu/dts/arm/imx23.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx23.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx25-eukrea-cpuimx25.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx25-eukrea-cpuimx25.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dts user/dchagin/lemul/sys/gnu/dts/arm/imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dts user/dchagin/lemul/sys/gnu/dts/arm/imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dts user/dchagin/lemul/sys/gnu/dts/arm/imx25-eukrea-mbimxsd25-baseboard.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx25-eukrea-mbimxsd25-baseboard.dts user/dchagin/lemul/sys/gnu/dts/arm/imx25-karo-tx25.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx25-karo-tx25.dts user/dchagin/lemul/sys/gnu/dts/arm/imx25-pdk.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx25-pdk.dts user/dchagin/lemul/sys/gnu/dts/arm/imx25-pinfunc.h - copied unchanged from r279408, head/sys/gnu/dts/arm/imx25-pinfunc.h user/dchagin/lemul/sys/gnu/dts/arm/imx25.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx25.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx27-apf27.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx27-apf27.dts user/dchagin/lemul/sys/gnu/dts/arm/imx27-apf27dev.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx27-apf27dev.dts user/dchagin/lemul/sys/gnu/dts/arm/imx27-eukrea-cpuimx27.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx27-eukrea-cpuimx27.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx27-eukrea-mbimxsd27-baseboard.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx27-eukrea-mbimxsd27-baseboard.dts user/dchagin/lemul/sys/gnu/dts/arm/imx27-pdk.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx27-pdk.dts user/dchagin/lemul/sys/gnu/dts/arm/imx27-phytec-phycard-s-rdk.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx27-phytec-phycard-s-rdk.dts user/dchagin/lemul/sys/gnu/dts/arm/imx27-phytec-phycard-s-som.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx27-phytec-phycard-s-som.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx27-phytec-phycore-rdk.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx27-phytec-phycore-rdk.dts user/dchagin/lemul/sys/gnu/dts/arm/imx27-phytec-phycore-som.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx27-phytec-phycore-som.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx27-pinfunc.h - copied unchanged from r279408, head/sys/gnu/dts/arm/imx27-pinfunc.h user/dchagin/lemul/sys/gnu/dts/arm/imx27.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx27.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx28-apf28.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-apf28.dts user/dchagin/lemul/sys/gnu/dts/arm/imx28-apf28dev.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-apf28dev.dts user/dchagin/lemul/sys/gnu/dts/arm/imx28-apx4devkit.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-apx4devkit.dts user/dchagin/lemul/sys/gnu/dts/arm/imx28-cfa10036.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-cfa10036.dts user/dchagin/lemul/sys/gnu/dts/arm/imx28-cfa10037.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-cfa10037.dts user/dchagin/lemul/sys/gnu/dts/arm/imx28-cfa10049.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-cfa10049.dts user/dchagin/lemul/sys/gnu/dts/arm/imx28-cfa10055.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-cfa10055.dts user/dchagin/lemul/sys/gnu/dts/arm/imx28-cfa10056.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-cfa10056.dts user/dchagin/lemul/sys/gnu/dts/arm/imx28-cfa10057.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-cfa10057.dts user/dchagin/lemul/sys/gnu/dts/arm/imx28-cfa10058.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-cfa10058.dts user/dchagin/lemul/sys/gnu/dts/arm/imx28-duckbill.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-duckbill.dts user/dchagin/lemul/sys/gnu/dts/arm/imx28-eukrea-mbmx283lc.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-eukrea-mbmx283lc.dts user/dchagin/lemul/sys/gnu/dts/arm/imx28-eukrea-mbmx287lc.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-eukrea-mbmx287lc.dts user/dchagin/lemul/sys/gnu/dts/arm/imx28-eukrea-mbmx28lc.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-eukrea-mbmx28lc.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx28-evk.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-evk.dts user/dchagin/lemul/sys/gnu/dts/arm/imx28-m28.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-m28.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx28-m28cu3.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-m28cu3.dts user/dchagin/lemul/sys/gnu/dts/arm/imx28-m28evk.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-m28evk.dts user/dchagin/lemul/sys/gnu/dts/arm/imx28-pinfunc.h - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-pinfunc.h user/dchagin/lemul/sys/gnu/dts/arm/imx28-sps1.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-sps1.dts user/dchagin/lemul/sys/gnu/dts/arm/imx28-tx28.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28-tx28.dts user/dchagin/lemul/sys/gnu/dts/arm/imx28.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx28.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx31-bug.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx31-bug.dts user/dchagin/lemul/sys/gnu/dts/arm/imx31.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx31.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx35-eukrea-cpuimx35.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx35-eukrea-cpuimx35.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx35-eukrea-mbimxsd35-baseboard.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx35-eukrea-mbimxsd35-baseboard.dts user/dchagin/lemul/sys/gnu/dts/arm/imx35-pdk.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx35-pdk.dts user/dchagin/lemul/sys/gnu/dts/arm/imx35-pinfunc.h - copied unchanged from r279408, head/sys/gnu/dts/arm/imx35-pinfunc.h user/dchagin/lemul/sys/gnu/dts/arm/imx35.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx35.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx50-evk.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx50-evk.dts user/dchagin/lemul/sys/gnu/dts/arm/imx50-pinfunc.h - copied unchanged from r279408, head/sys/gnu/dts/arm/imx50-pinfunc.h user/dchagin/lemul/sys/gnu/dts/arm/imx50.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx50.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-gw552x.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx6dl-gw552x.dts user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-udoo.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx6dl-udoo.dts user/dchagin/lemul/sys/gnu/dts/arm/imx6q-gw552x.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx6q-gw552x.dts user/dchagin/lemul/sys/gnu/dts/arm/imx6q-hummingboard.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx6q-hummingboard.dts user/dchagin/lemul/sys/gnu/dts/arm/imx6q-tbs2910.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx6q-tbs2910.dts user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-gw552x.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx6qdl-gw552x.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-hummingboard.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx6qdl-hummingboard.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-microsom-ar8035.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx6qdl-microsom-ar8035.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-microsom.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx6qdl-microsom.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-phytec-pbab01.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx6qdl-phytec-pbab01.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-udoo.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/imx6qdl-udoo.dtsi user/dchagin/lemul/sys/gnu/dts/arm/imx6sx-pinfunc.h - copied unchanged from r279408, head/sys/gnu/dts/arm/imx6sx-pinfunc.h user/dchagin/lemul/sys/gnu/dts/arm/imx6sx-sabreauto.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/imx6sx-sabreauto.dts user/dchagin/lemul/sys/gnu/dts/arm/integrator.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/integrator.dtsi user/dchagin/lemul/sys/gnu/dts/arm/integratorap.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/integratorap.dts user/dchagin/lemul/sys/gnu/dts/arm/integratorcp.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/integratorcp.dts user/dchagin/lemul/sys/gnu/dts/arm/k2e-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/k2e-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/k2e-evm.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/k2e-evm.dts user/dchagin/lemul/sys/gnu/dts/arm/k2e.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/k2e.dtsi user/dchagin/lemul/sys/gnu/dts/arm/k2hk-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/k2hk-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/k2hk-evm.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/k2hk-evm.dts user/dchagin/lemul/sys/gnu/dts/arm/k2hk.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/k2hk.dtsi user/dchagin/lemul/sys/gnu/dts/arm/k2l-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/k2l-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/k2l-evm.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/k2l-evm.dts user/dchagin/lemul/sys/gnu/dts/arm/k2l.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/k2l.dtsi user/dchagin/lemul/sys/gnu/dts/arm/keystone-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/keystone-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/keystone.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/keystone.dtsi user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-6192.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-6192.dtsi user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-6281.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-6281.dtsi user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-6282.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-6282.dtsi user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-98dx4122.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-98dx4122.dtsi user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-b3.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-b3.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-blackarmor-nas220.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-blackarmor-nas220.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-cloudbox.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-cloudbox.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-d2net.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-d2net.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-db-88f6281.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-db-88f6281.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-db-88f6282.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-db-88f6282.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-db.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-db.dtsi user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-dir665.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-dir665.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-dns320.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-dns320.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-dns325.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-dns325.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-dnskw.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-dnskw.dtsi user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-dockstar.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-dockstar.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-dreamplug.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-dreamplug.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ds109.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ds109.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ds110jv10.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ds110jv10.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ds111.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ds111.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ds112.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ds112.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ds209.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ds209.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ds210.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ds210.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ds212.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ds212.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ds212j.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ds212j.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ds409.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ds409.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ds409slim.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ds409slim.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ds411.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ds411.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ds411j.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ds411j.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ds411slim.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ds411slim.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-goflexnet.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-goflexnet.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-guruplug-server-plus.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-guruplug-server-plus.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ib62x0.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ib62x0.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-iconnect.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-iconnect.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-iomega_ix2_200.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-iomega_ix2_200.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-is2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-is2.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-km_common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-km_common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-km_fixedeth.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-km_fixedeth.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-km_kirkwood.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-km_kirkwood.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-laplug.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-laplug.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-lschlv2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-lschlv2.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-lsxhl.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-lsxhl.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-lsxl.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-lsxl.dtsi user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-mplcec4.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-mplcec4.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-mv88f6281gtw-ge.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-mv88f6281gtw-ge.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-net2big.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-net2big.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-net5big.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-net5big.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-netgear_readynas_duo_v2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-netgear_readynas_duo_v2.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-netgear_readynas_nv+_v2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-netgear_readynas_nv+_v2.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-netxbig.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-netxbig.dtsi user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ns2-common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ns2-common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ns2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ns2.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ns2lite.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ns2lite.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ns2max.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ns2max.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ns2mini.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ns2mini.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-nsa310.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-nsa310.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-nsa310a.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-nsa310a.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-nsa320.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-nsa320.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-nsa3x0-common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-nsa3x0-common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-openblocks_a6.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-openblocks_a6.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-openblocks_a7.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-openblocks_a7.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-openrd-base.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-openrd-base.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-openrd-client.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-openrd-client.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-openrd-ultimate.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-openrd-ultimate.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-openrd.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-openrd.dtsi user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-pogo_e02.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-pogo_e02.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-rd88f6192.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-rd88f6192.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-rd88f6281-a.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-rd88f6281-a.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-rd88f6281-z0.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-rd88f6281-z0.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-rd88f6281.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-rd88f6281.dtsi user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-rs212.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-rs212.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-rs409.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-rs409.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-rs411.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-rs411.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-sheevaplug-common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-sheevaplug-common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-sheevaplug-esata.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-sheevaplug-esata.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-sheevaplug.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-sheevaplug.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-synology.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-synology.dtsi user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-t5325.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-t5325.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-topkick.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-topkick.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ts219-6281.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ts219-6281.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ts219-6282.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ts219-6282.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ts219.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ts219.dtsi user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ts419-6281.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ts419-6281.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ts419-6282.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ts419-6282.dts user/dchagin/lemul/sys/gnu/dts/arm/kirkwood-ts419.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood-ts419.dtsi user/dchagin/lemul/sys/gnu/dts/arm/kirkwood.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/kirkwood.dtsi user/dchagin/lemul/sys/gnu/dts/arm/lpc32xx.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/lpc32xx.dtsi user/dchagin/lemul/sys/gnu/dts/arm/ls1021a-qds.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/ls1021a-qds.dts user/dchagin/lemul/sys/gnu/dts/arm/ls1021a-twr.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/ls1021a-twr.dts user/dchagin/lemul/sys/gnu/dts/arm/ls1021a.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/ls1021a.dtsi user/dchagin/lemul/sys/gnu/dts/arm/meson.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/meson.dtsi user/dchagin/lemul/sys/gnu/dts/arm/meson6-atv1200.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/meson6-atv1200.dts user/dchagin/lemul/sys/gnu/dts/arm/meson6.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/meson6.dtsi user/dchagin/lemul/sys/gnu/dts/arm/meson8.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/meson8.dtsi user/dchagin/lemul/sys/gnu/dts/arm/mmp2-brownstone.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/mmp2-brownstone.dts user/dchagin/lemul/sys/gnu/dts/arm/mmp2.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/mmp2.dtsi user/dchagin/lemul/sys/gnu/dts/arm/moxart-uc7112lx.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/moxart-uc7112lx.dts user/dchagin/lemul/sys/gnu/dts/arm/moxart.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/moxart.dtsi user/dchagin/lemul/sys/gnu/dts/arm/mt6589-aquaris5.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/mt6589-aquaris5.dts user/dchagin/lemul/sys/gnu/dts/arm/mt6589.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/mt6589.dtsi user/dchagin/lemul/sys/gnu/dts/arm/mt6592-evb.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/mt6592-evb.dts user/dchagin/lemul/sys/gnu/dts/arm/mt6592.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/mt6592.dtsi user/dchagin/lemul/sys/gnu/dts/arm/mt8127-moose.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/mt8127-moose.dts user/dchagin/lemul/sys/gnu/dts/arm/mt8127.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/mt8127.dtsi user/dchagin/lemul/sys/gnu/dts/arm/mt8135-evbp1.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/mt8135-evbp1.dts user/dchagin/lemul/sys/gnu/dts/arm/mt8135.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/mt8135.dtsi user/dchagin/lemul/sys/gnu/dts/arm/mxs-pinfunc.h - copied unchanged from r279408, head/sys/gnu/dts/arm/mxs-pinfunc.h user/dchagin/lemul/sys/gnu/dts/arm/nspire-classic.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/nspire-classic.dtsi user/dchagin/lemul/sys/gnu/dts/arm/nspire-clp.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/nspire-clp.dts user/dchagin/lemul/sys/gnu/dts/arm/nspire-cx.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/nspire-cx.dts user/dchagin/lemul/sys/gnu/dts/arm/nspire-tp.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/nspire-tp.dts user/dchagin/lemul/sys/gnu/dts/arm/nspire.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/nspire.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap-gpmc-smsc911x.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap-gpmc-smsc911x.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap-gpmc-smsc9221.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap-gpmc-smsc9221.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap-zoom-common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap-zoom-common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap2.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap2.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap2420-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap2420-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap2420-h4.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap2420-h4.dts user/dchagin/lemul/sys/gnu/dts/arm/omap2420-n800.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap2420-n800.dts user/dchagin/lemul/sys/gnu/dts/arm/omap2420-n810-wimax.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap2420-n810-wimax.dts user/dchagin/lemul/sys/gnu/dts/arm/omap2420-n810.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap2420-n810.dts user/dchagin/lemul/sys/gnu/dts/arm/omap2420-n8x0-common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap2420-n8x0-common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap2420.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap2420.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap2430-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap2430-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap2430-sdp.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap2430-sdp.dts user/dchagin/lemul/sys/gnu/dts/arm/omap2430.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap2430.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap24xx-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap24xx-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-beagle-xm-ab.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-beagle-xm-ab.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-beagle-xm.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-beagle-xm.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-beagle.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-beagle.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-cm-t3517.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-cm-t3517.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-cm-t3530.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-cm-t3530.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-cm-t3730.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-cm-t3730.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-cm-t3x.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-cm-t3x.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-cm-t3x30.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-cm-t3x30.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-devkit8000.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-devkit8000.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-evm-37xx.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-evm-37xx.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-evm-common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-evm-common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-evm.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-evm.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-gta04.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-gta04.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-gta04a3.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-gta04a3.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-gta04a4.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-gta04a4.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-gta04a5.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-gta04a5.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-ha-common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-ha-common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-ha-lcd.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-ha-lcd.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-ha.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-ha.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-igep.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-igep.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-igep0020-common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-igep0020-common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-igep0020-rev-f.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-igep0020-rev-f.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-igep0020.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-igep0020.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-igep0030-common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-igep0030-common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-igep0030-rev-g.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-igep0030-rev-g.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-igep0030.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-igep0030.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-ldp.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-ldp.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-lilly-a83x.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-lilly-a83x.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-lilly-dbb056.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-lilly-dbb056.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-n9.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-n9.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-n900.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-n900.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-n950-n9.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-n950-n9.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-n950.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-n950.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-alto35-common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-alto35-common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-alto35.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-alto35.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-base.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-base.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-chestnut43-common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-chestnut43-common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-chestnut43.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-chestnut43.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-common-dvi.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-common-dvi.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-common-lcd35.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-common-lcd35.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-common-lcd43.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-common-lcd43.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-common-peripherals.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-common-peripherals.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-gallop43-common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-gallop43-common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-gallop43.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-gallop43.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-palo43-common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-palo43-common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-palo43.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-palo43.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-storm-alto35.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-storm-alto35.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-storm-chestnut43.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-storm-chestnut43.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-storm-gallop43.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-storm-gallop43.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-storm-palo43.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-storm-palo43.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-storm-summit.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-storm-summit.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-storm-tobi.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-storm-tobi.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-storm.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-storm.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-summit-common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-summit-common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-summit.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-summit.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-tobi-common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-tobi-common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo-tobi.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo-tobi.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-overo.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-overo.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-panel-sharp-ls037v7dw01.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-panel-sharp-ls037v7dw01.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-sb-t35.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-sb-t35.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-sbc-t3517.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-sbc-t3517.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-sbc-t3530.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-sbc-t3530.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-sbc-t3730.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-sbc-t3730.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-tao3530.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-tao3530.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3-thunder.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-thunder.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3-zoom3.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3-zoom3.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3430-sdp.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3430-sdp.dts user/dchagin/lemul/sys/gnu/dts/arm/omap3430es1-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3430es1-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap34xx-hs.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap34xx-hs.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap34xx-omap36xx-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap34xx-omap36xx-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap34xx.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap34xx.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap36xx-am35xx-omap3430es2plus-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap36xx-am35xx-omap3430es2plus-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap36xx-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap36xx-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap36xx-hs.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap36xx-hs.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap36xx-omap3430es2plus-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap36xx-omap3430es2plus-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap36xx.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap36xx.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap3xxx-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap3xxx-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap4-cpu-thermal.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap4-cpu-thermal.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap4-duovero-parlor.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap4-duovero-parlor.dts user/dchagin/lemul/sys/gnu/dts/arm/omap4-duovero.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap4-duovero.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap4-panda-a4.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap4-panda-a4.dts user/dchagin/lemul/sys/gnu/dts/arm/omap4-panda-common.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap4-panda-common.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap4-panda-es.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap4-panda-es.dts user/dchagin/lemul/sys/gnu/dts/arm/omap4-panda.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap4-panda.dts user/dchagin/lemul/sys/gnu/dts/arm/omap4-sdp-es23plus.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap4-sdp-es23plus.dts user/dchagin/lemul/sys/gnu/dts/arm/omap4-sdp.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap4-sdp.dts user/dchagin/lemul/sys/gnu/dts/arm/omap4-var-dvk-om44.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap4-var-dvk-om44.dts user/dchagin/lemul/sys/gnu/dts/arm/omap4-var-om44customboard.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap4-var-om44customboard.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap4-var-som-om44-wlan.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap4-var-som-om44-wlan.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap4-var-som-om44.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap4-var-som-om44.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap4-var-stk-om44.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap4-var-stk-om44.dts user/dchagin/lemul/sys/gnu/dts/arm/omap4.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap4.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap443x-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap443x-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap443x.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap443x.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap4460.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap4460.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap446x-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap446x-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap44xx-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap44xx-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap5-cm-t54.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap5-cm-t54.dts user/dchagin/lemul/sys/gnu/dts/arm/omap5-core-thermal.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap5-core-thermal.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap5-gpu-thermal.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap5-gpu-thermal.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap5-sbc-t54.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap5-sbc-t54.dts user/dchagin/lemul/sys/gnu/dts/arm/omap5-uevm.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/omap5-uevm.dts user/dchagin/lemul/sys/gnu/dts/arm/omap5.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap5.dtsi user/dchagin/lemul/sys/gnu/dts/arm/omap54xx-clocks.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/omap54xx-clocks.dtsi user/dchagin/lemul/sys/gnu/dts/arm/orion5x-lacie-d2-network.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/orion5x-lacie-d2-network.dts user/dchagin/lemul/sys/gnu/dts/arm/orion5x-lacie-ethernet-disk-mini-v2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/orion5x-lacie-ethernet-disk-mini-v2.dts user/dchagin/lemul/sys/gnu/dts/arm/orion5x-maxtor-shared-storage-2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/orion5x-maxtor-shared-storage-2.dts user/dchagin/lemul/sys/gnu/dts/arm/orion5x-mv88f5182.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/orion5x-mv88f5182.dtsi user/dchagin/lemul/sys/gnu/dts/arm/orion5x-rd88f5182-nas.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/orion5x-rd88f5182-nas.dts user/dchagin/lemul/sys/gnu/dts/arm/orion5x.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/orion5x.dtsi user/dchagin/lemul/sys/gnu/dts/arm/phy3250.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/phy3250.dts user/dchagin/lemul/sys/gnu/dts/arm/picoxcell-pc3x2.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/picoxcell-pc3x2.dtsi user/dchagin/lemul/sys/gnu/dts/arm/picoxcell-pc3x3.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/picoxcell-pc3x3.dtsi user/dchagin/lemul/sys/gnu/dts/arm/picoxcell-pc7302-pc3x2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/picoxcell-pc7302-pc3x2.dts user/dchagin/lemul/sys/gnu/dts/arm/picoxcell-pc7302-pc3x3.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/picoxcell-pc7302-pc3x3.dts user/dchagin/lemul/sys/gnu/dts/arm/prima2-evb.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/prima2-evb.dts user/dchagin/lemul/sys/gnu/dts/arm/prima2.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/prima2.dtsi user/dchagin/lemul/sys/gnu/dts/arm/pxa168-aspenite.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/pxa168-aspenite.dts user/dchagin/lemul/sys/gnu/dts/arm/pxa168.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/pxa168.dtsi user/dchagin/lemul/sys/gnu/dts/arm/pxa27x.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/pxa27x.dtsi user/dchagin/lemul/sys/gnu/dts/arm/pxa2xx.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/pxa2xx.dtsi user/dchagin/lemul/sys/gnu/dts/arm/pxa3xx.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/pxa3xx.dtsi user/dchagin/lemul/sys/gnu/dts/arm/pxa910-dkb.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/pxa910-dkb.dts user/dchagin/lemul/sys/gnu/dts/arm/pxa910.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/pxa910.dtsi user/dchagin/lemul/sys/gnu/dts/arm/qcom-apq8064-cm-qs600.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/qcom-apq8064-cm-qs600.dts user/dchagin/lemul/sys/gnu/dts/arm/qcom-apq8064-ifc6410.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/qcom-apq8064-ifc6410.dts user/dchagin/lemul/sys/gnu/dts/arm/qcom-apq8064-v2.0.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/qcom-apq8064-v2.0.dtsi user/dchagin/lemul/sys/gnu/dts/arm/qcom-apq8064.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/qcom-apq8064.dtsi user/dchagin/lemul/sys/gnu/dts/arm/qcom-apq8074-dragonboard.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/qcom-apq8074-dragonboard.dts user/dchagin/lemul/sys/gnu/dts/arm/qcom-apq8084-ifc6540.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/qcom-apq8084-ifc6540.dts user/dchagin/lemul/sys/gnu/dts/arm/qcom-apq8084-mtp.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/qcom-apq8084-mtp.dts user/dchagin/lemul/sys/gnu/dts/arm/qcom-apq8084.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/qcom-apq8084.dtsi user/dchagin/lemul/sys/gnu/dts/arm/qcom-ipq8064-ap148.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/qcom-ipq8064-ap148.dts user/dchagin/lemul/sys/gnu/dts/arm/qcom-ipq8064-v1.0.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/qcom-ipq8064-v1.0.dtsi user/dchagin/lemul/sys/gnu/dts/arm/qcom-ipq8064.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/qcom-ipq8064.dtsi user/dchagin/lemul/sys/gnu/dts/arm/qcom-msm8660-surf.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/qcom-msm8660-surf.dts user/dchagin/lemul/sys/gnu/dts/arm/qcom-msm8660.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/qcom-msm8660.dtsi user/dchagin/lemul/sys/gnu/dts/arm/qcom-msm8960-cdp.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/qcom-msm8960-cdp.dts user/dchagin/lemul/sys/gnu/dts/arm/qcom-msm8960.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/qcom-msm8960.dtsi user/dchagin/lemul/sys/gnu/dts/arm/qcom-msm8974-sony-xperia-honami.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/qcom-msm8974-sony-xperia-honami.dts user/dchagin/lemul/sys/gnu/dts/arm/qcom-msm8974.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/qcom-msm8974.dtsi user/dchagin/lemul/sys/gnu/dts/arm/r7s72100-genmai.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/r7s72100-genmai.dts user/dchagin/lemul/sys/gnu/dts/arm/r7s72100.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/r7s72100.dtsi user/dchagin/lemul/sys/gnu/dts/arm/r8a73a4-ape6evm-reference.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/r8a73a4-ape6evm-reference.dts user/dchagin/lemul/sys/gnu/dts/arm/r8a73a4-ape6evm.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/r8a73a4-ape6evm.dts user/dchagin/lemul/sys/gnu/dts/arm/r8a73a4.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/r8a73a4.dtsi user/dchagin/lemul/sys/gnu/dts/arm/r8a7740-armadillo800eva.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/r8a7740-armadillo800eva.dts user/dchagin/lemul/sys/gnu/dts/arm/r8a7740.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/r8a7740.dtsi user/dchagin/lemul/sys/gnu/dts/arm/r8a7778-bockw-reference.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/r8a7778-bockw-reference.dts user/dchagin/lemul/sys/gnu/dts/arm/r8a7778-bockw.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/r8a7778-bockw.dts user/dchagin/lemul/sys/gnu/dts/arm/r8a7778.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/r8a7778.dtsi user/dchagin/lemul/sys/gnu/dts/arm/r8a7779-marzen.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/r8a7779-marzen.dts user/dchagin/lemul/sys/gnu/dts/arm/r8a7779.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/r8a7779.dtsi user/dchagin/lemul/sys/gnu/dts/arm/r8a7790-lager.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/r8a7790-lager.dts user/dchagin/lemul/sys/gnu/dts/arm/r8a7790.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/r8a7790.dtsi user/dchagin/lemul/sys/gnu/dts/arm/r8a7791-henninger.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/r8a7791-henninger.dts user/dchagin/lemul/sys/gnu/dts/arm/r8a7791-koelsch.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/r8a7791-koelsch.dts user/dchagin/lemul/sys/gnu/dts/arm/r8a7791.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/r8a7791.dtsi user/dchagin/lemul/sys/gnu/dts/arm/r8a7794-alt.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/r8a7794-alt.dts user/dchagin/lemul/sys/gnu/dts/arm/r8a7794.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/r8a7794.dtsi user/dchagin/lemul/sys/gnu/dts/arm/r8a77xx-aa104xd12-panel.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/r8a77xx-aa104xd12-panel.dtsi user/dchagin/lemul/sys/gnu/dts/arm/rk3066a-bqcurie2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/rk3066a-bqcurie2.dts user/dchagin/lemul/sys/gnu/dts/arm/rk3066a-marsboard.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/rk3066a-marsboard.dts user/dchagin/lemul/sys/gnu/dts/arm/rk3066a-rayeager.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/rk3066a-rayeager.dts user/dchagin/lemul/sys/gnu/dts/arm/rk3066a.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/rk3066a.dtsi user/dchagin/lemul/sys/gnu/dts/arm/rk3188-radxarock.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/rk3188-radxarock.dts user/dchagin/lemul/sys/gnu/dts/arm/rk3188.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/rk3188.dtsi user/dchagin/lemul/sys/gnu/dts/arm/rk3288-evb-act8846.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/rk3288-evb-act8846.dts user/dchagin/lemul/sys/gnu/dts/arm/rk3288-evb-rk808.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/rk3288-evb-rk808.dts user/dchagin/lemul/sys/gnu/dts/arm/rk3288-evb.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/rk3288-evb.dtsi user/dchagin/lemul/sys/gnu/dts/arm/rk3288-firefly-beta.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/rk3288-firefly-beta.dts user/dchagin/lemul/sys/gnu/dts/arm/rk3288-firefly.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/rk3288-firefly.dts user/dchagin/lemul/sys/gnu/dts/arm/rk3288-firefly.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/rk3288-firefly.dtsi user/dchagin/lemul/sys/gnu/dts/arm/rk3288-thermal.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/rk3288-thermal.dtsi user/dchagin/lemul/sys/gnu/dts/arm/rk3288.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/rk3288.dtsi user/dchagin/lemul/sys/gnu/dts/arm/rk3xxx.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/rk3xxx.dtsi user/dchagin/lemul/sys/gnu/dts/arm/s3c2416-pinctrl.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/s3c2416-pinctrl.dtsi user/dchagin/lemul/sys/gnu/dts/arm/s3c2416-smdk2416.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/s3c2416-smdk2416.dts user/dchagin/lemul/sys/gnu/dts/arm/s3c2416.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/s3c2416.dtsi user/dchagin/lemul/sys/gnu/dts/arm/s3c24xx.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/s3c24xx.dtsi user/dchagin/lemul/sys/gnu/dts/arm/s3c6400.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/s3c6400.dtsi user/dchagin/lemul/sys/gnu/dts/arm/s3c6410-mini6410.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/s3c6410-mini6410.dts user/dchagin/lemul/sys/gnu/dts/arm/s3c6410-smdk6410.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/s3c6410-smdk6410.dts user/dchagin/lemul/sys/gnu/dts/arm/s3c6410.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/s3c6410.dtsi user/dchagin/lemul/sys/gnu/dts/arm/s3c64xx-pinctrl.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/s3c64xx-pinctrl.dtsi user/dchagin/lemul/sys/gnu/dts/arm/s3c64xx.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/s3c64xx.dtsi user/dchagin/lemul/sys/gnu/dts/arm/s5pv210-aquila.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/s5pv210-aquila.dts user/dchagin/lemul/sys/gnu/dts/arm/s5pv210-goni.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/s5pv210-goni.dts user/dchagin/lemul/sys/gnu/dts/arm/s5pv210-pinctrl.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/s5pv210-pinctrl.dtsi user/dchagin/lemul/sys/gnu/dts/arm/s5pv210-smdkc110.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/s5pv210-smdkc110.dts user/dchagin/lemul/sys/gnu/dts/arm/s5pv210-smdkv210.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/s5pv210-smdkv210.dts user/dchagin/lemul/sys/gnu/dts/arm/s5pv210-torbreck.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/s5pv210-torbreck.dts user/dchagin/lemul/sys/gnu/dts/arm/s5pv210.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/s5pv210.dtsi user/dchagin/lemul/sys/gnu/dts/arm/sama5d4.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/sama5d4.dtsi user/dchagin/lemul/sys/gnu/dts/arm/samsung_k3pe0e000b.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/samsung_k3pe0e000b.dtsi user/dchagin/lemul/sys/gnu/dts/arm/sh7372-mackerel.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sh7372-mackerel.dts user/dchagin/lemul/sys/gnu/dts/arm/sh7372.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/sh7372.dtsi user/dchagin/lemul/sys/gnu/dts/arm/sh73a0-kzm9g-reference.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sh73a0-kzm9g-reference.dts user/dchagin/lemul/sys/gnu/dts/arm/sh73a0-kzm9g.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sh73a0-kzm9g.dts user/dchagin/lemul/sys/gnu/dts/arm/sh73a0.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/sh73a0.dtsi user/dchagin/lemul/sys/gnu/dts/arm/socfpga.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/socfpga.dtsi user/dchagin/lemul/sys/gnu/dts/arm/socfpga_arria10.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/socfpga_arria10.dtsi user/dchagin/lemul/sys/gnu/dts/arm/socfpga_arria10_socdk.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/socfpga_arria10_socdk.dts user/dchagin/lemul/sys/gnu/dts/arm/socfpga_arria5.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/socfpga_arria5.dtsi user/dchagin/lemul/sys/gnu/dts/arm/socfpga_arria5_socdk.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/socfpga_arria5_socdk.dts user/dchagin/lemul/sys/gnu/dts/arm/socfpga_cyclone5.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/socfpga_cyclone5.dtsi user/dchagin/lemul/sys/gnu/dts/arm/socfpga_cyclone5_socdk.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/socfpga_cyclone5_socdk.dts user/dchagin/lemul/sys/gnu/dts/arm/socfpga_cyclone5_sockit.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/socfpga_cyclone5_sockit.dts user/dchagin/lemul/sys/gnu/dts/arm/socfpga_cyclone5_socrates.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/socfpga_cyclone5_socrates.dts user/dchagin/lemul/sys/gnu/dts/arm/socfpga_vt.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/socfpga_vt.dts user/dchagin/lemul/sys/gnu/dts/arm/spear1310-evb.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/spear1310-evb.dts user/dchagin/lemul/sys/gnu/dts/arm/spear1310.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/spear1310.dtsi user/dchagin/lemul/sys/gnu/dts/arm/spear1340-evb.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/spear1340-evb.dts user/dchagin/lemul/sys/gnu/dts/arm/spear1340.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/spear1340.dtsi user/dchagin/lemul/sys/gnu/dts/arm/spear13xx.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/spear13xx.dtsi user/dchagin/lemul/sys/gnu/dts/arm/spear300-evb.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/spear300-evb.dts user/dchagin/lemul/sys/gnu/dts/arm/spear300.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/spear300.dtsi user/dchagin/lemul/sys/gnu/dts/arm/spear310-evb.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/spear310-evb.dts user/dchagin/lemul/sys/gnu/dts/arm/spear310.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/spear310.dtsi user/dchagin/lemul/sys/gnu/dts/arm/spear320-evb.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/spear320-evb.dts user/dchagin/lemul/sys/gnu/dts/arm/spear320-hmi.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/spear320-hmi.dts user/dchagin/lemul/sys/gnu/dts/arm/spear320.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/spear320.dtsi user/dchagin/lemul/sys/gnu/dts/arm/spear3xx.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/spear3xx.dtsi user/dchagin/lemul/sys/gnu/dts/arm/spear600-evb.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/spear600-evb.dts user/dchagin/lemul/sys/gnu/dts/arm/spear600.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/spear600.dtsi user/dchagin/lemul/sys/gnu/dts/arm/st-pincfg.h - copied unchanged from r279408, head/sys/gnu/dts/arm/st-pincfg.h user/dchagin/lemul/sys/gnu/dts/arm/ste-ccu8540-pinctrl.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-ccu8540-pinctrl.dtsi user/dchagin/lemul/sys/gnu/dts/arm/ste-ccu8540.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-ccu8540.dts user/dchagin/lemul/sys/gnu/dts/arm/ste-ccu9540.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-ccu9540.dts user/dchagin/lemul/sys/gnu/dts/arm/ste-dbx5x0.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-dbx5x0.dtsi user/dchagin/lemul/sys/gnu/dts/arm/ste-href-ab8500.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-href-ab8500.dtsi user/dchagin/lemul/sys/gnu/dts/arm/ste-href-ab8505.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-href-ab8505.dtsi user/dchagin/lemul/sys/gnu/dts/arm/ste-href-family-pinctrl.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-href-family-pinctrl.dtsi user/dchagin/lemul/sys/gnu/dts/arm/ste-href-stuib.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-href-stuib.dtsi user/dchagin/lemul/sys/gnu/dts/arm/ste-href-tvk1281618.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-href-tvk1281618.dtsi user/dchagin/lemul/sys/gnu/dts/arm/ste-href.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-href.dtsi user/dchagin/lemul/sys/gnu/dts/arm/ste-hrefprev60-stuib.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-hrefprev60-stuib.dts user/dchagin/lemul/sys/gnu/dts/arm/ste-hrefprev60-tvk.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-hrefprev60-tvk.dts user/dchagin/lemul/sys/gnu/dts/arm/ste-hrefprev60.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-hrefprev60.dtsi user/dchagin/lemul/sys/gnu/dts/arm/ste-hrefv60plus-stuib.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-hrefv60plus-stuib.dts user/dchagin/lemul/sys/gnu/dts/arm/ste-hrefv60plus-tvk.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-hrefv60plus-tvk.dts user/dchagin/lemul/sys/gnu/dts/arm/ste-hrefv60plus.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-hrefv60plus.dtsi user/dchagin/lemul/sys/gnu/dts/arm/ste-nomadik-nhk15.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-nomadik-nhk15.dts user/dchagin/lemul/sys/gnu/dts/arm/ste-nomadik-pinctrl.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-nomadik-pinctrl.dtsi user/dchagin/lemul/sys/gnu/dts/arm/ste-nomadik-s8815.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-nomadik-s8815.dts user/dchagin/lemul/sys/gnu/dts/arm/ste-nomadik-stn8815.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-nomadik-stn8815.dtsi user/dchagin/lemul/sys/gnu/dts/arm/ste-snowball.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-snowball.dts user/dchagin/lemul/sys/gnu/dts/arm/ste-u300.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/ste-u300.dts user/dchagin/lemul/sys/gnu/dts/arm/stih407-b2120.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/stih407-b2120.dts user/dchagin/lemul/sys/gnu/dts/arm/stih407-clock.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stih407-clock.dtsi user/dchagin/lemul/sys/gnu/dts/arm/stih407-family.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stih407-family.dtsi user/dchagin/lemul/sys/gnu/dts/arm/stih407-pinctrl.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stih407-pinctrl.dtsi user/dchagin/lemul/sys/gnu/dts/arm/stih407.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stih407.dtsi user/dchagin/lemul/sys/gnu/dts/arm/stih410-b2120.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/stih410-b2120.dts user/dchagin/lemul/sys/gnu/dts/arm/stih410-clock.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stih410-clock.dtsi user/dchagin/lemul/sys/gnu/dts/arm/stih410-pinctrl.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stih410-pinctrl.dtsi user/dchagin/lemul/sys/gnu/dts/arm/stih410.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stih410.dtsi user/dchagin/lemul/sys/gnu/dts/arm/stih415-b2000.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/stih415-b2000.dts user/dchagin/lemul/sys/gnu/dts/arm/stih415-b2020.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/stih415-b2020.dts user/dchagin/lemul/sys/gnu/dts/arm/stih415-clock.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stih415-clock.dtsi user/dchagin/lemul/sys/gnu/dts/arm/stih415-pinctrl.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stih415-pinctrl.dtsi user/dchagin/lemul/sys/gnu/dts/arm/stih415.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stih415.dtsi user/dchagin/lemul/sys/gnu/dts/arm/stih416-b2000.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/stih416-b2000.dts user/dchagin/lemul/sys/gnu/dts/arm/stih416-b2020.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/stih416-b2020.dts user/dchagin/lemul/sys/gnu/dts/arm/stih416-b2020e.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/stih416-b2020e.dts user/dchagin/lemul/sys/gnu/dts/arm/stih416-clock.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stih416-clock.dtsi user/dchagin/lemul/sys/gnu/dts/arm/stih416-pinctrl.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stih416-pinctrl.dtsi user/dchagin/lemul/sys/gnu/dts/arm/stih416.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stih416.dtsi user/dchagin/lemul/sys/gnu/dts/arm/stih418-b2199.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/stih418-b2199.dts user/dchagin/lemul/sys/gnu/dts/arm/stih418-clock.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stih418-clock.dtsi user/dchagin/lemul/sys/gnu/dts/arm/stih418.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stih418.dtsi user/dchagin/lemul/sys/gnu/dts/arm/stih41x-b2000.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stih41x-b2000.dtsi user/dchagin/lemul/sys/gnu/dts/arm/stih41x-b2020.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stih41x-b2020.dtsi user/dchagin/lemul/sys/gnu/dts/arm/stih41x-b2020x.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stih41x-b2020x.dtsi user/dchagin/lemul/sys/gnu/dts/arm/stih41x.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stih41x.dtsi user/dchagin/lemul/sys/gnu/dts/arm/stihxxx-b2120.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/stihxxx-b2120.dtsi user/dchagin/lemul/sys/gnu/dts/arm/sun4i-a10-a1000.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun4i-a10-a1000.dts user/dchagin/lemul/sys/gnu/dts/arm/sun4i-a10-ba10-tvbox.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun4i-a10-ba10-tvbox.dts user/dchagin/lemul/sys/gnu/dts/arm/sun4i-a10-chuwi-v7-cw0825.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun4i-a10-chuwi-v7-cw0825.dts user/dchagin/lemul/sys/gnu/dts/arm/sun4i-a10-cubieboard.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun4i-a10-cubieboard.dts user/dchagin/lemul/sys/gnu/dts/arm/sun4i-a10-hackberry.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun4i-a10-hackberry.dts user/dchagin/lemul/sys/gnu/dts/arm/sun4i-a10-hyundai-a7hd.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun4i-a10-hyundai-a7hd.dts user/dchagin/lemul/sys/gnu/dts/arm/sun4i-a10-inet97fv2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun4i-a10-inet97fv2.dts user/dchagin/lemul/sys/gnu/dts/arm/sun4i-a10-marsboard.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun4i-a10-marsboard.dts user/dchagin/lemul/sys/gnu/dts/arm/sun4i-a10-mini-xplus.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun4i-a10-mini-xplus.dts user/dchagin/lemul/sys/gnu/dts/arm/sun4i-a10-mk802.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun4i-a10-mk802.dts user/dchagin/lemul/sys/gnu/dts/arm/sun4i-a10-mk802ii.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun4i-a10-mk802ii.dts user/dchagin/lemul/sys/gnu/dts/arm/sun4i-a10-olinuxino-lime.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun4i-a10-olinuxino-lime.dts user/dchagin/lemul/sys/gnu/dts/arm/sun4i-a10-pcduino.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun4i-a10-pcduino.dts user/dchagin/lemul/sys/gnu/dts/arm/sun4i-a10.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/sun4i-a10.dtsi user/dchagin/lemul/sys/gnu/dts/arm/sun5i-a10s-mk802.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun5i-a10s-mk802.dts user/dchagin/lemul/sys/gnu/dts/arm/sun5i-a10s-olinuxino-micro.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun5i-a10s-olinuxino-micro.dts user/dchagin/lemul/sys/gnu/dts/arm/sun5i-a10s-r7-tv-dongle.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun5i-a10s-r7-tv-dongle.dts user/dchagin/lemul/sys/gnu/dts/arm/sun5i-a10s.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/sun5i-a10s.dtsi user/dchagin/lemul/sys/gnu/dts/arm/sun5i-a13-hsg-h702.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun5i-a13-hsg-h702.dts user/dchagin/lemul/sys/gnu/dts/arm/sun5i-a13-olinuxino-micro.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun5i-a13-olinuxino-micro.dts user/dchagin/lemul/sys/gnu/dts/arm/sun5i-a13-olinuxino.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun5i-a13-olinuxino.dts user/dchagin/lemul/sys/gnu/dts/arm/sun5i-a13.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/sun5i-a13.dtsi user/dchagin/lemul/sys/gnu/dts/arm/sun6i-a31-app4-evb1.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun6i-a31-app4-evb1.dts user/dchagin/lemul/sys/gnu/dts/arm/sun6i-a31-colombus.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun6i-a31-colombus.dts user/dchagin/lemul/sys/gnu/dts/arm/sun6i-a31-hummingbird.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun6i-a31-hummingbird.dts user/dchagin/lemul/sys/gnu/dts/arm/sun6i-a31-m9.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun6i-a31-m9.dts user/dchagin/lemul/sys/gnu/dts/arm/sun6i-a31.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/sun6i-a31.dtsi user/dchagin/lemul/sys/gnu/dts/arm/sun6i-a31s-cs908.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun6i-a31s-cs908.dts user/dchagin/lemul/sys/gnu/dts/arm/sun6i-a31s.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/sun6i-a31s.dtsi user/dchagin/lemul/sys/gnu/dts/arm/sun7i-a20-bananapi.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun7i-a20-bananapi.dts user/dchagin/lemul/sys/gnu/dts/arm/sun7i-a20-bananapro.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun7i-a20-bananapro.dts user/dchagin/lemul/sys/gnu/dts/arm/sun7i-a20-cubieboard2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun7i-a20-cubieboard2.dts user/dchagin/lemul/sys/gnu/dts/arm/sun7i-a20-cubietruck.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun7i-a20-cubietruck.dts user/dchagin/lemul/sys/gnu/dts/arm/sun7i-a20-hummingbird.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun7i-a20-hummingbird.dts user/dchagin/lemul/sys/gnu/dts/arm/sun7i-a20-i12-tvbox.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun7i-a20-i12-tvbox.dts user/dchagin/lemul/sys/gnu/dts/arm/sun7i-a20-m3.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun7i-a20-m3.dts user/dchagin/lemul/sys/gnu/dts/arm/sun7i-a20-olinuxino-lime.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun7i-a20-olinuxino-lime.dts user/dchagin/lemul/sys/gnu/dts/arm/sun7i-a20-olinuxino-lime2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun7i-a20-olinuxino-lime2.dts user/dchagin/lemul/sys/gnu/dts/arm/sun7i-a20-olinuxino-micro.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun7i-a20-olinuxino-micro.dts user/dchagin/lemul/sys/gnu/dts/arm/sun7i-a20-pcduino3.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun7i-a20-pcduino3.dts user/dchagin/lemul/sys/gnu/dts/arm/sun7i-a20.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/sun7i-a20.dtsi user/dchagin/lemul/sys/gnu/dts/arm/sun8i-a23-ippo-q8h-v1.2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun8i-a23-ippo-q8h-v1.2.dts user/dchagin/lemul/sys/gnu/dts/arm/sun8i-a23-ippo-q8h-v5.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun8i-a23-ippo-q8h-v5.dts user/dchagin/lemul/sys/gnu/dts/arm/sun8i-a23.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/sun8i-a23.dtsi user/dchagin/lemul/sys/gnu/dts/arm/sun9i-a80-optimus.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/sun9i-a80-optimus.dts user/dchagin/lemul/sys/gnu/dts/arm/sun9i-a80.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/sun9i-a80.dtsi user/dchagin/lemul/sys/gnu/dts/arm/sunxi-common-regulators.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/sunxi-common-regulators.dtsi user/dchagin/lemul/sys/gnu/dts/arm/tegra114-dalmore.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra114-dalmore.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra114-roth.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra114-roth.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra114-tn7.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra114-tn7.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra114.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra114.dtsi user/dchagin/lemul/sys/gnu/dts/arm/tegra124-jetson-tk1.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra124-jetson-tk1.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra124-nyan-big.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra124-nyan-big.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra124-venice2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra124-venice2.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra124.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra124.dtsi user/dchagin/lemul/sys/gnu/dts/arm/tegra20-colibri-512.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra20-colibri-512.dtsi user/dchagin/lemul/sys/gnu/dts/arm/tegra20-harmony.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra20-harmony.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra20-iris-512.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra20-iris-512.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra20-medcom-wide.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra20-medcom-wide.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra20-paz00.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra20-paz00.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra20-plutux.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra20-plutux.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra20-seaboard.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra20-seaboard.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra20-tamonten.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra20-tamonten.dtsi user/dchagin/lemul/sys/gnu/dts/arm/tegra20-tec.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra20-tec.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra20-trimslice.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra20-trimslice.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra20-ventana.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra20-ventana.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra20-whistler.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra20-whistler.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra20.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra20.dtsi user/dchagin/lemul/sys/gnu/dts/arm/tegra30-apalis-eval.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra30-apalis-eval.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra30-apalis.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra30-apalis.dtsi user/dchagin/lemul/sys/gnu/dts/arm/tegra30-beaver.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra30-beaver.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra30-cardhu-a02.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra30-cardhu-a02.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra30-cardhu-a04.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra30-cardhu-a04.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra30-cardhu.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra30-cardhu.dtsi user/dchagin/lemul/sys/gnu/dts/arm/tegra30-colibri-eval-v3.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra30-colibri-eval-v3.dts user/dchagin/lemul/sys/gnu/dts/arm/tegra30-colibri.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra30-colibri.dtsi user/dchagin/lemul/sys/gnu/dts/arm/tegra30.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/tegra30.dtsi user/dchagin/lemul/sys/gnu/dts/arm/tps6507x.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/tps6507x.dtsi user/dchagin/lemul/sys/gnu/dts/arm/tps65217.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/tps65217.dtsi user/dchagin/lemul/sys/gnu/dts/arm/tps65910.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/tps65910.dtsi user/dchagin/lemul/sys/gnu/dts/arm/twl4030.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/twl4030.dtsi user/dchagin/lemul/sys/gnu/dts/arm/twl4030_omap3.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/twl4030_omap3.dtsi user/dchagin/lemul/sys/gnu/dts/arm/twl6030.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/twl6030.dtsi user/dchagin/lemul/sys/gnu/dts/arm/twl6030_omap4.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/twl6030_omap4.dtsi user/dchagin/lemul/sys/gnu/dts/arm/usb_a9g20-dab-mmx.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/usb_a9g20-dab-mmx.dtsi user/dchagin/lemul/sys/gnu/dts/arm/versatile-ab.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/versatile-ab.dts user/dchagin/lemul/sys/gnu/dts/arm/versatile-pb.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/versatile-pb.dts user/dchagin/lemul/sys/gnu/dts/arm/vexpress-v2m-rs1.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/vexpress-v2m-rs1.dtsi user/dchagin/lemul/sys/gnu/dts/arm/vexpress-v2m.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/vexpress-v2m.dtsi user/dchagin/lemul/sys/gnu/dts/arm/vexpress-v2p-ca15-tc1.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/vexpress-v2p-ca15-tc1.dts user/dchagin/lemul/sys/gnu/dts/arm/vexpress-v2p-ca15_a7.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/vexpress-v2p-ca15_a7.dts user/dchagin/lemul/sys/gnu/dts/arm/vexpress-v2p-ca5s.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/vexpress-v2p-ca5s.dts user/dchagin/lemul/sys/gnu/dts/arm/vexpress-v2p-ca9.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/vexpress-v2p-ca9.dts user/dchagin/lemul/sys/gnu/dts/arm/vf-colibri-eval-v3.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/vf-colibri-eval-v3.dtsi user/dchagin/lemul/sys/gnu/dts/arm/vf-colibri.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/vf-colibri.dtsi user/dchagin/lemul/sys/gnu/dts/arm/vf500-colibri-eval-v3.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/vf500-colibri-eval-v3.dts user/dchagin/lemul/sys/gnu/dts/arm/vf500-colibri.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/vf500-colibri.dtsi user/dchagin/lemul/sys/gnu/dts/arm/vf500.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/vf500.dtsi user/dchagin/lemul/sys/gnu/dts/arm/vf610-colibri-eval-v3.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/vf610-colibri-eval-v3.dts user/dchagin/lemul/sys/gnu/dts/arm/vf610-colibri.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/vf610-colibri.dtsi user/dchagin/lemul/sys/gnu/dts/arm/vf610-cosmic.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/vf610-cosmic.dts user/dchagin/lemul/sys/gnu/dts/arm/vf610-pinfunc.h - copied unchanged from r279408, head/sys/gnu/dts/arm/vf610-pinfunc.h user/dchagin/lemul/sys/gnu/dts/arm/vf610-twr.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/vf610-twr.dts user/dchagin/lemul/sys/gnu/dts/arm/vfxxx.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/vfxxx.dtsi user/dchagin/lemul/sys/gnu/dts/arm/vt8500-bv07.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/vt8500-bv07.dts user/dchagin/lemul/sys/gnu/dts/arm/vt8500.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/vt8500.dtsi user/dchagin/lemul/sys/gnu/dts/arm/wm8505-ref.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/wm8505-ref.dts user/dchagin/lemul/sys/gnu/dts/arm/wm8505.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/wm8505.dtsi user/dchagin/lemul/sys/gnu/dts/arm/wm8650-mid.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/wm8650-mid.dts user/dchagin/lemul/sys/gnu/dts/arm/wm8650.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/wm8650.dtsi user/dchagin/lemul/sys/gnu/dts/arm/wm8750-apc8750.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/wm8750-apc8750.dts user/dchagin/lemul/sys/gnu/dts/arm/wm8750.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/wm8750.dtsi user/dchagin/lemul/sys/gnu/dts/arm/wm8850-w70v2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/wm8850-w70v2.dts user/dchagin/lemul/sys/gnu/dts/arm/wm8850.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/wm8850.dtsi user/dchagin/lemul/sys/gnu/dts/arm/xenvm-4.2.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/xenvm-4.2.dts user/dchagin/lemul/sys/gnu/dts/arm/zynq-7000.dtsi - copied unchanged from r279408, head/sys/gnu/dts/arm/zynq-7000.dtsi user/dchagin/lemul/sys/gnu/dts/arm/zynq-parallella.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/zynq-parallella.dts user/dchagin/lemul/sys/gnu/dts/arm/zynq-zc702.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/zynq-zc702.dts user/dchagin/lemul/sys/gnu/dts/arm/zynq-zc706.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/zynq-zc706.dts user/dchagin/lemul/sys/gnu/dts/arm/zynq-zed.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/zynq-zed.dts user/dchagin/lemul/sys/gnu/dts/arm/zynq-zybo.dts - copied unchanged from r279408, head/sys/gnu/dts/arm/zynq-zybo.dts user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/arm/ - copied from r279408, head/sys/gnu/dts/include/dt-bindings/arm/ user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/alphascale,asm9260.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/clock/alphascale,asm9260.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/exynos4415.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/clock/exynos4415.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/exynos7-clk.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/clock/exynos7-clk.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/marvell,mmp2.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/clock/marvell,mmp2.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/marvell,pxa168.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/clock/marvell,pxa168.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/marvell,pxa910.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/clock/marvell,pxa910.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/maxim,max77686.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/clock/maxim,max77686.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/maxim,max77802.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/clock/maxim,max77802.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/pxa-clock.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/clock/pxa-clock.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/qcom,lcc-ipq806x.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/clock/qcom,lcc-ipq806x.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/qcom,lcc-msm8960.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/clock/qcom,lcc-msm8960.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/r8a7740-clock.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/clock/r8a7740-clock.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/r8a7794-clock.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/clock/r8a7794-clock.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/rockchip,rk808.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/clock/rockchip,rk808.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/sh73a0-clock.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/clock/sh73a0-clock.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/stih407-clks.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/clock/stih407-clks.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/stih410-clks.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/clock/stih410-clks.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/stih418-clks.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/clock/stih418-clks.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/tegra124-car-common.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/clock/tegra124-car-common.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/dma/sun4i-a10.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/dma/sun4i-a10.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/gpio/meson8-gpio.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/gpio/meson8-gpio.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/iio/ - copied from r279408, head/sys/gnu/dts/include/dt-bindings/iio/ user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/input/ti-drv260x.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/input/ti-drv260x.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/interrupt-controller/mips-gic.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/interrupt-controller/mips-gic.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/memory/ - copied from r279408, head/sys/gnu/dts/include/dt-bindings/memory/ user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/mfd/qcom-rpm.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/mfd/qcom-rpm.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/phy/phy.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/phy/phy.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/pinctrl/qcom,pmic-gpio.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/pinctrl/qcom,pmic-gpio.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/pinctrl/qcom,pmic-mpp.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/pinctrl/qcom,pmic-mpp.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/pinctrl/sun4i-a10.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/pinctrl/sun4i-a10.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/regulator/ - copied from r279408, head/sys/gnu/dts/include/dt-bindings/regulator/ user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/reset-controller/stih407-resets.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/reset-controller/stih407-resets.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/sound/cs35l32.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/sound/cs35l32.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/sound/samsung-i2s.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/sound/samsung-i2s.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/thermal/tegra124-soctherm.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/thermal/tegra124-soctherm.h user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/thermal/thermal_exynos.h - copied unchanged from r279408, head/sys/gnu/dts/include/dt-bindings/thermal/thermal_exynos.h user/dchagin/lemul/sys/mips/nlm/xlp_simplebus.c - copied unchanged from r279408, head/sys/mips/nlm/xlp_simplebus.c user/dchagin/lemul/usr.sbin/uefisign/ - copied from r279408, head/usr.sbin/uefisign/ Deleted: user/dchagin/lemul/games/bcd/ user/dchagin/lemul/games/ppt/ user/dchagin/lemul/sys/mips/nlm/dev/cfi_pci_xlp.c user/dchagin/lemul/sys/mips/nlm/dev/uart_pci_xlp.c Modified: user/dchagin/lemul/Makefile.inc1 user/dchagin/lemul/ObsoleteFiles.inc user/dchagin/lemul/bin/sh/expand.c user/dchagin/lemul/bin/sh/sh.1 user/dchagin/lemul/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c user/dchagin/lemul/cddl/usr.bin/ctfconvert/Makefile user/dchagin/lemul/cddl/usr.bin/ctfmerge/Makefile user/dchagin/lemul/contrib/binutils/bfd/dwarf2.c user/dchagin/lemul/contrib/binutils/opcodes/ppc-opc.c user/dchagin/lemul/contrib/elftoolchain/nm/nm.c user/dchagin/lemul/contrib/groff/tmac/doc-syms user/dchagin/lemul/contrib/libcxxrt/dwarf_eh.h user/dchagin/lemul/contrib/libcxxrt/unwind-arm.h user/dchagin/lemul/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp user/dchagin/lemul/contrib/netbsd-tests/lib/libc/gen/t_nice.c user/dchagin/lemul/etc/Makefile user/dchagin/lemul/etc/mtree/BSD.usr.dist user/dchagin/lemul/games/Makefile user/dchagin/lemul/lib/Makefile user/dchagin/lemul/lib/libc/gen/_spinlock_stub.c user/dchagin/lemul/lib/libc/gen/nice.3 user/dchagin/lemul/lib/libc/gen/nice.c user/dchagin/lemul/lib/libc/gen/setmode.3 user/dchagin/lemul/lib/libc/gen/setmode.c user/dchagin/lemul/lib/libc/iconv/citrus_iconv.c user/dchagin/lemul/lib/libc/net/eui64.c user/dchagin/lemul/lib/libc/net/ip6opt.c user/dchagin/lemul/lib/libc/stdlib/random.3 user/dchagin/lemul/lib/libdevstat/devstat.c user/dchagin/lemul/lib/libstdthreads/mtx.c user/dchagin/lemul/lib/libstdthreads/thrd.c user/dchagin/lemul/lib/libthr/thread/thr_mutex.c user/dchagin/lemul/lib/msun/src/e_j0.c user/dchagin/lemul/lib/msun/src/e_j0f.c user/dchagin/lemul/lib/msun/src/e_j1.c user/dchagin/lemul/lib/msun/src/e_j1f.c user/dchagin/lemul/libexec/rtld-elf/rtld.c user/dchagin/lemul/release/Makefile user/dchagin/lemul/release/Makefile.vm user/dchagin/lemul/rescue/rescue/Makefile user/dchagin/lemul/sbin/geom/class/part/geom_part.c user/dchagin/lemul/share/examples/Makefile user/dchagin/lemul/share/man/man4/mtio.4 user/dchagin/lemul/share/man/man4/sa.4 user/dchagin/lemul/share/man/man4/sfxge.4 user/dchagin/lemul/share/man/man5/periodic.conf.5 user/dchagin/lemul/share/man/man8/uefi.8 user/dchagin/lemul/share/mk/bsd.libnames.mk user/dchagin/lemul/share/mk/bsd.sys.mk user/dchagin/lemul/share/mk/src.libnames.mk user/dchagin/lemul/share/mk/src.sys.mk user/dchagin/lemul/sys/amd64/amd64/mp_machdep.c user/dchagin/lemul/sys/amd64/vmm/intel/vmcs.c user/dchagin/lemul/sys/amd64/vmm/intel/vmx.c user/dchagin/lemul/sys/amd64/vmm/intel/vmx.h user/dchagin/lemul/sys/amd64/vmm/intel/vmx_msr.c user/dchagin/lemul/sys/arm/arm/cpufunc_asm_armv7.S user/dchagin/lemul/sys/arm/arm/disassem.c user/dchagin/lemul/sys/arm/arm/gic.c user/dchagin/lemul/sys/arm/broadcom/bcm2835/bcm2835_mbox.c user/dchagin/lemul/sys/arm/conf/WANDBOARD-SOLO user/dchagin/lemul/sys/arm/include/atomic.h user/dchagin/lemul/sys/arm/ti/am335x/am335x_rtc.c user/dchagin/lemul/sys/arm/ti/am335x/am335x_scm_padconf.c user/dchagin/lemul/sys/arm/ti/omap4/omap4_scm_padconf.c user/dchagin/lemul/sys/arm/ti/ti_scm.h user/dchagin/lemul/sys/boot/amd64/boot1.efi/Makefile user/dchagin/lemul/sys/boot/amd64/efi/Makefile user/dchagin/lemul/sys/boot/fdt/dts/mips/xlp-basic.dts user/dchagin/lemul/sys/boot/fdt/fdt_loader_cmd.c user/dchagin/lemul/sys/boot/i386/libi386/biosmem.c user/dchagin/lemul/sys/boot/userboot/libstand/Makefile user/dchagin/lemul/sys/cam/cam_periph.c user/dchagin/lemul/sys/cam/scsi/scsi_all.c user/dchagin/lemul/sys/cam/scsi/scsi_all.h user/dchagin/lemul/sys/cam/scsi/scsi_sa.c user/dchagin/lemul/sys/cam/scsi/scsi_sa.h user/dchagin/lemul/sys/conf/files user/dchagin/lemul/sys/conf/kern.mk user/dchagin/lemul/sys/dev/ahci/ahci.c user/dchagin/lemul/sys/dev/bce/if_bcereg.h user/dchagin/lemul/sys/dev/cxgbe/adapter.h user/dchagin/lemul/sys/dev/cxgbe/t4_netmap.c user/dchagin/lemul/sys/dev/cxgbe/t4_sge.c user/dchagin/lemul/sys/dev/e1000/if_igb.c user/dchagin/lemul/sys/dev/fdt/simplebus.c user/dchagin/lemul/sys/dev/gpio/gpiobus.c user/dchagin/lemul/sys/dev/gpio/gpiobusvar.h user/dchagin/lemul/sys/dev/gpio/gpioled.c user/dchagin/lemul/sys/dev/gpio/ofw_gpiobus.c user/dchagin/lemul/sys/dev/ixgbe/ixgbe.c user/dchagin/lemul/sys/dev/ixgbe/ixgbe.h user/dchagin/lemul/sys/dev/ixl/if_ixl.c user/dchagin/lemul/sys/dev/ixl/if_ixlv.c user/dchagin/lemul/sys/dev/ixl/ixl_txrx.c user/dchagin/lemul/sys/dev/mmc/mmc.c user/dchagin/lemul/sys/dev/mpr/mpr_sas.c user/dchagin/lemul/sys/dev/mps/mpi/mpi2.h user/dchagin/lemul/sys/dev/mps/mpi/mpi2_cnfg.h user/dchagin/lemul/sys/dev/mps/mpi/mpi2_hbd.h user/dchagin/lemul/sys/dev/mps/mpi/mpi2_history.txt user/dchagin/lemul/sys/dev/mps/mpi/mpi2_init.h user/dchagin/lemul/sys/dev/mps/mpi/mpi2_ioc.h user/dchagin/lemul/sys/dev/mps/mpi/mpi2_ra.h user/dchagin/lemul/sys/dev/mps/mpi/mpi2_raid.h user/dchagin/lemul/sys/dev/mps/mpi/mpi2_sas.h user/dchagin/lemul/sys/dev/mps/mpi/mpi2_targ.h user/dchagin/lemul/sys/dev/mps/mpi/mpi2_tool.h user/dchagin/lemul/sys/dev/mps/mpi/mpi2_type.h user/dchagin/lemul/sys/dev/mps/mps.c user/dchagin/lemul/sys/dev/mps/mps_config.c user/dchagin/lemul/sys/dev/mps/mps_ioctl.h user/dchagin/lemul/sys/dev/mps/mps_mapping.c user/dchagin/lemul/sys/dev/mps/mps_mapping.h user/dchagin/lemul/sys/dev/mps/mps_pci.c user/dchagin/lemul/sys/dev/mps/mps_sas.c user/dchagin/lemul/sys/dev/mps/mps_sas.h user/dchagin/lemul/sys/dev/mps/mps_sas_lsi.c user/dchagin/lemul/sys/dev/mps/mps_user.c user/dchagin/lemul/sys/dev/mps/mpsvar.h user/dchagin/lemul/sys/dev/netmap/netmap_freebsd.c user/dchagin/lemul/sys/dev/sdhci/sdhci.c user/dchagin/lemul/sys/dev/sfxge/common/efsys.h user/dchagin/lemul/sys/dev/sfxge/common/efx.h user/dchagin/lemul/sys/dev/sfxge/common/efx_ev.c user/dchagin/lemul/sys/dev/sfxge/common/efx_impl.h user/dchagin/lemul/sys/dev/sfxge/common/efx_regs.h user/dchagin/lemul/sys/dev/sfxge/common/efx_tx.c user/dchagin/lemul/sys/dev/sfxge/common/siena_flash.h user/dchagin/lemul/sys/dev/sfxge/common/siena_mon.c user/dchagin/lemul/sys/dev/sfxge/common/siena_nic.c user/dchagin/lemul/sys/dev/sfxge/common/siena_nvram.c user/dchagin/lemul/sys/dev/sfxge/sfxge.c user/dchagin/lemul/sys/dev/sfxge/sfxge.h user/dchagin/lemul/sys/dev/sfxge/sfxge_dma.c user/dchagin/lemul/sys/dev/sfxge/sfxge_ev.c user/dchagin/lemul/sys/dev/sfxge/sfxge_intr.c user/dchagin/lemul/sys/dev/sfxge/sfxge_port.c user/dchagin/lemul/sys/dev/sfxge/sfxge_rx.c user/dchagin/lemul/sys/dev/sfxge/sfxge_rx.h user/dchagin/lemul/sys/dev/sfxge/sfxge_tx.c user/dchagin/lemul/sys/dev/sfxge/sfxge_tx.h user/dchagin/lemul/sys/dev/uart/uart_dev_pl011.c user/dchagin/lemul/sys/dev/usb/controller/dwc_otg.c user/dchagin/lemul/sys/dev/usb/controller/dwc_otgreg.h user/dchagin/lemul/sys/dev/usb/controller/xhci.c user/dchagin/lemul/sys/dev/usb/usb_hub.c user/dchagin/lemul/sys/dev/xen/netback/netback.c user/dchagin/lemul/sys/dev/xen/netfront/netfront.c user/dchagin/lemul/sys/fs/devfs/devfs_vnops.c user/dchagin/lemul/sys/fs/fdescfs/fdesc_vnops.c user/dchagin/lemul/sys/geom/raid/md_intel.c user/dchagin/lemul/sys/geom/raid/md_jmicron.c user/dchagin/lemul/sys/geom/raid/md_nvidia.c user/dchagin/lemul/sys/geom/raid/md_promise.c user/dchagin/lemul/sys/geom/raid/md_sii.c user/dchagin/lemul/sys/gnu/dts/arm/at91rm9200.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91rm9200ek.dts (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9260.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9261.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9263.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9g20.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9g20ek_common.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9g45.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9m10g45ek.dts (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9n12.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9n12ek.dts (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9rl.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9x25.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9x35.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9x5.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9x5_can.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9x5_usart3.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9x5ek.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/ethernut5.dts (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx51-apf51dev.dts (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx51-babbage.dts (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx51.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx53-qsrb.dts (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx53-smd.dts (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx53.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-hummingboard.dts (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-gw5400-a.dts (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-udoo.dts (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-cubox-i.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-gw51xx.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-gw52xx.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-gw53xx.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-gw54xx.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-nitrogen6x.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-phytec-pfla02.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-rex.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-sabrelite.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-sabresd.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6sl-evk.dts (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6sl.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6sx-sdb.dts (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6sx.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d3.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d31.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d33.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d34.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d35.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d36.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d3_can.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d3xcm.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d3xmb.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/arm/vf610.dtsi (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/exynos3250.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/exynos4.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/exynos5420.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/hix5hd2-clock.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/imx5-clock.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/imx6qdl-clock.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/imx6sl-clock.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/imx6sx-clock.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-ipq806x.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/qcom,mmcc-apq8084.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/r8a7790-clock.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/r8a7791-clock.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/rk3188-cru-common.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/rk3288-cru.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/tegra114-car.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/tegra124-car.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/tegra20-car.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/vf610-clock.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/dma/at91.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/interrupt-controller/arm-gic.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/pinctrl/at91.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/pinctrl/dra.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/pinctrl/omap.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/pinctrl/rockchip.h (contents, props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/thermal/thermal.h (contents, props changed) user/dchagin/lemul/sys/i386/i386/mp_machdep.c user/dchagin/lemul/sys/kern/imgact_elf.c user/dchagin/lemul/sys/kern/init_main.c user/dchagin/lemul/sys/kern/kern_exit.c user/dchagin/lemul/sys/kern/kern_jail.c user/dchagin/lemul/sys/kern/kern_kthread.c user/dchagin/lemul/sys/kern/kern_mib.c user/dchagin/lemul/sys/kern/kern_sig.c user/dchagin/lemul/sys/kern/kern_thr.c user/dchagin/lemul/sys/kern/kern_thread.c user/dchagin/lemul/sys/kern/kern_umtx.c user/dchagin/lemul/sys/kern/sched_ule.c user/dchagin/lemul/sys/kern/subr_taskqueue.c user/dchagin/lemul/sys/kern/subr_witness.c user/dchagin/lemul/sys/kern/uipc_socket.c user/dchagin/lemul/sys/kern/vfs_subr.c user/dchagin/lemul/sys/mips/nlm/board.c user/dchagin/lemul/sys/mips/nlm/board.h user/dchagin/lemul/sys/mips/nlm/board_cpld.c user/dchagin/lemul/sys/mips/nlm/board_eeprom.c user/dchagin/lemul/sys/mips/nlm/bus_space_rmi_pci.c user/dchagin/lemul/sys/mips/nlm/cms.c user/dchagin/lemul/sys/mips/nlm/dev/net/mdio.c user/dchagin/lemul/sys/mips/nlm/dev/net/nae.c user/dchagin/lemul/sys/mips/nlm/dev/net/sgmii.c user/dchagin/lemul/sys/mips/nlm/dev/net/ucore/crt0_basic.S user/dchagin/lemul/sys/mips/nlm/dev/net/ucore/ld.ucore.S user/dchagin/lemul/sys/mips/nlm/dev/net/ucore/ucore.h user/dchagin/lemul/sys/mips/nlm/dev/net/ucore/ucore_app.c user/dchagin/lemul/sys/mips/nlm/dev/net/xaui.c user/dchagin/lemul/sys/mips/nlm/dev/net/xlpge.c user/dchagin/lemul/sys/mips/nlm/dev/net/xlpge.h user/dchagin/lemul/sys/mips/nlm/dev/sec/nlmrsa.c user/dchagin/lemul/sys/mips/nlm/dev/sec/nlmrsalib.h user/dchagin/lemul/sys/mips/nlm/dev/sec/nlmsec.c user/dchagin/lemul/sys/mips/nlm/dev/sec/nlmseclib.c user/dchagin/lemul/sys/mips/nlm/dev/sec/nlmseclib.h user/dchagin/lemul/sys/mips/nlm/dev/sec/rsa_ucode.h user/dchagin/lemul/sys/mips/nlm/files.xlp user/dchagin/lemul/sys/mips/nlm/hal/fmn.h user/dchagin/lemul/sys/mips/nlm/hal/gbu.h user/dchagin/lemul/sys/mips/nlm/hal/interlaken.h user/dchagin/lemul/sys/mips/nlm/hal/mdio.h user/dchagin/lemul/sys/mips/nlm/hal/mips-extns.h user/dchagin/lemul/sys/mips/nlm/hal/mmu.h user/dchagin/lemul/sys/mips/nlm/hal/nae.h user/dchagin/lemul/sys/mips/nlm/hal/nlm_hal.c user/dchagin/lemul/sys/mips/nlm/hal/nlmsaelib.h user/dchagin/lemul/sys/mips/nlm/hal/pcibus.h user/dchagin/lemul/sys/mips/nlm/hal/pic.h user/dchagin/lemul/sys/mips/nlm/hal/poe.h user/dchagin/lemul/sys/mips/nlm/hal/sgmii.h user/dchagin/lemul/sys/mips/nlm/hal/ucore_loader.h user/dchagin/lemul/sys/mips/nlm/hal/usb.h user/dchagin/lemul/sys/mips/nlm/hal/xaui.h user/dchagin/lemul/sys/mips/nlm/interrupt.h user/dchagin/lemul/sys/mips/nlm/intr_machdep.c user/dchagin/lemul/sys/mips/nlm/mpreset.S user/dchagin/lemul/sys/mips/nlm/msgring.h user/dchagin/lemul/sys/mips/nlm/tick.c user/dchagin/lemul/sys/mips/nlm/uart_cpu_xlp.c user/dchagin/lemul/sys/mips/nlm/usb_init.c user/dchagin/lemul/sys/mips/nlm/xlp.h user/dchagin/lemul/sys/mips/nlm/xlp_machdep.c user/dchagin/lemul/sys/mips/nlm/xlp_pci.c user/dchagin/lemul/sys/modules/sfxge/Makefile user/dchagin/lemul/sys/net/if_var.h user/dchagin/lemul/sys/net80211/ieee80211_output.c user/dchagin/lemul/sys/netinet/igmp.c user/dchagin/lemul/sys/netinet/ip.h user/dchagin/lemul/sys/netinet/ip_output.c user/dchagin/lemul/sys/netipsec/ipsec.h user/dchagin/lemul/sys/netipsec/key.c user/dchagin/lemul/sys/nfs/krpc_subr.c user/dchagin/lemul/sys/ofed/include/linux/kernel.h user/dchagin/lemul/sys/ofed/include/linux/log2.h user/dchagin/lemul/sys/powerpc/aim/mmu_oea64.c user/dchagin/lemul/sys/powerpc/aim/mmu_oea64.h user/dchagin/lemul/sys/powerpc/aim/moea64_if.m user/dchagin/lemul/sys/powerpc/aim/moea64_native.c user/dchagin/lemul/sys/powerpc/aim/trap.c user/dchagin/lemul/sys/powerpc/aim/trap_subr64.S user/dchagin/lemul/sys/powerpc/fpu/fpu_emu.c user/dchagin/lemul/sys/powerpc/fpu/fpu_explode.c user/dchagin/lemul/sys/powerpc/include/cpu.h user/dchagin/lemul/sys/powerpc/include/pcb.h user/dchagin/lemul/sys/powerpc/include/pmap.h user/dchagin/lemul/sys/powerpc/include/psl.h user/dchagin/lemul/sys/powerpc/include/reg.h user/dchagin/lemul/sys/powerpc/include/trap.h user/dchagin/lemul/sys/powerpc/powerpc/cpu.c user/dchagin/lemul/sys/powerpc/powerpc/db_trace.c user/dchagin/lemul/sys/powerpc/powerpc/exec_machdep.c user/dchagin/lemul/sys/powerpc/powerpc/fpu.c user/dchagin/lemul/sys/powerpc/ps3/mmu_ps3.c user/dchagin/lemul/sys/powerpc/pseries/mmu_phyp.c user/dchagin/lemul/sys/powerpc/pseries/phyp_vscsi.c user/dchagin/lemul/sys/sys/jail.h user/dchagin/lemul/sys/sys/mbuf.h user/dchagin/lemul/sys/sys/mtio.h user/dchagin/lemul/sys/sys/param.h user/dchagin/lemul/sys/sys/queue.h user/dchagin/lemul/sys/sys/taskqueue.h user/dchagin/lemul/sys/sys/vnode.h user/dchagin/lemul/sys/vm/vm_mmap.c user/dchagin/lemul/sys/x86/acpica/madt.c user/dchagin/lemul/sys/x86/include/apicvar.h user/dchagin/lemul/sys/x86/x86/io_apic.c user/dchagin/lemul/sys/x86/x86/local_apic.c user/dchagin/lemul/sys/x86/xen/xen_intr.c user/dchagin/lemul/tools/build/mk/OptionalObsoleteFiles.inc user/dchagin/lemul/usr.bin/enigma/enigma.c user/dchagin/lemul/usr.bin/mt/Makefile user/dchagin/lemul/usr.bin/mt/mt.1 user/dchagin/lemul/usr.bin/mt/mt.c user/dchagin/lemul/usr.bin/netstat/if.c user/dchagin/lemul/usr.bin/unifdef/unifdef.1 user/dchagin/lemul/usr.bin/unifdef/unifdef.c user/dchagin/lemul/usr.bin/unifdef/unifdef.h user/dchagin/lemul/usr.bin/unifdef/unifdefall.sh user/dchagin/lemul/usr.sbin/Makefile user/dchagin/lemul/usr.sbin/bhyve/bhyve.8 user/dchagin/lemul/usr.sbin/bhyve/bhyverun.c user/dchagin/lemul/usr.sbin/bhyve/pci_ahci.c user/dchagin/lemul/usr.sbin/bhyve/rtc.c user/dchagin/lemul/usr.sbin/bhyve/rtc.h user/dchagin/lemul/usr.sbin/bhyve/xmsr.c user/dchagin/lemul/usr.sbin/ctld/ctl.conf.5 user/dchagin/lemul/usr.sbin/ctld/ctld.c user/dchagin/lemul/usr.sbin/ctld/ctld.h user/dchagin/lemul/usr.sbin/ctld/kernel.c user/dchagin/lemul/usr.sbin/ctld/login.c user/dchagin/lemul/usr.sbin/ctld/parse.y user/dchagin/lemul/usr.sbin/jail/jail.8 user/dchagin/lemul/usr.sbin/pmccontrol/pmccontrol.c user/dchagin/lemul/usr.sbin/pw/tests/pw_useradd.sh Directory Properties: user/dchagin/lemul/ (props changed) user/dchagin/lemul/cddl/ (props changed) user/dchagin/lemul/cddl/contrib/opensolaris/ (props changed) user/dchagin/lemul/contrib/binutils/ (props changed) user/dchagin/lemul/contrib/elftoolchain/ (props changed) user/dchagin/lemul/contrib/groff/ (props changed) user/dchagin/lemul/contrib/libcxxrt/ (props changed) user/dchagin/lemul/contrib/llvm/ (props changed) user/dchagin/lemul/etc/ (props changed) user/dchagin/lemul/lib/libc/ (props changed) user/dchagin/lemul/sbin/ (props changed) user/dchagin/lemul/share/ (props changed) user/dchagin/lemul/share/man/man4/ (props changed) user/dchagin/lemul/sys/ (props changed) user/dchagin/lemul/sys/amd64/vmm/ (props changed) user/dchagin/lemul/sys/boot/ (props changed) user/dchagin/lemul/sys/conf/ (props changed) user/dchagin/lemul/sys/gnu/dts/ (props changed) user/dchagin/lemul/sys/gnu/dts/FreeBSD-list (props changed) user/dchagin/lemul/sys/gnu/dts/FreeBSD-upgrade (props changed) user/dchagin/lemul/sys/gnu/dts/arm/ (props changed) user/dchagin/lemul/sys/gnu/dts/arm/animeo_ip.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91-ariag25.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91-cosino.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91-cosino_mega2560.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91-foxg20.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91-qil_a9260.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91-sama5d3_xplained.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91rm9200_pqfp.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9261ek.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9263ek.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9g15.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9g15ek.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9g20ek.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9g20ek_2mmc.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9g25.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9g25ek.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9g35.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9g35ek.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9rlek.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9x25ek.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9x35ek.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9x5_isi.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9x5_lcd.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9x5_macb0.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9x5_macb1.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/at91sam9x5cm.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/evk-pro3.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/ge863-pro3.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx51-apf51.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx51-digi-connectcore-jsk.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx51-digi-connectcore-som.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx51-eukrea-cpuimx51.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx51-eukrea-mbimxsd51-baseboard.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx51-pinfunc.h (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx53-ard.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx53-evk.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx53-m53.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx53-m53evk.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx53-mba53.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx53-pinfunc.h (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx53-qsb-common.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx53-qsb.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx53-tqma53.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx53-tx53-x03x.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx53-tx53-x13x.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx53-tx53.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx53-voipac-bsb.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx53-voipac-dmm-668.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-aristainetos_4.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-aristainetos_7.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-cubox-i.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-dfi-fs700-m60.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-gw51xx.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-gw52xx.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-gw53xx.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-gw54xx.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-nitrogen6x.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-phytec-pbab01.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-phytec-pfla02.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-pinfunc.h (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-rex-basic.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-riotboard.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-sabreauto.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-sabrelite.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-sabresd.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-tx6dl-comtft.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-tx6u-801x.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-tx6u-811x.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-wandboard-revb1.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6dl-wandboard.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-arm2.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-cm-fx6.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-cubox-i.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-dfi-fs700-m60.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-dmo-edmqmx6.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-gk802.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-gw51xx.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-gw52xx.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-gw53xx.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-gw54xx.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-nitrogen6x.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-phytec-pbab01.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-phytec-pfla02.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-pinfunc.h (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-rex-pro.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-sabreauto.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-sabrelite.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-sabresd.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-sbc6x.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-tx6q-1010-comtft.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-tx6q-1010.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-tx6q-1020-comtft.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-tx6q-1020.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-tx6q-1110.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-wandboard-revb1.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6q-wandboard.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-aristainetos.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-dfi-fs700-m60.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-sabreauto.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-tx6.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-wandboard-revb1.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-wandboard-revc1.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6qdl-wandboard.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/imx6sl-pinfunc.h (props changed) user/dchagin/lemul/sys/gnu/dts/arm/kizbox.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/mpa1600.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/pm9g45.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d31ek.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d33ek.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d34ek.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d35ek.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d36ek.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d3_emac.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d3_gmac.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d3_lcd.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d3_mci2.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d3_tcb1.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d3_uart.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/sama5d3xdm.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/skeleton.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/skeleton64.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/tny_a9260.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/tny_a9260_common.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/tny_a9263.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/tny_a9g20.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/usb_a9260.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/usb_a9260_common.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/usb_a9263.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/usb_a9g20.dts (props changed) user/dchagin/lemul/sys/gnu/dts/arm/usb_a9g20_common.dtsi (props changed) user/dchagin/lemul/sys/gnu/dts/arm/usb_a9g20_lpw.dts (props changed) user/dchagin/lemul/sys/gnu/dts/include/ (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/ (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clk/ (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clk/at91.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clk/exynos-audss-clk.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clk/ti-dra7-atl.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/ (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/at91.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/bcm21664.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/bcm281xx.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/berlin2.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/berlin2q.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/clps711x-clock.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/efm32-cmu.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/exynos-audss-clk.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/exynos5250.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/exynos5260-clk.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/exynos5410.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/exynos5440.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/hi3620-clock.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/hip04-clock.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/imx1-clock.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/imx21-clock.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/imx27-clock.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/lsi,axm5516-clks.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/mpc512x-clock.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-apq8084.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-msm8660.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-msm8960.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-msm8974.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/qcom,mmcc-msm8960.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/qcom,mmcc-msm8974.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/r7s72100-clock.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/r8a7779-clock.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/rk3066a-cru.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/rk3188-cru.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/s3c2410.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/s3c2412.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/s3c2443.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/s5pv210-audss.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/s5pv210.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/samsung,s3c64xx-clock.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/stih415-clks.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/stih416-clks.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/clock/tegra30-car.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/dma/ (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/dma/nbpfaxi.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/gpio/ (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/gpio/gpio.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/gpio/tegra-gpio.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/input/ (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/input/input.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/interrupt-controller/ (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/interrupt-controller/irq.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/mfd/ (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/mfd/as3722.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/mfd/dbx500-prcmu.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/mfd/palmas.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/phy/ (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/phy/phy-miphy365x.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/pinctrl/ (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/pinctrl/am33xx.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/pinctrl/am43xx.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/pinctrl/nomadik.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/pinctrl/pinctrl-tegra-xusb.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/pinctrl/pinctrl-tegra.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/pwm/ (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/pwm/pwm.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/reset/ (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/reset-controller/ (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/reset-controller/stih415-resets.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/reset-controller/stih416-resets.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/reset/altr,rst-mgr.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/reset/qcom,gcc-apq8084.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/reset/qcom,gcc-ipq806x.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/reset/qcom,gcc-msm8660.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/reset/qcom,gcc-msm8960.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/reset/qcom,gcc-msm8974.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/reset/qcom,mmcc-apq8084.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/reset/qcom,mmcc-msm8960.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/reset/qcom,mmcc-msm8974.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/soc/ (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/soc/qcom,gsbi.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/sound/ (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/sound/fsl-imx-audmux.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/sound/tlv320aic31xx-micbias.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/spmi/ (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/spmi/spmi.h (props changed) user/dchagin/lemul/sys/gnu/dts/include/dt-bindings/thermal/ (props changed) user/dchagin/lemul/usr.sbin/bhyve/ (props changed) user/dchagin/lemul/usr.sbin/jail/ (props changed) Modified: user/dchagin/lemul/Makefile.inc1 ============================================================================== --- user/dchagin/lemul/Makefile.inc1 Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/Makefile.inc1 Sat Feb 28 21:20:46 2015 (r279409) @@ -371,7 +371,13 @@ XCFLAGS+= -target ${TARGET_TRIPLE} XCFLAGS+= --sysroot=${WORLDTMP} ${BFLAGS} XCXXFLAGS+= --sysroot=${WORLDTMP} ${BFLAGS} .endif +.else +.if defined(CROSS_BINUTILS_PREFIX) && exists(${CROSS_BINUTILS_PREFIX}) +BFLAGS+= -B${CROSS_BINUTILS_PREFIX} +XCFLAGS+= ${BFLAGS} +XCXXFLAGS+= ${BFLAGS} .endif +.endif # ${XCC:M/*} WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP} @@ -1222,6 +1228,8 @@ legacy: # # bootstrap-tools: Build tools needed for compatibility # +_bt= _bootstrap-tools + .if ${MK_GAMES} != "no" _strfile= games/fortune/strfile .endif @@ -1245,6 +1253,8 @@ _sed= usr.bin/sed .if ${BOOTSTRAPPING} < 1000002 _m4= lib/libohash \ usr.bin/m4 + +${_bt}-usr.bin/m4: ${_bt}-lib/libohash .endif .if ${BOOTSTRAPPING} < 1000014 @@ -1254,6 +1264,8 @@ _crunch= usr.sbin/crunch .if ${BOOTSTRAPPING} < 1000026 _nmtree= lib/libnetbsd \ usr.sbin/nmtree + +${_bt}-usr.sbin/nmtree: ${_bt}-lib/libnetbsd .endif .if ${BOOTSTRAPPING} < 1000027 @@ -1271,6 +1283,8 @@ _awk= usr.bin/awk .if ${BOOTSTRAPPING} < 1001506 _yacc= lib/liby \ usr.bin/yacc + +${_bt}-usr.bin/yacc: ${_bt}-lib/liby .endif .if ${MK_BSNMP} != "no" @@ -1285,6 +1299,9 @@ _clang_tblgen= \ lib/clang/libllvmtablegen \ usr.bin/clang/tblgen \ usr.bin/clang/clang-tblgen + +${_bt}-usr.bin/clang/clang-tblgen: ${_bt}-lib/clang/libllvmtablegen ${_bt}-lib/clang/libllvmsupport +${_bt}-usr.bin/clang/tblgen: ${_bt}-lib/clang/libllvmtablegen ${_bt}-lib/clang/libllvmsupport .endif # ELF Tool Chain libraries are needed for ELF tools and dtrace tools. @@ -1296,6 +1313,9 @@ _elftoolchain_libs= lib/libelf lib/libdw .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 .endif .endif @@ -1314,12 +1334,16 @@ _kerberos5_bootstrap_tools= \ kerberos5/tools/asn1_compile \ kerberos5/tools/slc \ usr.bin/compile_et + +${_bt}-kerberos5/tools/slc: ${_bt}-kerberos5/lib/libroken +${_bt}-kerberos5/tools/asn1_compile: ${_bt}-kerberos5/lib/libroken .endif +bootstrap-tools: .PHONY + # Please document (add comment) why something is in 'bootstrap-tools'. # Try to bound the building of the bootstrap-tool to just the # FreeBSD versions that need the tool built at this stage of the build. -bootstrap-tools: .MAKE .for _tool in \ ${_clang_tblgen} \ ${_kerberos5_bootstrap_tools} \ @@ -1345,12 +1369,15 @@ bootstrap-tools: .MAKE ${_crunch} \ ${_nmtree} \ ${_vtfontcvt} +${_bt}-${_tool}: .PHONY .MAKE ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ cd ${.CURDIR}/${_tool} && \ ${MAKE} DIRPRFX=${_tool}/ obj && \ ${MAKE} DIRPRFX=${_tool}/ depend && \ ${MAKE} DIRPRFX=${_tool}/ all && \ ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy install + +bootstrap-tools: ${_bt}-${_tool} .endfor # Modified: user/dchagin/lemul/ObsoleteFiles.inc ============================================================================== --- user/dchagin/lemul/ObsoleteFiles.inc Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/ObsoleteFiles.inc Sat Feb 28 21:20:46 2015 (r279409) @@ -38,6 +38,11 @@ # xargs -n1 | sort | uniq -d; # done +# 20150222: Removed bcd(6) and ppt(6) +OLD_FILES+=usr/bin/bcd +OLD_FILES+=usr/bin/ppt +OLD_FILES+=usr/share/man/man6/bcd.6.gz +OLD_FILES+=usr/share/man/man6/ppt.6.gz # 20150217: Removed remnants of ar(4) driver OLD_FILES+=usr/include/sys/dev/ic/hd64570.h # 20150212: /usr/games moving into /usr/bin Modified: user/dchagin/lemul/bin/sh/expand.c ============================================================================== --- user/dchagin/lemul/bin/sh/expand.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/bin/sh/expand.c Sat Feb 28 21:20:46 2015 (r279409) @@ -635,7 +635,7 @@ evalvar(char *p, int flag) int varlenb; int easy; int quotes = flag & (EXP_FULL | EXP_CASE); - int record; + int record = 0; varflags = (unsigned char)*p++; subtype = varflags & VSTYPE; Modified: user/dchagin/lemul/bin/sh/sh.1 ============================================================================== --- user/dchagin/lemul/bin/sh/sh.1 Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/bin/sh/sh.1 Sat Feb 28 21:20:46 2015 (r279409) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd November 14, 2014 +.Dd February 22, 2015 .Dt SH 1 .Os .Sh NAME @@ -1196,17 +1196,18 @@ command is implemented as a special buil .Ss Variables and Parameters The shell maintains a set of parameters. A parameter -denoted by a name is called a variable. +denoted by a name +(consisting solely +of alphabetics, numerics, and underscores, +and starting with an alphabetic or an underscore) +is called a variable. When starting up, -the shell turns all the environment variables into shell +the shell turns all environment variables with valid names into shell variables. New variables can be set using the form .Pp .D1 Ar name Ns = Ns Ar value .Pp -Variables set by the user must have a name consisting solely -of alphabetics, numerics, and underscores. -The first letter of a variable name must not be numeric. A parameter can also be denoted by a number or a special character as explained below. .Pp @@ -1369,6 +1370,10 @@ This variable overrides the .Va MAIL setting. There is a maximum of 10 mailboxes that can be monitored at once. +.It Va OPTIND +The index of the next argument to be processed by +.Ic getopts . +This is initialized to 1 at startup. .It Va PATH The default search path for executables. See the @@ -2297,6 +2302,8 @@ If an invalid option is encountered, is set to .Ql \&? . It returns a false value (1) when it encounters the end of the options. +A new set of arguments may be parsed by assigning +.Li OPTIND=1 . .It Ic hash Oo Fl rv Oc Op Ar command ... The shell maintains a hash table which remembers the locations of commands. With no arguments whatsoever, the @@ -2771,7 +2778,7 @@ This is inherited by children of the she editing modes. .El .Pp -Additionally, all environment variables are turned into shell variables +Additionally, environment variables are turned into shell variables at startup, which may affect the shell as described under .Sx Special Variables . Modified: user/dchagin/lemul/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- user/dchagin/lemul/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Sat Feb 28 21:20:46 2015 (r279409) @@ -834,6 +834,8 @@ zpool_do_create(int argc, char **argv) enable_all_pool_feat = B_FALSE; } } + if (zpool_name_to_prop(optarg) == ZPOOL_PROP_ALTROOT) + altroot = propval; break; case 'O': if ((propval = strchr(optarg, '=')) == NULL) { Modified: user/dchagin/lemul/cddl/usr.bin/ctfconvert/Makefile ============================================================================== --- user/dchagin/lemul/cddl/usr.bin/ctfconvert/Makefile Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/cddl/usr.bin/ctfconvert/Makefile Sat Feb 28 21:20:46 2015 (r279409) @@ -36,7 +36,7 @@ CFLAGS+= -I${.CURDIR}/../../../sys/cddl/ -I${OPENSOLARIS_USR_DISTDIR}/tools/ctf/cvt \ -I${OPENSOLARIS_SYS_DISTDIR}/uts/common -DPADD= ${LIBCTF} ${LIBDWARF} ${LIBELF} ${LIBZ} ${LIBPTHREAD} -LDADD= -lctf -ldwarf -lelf -lz -lpthread +DPADD= ${LIBDWARF} ${LIBELF} ${LIBZ} ${LIBPTHREAD} +LDADD= -ldwarf -lelf -lz -lpthread .include Modified: user/dchagin/lemul/cddl/usr.bin/ctfmerge/Makefile ============================================================================== --- user/dchagin/lemul/cddl/usr.bin/ctfmerge/Makefile Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/cddl/usr.bin/ctfmerge/Makefile Sat Feb 28 21:20:46 2015 (r279409) @@ -33,7 +33,7 @@ CFLAGS+= -I${.CURDIR}/../../../sys/cddl/ -I${OPENSOLARIS_USR_DISTDIR}/tools/ctf/cvt \ -I${OPENSOLARIS_SYS_DISTDIR}/uts/common -DPADD= ${LIBCTF} ${LIBDWARF} ${LIBELF} ${LIBZ} ${LIBPTHREAD} -LDADD= -lctf -ldwarf -lelf -lz -lpthread +DPADD= ${LIBDWARF} ${LIBELF} ${LIBZ} ${LIBPTHREAD} +LDADD= -ldwarf -lelf -lz -lpthread .include Modified: user/dchagin/lemul/contrib/binutils/bfd/dwarf2.c ============================================================================== --- user/dchagin/lemul/contrib/binutils/bfd/dwarf2.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/contrib/binutils/bfd/dwarf2.c Sat Feb 28 21:20:46 2015 (r279409) @@ -2382,7 +2382,8 @@ find_line (bfd *abfd, else addr += section->vma; *filename_ptr = NULL; - *functionname_ptr = NULL; + if (!do_line) + *functionname_ptr = NULL; *linenumber_ptr = 0; if (! *pinfo) Modified: user/dchagin/lemul/contrib/binutils/opcodes/ppc-opc.c ============================================================================== --- user/dchagin/lemul/contrib/binutils/opcodes/ppc-opc.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/contrib/binutils/opcodes/ppc-opc.c Sat Feb 28 21:20:46 2015 (r279409) @@ -4268,6 +4268,11 @@ const struct powerpc_opcode powerpc_opco { "stvx", X(31, 231), X_MASK, PPCVEC, { VS, RA, RB } }, { "stvxl", X(31, 487), X_MASK, PPCVEC, { VS, RA, RB } }, +/* New VSX opcodes in POWER ISA 2.06 */ +/* XXX: only enough opcodes for FreeBSD kernel, remove and replace with real info */ +{ "stxvw4x", X(31, 908), X_MASK, PPCVEC, { FRS, RA0, RB } }, +{ "lxvw4x", X(31, 780), X_MASK, PPCVEC, { FRT, RA0, RB } }, + /* New load/store left/right index vector instructions that are in the Cell only. */ { "lvlx", X(31, 519), X_MASK, CELL, { VD, RA0, RB } }, { "lvlxl", X(31, 775), X_MASK, CELL, { VD, RA0, RB } }, Modified: user/dchagin/lemul/contrib/elftoolchain/nm/nm.c ============================================================================== --- user/dchagin/lemul/contrib/elftoolchain/nm/nm.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/contrib/elftoolchain/nm/nm.c Sat Feb 28 21:20:46 2015 (r279409) @@ -1525,7 +1525,8 @@ print_lineno(struct sym_entry *ep, struc /* For function symbol, search the function line information list. */ if ((ep->sym->st_info & 0xf) == STT_FUNC && func_info != NULL) { SLIST_FOREACH(func, func_info, entries) { - if (!strcmp(ep->name, func->name) && + if (func->name != NULL && + !strcmp(ep->name, func->name) && ep->sym->st_value >= func->lowpc && ep->sym->st_value < func->highpc) { printf("\t%s:%" PRIu64, func->file, func->line); Modified: user/dchagin/lemul/contrib/groff/tmac/doc-syms ============================================================================== --- user/dchagin/lemul/contrib/groff/tmac/doc-syms Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/contrib/groff/tmac/doc-syms Sat Feb 28 21:20:46 2015 (r279409) @@ -796,6 +796,7 @@ .ds doc-str-Lb-libmd Message Digest (MD4, MD5, etc.) Support Library (libmd, \-lmd) .ds doc-str-Lb-libmemstat Kernel Memory Allocator Statistics Library (libmemstat, \-lmemstat) .ds doc-str-Lb-libmenu Curses Menu Library (libmenu, \-lmenu) +.ds doc-str-Lb-libmt Magnetic Tape Library (libmt, \-lmt) .ds doc-str-Lb-libnetgraph Netgraph User Library (libnetgraph, \-lnetgraph) .ds doc-str-Lb-libnetpgp Netpgp signing, verification, encryption and decryption (libnetpgp, \-lnetpgp) .ds doc-str-Lb-libossaudio OSS Audio Emulation Library (libossaudio, \-lossaudio) Modified: user/dchagin/lemul/contrib/libcxxrt/dwarf_eh.h ============================================================================== --- user/dchagin/lemul/contrib/libcxxrt/dwarf_eh.h Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/contrib/libcxxrt/dwarf_eh.h Sat Feb 28 21:20:46 2015 (r279409) @@ -218,15 +218,17 @@ static int64_t read_sleb128(dw_eh_ptr_t static uint64_t read_value(char encoding, dw_eh_ptr_t *data) { enum dwarf_data_encoding type = get_encoding(encoding); - uint64_t v; switch (type) { // Read fixed-length types #define READ(dwarf, type) \ case dwarf:\ - v = static_cast(*reinterpret_cast(*data));\ - *data += sizeof(type);\ - break; + {\ + type t;\ + memcpy(&t, *data, sizeof t);\ + *data += sizeof t;\ + return static_cast(t);\ + } READ(DW_EH_PE_udata2, uint16_t) READ(DW_EH_PE_udata4, uint32_t) READ(DW_EH_PE_udata8, uint64_t) @@ -237,15 +239,11 @@ static uint64_t read_value(char encoding #undef READ // Read variable-length types case DW_EH_PE_sleb128: - v = read_sleb128(data); - break; + return read_sleb128(data); case DW_EH_PE_uleb128: - v = read_uleb128(data); - break; + return read_uleb128(data); default: abort(); } - - return v; } /** Modified: user/dchagin/lemul/contrib/libcxxrt/unwind-arm.h ============================================================================== --- user/dchagin/lemul/contrib/libcxxrt/unwind-arm.h Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/contrib/libcxxrt/unwind-arm.h Sat Feb 28 21:20:46 2015 (r279409) @@ -36,6 +36,8 @@ _URC_FATAL_PHASE1_ERROR = _URC_FAILURE } _Unwind_Reason_Code; +typedef int _Unwind_Action; + typedef uint32_t _Unwind_State; #ifdef __clang__ static const _Unwind_State _US_VIRTUAL_UNWIND_FRAME = 0; Modified: user/dchagin/lemul/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp ============================================================================== --- user/dchagin/lemul/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp Sat Feb 28 21:20:46 2015 (r279409) @@ -498,6 +498,8 @@ bool LoopRotate::rotateLoop(Loop *L, boo Loop *PredLoop = LI->getLoopFor(*PI); if (!PredLoop || PredLoop->contains(Exit)) continue; + if (isa((*PI)->getTerminator())) + continue; SplitLatchEdge |= L->getLoopLatch() == *PI; BasicBlock *ExitSplit = SplitCriticalEdge(*PI, Exit, this); ExitSplit->moveBefore(Exit); Copied: user/dchagin/lemul/contrib/llvm/patches/patch-32-llvm-r230058-indirectbrs-assert.diff (from r279408, head/contrib/llvm/patches/patch-32-llvm-r230058-indirectbrs-assert.diff) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/dchagin/lemul/contrib/llvm/patches/patch-32-llvm-r230058-indirectbrs-assert.diff Sat Feb 28 21:20:46 2015 (r279409, copy of r279408, head/contrib/llvm/patches/patch-32-llvm-r230058-indirectbrs-assert.diff) @@ -0,0 +1,55 @@ +Pull in r230058 from upstream llvm trunk (by Benjamin Kramer): + + LoopRotate: When reconstructing loop simplify form don't split edges + from indirectbrs. + + Yet another chapter in the endless story. While this looks like we + leave the loop in a non-canonical state this replicates the logic in + LoopSimplify so it doesn't diverge from the canonical form in any way. + + PR21968 + +This fixes a "Cannot split critical edge from IndirectBrInst" assertion +failure when building the devel/radare2 port. + +Introduced here: https://svnweb.freebsd.org/changeset/base/279161 + +Index: lib/Transforms/Scalar/LoopRotation.cpp +=================================================================== +--- lib/Transforms/Scalar/LoopRotation.cpp ++++ lib/Transforms/Scalar/LoopRotation.cpp +@@ -498,6 +498,8 @@ bool LoopRotate::rotateLoop(Loop *L, bool Simplifi + Loop *PredLoop = LI->getLoopFor(*PI); + if (!PredLoop || PredLoop->contains(Exit)) + continue; ++ if (isa((*PI)->getTerminator())) ++ continue; + SplitLatchEdge |= L->getLoopLatch() == *PI; + BasicBlock *ExitSplit = SplitCriticalEdge(*PI, Exit, this); + ExitSplit->moveBefore(Exit); +Index: test/Transforms/LoopRotate/crash.ll +=================================================================== +--- test/Transforms/LoopRotate/crash.ll ++++ test/Transforms/LoopRotate/crash.ll +@@ -153,3 +153,21 @@ entry: + "5": ; preds = %"3", %entry + ret void + } ++ ++; PR21968 ++define void @test8(i1 %C, i8* %P) #0 { ++entry: ++ br label %for.cond ++ ++for.cond: ; preds = %for.inc, %entry ++ br i1 %C, label %l_bad, label %for.body ++ ++for.body: ; preds = %for.cond ++ indirectbr i8* %P, [label %for.inc, label %l_bad] ++ ++for.inc: ; preds = %for.body ++ br label %for.cond ++ ++l_bad: ; preds = %for.body, %for.cond ++ ret void ++} Modified: user/dchagin/lemul/contrib/netbsd-tests/lib/libc/gen/t_nice.c ============================================================================== --- user/dchagin/lemul/contrib/netbsd-tests/lib/libc/gen/t_nice.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/contrib/netbsd-tests/lib/libc/gen/t_nice.c Sat Feb 28 21:20:46 2015 (r279409) @@ -72,11 +72,6 @@ ATF_TC_BODY(nice_err, tc) { int i; -#ifdef __FreeBSD__ - atf_tc_expect_fail("nice(incr) with incr < 0 fails with unprivileged " - "users and sets errno == EPERM; see PR # 189821 for more details"); -#endif - /* * The call should fail with EPERM if the * supplied parameter is negative and the Modified: user/dchagin/lemul/etc/Makefile ============================================================================== --- user/dchagin/lemul/etc/Makefile Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/etc/Makefile Sat Feb 28 21:20:46 2015 (r279409) @@ -158,16 +158,13 @@ BIN1+= regdomain.xml # -rwxr-xr-x root:wheel, for the new cron root:wheel BIN2= netstart pccard_ether rc.suspend rc.resume -MTREE= BSD.include.dist BSD.root.dist BSD.usr.dist BSD.var.dist +MTREE= BSD.debug.dist BSD.include.dist BSD.root.dist BSD.usr.dist BSD.var.dist .if ${MK_TESTS} != "no" MTREE+= BSD.tests.dist .endif .if ${MK_SENDMAIL} != "no" MTREE+= BSD.sendmail.dist .endif -.if ${MK_DEBUG_FILES} != "no" -MTREE+= BSD.debug.dist -.endif PPPCNF= ppp.conf @@ -346,10 +343,8 @@ MTREE_CMD?= mtree MTREES= mtree/BSD.root.dist / \ mtree/BSD.var.dist /var \ mtree/BSD.usr.dist /usr \ - mtree/BSD.include.dist /usr/include -.if ${MK_DEBUG_FILES} != "no" -MTREES+= mtree/BSD.debug.dist /usr/lib -.endif + mtree/BSD.include.dist /usr/include \ + mtree/BSD.debug.dist /usr/lib .if ${MK_GROFF} != "no" MTREES+= mtree/BSD.groff.dist /usr .endif Modified: user/dchagin/lemul/etc/mtree/BSD.usr.dist ============================================================================== --- user/dchagin/lemul/etc/mtree/BSD.usr.dist Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/etc/mtree/BSD.usr.dist Sat Feb 28 21:20:46 2015 (r279409) @@ -415,6 +415,8 @@ .. tcsh .. + uefisign + .. .. games fortune Modified: user/dchagin/lemul/games/Makefile ============================================================================== --- user/dchagin/lemul/games/Makefile Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/games/Makefile Sat Feb 28 21:20:46 2015 (r279409) @@ -3,7 +3,6 @@ .include SUBDIR= \ - bcd \ caesar \ factor \ fortune \ @@ -11,7 +10,6 @@ SUBDIR= \ morse \ number \ pom \ - ppt \ primes \ random \ ${_tests} Modified: user/dchagin/lemul/lib/Makefile ============================================================================== --- user/dchagin/lemul/lib/Makefile Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/lib/Makefile Sat Feb 28 21:20:46 2015 (r279409) @@ -70,6 +70,7 @@ SUBDIR= ${SUBDIR_ORDERED} \ libmd \ ${_libmilter} \ ${_libmp} \ + libmt \ ${_libnandfs} \ libnetbsd \ ${_libnetgraph} \ Modified: user/dchagin/lemul/lib/libc/gen/_spinlock_stub.c ============================================================================== --- user/dchagin/lemul/lib/libc/gen/_spinlock_stub.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/lib/libc/gen/_spinlock_stub.c Sat Feb 28 21:20:46 2015 (r279409) @@ -59,7 +59,7 @@ _spinlock(spinlock_t *lck) } -#pragma weak _spinlock +#pragma weak _spinunlock void _spinunlock(spinlock_t *lck) { Modified: user/dchagin/lemul/lib/libc/gen/nice.3 ============================================================================== --- user/dchagin/lemul/lib/libc/gen/nice.3 Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/lib/libc/gen/nice.3 Sat Feb 28 21:20:46 2015 (r279409) @@ -28,7 +28,7 @@ .\" @(#)nice.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd June 4, 1993 +.Dd February 28, 2015 .Dt NICE 3 .Os .Sh NAME @@ -48,20 +48,48 @@ This interface is obsoleted by .Pp The .Fn nice -function obtains the scheduling priority of the process -from the system and sets it to the priority value specified in -.Fa incr . +function adds +.Fa incr +to the scheduling priority of the process. The priority is a value in the range -20 to 20. The default priority is 0; lower priorities cause more favorable scheduling. Only the super-user may lower priorities. .Pp Children inherit the priority of their parent processes via .Xr fork 2 . +.Sh RETURN VALUES +Upon successful completion, +.Fn nice +returns 0, and +.Va errno +is unchanged. +Otherwise, \-1 is returned, the process' nice value is not changed, and +.Va errno +is set to indicate the error. +.Sh ERRORS +The +.Fn nice +function will fail if: +.Bl -tag -width Er +.It Bq Er EPERM +The +.Fa incr +argument is negative and the caller does not have appropriate privileges. +.El .Sh SEE ALSO .Xr nice 1 , .Xr fork 2 , .Xr setpriority 2 , .Xr renice 8 +.Sh STANDARDS +The +.Fn nice +function conforms to +.St -p1003.1-2008 +except for the return value. +This implementation returns 0 upon successful completion but +the standard requires returning the new nice value, +which could be \-1. .Sh HISTORY A .Fn nice Modified: user/dchagin/lemul/lib/libc/gen/nice.c ============================================================================== --- user/dchagin/lemul/lib/libc/gen/nice.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/lib/libc/gen/nice.c Sat Feb 28 21:20:46 2015 (r279409) @@ -43,14 +43,20 @@ __FBSDID("$FreeBSD$"); * Backwards compatible nice. */ int -nice(incr) - int incr; +nice(int incr) { - int prio; + int saverrno, prio; + saverrno = errno; errno = 0; prio = getpriority(PRIO_PROCESS, 0); - if (prio == -1 && errno) + if (prio == -1 && errno != 0) return (-1); - return (setpriority(PRIO_PROCESS, 0, prio + incr)); + if (setpriority(PRIO_PROCESS, 0, prio + incr) == -1) { + if (errno == EACCES) + errno = EPERM; + return (-1); + } + errno = saverrno; + return (0); } Modified: user/dchagin/lemul/lib/libc/gen/setmode.3 ============================================================================== --- user/dchagin/lemul/lib/libc/gen/setmode.3 Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/lib/libc/gen/setmode.3 Sat Feb 28 21:20:46 2015 (r279409) @@ -28,7 +28,7 @@ .\" @(#)setmode.3 8.2 (Berkeley) 4/28/95 .\" $FreeBSD$ .\" -.Dd April 28, 1995 +.Dd February 22, 2015 .Dt SETMODE 3 .Os .Sh NAME @@ -99,7 +99,20 @@ The function may fail and set errno for any of the errors specified for the library routine -.Xr malloc 3 . +.Xr malloc 3 +or +.Xr strtol 3 . +In addition, +.Fn setmode +will fail and set +.Va errno +to: +.Bl -tag -width Er +.It Bq Er EINVAL +The +.Fa mode +argument does not represent a valid mode. +.El .Sh SEE ALSO .Xr chmod 1 , .Xr stat 2 , Modified: user/dchagin/lemul/lib/libc/gen/setmode.c ============================================================================== --- user/dchagin/lemul/lib/libc/gen/setmode.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/lib/libc/gen/setmode.c Sat Feb 28 21:20:46 2015 (r279409) @@ -41,6 +41,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include #include #include #include @@ -66,7 +68,7 @@ typedef struct bitcmd { #define CMD2_OBITS 0x08 #define CMD2_UBITS 0x10 -static BITCMD *addcmd(BITCMD *, int, int, int, u_int); +static BITCMD *addcmd(BITCMD *, mode_t, mode_t, mode_t, mode_t); static void compress_mode(BITCMD *); #ifdef SETMODE_DEBUG static void dumpmode(BITCMD *); @@ -151,33 +153,32 @@ common: if (set->cmd2 & CMD2_CLR) { BITCMD *newset; \ setlen += SET_LEN_INCR; \ newset = realloc(saveset, sizeof(BITCMD) * setlen); \ - if (!newset) { \ - if (saveset) \ - free(saveset); \ - saveset = NULL; \ - return (NULL); \ - } \ + if (newset == NULL) \ + goto out; \ set = newset + (set - saveset); \ saveset = newset; \ endset = newset + (setlen - 2); \ } \ - set = addcmd(set, (a), (b), (c), (d)) + set = addcmd(set, (mode_t)(a), (mode_t)(b), (mode_t)(c), (d)) #define STANDARD_BITS (S_ISUID|S_ISGID|S_IRWXU|S_IRWXG|S_IRWXO) void * setmode(const char *p) { - int perm, who; + int serrno; char op, *ep; BITCMD *set, *saveset, *endset; sigset_t sigset, sigoset; - mode_t mask; - int equalopdone=0, permXbits, setlen; + mode_t mask, perm, permXbits, who; long perml; + int equalopdone; + int setlen; - if (!*p) + if (!*p) { + errno = EINVAL; return (NULL); + } /* * Get a copy of the mask for the permissions that are mask relative. @@ -203,10 +204,17 @@ setmode(const char *p) * or illegal bits. */ if (isdigit((unsigned char)*p)) { + errno = 0; perml = strtol(p, &ep, 8); - if (*ep || perml < 0 || perml & ~(STANDARD_BITS|S_ISTXT)) { - free(saveset); - return (NULL); + if (*ep) { + errno = EINVAL; + goto out; + } + if (errno == ERANGE && (perml == LONG_MAX || perml == LONG_MIN)) + goto out; + if (perml & ~(STANDARD_BITS|S_ISTXT)) { + errno = EINVAL; + goto out; } perm = (mode_t)perml; ADDCMD('=', (STANDARD_BITS|S_ISTXT), perm, mask); @@ -218,6 +226,7 @@ setmode(const char *p) * Build list of structures to set/clear/copy bits as described by * each clause of the symbolic mode. */ + equalopdone = 0; for (;;) { /* First, find out which bits might be modified. */ for (who = 0;; ++p) { @@ -240,8 +249,8 @@ setmode(const char *p) } getop: if ((op = *p++) != '+' && op != '-' && op != '=') { - free(saveset); - return (NULL); + errno = EINVAL; + goto out; } if (op == '=') equalopdone = 0; @@ -330,10 +339,15 @@ apply: if (!*p) dumpmode(saveset); #endif return (saveset); +out: + serrno = errno; + free(saveset); + errno = serrno; + return NULL; } static BITCMD * -addcmd(BITCMD *set, int op, int who, int oparg, u_int mask) +addcmd(BITCMD *set, mode_t op, mode_t who, mode_t oparg, mode_t mask) { switch (op) { case '=': Modified: user/dchagin/lemul/lib/libc/iconv/citrus_iconv.c ============================================================================== --- user/dchagin/lemul/lib/libc/iconv/citrus_iconv.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/lib/libc/iconv/citrus_iconv.c Sat Feb 28 21:20:46 2015 (r279409) @@ -278,7 +278,9 @@ _citrus_iconv_open(struct _citrus_iconv struct _citrus_iconv *cv = NULL; struct _citrus_iconv_shared *ci = NULL; char realdst[PATH_MAX], realsrc[PATH_MAX]; +#ifdef _PATH_ICONV char buf[PATH_MAX], path[PATH_MAX]; +#endif int ret; init_cache(); @@ -290,10 +292,16 @@ _citrus_iconv_open(struct _citrus_iconv dst = nl_langinfo(CODESET); /* resolve codeset name aliases */ +#ifdef _PATH_ICONV + snprintf(path, sizeof(path), "%s/%s", _PATH_ICONV, _CITRUS_ICONV_ALIAS); strlcpy(realsrc, _lookup_alias(path, src, buf, (size_t)PATH_MAX, _LOOKUP_CASE_IGNORE), (size_t)PATH_MAX); strlcpy(realdst, _lookup_alias(path, dst, buf, (size_t)PATH_MAX, _LOOKUP_CASE_IGNORE), (size_t)PATH_MAX); +#else + strlcpy(realsrc, src, (size_t)PATH_MAX); + strlcpy(realdst, dst, (size_t)PATH_MAX); +#endif /* sanity check */ if (strchr(realsrc, '/') != NULL || strchr(realdst, '/')) Modified: user/dchagin/lemul/lib/libc/net/eui64.c ============================================================================== --- user/dchagin/lemul/lib/libc/net/eui64.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/lib/libc/net/eui64.c Sat Feb 28 21:20:46 2015 (r279409) @@ -132,6 +132,7 @@ eui64_line(const char *l, struct eui64 * goto bad; } + free(linehead); return (0); bad: Modified: user/dchagin/lemul/lib/libc/net/ip6opt.c ============================================================================== --- user/dchagin/lemul/lib/libc/net/ip6opt.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/lib/libc/net/ip6opt.c Sat Feb 28 21:20:46 2015 (r279409) @@ -419,7 +419,7 @@ inet6_opt_append(void *extbuf, socklen_t * The option data length must have a value between 0 and 255, * inclusive, and is the length of the option data that follows. */ - if (len < 0 || len > 255) + if (len > 255 || len < 0 ) return(-1); /* Modified: user/dchagin/lemul/lib/libc/stdlib/random.3 ============================================================================== --- user/dchagin/lemul/lib/libc/stdlib/random.3 Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/lib/libc/stdlib/random.3 Sat Feb 28 21:20:46 2015 (r279409) @@ -54,9 +54,8 @@ .Fn setstate "char *state" .Sh DESCRIPTION .Bf -symbolic -The functions described in this manual page are not cryptographically -secure. -Cryptographic applications should use +The functions described in this manual page are not secure. +Applications which require unpredictable random numbers should use .Xr arc4random 3 instead. .Ef Modified: user/dchagin/lemul/lib/libdevstat/devstat.c ============================================================================== --- user/dchagin/lemul/lib/libdevstat/devstat.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/lib/libdevstat/devstat.c Sat Feb 28 21:20:46 2015 (r279409) @@ -1487,22 +1487,9 @@ devstat_compute_statistics(struct devsta *destld = 0.0; break; /* - * This calculation is somewhat bogus. It simply divides - * the elapsed time by the total number of transactions - * completed. While that does give the caller a good - * picture of the average rate of transaction completion, - * it doesn't necessarily give the caller a good view of - * how long transactions took to complete on average. - * Those two numbers will be different for a device that - * can handle more than one transaction at a time. e.g. - * SCSI disks doing tagged queueing. - * - * The only way to accurately determine the real average - * time per transaction would be to compute and store the - * time on a per-transaction basis. That currently isn't - * done in the kernel, and would only be desireable if it - * could be implemented in a somewhat non-intrusive and high - * performance way. + * Some devstat callers update the duration and some don't. + * So this will only be accurate if they provide the + * duration. */ case DSM_MS_PER_TRANSACTION: if (totaltransfers > 0) { @@ -1512,11 +1499,6 @@ devstat_compute_statistics(struct devsta } else *destld = 0.0; break; - /* - * As above, these next two really only give the average - * rate of completion for read and write transactions, not - * the average time the transaction took to complete. - */ case DSM_MS_PER_TRANSACTION_READ: if (totaltransfersread > 0) { *destld = totaldurationread; Modified: user/dchagin/lemul/lib/libstdthreads/mtx.c ============================================================================== --- user/dchagin/lemul/lib/libstdthreads/mtx.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/lib/libstdthreads/mtx.c Sat Feb 28 21:20:46 2015 (r279409) @@ -96,7 +96,7 @@ int mtx_trylock(mtx_t *mtx) { - switch (pthread_mutex_lock(mtx)) { + switch (pthread_mutex_trylock(mtx)) { case 0: return (thrd_success); case EBUSY: Modified: user/dchagin/lemul/lib/libstdthreads/thrd.c ============================================================================== --- user/dchagin/lemul/lib/libstdthreads/thrd.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/lib/libstdthreads/thrd.c Sat Feb 28 21:20:46 2015 (r279409) @@ -108,7 +108,8 @@ thrd_join(thrd_t thr, int *res) if (pthread_join(thr, &value_ptr) != 0) return (thrd_error); - *res = (intptr_t)value_ptr; + if (res != NULL) + *res = (intptr_t)value_ptr; return (thrd_success); } Modified: user/dchagin/lemul/lib/libthr/thread/thr_mutex.c ============================================================================== --- user/dchagin/lemul/lib/libthr/thread/thr_mutex.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/lib/libthr/thread/thr_mutex.c Sat Feb 28 21:20:46 2015 (r279409) @@ -633,7 +633,7 @@ mutex_unlock_common(struct pthread_mutex { struct pthread *curthread = _get_curthread(); uint32_t id; - int defered; + int defered, error; if (__predict_false(m <= THR_MUTEX_DESTROYED)) { if (m == THR_MUTEX_DESTROYED) @@ -647,6 +647,7 @@ mutex_unlock_common(struct pthread_mutex if (__predict_false(m->m_owner != curthread)) return (EPERM); + error = 0; id = TID(curthread); if (__predict_false( PMUTEX_TYPE(m->m_flags) == PTHREAD_MUTEX_RECURSIVE && @@ -660,7 +661,7 @@ mutex_unlock_common(struct pthread_mutex defered = 0; DEQUEUE_MUTEX(curthread, m); - _thr_umutex_unlock2(&m->m_lock, id, mtx_defer); + error = _thr_umutex_unlock2(&m->m_lock, id, mtx_defer); if (mtx_defer == NULL && defered) { _thr_wake_all(curthread->defer_waiters, @@ -670,7 +671,7 @@ mutex_unlock_common(struct pthread_mutex } if (!cv && m->m_flags & PMUTEX_FLAG_PRIVATE) THR_CRITICAL_LEAVE(curthread); - return (0); + return (error); } int Modified: user/dchagin/lemul/lib/msun/src/e_j0.c ============================================================================== --- user/dchagin/lemul/lib/msun/src/e_j0.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/lib/msun/src/e_j0.c Sat Feb 28 21:20:46 2015 (r279409) @@ -373,7 +373,7 @@ static const double qS2[6] = { if(ix>=0x40200000) {p = qR8; q= qS8;} else if(ix>=0x40122E8B){p = qR5; q= qS5;} else if(ix>=0x4006DB6D){p = qR3; q= qS3;} - else if(ix>=0x40000000){p = qR2; q= qS2;} + else {p = qR2; q= qS2;} /* ix>=0x40000000 */ z = one/(x*x); r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5])))); s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5]))))); Modified: user/dchagin/lemul/lib/msun/src/e_j0f.c ============================================================================== --- user/dchagin/lemul/lib/msun/src/e_j0f.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/lib/msun/src/e_j0f.c Sat Feb 28 21:20:46 2015 (r279409) @@ -329,7 +329,7 @@ static const float qS2[6] = { if(ix>=0x41000000) {p = qR8; q= qS8;} else if(ix>=0x40f71c58){p = qR5; q= qS5;} else if(ix>=0x4036db68){p = qR3; q= qS3;} - else if(ix>=0x40000000){p = qR2; q= qS2;} + else {p = qR2; q= qS2;} /* ix>=0x40000000 */ z = one/(x*x); r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5])))); s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5]))))); Modified: user/dchagin/lemul/lib/msun/src/e_j1.c ============================================================================== --- user/dchagin/lemul/lib/msun/src/e_j1.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/lib/msun/src/e_j1.c Sat Feb 28 21:20:46 2015 (r279409) @@ -368,7 +368,7 @@ static const double qs2[6] = { if(ix>=0x40200000) {p = qr8; q= qs8;} else if(ix>=0x40122E8B){p = qr5; q= qs5;} else if(ix>=0x4006DB6D){p = qr3; q= qs3;} - else if(ix>=0x40000000){p = qr2; q= qs2;} + else {p = qr2; q= qs2;} /* ix>=0x40000000 */ z = one/(x*x); r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5])))); s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5]))))); Modified: user/dchagin/lemul/lib/msun/src/e_j1f.c ============================================================================== --- user/dchagin/lemul/lib/msun/src/e_j1f.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/lib/msun/src/e_j1f.c Sat Feb 28 21:20:46 2015 (r279409) @@ -325,7 +325,7 @@ static const float qs2[6] = { if(ix>=0x40200000) {p = qr8; q= qs8;} else if(ix>=0x40f71c58){p = qr5; q= qs5;} else if(ix>=0x4036db68){p = qr3; q= qs3;} - else if(ix>=0x40000000){p = qr2; q= qs2;} + else {p = qr2; q= qs2;} /* ix>=0x40000000 */ z = one/(x*x); r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5])))); s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5]))))); Modified: user/dchagin/lemul/libexec/rtld-elf/rtld.c ============================================================================== --- user/dchagin/lemul/libexec/rtld-elf/rtld.c Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/libexec/rtld-elf/rtld.c Sat Feb 28 21:20:46 2015 (r279409) @@ -3561,17 +3561,16 @@ rtld_dirname(const char *path, char *bna static int rtld_dirname_abs(const char *path, char *base) { - char base_rel[PATH_MAX]; + char *last; - if (rtld_dirname(path, base) == -1) + if (realpath(path, base) == NULL) return (-1); - if (base[0] == '/') - return (0); - if (getcwd(base_rel, sizeof(base_rel)) == NULL || - strlcat(base_rel, "/", sizeof(base_rel)) >= sizeof(base_rel) || - strlcat(base_rel, base, sizeof(base_rel)) >= sizeof(base_rel)) + dbg("%s -> %s", path, base); + last = strrchr(base, '/'); + if (last == NULL) return (-1); - strcpy(base, base_rel); + if (last != base) + *last = '\0'; return (0); } Modified: user/dchagin/lemul/release/Makefile ============================================================================== --- user/dchagin/lemul/release/Makefile Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/release/Makefile Sat Feb 28 21:20:46 2015 (r279409) @@ -286,7 +286,7 @@ real-release: ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${RELEASE_TARGETS} -install: release-install vm-install +install: release-install vm-install cloudware-install release-install: .if defined(DESTDIR) && !empty(DESTDIR) Modified: user/dchagin/lemul/release/Makefile.vm ============================================================================== --- user/dchagin/lemul/release/Makefile.vm Sat Feb 28 21:01:01 2015 (r279408) +++ user/dchagin/lemul/release/Makefile.vm Sat Feb 28 21:20:46 2015 (r279409) @@ -20,24 +20,30 @@ CLOUDWARE?= AZURE \ OPENSTACK AZURE_FORMAT= vhdf AZURE_DESC= Microsoft Azure platform image +AZURE_DISK= ${OSRELEASE}.${AZURE_FORMAT} GCE_FORMAT= raw GCE_DESC= Google Compute Engine image +GCE_DISK= disk.${GCE_FORMAT} OPENSTACK_FORMAT=qcow2 OPENSTACK_DESC= OpenStack platform image *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***