From owner-svn-src-user@FreeBSD.ORG  Sun Feb 22 02:49:28 2015
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
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 <nwhitehorn@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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 <sys/proc.h>
 #include <sys/sysctl.h>
 #include <sys/systm.h>
-#include <sys/rwlock.h>
 #include <sys/vmmeter.h>
 
 #include <vm/vm.h>
@@ -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: <owner-svn-src-user@FreeBSD.ORG>
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 <nwhitehorn@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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 <machine/bus.h>
 
 #include <dev/ofw/openfirm.h>
+#include <dev/pci/pcivar.h>
+
+#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 <machine/bus.h>
 
 #include <dev/ofw/openfirm.h>
+#include <dev/pci/pcivar.h>
+
+#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: <owner-svn-src-user@FreeBSD.ORG>
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 <nwhitehorn@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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 <sys/socket.h>
 #include <net/if.h>
 
-#define	_WANT_IFADDR
-#include <net/if_var.h>
-
 #include <netinet/in.h>
 #include <netinet/in_systm.h>
 #include <netinet/ip.h>

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 @@
 
     <pubdate>$FreeBSD$</pubdate>
 
-    <!-- Last rev: 277458 -->
+    <!-- Last rev: 278934 -->
 
     <copyright>
       <year>2015</year>
@@ -302,6 +302,13 @@
       <para revision="277166" arch="powerpc">The &man.ptrace.2; system
 	call has been updated include support for Altivec registers on
 	&os;/&arch.powerpc;.</para>
+
+      <para revision="278320">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.</para>
     </sect2>
 
     <sect2 xml:id="userland-contrib">
@@ -375,6 +382,12 @@
 
       <para revision="277270"><application>OpenSSL</application> has
 	been updated to version 1.0.1l.</para>
+
+      <para revision="278433">The &man.xz.1; utility has been udpated
+	to version 5.2.0.</para>
+
+      <para revision="278433">The &man.xz.1; utility has been updated
+	to support multi-threaded compression.</para>
     </sect2>
 
     <sect2 xml:id="userland-installer">
@@ -460,6 +473,16 @@
       <para revision="274987">The &man.gpio.3; library has been added,
 	providing a wrapper around the &man.gpio.4; kernel
 	interface.</para>
+
+      <para revision="277610">The <literal>futimens()</literal> and
+	<literal>utimensat()</literal> system calls have been
+	added.  See &man.utimensat.2; for more information.</para>
+
+      <para revision="278934">The &man.elf.3; compile-time dependency
+	has been removed from <filename>dtri.o</filename>, which
+	allows adding <application>DTrace</application> probes to
+	userland applications and libraries without also linking
+	against &man.elf.3;.</para>
     </sect2>
 
     <sect2 xml:id="userland-abi">
@@ -515,12 +538,32 @@
 	at the &man.loader.8; prompt during boot, or add
 	<literal>kern.vty=vt</literal> to &man.loader.conf.5; and
 	reboot the system.</para>
+
+      <para revision="277904">The &man.config.8; utility has been
+	updated to allow using a non-standard <filename
+	  class="directory">src/</filename> tree, specified as an
+	argument to the <literal>-s</literal> flag.</para>
+
+      <para revision="277990" arch="powerpc64">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.</para>
+
+      <important>
+	<para>This change requires an update to &man.loader.8;.
+	  The userland and kernel must be updated before rebooting the
+	  system.</para>
+      </important>
     </sect2>
 
     <sect2 xml:id="kernel-sysctl">
       <title>System Tuning and Controls</title>
 
-      <para>&nbsp;</para>
+      <para revision="275140" contrib="sponsor" sponsor="&ff;">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.</para>
     </sect2>
   </sect1>
 
@@ -761,6 +804,18 @@
     <para>This section covers changes and additions to file systems
       and other storage subsystems, both local and networked.</para>
 
+    <sect2 xml:id="storage-general">
+      <title>General Storage</title>
+      <para revision="278037" contrib="sponsor" sponsor="&ix;">The
+	&man.ctl.4; <acronym>LUN</acronym> mapping has been rewritten,
+	replacing <acronym>iSCSI</acronym>-specific mapping mechanisms
+	with a new mechanism that works for any port.</para>
+
+      <para revision="278354" contrib="sponsor" sponsor="&ix;">The
+	&man.ctld.8; utility has been updated to allow controlling
+	non-<acronym>iSCSI</acronym> &man.ctl.4; ports.</para>
+    </sect2>
+
     <sect2 xml:id="storage-net">
       <title>Networked Storage</title>
 
@@ -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.</para>
+
+      <para revision="278926">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.</para>
     </sect2>
   </sect1>
 </article>

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 <hosokawa@jp.FreeBSD.org>
+.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 <nwhitehorn@FreeBSD.org>
+.\" 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 <sys/param.h>
 #include <sys/systm.h>
+#include <sys/linker.h>
 
 #include <machine/stack.h>
 
+#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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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 <sys/param.h>
@@ -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: <owner-svn-src-user@FreeBSD.ORG>
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 <pho@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <pho@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <pho@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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 <sys/param.h>

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: <owner-svn-src-user@FreeBSD.ORG>
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 <pho@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <nwhitehorn@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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<<ra))
 							mask |= (0xf<<(4*ra));
 				}
-				a = (int *)&fs->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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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 <compat/linux/linux_file.h>
 #include <compat/linux/linux_socket.h>
+#include <compat/linux/linux_timer.h>
 #include <compat/linux/linux_util.h>
 
 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, &lts, sizeof(struct l_timespec));
+		if (error != 0)
+			return (error);
+		error = linux_to_native_timespec(&ts, &lts);
+		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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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 <sys/param.h>
@@ -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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <nwhitehorn@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <pho@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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 <sys/wait.h>
+
+#include <err.h>
+#include <errno.h>
+#include <signal.h>
+#include <stdio.h>
+#include <time.h>
+#include <unistd.h>
+
+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 <sys/wait.h>
+#include <sys/sysctl.h>
+
+#include <err.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <unistd.h>
+
+#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 <path>", 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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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 <sys/param.h>
+#include <sys/capsicum.h>
 #include <sys/dirent.h>
 #include <sys/file.h>
 #include <sys/filedesc.h>
@@ -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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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 <sys/param.h>
@@ -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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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 <bsd.kmod.mk>

From owner-svn-src-user@FreeBSD.ORG  Thu Feb 26 21:15:03 2015
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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 <sys/conf.h>
 #include <sys/exec.h>
 #include <sys/fcntl.h>
+#include <sys/file.h>
 #include <sys/filedesc.h>
 #include <sys/jail.h>
 #include <sys/kernel.h>
@@ -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 <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/file.h>
+#include <sys/filedesc.h>
+#include <sys/mount.h>
+#include <sys/proc.h>
+#include <sys/sbuf.h>
+#include <sys/vnode.h>
+#include <sys/uio.h>
+
+#include <fs/pseudofs/pseudofs.h>
+#include <fs/procfs/procfs.h>
+
+
+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 <sys/param.h>
 #include <sys/kernel.h>
 #include <sys/systm.h>
+#include <sys/capsicum.h>
 #include <sys/ctype.h>
 #include <sys/dirent.h>
 #include <sys/fcntl.h>
+#include <sys/file.h>
+#include <sys/filedesc.h>
 #include <sys/limits.h>
 #include <sys/lock.h>
 #include <sys/malloc.h>
@@ -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: <owner-svn-src-user@FreeBSD.ORG>
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 <mjguzik@gmail.com>
To: Dmitry Chagin <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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 <mjguzik gmail.com>

From owner-svn-src-user@FreeBSD.ORG  Fri Feb 27 19:53:40 2015
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@freebsd.org>
To: Mateusz Guzik <mjguzik@gmail.com>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <pho@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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 <max@M00nBSD.net>

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: <owner-svn-src-user@FreeBSD.ORG>
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 <dchagin@FreeBSD.org>
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 &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=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 <bsd.prog.mk>

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 <bsd.prog.mk>

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<uint64_t>(*reinterpret_cast<type*>(*data));\
-			*data += sizeof(type);\
-			break;
+		{\
+			type t;\
+			memcpy(&t, *data, sizeof t);\
+			*data += sizeof t;\
+			return static_cast<uint64_t>(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<IndirectBrInst>((*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<IndirectBrInst>((*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 <src.opts.mk>
 
 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 <sys/stat.h>
 
 #include <ctype.h>
+#include <errno.h>
+#include <limits.h>
 #include <signal.h>
 #include <stddef.h>
 #include <stdlib.h>
@@ -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 ***