From owner-svn-src-projects@FreeBSD.ORG  Sun Mar 11 19:44:02 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id D17901065674;
	Sun, 11 Mar 2012 19:44:02 +0000 (UTC)
	(envelope-from andreast@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id B2CC48FC08;
	Sun, 11 Mar 2012 19:44:02 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2BJi2Ee024131;
	Sun, 11 Mar 2012 19:44:02 GMT
	(envelope-from andreast@svn.freebsd.org)
Received: (from andreast@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2BJi2Wo024110;
	Sun, 11 Mar 2012 19:44:02 GMT
	(envelope-from andreast@svn.freebsd.org)
Message-Id: <201203111944.q2BJi2Wo024110@svn.freebsd.org>
From: Andreas Tobler <andreast@FreeBSD.org>
Date: Sun, 11 Mar 2012 19:44:02 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r232829 - in projects/pseries: amd64/acpica amd64/amd64
	amd64/conf amd64/include amd64/linux32 arm/arm arm/conf
	arm/mv arm/xscale/i8134x boot/common boot/fdt/dts boot/ficl
	boot/ficl/i38...
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 11 Mar 2012 19:44:02 -0000

Author: andreast
Date: Sun Mar 11 19:44:00 2012
New Revision: 232829
URL: http://svn.freebsd.org/changeset/base/232829

Log:
  IFC r232824.

Added:
  projects/pseries/conf/WITHOUT_SOURCELESS
     - copied unchanged from r232824, head/sys/conf/WITHOUT_SOURCELESS
  projects/pseries/conf/WITHOUT_SOURCELESS_HOST
     - copied unchanged from r232824, head/sys/conf/WITHOUT_SOURCELESS_HOST
  projects/pseries/conf/WITHOUT_SOURCELESS_UCODE
     - copied unchanged from r232824, head/sys/conf/WITHOUT_SOURCELESS_UCODE
  projects/pseries/contrib/dev/acpica/components/
     - copied from r232824, head/sys/contrib/dev/acpica/components/
  projects/pseries/contrib/octeon-sdk/cvmx-ciu2-defs.h
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-ciu2-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-endor-defs.h
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-endor-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-eoi-defs.h
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-eoi-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn61xx.c
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-error-init-cn61xx.c
  projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn66xx.c
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-error-init-cn66xx.c
  projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn68xx.c
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-error-init-cn68xx.c
  projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn68xxp1.c
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-error-init-cn68xxp1.c
  projects/pseries/contrib/octeon-sdk/cvmx-error-init-cnf71xx.c
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-error-init-cnf71xx.c
  projects/pseries/contrib/octeon-sdk/cvmx-helper-cfg.c
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-helper-cfg.c
  projects/pseries/contrib/octeon-sdk/cvmx-helper-cfg.h
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-helper-cfg.h
  projects/pseries/contrib/octeon-sdk/cvmx-helper-ilk.c
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-helper-ilk.c
  projects/pseries/contrib/octeon-sdk/cvmx-helper-ilk.h
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-helper-ilk.h
  projects/pseries/contrib/octeon-sdk/cvmx-hfa.c
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-hfa.c
  projects/pseries/contrib/octeon-sdk/cvmx-hfa.h
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-hfa.h
  projects/pseries/contrib/octeon-sdk/cvmx-ilk-defs.h
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-ilk-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-ilk.c
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-ilk.c
  projects/pseries/contrib/octeon-sdk/cvmx-ilk.h
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-ilk.h
  projects/pseries/contrib/octeon-sdk/cvmx-iob1-defs.h
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-iob1-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-ipd.c
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-ipd.c
  projects/pseries/contrib/octeon-sdk/cvmx-malloc/
     - copied from r232824, head/sys/contrib/octeon-sdk/cvmx-malloc/
  projects/pseries/contrib/octeon-sdk/cvmx-profiler.c
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-profiler.c
  projects/pseries/contrib/octeon-sdk/cvmx-profiler.h
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-profiler.h
  projects/pseries/contrib/octeon-sdk/cvmx-qlm-tables.c
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-qlm-tables.c
  projects/pseries/contrib/octeon-sdk/cvmx-qlm.c
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-qlm.c
  projects/pseries/contrib/octeon-sdk/cvmx-qlm.h
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-qlm.h
  projects/pseries/contrib/octeon-sdk/cvmx-resources.config
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-resources.config
  projects/pseries/contrib/octeon-sdk/cvmx-shared-linux-n32.ld
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-shared-linux-n32.ld
  projects/pseries/contrib/octeon-sdk/cvmx-shared-linux-o32.ld
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-shared-linux-o32.ld
  projects/pseries/contrib/octeon-sdk/cvmx-shared-linux.ld
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-shared-linux.ld
  projects/pseries/contrib/octeon-sdk/cvmx-sso-defs.h
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-sso-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-trax-defs.h
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/cvmx-trax-defs.h
  projects/pseries/contrib/octeon-sdk/octeon-feature.c
     - copied unchanged from r232824, head/sys/contrib/octeon-sdk/octeon-feature.c
  projects/pseries/dev/ath/ath_hal/ar5416/ar5416_radar.c
     - copied unchanged from r232824, head/sys/dev/ath/ath_hal/ar5416/ar5416_radar.c
  projects/pseries/dev/oce/
     - copied from r232824, head/sys/dev/oce/
  projects/pseries/dev/sound/pci/hdspe-pcm.c
     - copied unchanged from r232824, head/sys/dev/sound/pci/hdspe-pcm.c
  projects/pseries/dev/sound/pci/hdspe.c
     - copied unchanged from r232824, head/sys/dev/sound/pci/hdspe.c
  projects/pseries/dev/sound/pci/hdspe.h
     - copied unchanged from r232824, head/sys/dev/sound/pci/hdspe.h
  projects/pseries/dev/wbwd/
     - copied from r232824, head/sys/dev/wbwd/
  projects/pseries/mips/cavium/octeon_irq.h
     - copied unchanged from r232824, head/sys/mips/cavium/octeon_irq.h
  projects/pseries/mips/include/tls.h
     - copied unchanged from r232824, head/sys/mips/include/tls.h
  projects/pseries/mips/mips/freebsd32_machdep.c
     - copied unchanged from r232824, head/sys/mips/mips/freebsd32_machdep.c
  projects/pseries/modules/oce/
     - copied from r232824, head/sys/modules/oce/
  projects/pseries/modules/sound/driver/hdspe/
     - copied from r232824, head/sys/modules/sound/driver/hdspe/
  projects/pseries/modules/usb/dwc_otg/
     - copied from r232824, head/sys/modules/usb/dwc_otg/
  projects/pseries/modules/wbwd/
     - copied from r232824, head/sys/modules/wbwd/
  projects/pseries/powerpc/powermac/atibl.c
     - copied unchanged from r232824, head/sys/powerpc/powermac/atibl.c
  projects/pseries/x86/include/_limits.h
     - copied unchanged from r232824, head/sys/x86/include/_limits.h
  projects/pseries/x86/include/_stdint.h
     - copied unchanged from r232824, head/sys/x86/include/_stdint.h
  projects/pseries/x86/include/_types.h
     - copied unchanged from r232824, head/sys/x86/include/_types.h
  projects/pseries/x86/include/endian.h
     - copied unchanged from r232824, head/sys/x86/include/endian.h
  projects/pseries/x86/include/float.h
     - copied unchanged from r232824, head/sys/x86/include/float.h
  projects/pseries/x86/include/ptrace.h
     - copied unchanged from r232824, head/sys/x86/include/ptrace.h
  projects/pseries/x86/include/setjmp.h
     - copied unchanged from r232824, head/sys/x86/include/setjmp.h
  projects/pseries/x86/include/stdarg.h
     - copied unchanged from r232824, head/sys/x86/include/stdarg.h
  projects/pseries/x86/include/trap.h
     - copied unchanged from r232824, head/sys/x86/include/trap.h
  projects/pseries/x86/x86/intr_machdep.c
     - copied unchanged from r232824, head/sys/x86/x86/intr_machdep.c
Deleted:
  projects/pseries/amd64/amd64/intr_machdep.c
  projects/pseries/amd64/conf/WITHOUT_SOURCELESS
  projects/pseries/amd64/conf/WITHOUT_SOURCELESS_HOST
  projects/pseries/amd64/conf/WITHOUT_SOURCELESS_UCODE
  projects/pseries/contrib/dev/acpica/debugger/
  projects/pseries/contrib/dev/acpica/disassembler/
  projects/pseries/contrib/dev/acpica/dispatcher/
  projects/pseries/contrib/dev/acpica/events/
  projects/pseries/contrib/dev/acpica/executer/
  projects/pseries/contrib/dev/acpica/hardware/
  projects/pseries/contrib/dev/acpica/namespace/
  projects/pseries/contrib/dev/acpica/parser/
  projects/pseries/contrib/dev/acpica/resources/
  projects/pseries/contrib/dev/acpica/tables/
  projects/pseries/contrib/dev/acpica/utilities/
  projects/pseries/fs/fifofs/fifo.h
  projects/pseries/i386/conf/WITHOUT_SOURCELESS
  projects/pseries/i386/conf/WITHOUT_SOURCELESS_HOST
  projects/pseries/i386/conf/WITHOUT_SOURCELESS_UCODE
  projects/pseries/i386/i386/intr_machdep.c
  projects/pseries/mips/include/bswap.h
  projects/pseries/mips/include/clockvar.h
  projects/pseries/mips/include/cputypes.h
  projects/pseries/mips/include/iodev.h
  projects/pseries/mips/include/mp_watchdog.h
  projects/pseries/mips/include/pci_cfgreg.h
  projects/pseries/mips/include/ppireg.h
  projects/pseries/mips/include/timerreg.h
  projects/pseries/mips/mips/elf64_machdep.c
  projects/pseries/mips/mips/mainbus.c
Modified:
  projects/pseries/amd64/acpica/acpi_wakecode.S
  projects/pseries/amd64/acpica/acpi_wakeup.c
  projects/pseries/amd64/amd64/apic_vector.S
  projects/pseries/amd64/amd64/cpu_switch.S
  projects/pseries/amd64/amd64/machdep.c
  projects/pseries/amd64/amd64/mp_machdep.c
  projects/pseries/amd64/amd64/ptrace_machdep.c
  projects/pseries/amd64/amd64/vm_machdep.c
  projects/pseries/amd64/conf/DEFAULTS
  projects/pseries/amd64/conf/GENERIC
  projects/pseries/amd64/conf/GENERIC.hints
  projects/pseries/amd64/conf/NOTES
  projects/pseries/amd64/include/_limits.h
  projects/pseries/amd64/include/_stdint.h
  projects/pseries/amd64/include/_types.h
  projects/pseries/amd64/include/cpufunc.h
  projects/pseries/amd64/include/endian.h
  projects/pseries/amd64/include/float.h
  projects/pseries/amd64/include/ptrace.h
  projects/pseries/amd64/include/segments.h
  projects/pseries/amd64/include/setjmp.h
  projects/pseries/amd64/include/stdarg.h
  projects/pseries/amd64/include/trap.h
  projects/pseries/amd64/linux32/linux32_dummy.c
  projects/pseries/amd64/linux32/linux32_proto.h
  projects/pseries/amd64/linux32/linux32_syscall.h
  projects/pseries/amd64/linux32/linux32_syscalls.c
  projects/pseries/amd64/linux32/linux32_sysent.c
  projects/pseries/amd64/linux32/linux32_systrace_args.c
  projects/pseries/amd64/linux32/syscalls.master
  projects/pseries/arm/arm/busdma_machdep.c
  projects/pseries/arm/conf/DEFAULTS
  projects/pseries/arm/mv/mv_machdep.c
  projects/pseries/arm/mv/mvreg.h
  projects/pseries/arm/xscale/i8134x/crb_machdep.c
  projects/pseries/boot/common/ufsread.c
  projects/pseries/boot/fdt/dts/db78100.dts
  projects/pseries/boot/ficl/fileaccess.c
  projects/pseries/boot/ficl/i386/sysdep.h
  projects/pseries/boot/forth/loader.conf
  projects/pseries/boot/forth/menu.4th.8
  projects/pseries/boot/i386/boot0/Makefile
  projects/pseries/boot/i386/boot2/Makefile
  projects/pseries/boot/i386/boot2/boot1.S
  projects/pseries/boot/i386/boot2/boot2.c
  projects/pseries/boot/i386/btx/btx/Makefile
  projects/pseries/boot/i386/btx/btxldr/Makefile
  projects/pseries/boot/i386/gptboot/Makefile
  projects/pseries/boot/i386/gptzfsboot/Makefile
  projects/pseries/boot/i386/libi386/Makefile
  projects/pseries/boot/i386/libi386/vidconsole.c
  projects/pseries/boot/i386/pxeldr/Makefile
  projects/pseries/boot/i386/zfsboot/Makefile
  projects/pseries/boot/pc98/boot2/boot2.c
  projects/pseries/boot/pc98/btx/btx/Makefile
  projects/pseries/boot/pc98/btx/btxldr/Makefile
  projects/pseries/boot/pc98/loader/Makefile
  projects/pseries/boot/powerpc/boot1.chrp/Makefile
  projects/pseries/boot/powerpc/boot1.chrp/boot1.c
  projects/pseries/cam/ctl/ctl.c
  projects/pseries/cam/ctl/ctl.h
  projects/pseries/cam/ctl/ctl_backend.h
  projects/pseries/cam/ctl/ctl_backend_block.c
  projects/pseries/cam/ctl/ctl_backend_ramdisk.c
  projects/pseries/cam/ctl/ctl_error.c
  projects/pseries/cam/ctl/ctl_frontend_cam_sim.c
  projects/pseries/cam/ctl/ctl_ioctl.h
  projects/pseries/cam/ctl/ctl_private.h
  projects/pseries/cam/scsi/scsi_xpt.c
  projects/pseries/cddl/compat/opensolaris/sys/vnode.h
  projects/pseries/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
  projects/pseries/compat/freebsd32/freebsd32.h
  projects/pseries/compat/freebsd32/freebsd32_misc.c
  projects/pseries/compat/freebsd32/freebsd32_proto.h
  projects/pseries/compat/freebsd32/freebsd32_signal.h
  projects/pseries/compat/freebsd32/freebsd32_syscall.h
  projects/pseries/compat/freebsd32/freebsd32_syscalls.c
  projects/pseries/compat/freebsd32/freebsd32_sysent.c
  projects/pseries/compat/freebsd32/freebsd32_systrace_args.c
  projects/pseries/compat/freebsd32/syscalls.master
  projects/pseries/compat/linprocfs/linprocfs.c
  projects/pseries/compat/linsysfs/linsysfs.c
  projects/pseries/compat/linux/linux_misc.c
  projects/pseries/compat/linux/linux_stats.c
  projects/pseries/compat/linux/linux_util.c
  projects/pseries/compat/linux/linux_util.h
  projects/pseries/compat/ndis/subr_hal.c
  projects/pseries/compat/ndis/subr_ndis.c
  projects/pseries/compat/svr4/imgact_svr4.c
  projects/pseries/conf/Makefile.amd64
  projects/pseries/conf/Makefile.i386
  projects/pseries/conf/NOTES
  projects/pseries/conf/files
  projects/pseries/conf/files.amd64
  projects/pseries/conf/files.i386
  projects/pseries/conf/files.mips
  projects/pseries/conf/files.pc98
  projects/pseries/conf/files.powerpc
  projects/pseries/conf/kern.mk
  projects/pseries/conf/kern.pre.mk
  projects/pseries/conf/kmod.mk
  projects/pseries/conf/newvers.sh
  projects/pseries/conf/options.mips
  projects/pseries/contrib/dev/acpica/acpica_prep.sh
  projects/pseries/contrib/dev/acpica/changes.txt   (contents, props changed)
  projects/pseries/contrib/dev/acpica/compiler/aslrestype2s.c
  projects/pseries/contrib/dev/acpica/compiler/aslstubs.c
  projects/pseries/contrib/dev/acpica/include/acconfig.h
  projects/pseries/contrib/dev/acpica/include/acdebug.h
  projects/pseries/contrib/dev/acpica/include/acevents.h
  projects/pseries/contrib/dev/acpica/include/acexcep.h
  projects/pseries/contrib/dev/acpica/include/acglobal.h
  projects/pseries/contrib/dev/acpica/include/achware.h
  projects/pseries/contrib/dev/acpica/include/acmacros.h
  projects/pseries/contrib/dev/acpica/include/acpiosxf.h
  projects/pseries/contrib/dev/acpica/include/acpixf.h
  projects/pseries/contrib/dev/acpica/include/actables.h
  projects/pseries/contrib/dev/acpica/include/actbl.h
  projects/pseries/contrib/dev/acpica/include/actypes.h
  projects/pseries/contrib/dev/acpica/os_specific/service_layers/osunixxf.c
  projects/pseries/contrib/octeon-sdk/cvmip.h
  projects/pseries/contrib/octeon-sdk/cvmx-abi.h
  projects/pseries/contrib/octeon-sdk/cvmx-access-native.h
  projects/pseries/contrib/octeon-sdk/cvmx-access.h
  projects/pseries/contrib/octeon-sdk/cvmx-address.h
  projects/pseries/contrib/octeon-sdk/cvmx-agl-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-app-hotplug.c
  projects/pseries/contrib/octeon-sdk/cvmx-app-hotplug.h
  projects/pseries/contrib/octeon-sdk/cvmx-app-init-linux.c
  projects/pseries/contrib/octeon-sdk/cvmx-app-init.c
  projects/pseries/contrib/octeon-sdk/cvmx-app-init.h
  projects/pseries/contrib/octeon-sdk/cvmx-asm.h
  projects/pseries/contrib/octeon-sdk/cvmx-asx0-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-asxx-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-atomic.h
  projects/pseries/contrib/octeon-sdk/cvmx-bootloader.h
  projects/pseries/contrib/octeon-sdk/cvmx-bootmem.c
  projects/pseries/contrib/octeon-sdk/cvmx-bootmem.h
  projects/pseries/contrib/octeon-sdk/cvmx-ciu-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-clock.c
  projects/pseries/contrib/octeon-sdk/cvmx-clock.h
  projects/pseries/contrib/octeon-sdk/cvmx-cmd-queue.c
  projects/pseries/contrib/octeon-sdk/cvmx-cmd-queue.h
  projects/pseries/contrib/octeon-sdk/cvmx-cn3010-evb-hs5.c
  projects/pseries/contrib/octeon-sdk/cvmx-cn3010-evb-hs5.h
  projects/pseries/contrib/octeon-sdk/cvmx-compactflash.c
  projects/pseries/contrib/octeon-sdk/cvmx-compactflash.h
  projects/pseries/contrib/octeon-sdk/cvmx-core.c
  projects/pseries/contrib/octeon-sdk/cvmx-core.h
  projects/pseries/contrib/octeon-sdk/cvmx-coremask.c
  projects/pseries/contrib/octeon-sdk/cvmx-coremask.h
  projects/pseries/contrib/octeon-sdk/cvmx-crypto.c
  projects/pseries/contrib/octeon-sdk/cvmx-crypto.h
  projects/pseries/contrib/octeon-sdk/cvmx-csr-db-support.c
  projects/pseries/contrib/octeon-sdk/cvmx-csr-db.c
  projects/pseries/contrib/octeon-sdk/cvmx-csr-db.h
  projects/pseries/contrib/octeon-sdk/cvmx-csr-enums.h
  projects/pseries/contrib/octeon-sdk/cvmx-csr-typedefs.h
  projects/pseries/contrib/octeon-sdk/cvmx-csr.h
  projects/pseries/contrib/octeon-sdk/cvmx-dbg-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-debug-handler.S
  projects/pseries/contrib/octeon-sdk/cvmx-debug-remote.c
  projects/pseries/contrib/octeon-sdk/cvmx-debug-uart.c
  projects/pseries/contrib/octeon-sdk/cvmx-debug.c
  projects/pseries/contrib/octeon-sdk/cvmx-debug.h
  projects/pseries/contrib/octeon-sdk/cvmx-dfa-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-dfa.c
  projects/pseries/contrib/octeon-sdk/cvmx-dfa.h
  projects/pseries/contrib/octeon-sdk/cvmx-dfm-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-dma-engine.c
  projects/pseries/contrib/octeon-sdk/cvmx-dma-engine.h
  projects/pseries/contrib/octeon-sdk/cvmx-dpi-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-ebt3000.c
  projects/pseries/contrib/octeon-sdk/cvmx-ebt3000.h
  projects/pseries/contrib/octeon-sdk/cvmx-error-custom.c
  projects/pseries/contrib/octeon-sdk/cvmx-error-custom.h
  projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn30xx.c
  projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn31xx.c
  projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn38xx.c
  projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn38xxp2.c
  projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn50xx.c
  projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn52xx.c
  projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn52xxp1.c
  projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn56xx.c
  projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn56xxp1.c
  projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn58xx.c
  projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn58xxp1.c
  projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn63xx.c
  projects/pseries/contrib/octeon-sdk/cvmx-error-init-cn63xxp1.c
  projects/pseries/contrib/octeon-sdk/cvmx-error.c
  projects/pseries/contrib/octeon-sdk/cvmx-error.h
  projects/pseries/contrib/octeon-sdk/cvmx-fau.h
  projects/pseries/contrib/octeon-sdk/cvmx-flash.c
  projects/pseries/contrib/octeon-sdk/cvmx-flash.h
  projects/pseries/contrib/octeon-sdk/cvmx-fpa-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-fpa.c
  projects/pseries/contrib/octeon-sdk/cvmx-fpa.h
  projects/pseries/contrib/octeon-sdk/cvmx-gmx.h
  projects/pseries/contrib/octeon-sdk/cvmx-gmxx-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-gpio-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-gpio.h
  projects/pseries/contrib/octeon-sdk/cvmx-helper-board.c
  projects/pseries/contrib/octeon-sdk/cvmx-helper-board.h
  projects/pseries/contrib/octeon-sdk/cvmx-helper-check-defines.h
  projects/pseries/contrib/octeon-sdk/cvmx-helper-errata.c
  projects/pseries/contrib/octeon-sdk/cvmx-helper-errata.h
  projects/pseries/contrib/octeon-sdk/cvmx-helper-fpa.c
  projects/pseries/contrib/octeon-sdk/cvmx-helper-fpa.h
  projects/pseries/contrib/octeon-sdk/cvmx-helper-jtag.c
  projects/pseries/contrib/octeon-sdk/cvmx-helper-jtag.h
  projects/pseries/contrib/octeon-sdk/cvmx-helper-loop.c
  projects/pseries/contrib/octeon-sdk/cvmx-helper-loop.h
  projects/pseries/contrib/octeon-sdk/cvmx-helper-npi.c
  projects/pseries/contrib/octeon-sdk/cvmx-helper-npi.h
  projects/pseries/contrib/octeon-sdk/cvmx-helper-rgmii.c
  projects/pseries/contrib/octeon-sdk/cvmx-helper-rgmii.h
  projects/pseries/contrib/octeon-sdk/cvmx-helper-sgmii.c
  projects/pseries/contrib/octeon-sdk/cvmx-helper-sgmii.h
  projects/pseries/contrib/octeon-sdk/cvmx-helper-spi.c
  projects/pseries/contrib/octeon-sdk/cvmx-helper-spi.h
  projects/pseries/contrib/octeon-sdk/cvmx-helper-srio.c
  projects/pseries/contrib/octeon-sdk/cvmx-helper-srio.h
  projects/pseries/contrib/octeon-sdk/cvmx-helper-util.c
  projects/pseries/contrib/octeon-sdk/cvmx-helper-util.h
  projects/pseries/contrib/octeon-sdk/cvmx-helper-xaui.c
  projects/pseries/contrib/octeon-sdk/cvmx-helper-xaui.h
  projects/pseries/contrib/octeon-sdk/cvmx-helper.c
  projects/pseries/contrib/octeon-sdk/cvmx-helper.h
  projects/pseries/contrib/octeon-sdk/cvmx-higig.h
  projects/pseries/contrib/octeon-sdk/cvmx-interrupt-handler.S
  projects/pseries/contrib/octeon-sdk/cvmx-interrupt.c
  projects/pseries/contrib/octeon-sdk/cvmx-interrupt.h
  projects/pseries/contrib/octeon-sdk/cvmx-iob-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-ipd-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-ipd.h
  projects/pseries/contrib/octeon-sdk/cvmx-ixf18201.c
  projects/pseries/contrib/octeon-sdk/cvmx-ixf18201.h
  projects/pseries/contrib/octeon-sdk/cvmx-key-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-key.h
  projects/pseries/contrib/octeon-sdk/cvmx-l2c-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-l2c.c
  projects/pseries/contrib/octeon-sdk/cvmx-l2c.h
  projects/pseries/contrib/octeon-sdk/cvmx-l2d-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-l2t-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-led-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-llm.c
  projects/pseries/contrib/octeon-sdk/cvmx-llm.h
  projects/pseries/contrib/octeon-sdk/cvmx-lmcx-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-log-arc.S
  projects/pseries/contrib/octeon-sdk/cvmx-log.c
  projects/pseries/contrib/octeon-sdk/cvmx-log.h
  projects/pseries/contrib/octeon-sdk/cvmx-malloc.h
  projects/pseries/contrib/octeon-sdk/cvmx-mdio.h
  projects/pseries/contrib/octeon-sdk/cvmx-mgmt-port.c
  projects/pseries/contrib/octeon-sdk/cvmx-mgmt-port.h
  projects/pseries/contrib/octeon-sdk/cvmx-mio-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-mixx-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-mpi-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-nand.c
  projects/pseries/contrib/octeon-sdk/cvmx-nand.h
  projects/pseries/contrib/octeon-sdk/cvmx-ndf-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-npei-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-npi-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-npi.h
  projects/pseries/contrib/octeon-sdk/cvmx-packet.h
  projects/pseries/contrib/octeon-sdk/cvmx-pci-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-pci.h
  projects/pseries/contrib/octeon-sdk/cvmx-pcie.c
  projects/pseries/contrib/octeon-sdk/cvmx-pcie.h
  projects/pseries/contrib/octeon-sdk/cvmx-pcieepx-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-pciercx-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-pcm-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-pcmx-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-pcsx-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-pcsxx-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-pemx-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-pescx-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-pexp-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-pip-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-pip.h
  projects/pseries/contrib/octeon-sdk/cvmx-pko-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-pko.c
  projects/pseries/contrib/octeon-sdk/cvmx-pko.h
  projects/pseries/contrib/octeon-sdk/cvmx-platform.h
  projects/pseries/contrib/octeon-sdk/cvmx-pow-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-pow.c
  projects/pseries/contrib/octeon-sdk/cvmx-pow.h
  projects/pseries/contrib/octeon-sdk/cvmx-power-throttle.c
  projects/pseries/contrib/octeon-sdk/cvmx-power-throttle.h
  projects/pseries/contrib/octeon-sdk/cvmx-rad-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-raid.c
  projects/pseries/contrib/octeon-sdk/cvmx-raid.h
  projects/pseries/contrib/octeon-sdk/cvmx-rng.h
  projects/pseries/contrib/octeon-sdk/cvmx-rnm-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-rtc.h
  projects/pseries/contrib/octeon-sdk/cvmx-rwlock.h
  projects/pseries/contrib/octeon-sdk/cvmx-scratch.h
  projects/pseries/contrib/octeon-sdk/cvmx-shmem.c
  projects/pseries/contrib/octeon-sdk/cvmx-shmem.h
  projects/pseries/contrib/octeon-sdk/cvmx-sim-magic.h
  projects/pseries/contrib/octeon-sdk/cvmx-sli-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-smi-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-smix-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-spi.c
  projects/pseries/contrib/octeon-sdk/cvmx-spi.h
  projects/pseries/contrib/octeon-sdk/cvmx-spi4000.c
  projects/pseries/contrib/octeon-sdk/cvmx-spinlock.h
  projects/pseries/contrib/octeon-sdk/cvmx-spx0-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-spxx-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-srio.c
  projects/pseries/contrib/octeon-sdk/cvmx-srio.h
  projects/pseries/contrib/octeon-sdk/cvmx-sriomaintx-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-sriox-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-srxx-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-stxx-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-swap.h
  projects/pseries/contrib/octeon-sdk/cvmx-sysinfo.c
  projects/pseries/contrib/octeon-sdk/cvmx-sysinfo.h
  projects/pseries/contrib/octeon-sdk/cvmx-thunder.c
  projects/pseries/contrib/octeon-sdk/cvmx-thunder.h
  projects/pseries/contrib/octeon-sdk/cvmx-tim-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-tim.c
  projects/pseries/contrib/octeon-sdk/cvmx-tim.h
  projects/pseries/contrib/octeon-sdk/cvmx-tlb.c
  projects/pseries/contrib/octeon-sdk/cvmx-tlb.h
  projects/pseries/contrib/octeon-sdk/cvmx-tra-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-tra.c
  projects/pseries/contrib/octeon-sdk/cvmx-tra.h
  projects/pseries/contrib/octeon-sdk/cvmx-twsi.c
  projects/pseries/contrib/octeon-sdk/cvmx-twsi.h
  projects/pseries/contrib/octeon-sdk/cvmx-uahcx-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-uart.c
  projects/pseries/contrib/octeon-sdk/cvmx-uart.h
  projects/pseries/contrib/octeon-sdk/cvmx-uctlx-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-usb.c
  projects/pseries/contrib/octeon-sdk/cvmx-usb.h
  projects/pseries/contrib/octeon-sdk/cvmx-usbcx-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-usbd.c
  projects/pseries/contrib/octeon-sdk/cvmx-usbd.h
  projects/pseries/contrib/octeon-sdk/cvmx-usbnx-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-utils.h
  projects/pseries/contrib/octeon-sdk/cvmx-version.h
  projects/pseries/contrib/octeon-sdk/cvmx-warn.c
  projects/pseries/contrib/octeon-sdk/cvmx-warn.h
  projects/pseries/contrib/octeon-sdk/cvmx-wqe.h
  projects/pseries/contrib/octeon-sdk/cvmx-zip-defs.h
  projects/pseries/contrib/octeon-sdk/cvmx-zip.c
  projects/pseries/contrib/octeon-sdk/cvmx-zip.h
  projects/pseries/contrib/octeon-sdk/cvmx-zone.c
  projects/pseries/contrib/octeon-sdk/cvmx.h
  projects/pseries/contrib/octeon-sdk/octeon-boot-info.h
  projects/pseries/contrib/octeon-sdk/octeon-feature.h
  projects/pseries/contrib/octeon-sdk/octeon-model.c
  projects/pseries/contrib/octeon-sdk/octeon-model.h
  projects/pseries/contrib/octeon-sdk/octeon-pci-console.c
  projects/pseries/contrib/octeon-sdk/octeon-pci-console.h
  projects/pseries/contrib/pf/net/if_pfsync.c
  projects/pseries/contrib/pf/net/pf.c
  projects/pseries/contrib/pf/net/pf_ioctl.c
  projects/pseries/contrib/pf/net/pf_lb.c
  projects/pseries/contrib/pf/net/pf_norm.c
  projects/pseries/contrib/pf/net/pfvar.h
  projects/pseries/dev/aac/aac.c
  projects/pseries/dev/aac/aac_pci.c
  projects/pseries/dev/acpi_support/atk0110.c
  projects/pseries/dev/acpica/Osd/OsdMemory.c
  projects/pseries/dev/acpica/Osd/OsdSchedule.c
  projects/pseries/dev/acpica/Osd/OsdSynch.c
  projects/pseries/dev/acpica/Osd/OsdTable.c
  projects/pseries/dev/acpica/acpi.c
  projects/pseries/dev/acpica/acpi_ec.c
  projects/pseries/dev/acpica/acpi_hpet.c
  projects/pseries/dev/acpica/acpi_pci.c
  projects/pseries/dev/acpica/acpi_timer.c
  projects/pseries/dev/acpica/acpivar.h
  projects/pseries/dev/ahci/ahci.c
  projects/pseries/dev/amdtemp/amdtemp.c
  projects/pseries/dev/amr/amr_pci.c
  projects/pseries/dev/arcmsr/arcmsr.c
  projects/pseries/dev/ata/ata-pci.h
  projects/pseries/dev/ata/ata-queue.c
  projects/pseries/dev/ata/chipsets/ata-ahci.c
  projects/pseries/dev/ata/chipsets/ata-marvell.c
  projects/pseries/dev/ath/ath_dfs/null/dfs_null.c
  projects/pseries/dev/ath/ath_hal/ah.h
  projects/pseries/dev/ath/ath_hal/ar5416/ar5416.h
  projects/pseries/dev/ath/ath_hal/ar5416/ar5416_attach.c
  projects/pseries/dev/ath/ath_hal/ar5416/ar5416_misc.c
  projects/pseries/dev/ath/ath_rate/sample/sample.c
  projects/pseries/dev/ath/ath_rate/sample/sample.h
  projects/pseries/dev/ath/if_ath.c
  projects/pseries/dev/ath/if_ath_sysctl.c
  projects/pseries/dev/ath/if_ath_tx.c
  projects/pseries/dev/ath/if_athioctl.h
  projects/pseries/dev/ath/if_athvar.h
  projects/pseries/dev/bge/if_bge.c
  projects/pseries/dev/bge/if_bgereg.h
  projects/pseries/dev/cardbus/cardbus.c
  projects/pseries/dev/cxgb/cxgb_adapter.h
  projects/pseries/dev/cxgb/cxgb_main.c
  projects/pseries/dev/cxgb/cxgb_sge.c
  projects/pseries/dev/cxgbe/adapter.h
  projects/pseries/dev/cxgbe/common/t4_hw.c
  projects/pseries/dev/cxgbe/t4_l2t.c
  projects/pseries/dev/cxgbe/t4_l2t.h
  projects/pseries/dev/cxgbe/t4_main.c
  projects/pseries/dev/dpt/dpt_scsi.c
  projects/pseries/dev/e1000/if_em.c
  projects/pseries/dev/e1000/if_igb.c
  projects/pseries/dev/e1000/if_lem.c
  projects/pseries/dev/fb/vesa.c
  projects/pseries/dev/fb/vesa.h
  projects/pseries/dev/fdt/fdt_common.c
  projects/pseries/dev/fdt/fdt_common.h
  projects/pseries/dev/hwpmc/hwpmc_core.c
  projects/pseries/dev/hwpmc/hwpmc_intel.c
  projects/pseries/dev/hwpmc/hwpmc_uncore.c
  projects/pseries/dev/hwpmc/hwpmc_uncore.h
  projects/pseries/dev/hwpmc/pmc_events.h
  projects/pseries/dev/iicbus/ds1775.c
  projects/pseries/dev/iicbus/iicbb.c
  projects/pseries/dev/iicbus/iicbb_if.m
  projects/pseries/dev/isci/isci.c   (contents, props changed)
  projects/pseries/dev/isci/isci.h   (contents, props changed)
  projects/pseries/dev/isci/isci_controller.c   (contents, props changed)
  projects/pseries/dev/isci/isci_io_request.c   (contents, props changed)
  projects/pseries/dev/isci/isci_remote_device.c   (contents, props changed)
  projects/pseries/dev/isci/scil/sati_abort_task_set.c   (contents, props changed)
  projects/pseries/dev/isci/scil/scic_sds_controller.c   (contents, props changed)
  projects/pseries/dev/isci/scil/scic_sds_stp_request.c   (contents, props changed)
  projects/pseries/dev/isci/scil/scif_sas_controller.c   (contents, props changed)
  projects/pseries/dev/isci/scil/scif_sas_controller_state_handlers.c   (contents, props changed)
  projects/pseries/dev/isci/scil/scif_sas_domain.c   (contents, props changed)
  projects/pseries/dev/isci/scil/scif_sas_io_request.c   (contents, props changed)
  projects/pseries/dev/isci/scil/scif_sas_remote_device.c   (contents, props changed)
  projects/pseries/dev/isci/scil/scif_sas_remote_device_ready_substates.c   (contents, props changed)
  projects/pseries/dev/isci/scil/scif_sas_smp_io_request.c   (contents, props changed)
  projects/pseries/dev/isci/scil/scif_sas_smp_remote_device.c   (contents, props changed)
  projects/pseries/dev/isci/scil/scif_sas_stp_io_request.c   (contents, props changed)
  projects/pseries/dev/isci/scil/scif_sas_stp_task_request.c   (contents, props changed)
  projects/pseries/dev/iscsi/initiator/isc_sm.c
  projects/pseries/dev/isp/isp_freebsd.h
  projects/pseries/dev/iwi/if_iwi.c
  projects/pseries/dev/ixgbe/ixgbe.c
  projects/pseries/dev/mge/if_mge.c
  projects/pseries/dev/mge/if_mgevar.h
  projects/pseries/dev/mii/brgphy.c
  projects/pseries/dev/mii/miidevs
  projects/pseries/dev/mii/nsphyter.c
  projects/pseries/dev/mii/rgephy.c
  projects/pseries/dev/mii/smcphy.c
  projects/pseries/dev/mlx/mlx.c
  projects/pseries/dev/mps/mps.c
  projects/pseries/dev/mps/mps_pci.c
  projects/pseries/dev/mps/mps_sas.c
  projects/pseries/dev/mps/mps_sas.h
  projects/pseries/dev/mps/mps_sas_lsi.c
  projects/pseries/dev/mps/mps_user.c
  projects/pseries/dev/mps/mpsvar.h
  projects/pseries/dev/mpt/mpilib/mpi_type.h
  projects/pseries/dev/mpt/mpt.c
  projects/pseries/dev/mpt/mpt.h
  projects/pseries/dev/mpt/mpt_cam.c
  projects/pseries/dev/mpt/mpt_pci.c
  projects/pseries/dev/mpt/mpt_reg.h
  projects/pseries/dev/netmap/if_em_netmap.h
  projects/pseries/dev/netmap/if_igb_netmap.h
  projects/pseries/dev/netmap/if_lem_netmap.h
  projects/pseries/dev/netmap/if_re_netmap.h
  projects/pseries/dev/netmap/ixgbe_netmap.h
  projects/pseries/dev/netmap/netmap.c
  projects/pseries/dev/netmap/netmap_kern.h
  projects/pseries/dev/pci/hostb_pci.c
  projects/pseries/dev/pci/pci.c
  projects/pseries/dev/pci/pci_if.m
  projects/pseries/dev/pci/pci_private.h
  projects/pseries/dev/pci/pcireg.h
  projects/pseries/dev/pci/pcivar.h
  projects/pseries/dev/pci/vga_pci.c
  projects/pseries/dev/pcn/if_pcn.c
  projects/pseries/dev/re/if_re.c
  projects/pseries/dev/sdhci/sdhci.c
  projects/pseries/dev/sdhci/sdhci.h
  projects/pseries/dev/sf/if_sf.c
  projects/pseries/dev/sf/if_sfreg.h
  projects/pseries/dev/siba/siba_bwn.c
  projects/pseries/dev/siba/siba_core.c
  projects/pseries/dev/sound/pci/hda/hdacc.c
  projects/pseries/dev/sound/pcm/mixer.c
  projects/pseries/dev/sound/pcm/sound.c
  projects/pseries/dev/sound/usb/uaudio.c
  projects/pseries/dev/tsec/if_tsec.c
  projects/pseries/dev/tsec/if_tsec.h
  projects/pseries/dev/tsec/if_tsec_fdt.c
  projects/pseries/dev/twa/tw_osl.h
  projects/pseries/dev/twa/tw_osl_freebsd.c
  projects/pseries/dev/uart/uart_bus_pci.c
  projects/pseries/dev/usb/controller/dwc_otg.c
  projects/pseries/dev/usb/controller/dwc_otg.h
  projects/pseries/dev/usb/controller/dwc_otg_atmelarm.c
  projects/pseries/dev/usb/controller/usb_controller.c
  projects/pseries/dev/usb/net/if_mos.c
  projects/pseries/dev/usb/net/if_mosreg.h
  projects/pseries/dev/usb/serial/u3g.c
  projects/pseries/dev/usb/storage/umass.c
  projects/pseries/dev/usb/usb_dev.c
  projects/pseries/dev/usb/usbdevs
  projects/pseries/dev/vge/if_vge.c
  projects/pseries/dev/virtio/pci/virtio_pci.c
  projects/pseries/dev/wi/if_wi.c
  projects/pseries/dev/wtap/if_wtap.c
  projects/pseries/dev/wtap/if_wtap_module.c
  projects/pseries/dev/xen/blkback/blkback.c
  projects/pseries/dev/xen/blkfront/blkfront.c
  projects/pseries/dev/xen/blkfront/block.h
  projects/pseries/fs/cd9660/cd9660_vfsops.c
  projects/pseries/fs/cd9660/cd9660_vnops.c
  projects/pseries/fs/devfs/devfs.h
  projects/pseries/fs/devfs/devfs_devs.c
  projects/pseries/fs/devfs/devfs_rule.c
  projects/pseries/fs/devfs/devfs_vfsops.c
  projects/pseries/fs/devfs/devfs_vnops.c
  projects/pseries/fs/ext2fs/ext2_alloc.c
  projects/pseries/fs/ext2fs/ext2_dinode.h
  projects/pseries/fs/ext2fs/ext2_inode_cnv.c
  projects/pseries/fs/ext2fs/ext2_lookup.c
  projects/pseries/fs/ext2fs/ext2_vfsops.c
  projects/pseries/fs/ext2fs/ext2_vnops.c
  projects/pseries/fs/ext2fs/ext2fs.h
  projects/pseries/fs/ext2fs/inode.h
  projects/pseries/fs/fifofs/fifo_vnops.c
  projects/pseries/fs/hpfs/hpfs_vfsops.c
  projects/pseries/fs/msdosfs/msdosfs_denode.c
  projects/pseries/fs/msdosfs/msdosfs_lookup.c
  projects/pseries/fs/msdosfs/msdosfs_vfsops.c
  projects/pseries/fs/msdosfs/msdosfs_vnops.c
  projects/pseries/fs/nfs/nfs_commonport.c
  projects/pseries/fs/nfs/nfsport.h
  projects/pseries/fs/nfsclient/nfs_clbio.c
  projects/pseries/fs/nfsclient/nfs_clport.c
  projects/pseries/fs/nfsclient/nfs_clrpcops.c
  projects/pseries/fs/nfsclient/nfs_clstate.c
  projects/pseries/fs/nfsclient/nfs_clvfsops.c
  projects/pseries/fs/nfsclient/nfs_clvnops.c
  projects/pseries/fs/nfsserver/nfs_nfsdcache.c
  projects/pseries/fs/nfsserver/nfs_nfsdport.c
  projects/pseries/fs/nfsserver/nfs_nfsdstate.c
  projects/pseries/fs/ntfs/ntfs.h
  projects/pseries/fs/ntfs/ntfs_vfsops.c
  projects/pseries/fs/nullfs/null_subr.c
  projects/pseries/fs/nullfs/null_vfsops.c
  projects/pseries/fs/nullfs/null_vnops.c
  projects/pseries/fs/nwfs/nwfs_vnops.c
  projects/pseries/fs/procfs/procfs.c
  projects/pseries/fs/pseudofs/pseudofs.h
  projects/pseries/fs/pseudofs/pseudofs_vnops.c
  projects/pseries/fs/smbfs/smbfs_vnops.c
  projects/pseries/fs/tmpfs/tmpfs_vnops.c
  projects/pseries/fs/udf/udf_vnops.c
  projects/pseries/fs/unionfs/union_subr.c
  projects/pseries/geom/journal/g_journal.c
  projects/pseries/geom/part/g_part.c
  projects/pseries/geom/part/g_part_apm.c
  projects/pseries/geom/part/g_part_bsd.c
  projects/pseries/geom/part/g_part_ebr.c
  projects/pseries/geom/part/g_part_mbr.c
  projects/pseries/gnu/fs/xfs/FreeBSD/xfs_vnops.c
  projects/pseries/i386/acpica/acpi_wakeup.c
  projects/pseries/i386/conf/DEFAULTS
  projects/pseries/i386/conf/GENERIC
  projects/pseries/i386/conf/GENERIC.hints
  projects/pseries/i386/conf/NOTES
  projects/pseries/i386/conf/XBOX
  projects/pseries/i386/i386/exception.s
  projects/pseries/i386/i386/machdep.c
  projects/pseries/i386/i386/trap.c
  projects/pseries/i386/ibcs2/imgact_coff.c
  projects/pseries/i386/include/_limits.h
  projects/pseries/i386/include/_stdint.h
  projects/pseries/i386/include/_types.h
  projects/pseries/i386/include/apicvar.h
  projects/pseries/i386/include/endian.h
  projects/pseries/i386/include/float.h
  projects/pseries/i386/include/intr_machdep.h
  projects/pseries/i386/include/ptrace.h
  projects/pseries/i386/include/segments.h
  projects/pseries/i386/include/setjmp.h
  projects/pseries/i386/include/stdarg.h
  projects/pseries/i386/include/trap.h
  projects/pseries/i386/linux/imgact_linux.c
  projects/pseries/i386/linux/linux_dummy.c
  projects/pseries/i386/linux/linux_proto.h
  projects/pseries/i386/linux/linux_syscall.h
  projects/pseries/i386/linux/linux_syscalls.c
  projects/pseries/i386/linux/linux_sysent.c
  projects/pseries/i386/linux/linux_systrace_args.c
  projects/pseries/i386/linux/linux_sysvec.c
  projects/pseries/i386/linux/syscalls.master
  projects/pseries/ia64/conf/DEFAULTS
  projects/pseries/ia64/ia64/busdma_machdep.c
  projects/pseries/ia64/ia64/machdep.c
  projects/pseries/ia64/ia64/vm_machdep.c
  projects/pseries/kern/imgact_gzip.c
  projects/pseries/kern/kern_clock.c
  projects/pseries/kern/kern_clocksource.c
  projects/pseries/kern/kern_conf.c
  projects/pseries/kern/kern_cpu.c
  projects/pseries/kern/kern_ctf.c
  projects/pseries/kern/kern_descrip.c
  projects/pseries/kern/kern_exec.c
  projects/pseries/kern/kern_exit.c
  projects/pseries/kern/kern_fork.c
  projects/pseries/kern/kern_gzio.c
  projects/pseries/kern/kern_intr.c
  projects/pseries/kern/kern_jail.c
  projects/pseries/kern/kern_kthread.c
  projects/pseries/kern/kern_ktrace.c
  projects/pseries/kern/kern_linker.c
  projects/pseries/kern/kern_lock.c
  projects/pseries/kern/kern_malloc.c
  projects/pseries/kern/kern_proc.c
  projects/pseries/kern/kern_racct.c
  projects/pseries/kern/kern_tc.c
  projects/pseries/kern/kern_thr.c
  projects/pseries/kern/kern_umtx.c
  projects/pseries/kern/link_elf.c
  projects/pseries/kern/link_elf_obj.c
  projects/pseries/kern/sched_4bsd.c
  projects/pseries/kern/sched_ule.c
  projects/pseries/kern/subr_bus.c
  projects/pseries/kern/subr_mchain.c
  projects/pseries/kern/subr_msgbuf.c
  projects/pseries/kern/subr_syscall.c
  projects/pseries/kern/subr_uio.c
  projects/pseries/kern/sys_generic.c
  projects/pseries/kern/sys_pipe.c
  projects/pseries/kern/sys_process.c
  projects/pseries/kern/sysv_shm.c
  projects/pseries/kern/tty.c
  projects/pseries/kern/tty_info.c
  projects/pseries/kern/tty_ttydisc.c
  projects/pseries/kern/uipc_domain.c
  projects/pseries/kern/uipc_mbuf.c
  projects/pseries/kern/uipc_socket.c
  projects/pseries/kern/uipc_syscalls.c
  projects/pseries/kern/uipc_usrreq.c
  projects/pseries/kern/vfs_aio.c
  projects/pseries/kern/vfs_bio.c
  projects/pseries/kern/vfs_cache.c
  projects/pseries/kern/vfs_cluster.c
  projects/pseries/kern/vfs_default.c
  projects/pseries/kern/vfs_extattr.c
  projects/pseries/kern/vfs_mount.c
  projects/pseries/kern/vfs_mountroot.c
  projects/pseries/kern/vfs_subr.c
  projects/pseries/kern/vfs_syscalls.c
  projects/pseries/kern/vfs_vnops.c
  projects/pseries/kern/vnode_if.src
  projects/pseries/mips/atheros/if_arge.c
  projects/pseries/mips/cavium/ciu.c
  projects/pseries/mips/cavium/files.octeon1
  projects/pseries/mips/cavium/if_octm.c
  projects/pseries/mips/cavium/obio.c
  projects/pseries/mips/cavium/octe/ethernet-common.c
  projects/pseries/mips/cavium/octe/ethernet-common.h
  projects/pseries/mips/cavium/octe/ethernet-rgmii.c
  projects/pseries/mips/cavium/octe/ethernet-rx.c
  projects/pseries/mips/cavium/octe/ethernet-sgmii.c
  projects/pseries/mips/cavium/octe/ethernet-spi.c
  projects/pseries/mips/cavium/octe/ethernet-xaui.c
  projects/pseries/mips/cavium/octe/ethernet.c
  projects/pseries/mips/cavium/octe/wrapper-cvmx-includes.h
  projects/pseries/mips/cavium/octeon_gpio.c
  projects/pseries/mips/cavium/octeon_machdep.c
  projects/pseries/mips/cavium/octeon_mp.c
  projects/pseries/mips/cavium/octeon_wdog.c
  projects/pseries/mips/cavium/octopci.c
  projects/pseries/mips/cavium/octopci_bus_space.c
  projects/pseries/mips/cavium/uart_dev_oct16550.c
  projects/pseries/mips/cavium/usb/octusb_octeon.c
  projects/pseries/mips/conf/DEFAULTS
  projects/pseries/mips/conf/OCTEON1
  projects/pseries/mips/include/_bus.h
  projects/pseries/mips/include/asm.h
  projects/pseries/mips/include/cpu.h
  projects/pseries/mips/include/cpuregs.h
  projects/pseries/mips/include/elf.h
  projects/pseries/mips/include/locore.h
  projects/pseries/mips/include/md_var.h
  projects/pseries/mips/include/mips_opcode.h
  projects/pseries/mips/include/param.h
  projects/pseries/mips/include/proc.h
  projects/pseries/mips/include/reg.h
  projects/pseries/mips/include/sigframe.h
  projects/pseries/mips/include/ucontext.h
  projects/pseries/mips/include/vmparam.h
  projects/pseries/mips/mips/bus_space_generic.c
  projects/pseries/mips/mips/busdma_machdep.c
  projects/pseries/mips/mips/cpu.c
  projects/pseries/mips/mips/exception.S
  projects/pseries/mips/mips/genassym.c
  projects/pseries/mips/mips/locore.S
  projects/pseries/mips/mips/machdep.c
  projects/pseries/mips/mips/mpboot.S
  projects/pseries/mips/mips/nexus.c
  projects/pseries/mips/mips/pm_machdep.c
  projects/pseries/mips/mips/support.S
  projects/pseries/mips/mips/swtch.S
  projects/pseries/mips/mips/sys_machdep.c
  projects/pseries/mips/mips/trap.c
  projects/pseries/mips/mips/vm_machdep.c
  projects/pseries/mips/rt305x/rt305x_sysctl.c
  projects/pseries/mips/sibyte/sb_machdep.c
  projects/pseries/modules/Makefile
  projects/pseries/modules/acpi/acpi/Makefile
  projects/pseries/modules/ath/Makefile
  projects/pseries/modules/bios/smapi/Makefile
  projects/pseries/modules/dtrace/dtrace/Makefile
  projects/pseries/modules/hpt27xx/Makefile
  projects/pseries/modules/ipdivert/Makefile
  projects/pseries/modules/isci/Makefile   (contents, props changed)
  projects/pseries/modules/kgssapi/Makefile
  projects/pseries/modules/kgssapi_krb5/Makefile
  projects/pseries/modules/linux/Makefile
  projects/pseries/modules/mii/Makefile
  projects/pseries/modules/scc/Makefile
  projects/pseries/modules/sound/driver/Makefile
  projects/pseries/modules/usb/Makefile
  projects/pseries/modules/wi/Makefile
  projects/pseries/modules/wlan/Makefile
  projects/pseries/net/bpf.c
  projects/pseries/net/bridgestp.c
  projects/pseries/net/bridgestp.h
  projects/pseries/net/flowtable.c
  projects/pseries/net/ieee8023ad_lacp.c
  projects/pseries/net/if.c
  projects/pseries/net/if.h
  projects/pseries/net/if_bridge.c
  projects/pseries/net/if_ethersubr.c
  projects/pseries/net/if_faith.c
  projects/pseries/net/if_lagg.c
  projects/pseries/net/if_lagg.h
  projects/pseries/net/if_llatbl.h
  projects/pseries/net/if_var.h
  projects/pseries/net/netmap.h
  projects/pseries/net/netmap_user.h
  projects/pseries/net/route.c
  projects/pseries/net/route.h
  projects/pseries/net/rtsock.c
  projects/pseries/net/zlib.h
  projects/pseries/net80211/ieee80211.h
  projects/pseries/net80211/ieee80211_action.c
  projects/pseries/net80211/ieee80211_alq.c
  projects/pseries/net80211/ieee80211_alq.h
  projects/pseries/net80211/ieee80211_hwmp.c
  projects/pseries/net80211/ieee80211_input.c
  projects/pseries/net80211/ieee80211_ioctl.h
  projects/pseries/net80211/ieee80211_mesh.c
  projects/pseries/net80211/ieee80211_mesh.h
  projects/pseries/net80211/ieee80211_node.h
  projects/pseries/net80211/ieee80211_output.c
  projects/pseries/net80211/ieee80211_proto.c
  projects/pseries/net80211/ieee80211_radiotap.c
  projects/pseries/net80211/ieee80211_radiotap.h
  projects/pseries/net80211/ieee80211_scan.c
  projects/pseries/net80211/ieee80211_sta.c
  projects/pseries/netatalk/aarp.c
  projects/pseries/netgraph/netgraph.h
  projects/pseries/netgraph/ng_base.c
  projects/pseries/netgraph/ng_cisco.c
  projects/pseries/netgraph/ng_cisco.h
  projects/pseries/netgraph/ng_device.c
  projects/pseries/netgraph/ng_socket.c
  projects/pseries/netinet/icmp6.h
  projects/pseries/netinet/in.c
  projects/pseries/netinet/ip_carp.c
  projects/pseries/netinet/ip_mroute.c
  projects/pseries/netinet/ipfw/ip_fw2.c
  projects/pseries/netinet/ipfw/ip_fw_dynamic.c
  projects/pseries/netinet/ipfw/ip_fw_nat.c
  projects/pseries/netinet/ipfw/ip_fw_sockopt.c
  projects/pseries/netinet/sctp_bsd_addr.c
  projects/pseries/netinet/sctp_os_bsd.h
  projects/pseries/netinet/sctp_output.c
  projects/pseries/netinet/sctp_peeloff.c
  projects/pseries/netinet/sctp_structs.h
  projects/pseries/netinet/sctp_usrreq.c
  projects/pseries/netinet/tcp.h
  projects/pseries/netinet/tcp_input.c
  projects/pseries/netinet/tcp_output.c
  projects/pseries/netinet/tcp_seq.h
  projects/pseries/netinet/tcp_subr.c
  projects/pseries/netinet/tcp_syncache.c
  projects/pseries/netinet/tcp_timer.c
  projects/pseries/netinet/tcp_timer.h
  projects/pseries/netinet/tcp_timewait.c
  projects/pseries/netinet/tcp_usrreq.c
  projects/pseries/netinet/tcp_var.h
  projects/pseries/netinet6/icmp6.c
  projects/pseries/netinet6/in6.c
  projects/pseries/netinet6/in6_gif.c
  projects/pseries/netinet6/in6_ifattach.c
  projects/pseries/netinet6/in6_mcast.c
  projects/pseries/netinet6/in6_rmx.c
  projects/pseries/netinet6/in6_src.c
  projects/pseries/netinet6/in6_var.h
  projects/pseries/netinet6/ip6_forward.c
  projects/pseries/netinet6/ip6_input.c
  projects/pseries/netinet6/ip6_output.c
  projects/pseries/netinet6/ip6_var.h
  projects/pseries/netinet6/nd6.c
  projects/pseries/netinet6/nd6_nbr.c
  projects/pseries/netinet6/nd6_rtr.c
  projects/pseries/netinet6/raw_ip6.c
  projects/pseries/netinet6/sctp6_usrreq.c
  projects/pseries/netipsec/ipsec_output.c
  projects/pseries/nfs/bootp_subr.c
  projects/pseries/nfsclient/nfs_bio.c
  projects/pseries/nfsclient/nfs_krpc.c
  projects/pseries/nfsclient/nfs_vfsops.c
  projects/pseries/nfsclient/nfs_vnops.c
  projects/pseries/pc98/conf/DEFAULTS
  projects/pseries/pc98/conf/GENERIC
  projects/pseries/pc98/include/_limits.h
  projects/pseries/pc98/include/_stdint.h
  projects/pseries/pc98/include/_types.h
  projects/pseries/pc98/include/endian.h
  projects/pseries/pc98/include/float.h
  projects/pseries/pc98/include/ptrace.h
  projects/pseries/pc98/include/setjmp.h
  projects/pseries/pc98/include/stdarg.h
  projects/pseries/pc98/include/trap.h
  projects/pseries/pci/if_rl.c
  projects/pseries/pci/if_rlreg.h
  projects/pseries/powerpc/aim/swtch64.S
  projects/pseries/powerpc/conf/DEFAULTS
  projects/pseries/powerpc/conf/GENERIC
  projects/pseries/powerpc/conf/GENERIC64
  projects/pseries/powerpc/include/asm.h
  projects/pseries/powerpc/include/endian.h
  projects/pseries/powerpc/ofw/ofw_pci.c
  projects/pseries/powerpc/ofw/ofw_pcib_pci.c
  projects/pseries/powerpc/ofw/ofw_pcibus.c
  projects/pseries/powerpc/powermac/cpcht.c
  projects/pseries/powerpc/powermac/smu.c
  projects/pseries/powerpc/powermac/smusat.c
  projects/pseries/powerpc/powerpc/busdma_machdep.c
  projects/pseries/powerpc/powerpc/iommu_if.m
  projects/pseries/powerpc/ps3/ps3bus.c
  projects/pseries/security/mac_biba/mac_biba.c
  projects/pseries/security/mac_lomac/mac_lomac.c
  projects/pseries/security/mac_mls/mac_mls.c
  projects/pseries/sparc64/conf/DEFAULTS
  projects/pseries/sparc64/include/bus_dma.h
  projects/pseries/sparc64/include/endian.h
  projects/pseries/sparc64/pci/ofw_pcibus.c
  projects/pseries/sparc64/sparc64/bus_machdep.c
  projects/pseries/sys/_umtx.h
  projects/pseries/sys/buf.h
  projects/pseries/sys/bus_dma.h
  projects/pseries/sys/cdefs.h
  projects/pseries/sys/conf.h
  projects/pseries/sys/diskmbr.h
  projects/pseries/sys/elf_common.h
  projects/pseries/sys/jail.h
  projects/pseries/sys/malloc.h
  projects/pseries/sys/mount.h
  projects/pseries/sys/msgbuf.h
  projects/pseries/sys/param.h
  projects/pseries/sys/pipe.h
  projects/pseries/sys/pmc.h
  projects/pseries/sys/proc.h
  projects/pseries/sys/ptrace.h
  projects/pseries/sys/racct.h
  projects/pseries/sys/rman.h
  projects/pseries/sys/sched.h
  projects/pseries/sys/socket.h
  projects/pseries/sys/sysctl.h
  projects/pseries/sys/systm.h
  projects/pseries/sys/ttycom.h
  projects/pseries/sys/ttydefaults.h
  projects/pseries/sys/umtx.h
  projects/pseries/sys/unistd.h
  projects/pseries/sys/vnode.h
  projects/pseries/tools/vnode_if.awk
  projects/pseries/ufs/ffs/ffs_extern.h
  projects/pseries/ufs/ffs/ffs_inode.c
  projects/pseries/ufs/ffs/ffs_snapshot.c
  projects/pseries/ufs/ffs/ffs_softdep.c
  projects/pseries/ufs/ffs/ffs_vfsops.c
  projects/pseries/ufs/ffs/ffs_vnops.c
  projects/pseries/ufs/ufs/inode.h
  projects/pseries/ufs/ufs/ufs_acl.c
  projects/pseries/ufs/ufs/ufs_extattr.c
  projects/pseries/ufs/ufs/ufs_lookup.c
  projects/pseries/ufs/ufs/ufs_quota.c
  projects/pseries/ufs/ufs/ufs_vnops.c
  projects/pseries/vm/swap_pager.c
  projects/pseries/vm/vm_kern.c
  projects/pseries/vm/vm_map.c
  projects/pseries/vm/vm_map.h
  projects/pseries/vm/vm_mmap.c
  projects/pseries/vm/vm_object.h
  projects/pseries/vm/vnode_pager.c
  projects/pseries/vm/vnode_pager.h
  projects/pseries/x86/cpufreq/p4tcc.c
  projects/pseries/x86/x86/busdma_machdep.c
  projects/pseries/x86/x86/local_apic.c
  projects/pseries/xen/interface/io/blkif.h
  projects/pseries/xen/xenbus/xenbusvar.h
Directory Properties:
  projects/pseries/   (props changed)
  projects/pseries/boot/   (props changed)
  projects/pseries/boot/powerpc/boot1.chrp/   (props changed)
  projects/pseries/cddl/contrib/opensolaris/   (props changed)
  projects/pseries/conf/   (props changed)
  projects/pseries/contrib/dev/acpica/   (props changed)
  projects/pseries/contrib/dev/acpica/common/   (props changed)
  projects/pseries/contrib/dev/acpica/compiler/   (props changed)
  projects/pseries/contrib/dev/acpica/components/debugger/   (props changed)
  projects/pseries/contrib/dev/acpica/components/disassembler/   (props changed)
  projects/pseries/contrib/dev/acpica/components/dispatcher/   (props changed)
  projects/pseries/contrib/dev/acpica/components/events/   (props changed)
  projects/pseries/contrib/dev/acpica/components/executer/   (props changed)
  projects/pseries/contrib/dev/acpica/components/hardware/   (props changed)
  projects/pseries/contrib/dev/acpica/components/namespace/   (props changed)
  projects/pseries/contrib/dev/acpica/components/parser/   (props changed)
  projects/pseries/contrib/dev/acpica/components/resources/   (props changed)
  projects/pseries/contrib/dev/acpica/components/tables/   (props changed)
  projects/pseries/contrib/dev/acpica/components/utilities/   (props changed)
  projects/pseries/contrib/dev/acpica/include/   (props changed)
  projects/pseries/contrib/dev/acpica/os_specific/   (props changed)
  projects/pseries/contrib/octeon-sdk/   (props changed)
  projects/pseries/contrib/pf/   (props changed)
  projects/pseries/dev/isci/README   (props changed)
  projects/pseries/dev/isci/environment.h   (props changed)
  projects/pseries/dev/isci/isci_domain.c   (props changed)
  projects/pseries/dev/isci/isci_interrupt.c   (props changed)
  projects/pseries/dev/isci/isci_logger.c   (props changed)
  projects/pseries/dev/isci/isci_oem_parameters.c   (props changed)
  projects/pseries/dev/isci/isci_sysctl.c   (props changed)
  projects/pseries/dev/isci/isci_task_request.c   (props changed)
  projects/pseries/dev/isci/isci_timer.c   (props changed)
  projects/pseries/dev/isci/sci_environment.h   (props changed)
  projects/pseries/dev/isci/scil/intel_ata.h   (props changed)
  projects/pseries/dev/isci/scil/intel_pci.h   (props changed)
  projects/pseries/dev/isci/scil/intel_sas.h   (props changed)
  projects/pseries/dev/isci/scil/intel_sat.h   (props changed)
  projects/pseries/dev/isci/scil/intel_sata.h   (props changed)
  projects/pseries/dev/isci/scil/intel_scsi.h   (props changed)
  projects/pseries/dev/isci/scil/sati.c   (props changed)
  projects/pseries/dev/isci/scil/sati.h   (props changed)
  projects/pseries/dev/isci/scil/sati_abort_task_set.h   (props changed)
  projects/pseries/dev/isci/scil/sati_atapi.c   (props changed)
  projects/pseries/dev/isci/scil/sati_atapi.h   (props changed)
  projects/pseries/dev/isci/scil/sati_callbacks.h   (props changed)
  projects/pseries/dev/isci/scil/sati_design.h   (props changed)
  projects/pseries/dev/isci/scil/sati_device.c   (props changed)
  projects/pseries/dev/isci/scil/sati_device.h   (props changed)
  projects/pseries/dev/isci/scil/sati_inquiry.c   (props changed)
  projects/pseries/dev/isci/scil/sati_inquiry.h   (props changed)
  projects/pseries/dev/isci/scil/sati_log_sense.c   (props changed)
  projects/pseries/dev/isci/scil/sati_log_sense.h   (props changed)
  projects/pseries/dev/isci/scil/sati_lun_reset.c   (props changed)
  projects/pseries/dev/isci/scil/sati_lun_reset.h   (props changed)
  projects/pseries/dev/isci/scil/sati_mode_pages.c   (props changed)
  projects/pseries/dev/isci/scil/sati_mode_pages.h   (props changed)
  projects/pseries/dev/isci/scil/sati_mode_select.c   (props changed)
  projects/pseries/dev/isci/scil/sati_mode_select.h   (props changed)
  projects/pseries/dev/isci/scil/sati_mode_sense.c   (props changed)
  projects/pseries/dev/isci/scil/sati_mode_sense.h   (props changed)
  projects/pseries/dev/isci/scil/sati_mode_sense_10.c   (props changed)
  projects/pseries/dev/isci/scil/sati_mode_sense_10.h   (props changed)
  projects/pseries/dev/isci/scil/sati_mode_sense_6.c   (props changed)
  projects/pseries/dev/isci/scil/sati_mode_sense_6.h   (props changed)
  projects/pseries/dev/isci/scil/sati_move.c   (props changed)
  projects/pseries/dev/isci/scil/sati_move.h   (props changed)
  projects/pseries/dev/isci/scil/sati_passthrough.c   (props changed)
  projects/pseries/dev/isci/scil/sati_passthrough.h   (props changed)
  projects/pseries/dev/isci/scil/sati_read.c   (props changed)
  projects/pseries/dev/isci/scil/sati_read.h   (props changed)
  projects/pseries/dev/isci/scil/sati_read_buffer.c   (props changed)
  projects/pseries/dev/isci/scil/sati_read_buffer.h   (props changed)
  projects/pseries/dev/isci/scil/sati_read_capacity.c   (props changed)
  projects/pseries/dev/isci/scil/sati_read_capacity.h   (props changed)
  projects/pseries/dev/isci/scil/sati_reassign_blocks.c   (props changed)
  projects/pseries/dev/isci/scil/sati_reassign_blocks.h   (props changed)
  projects/pseries/dev/isci/scil/sati_report_luns.c   (props changed)
  projects/pseries/dev/isci/scil/sati_report_luns.h   (props changed)
  projects/pseries/dev/isci/scil/sati_request_sense.c   (props changed)
  projects/pseries/dev/isci/scil/sati_request_sense.h   (props changed)
  projects/pseries/dev/isci/scil/sati_start_stop_unit.c   (props changed)
  projects/pseries/dev/isci/scil/sati_start_stop_unit.h   (props changed)
  projects/pseries/dev/isci/scil/sati_synchronize_cache.c   (props changed)
  projects/pseries/dev/isci/scil/sati_synchronize_cache.h   (props changed)
  projects/pseries/dev/isci/scil/sati_test_unit_ready.c   (props changed)
  projects/pseries/dev/isci/scil/sati_test_unit_ready.h   (props changed)
  projects/pseries/dev/isci/scil/sati_translator_sequence.h   (props changed)
  projects/pseries/dev/isci/scil/sati_types.h   (props changed)
  projects/pseries/dev/isci/scil/sati_unmap.c   (props changed)
  projects/pseries/dev/isci/scil/sati_unmap.h   (props changed)
  projects/pseries/dev/isci/scil/sati_util.c   (props changed)
  projects/pseries/dev/isci/scil/sati_util.h   (props changed)
  projects/pseries/dev/isci/scil/sati_verify.c   (props changed)
  projects/pseries/dev/isci/scil/sati_verify.h   (props changed)
  projects/pseries/dev/isci/scil/sati_write.c   (props changed)
  projects/pseries/dev/isci/scil/sati_write.h   (props changed)
  projects/pseries/dev/isci/scil/sati_write_and_verify.c   (props changed)
  projects/pseries/dev/isci/scil/sati_write_and_verify.h   (props changed)
  projects/pseries/dev/isci/scil/sati_write_buffer.c   (props changed)
  projects/pseries/dev/isci/scil/sati_write_buffer.h   (props changed)
  projects/pseries/dev/isci/scil/sati_write_long.c   (props changed)
  projects/pseries/dev/isci/scil/sati_write_long.h   (props changed)
  projects/pseries/dev/isci/scil/sci_abstract_list.c   (props changed)
  projects/pseries/dev/isci/scil/sci_abstract_list.h   (props changed)
  projects/pseries/dev/isci/scil/sci_base_controller.c   (props changed)
  projects/pseries/dev/isci/scil/sci_base_controller.h   (props changed)
  projects/pseries/dev/isci/scil/sci_base_domain.c   (props changed)
  projects/pseries/dev/isci/scil/sci_base_domain.h   (props changed)
  projects/pseries/dev/isci/scil/sci_base_iterator.c   (props changed)
  projects/pseries/dev/isci/scil/sci_base_iterator.h   (props changed)
  projects/pseries/dev/isci/scil/sci_base_library.c   (props changed)
  projects/pseries/dev/isci/scil/sci_base_library.h   (props changed)
  projects/pseries/dev/isci/scil/sci_base_logger.c   (props changed)
  projects/pseries/dev/isci/scil/sci_base_logger.h   (props changed)
  projects/pseries/dev/isci/scil/sci_base_memory_descriptor_list.c   (props changed)
  projects/pseries/dev/isci/scil/sci_base_memory_descriptor_list.h   (props changed)
  projects/pseries/dev/isci/scil/sci_base_memory_descriptor_list_decorator.c   (props changed)
  projects/pseries/dev/isci/scil/sci_base_object.c   (props changed)
  projects/pseries/dev/isci/scil/sci_base_object.h   (props changed)
  projects/pseries/dev/isci/scil/sci_base_observer.c   (props changed)
  projects/pseries/dev/isci/scil/sci_base_observer.h   (props changed)
  projects/pseries/dev/isci/scil/sci_base_phy.c   (props changed)
  projects/pseries/dev/isci/scil/sci_base_phy.h   (props changed)
  projects/pseries/dev/isci/scil/sci_base_port.c   (props changed)
  projects/pseries/dev/isci/scil/sci_base_port.h   (props changed)
  projects/pseries/dev/isci/scil/sci_base_remote_device.c   (props changed)
  projects/pseries/dev/isci/scil/sci_base_remote_device.h   (props changed)
  projects/pseries/dev/isci/scil/sci_base_request.c   (props changed)
  projects/pseries/dev/isci/scil/sci_base_request.h   (props changed)
  projects/pseries/dev/isci/scil/sci_base_state.h   (props changed)
  projects/pseries/dev/isci/scil/sci_base_state_machine.c   (props changed)
  projects/pseries/dev/isci/scil/sci_base_state_machine.h   (props changed)
  projects/pseries/dev/isci/scil/sci_base_state_machine_logger.c   (props changed)
  projects/pseries/dev/isci/scil/sci_base_state_machine_logger.h   (props changed)
  projects/pseries/dev/isci/scil/sci_base_state_machine_observer.c   (props changed)
  projects/pseries/dev/isci/scil/sci_base_state_machine_observer.h   (props changed)
  projects/pseries/dev/isci/scil/sci_base_subject.c   (props changed)
  projects/pseries/dev/isci/scil/sci_base_subject.h   (props changed)
  projects/pseries/dev/isci/scil/sci_controller.h   (props changed)
  projects/pseries/dev/isci/scil/sci_controller_constants.h   (props changed)
  projects/pseries/dev/isci/scil/sci_fast_list.h   (props changed)
  projects/pseries/dev/isci/scil/sci_iterator.h   (props changed)
  projects/pseries/dev/isci/scil/sci_library.h   (props changed)
  projects/pseries/dev/isci/scil/sci_logger.h   (props changed)
  projects/pseries/dev/isci/scil/sci_memory_descriptor_list.h   (props changed)
  projects/pseries/dev/isci/scil/sci_memory_descriptor_list_decorator.h   (props changed)
  projects/pseries/dev/isci/scil/sci_object.h   (props changed)
  projects/pseries/dev/isci/scil/sci_overview.h   (props changed)
  projects/pseries/dev/isci/scil/sci_pool.h   (props changed)
  projects/pseries/dev/isci/scil/sci_simple_list.h   (props changed)
  projects/pseries/dev/isci/scil/sci_status.h   (props changed)
  projects/pseries/dev/isci/scil/sci_types.h   (props changed)
  projects/pseries/dev/isci/scil/sci_util.c   (props changed)
  projects/pseries/dev/isci/scil/sci_util.h   (props changed)
  projects/pseries/dev/isci/scil/scic_config_parameters.h   (props changed)
  projects/pseries/dev/isci/scil/scic_controller.h   (props changed)
  projects/pseries/dev/isci/scil/scic_io_request.h   (props changed)
  projects/pseries/dev/isci/scil/scic_library.h   (props changed)
  projects/pseries/dev/isci/scil/scic_logger.h   (props changed)
  projects/pseries/dev/isci/scil/scic_overview.h   (props changed)
  projects/pseries/dev/isci/scil/scic_phy.h   (props changed)
  projects/pseries/dev/isci/scil/scic_port.h   (props changed)
  projects/pseries/dev/isci/scil/scic_remote_device.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_controller.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_controller_registers.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_library.c   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_library.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_logger.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_pci.c   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_pci.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_phy.c   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_phy.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_phy_registers.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_port.c   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_port.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_port_configuration_agent.c   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_port_configuration_agent.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_port_registers.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_remote_device.c   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_remote_device.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_remote_node_context.c   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_remote_node_context.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_remote_node_table.c   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_remote_node_table.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_request.c   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_request.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_sgpio.c   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_smp_remote_device.c   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_smp_request.c   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_smp_request.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_ssp_request.c   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_stp_packet_request.c   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_stp_packet_request.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_stp_pio_request.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_stp_remote_device.c   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_stp_request.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_unsolicited_frame_control.c   (props changed)
  projects/pseries/dev/isci/scil/scic_sds_unsolicited_frame_control.h   (props changed)
  projects/pseries/dev/isci/scil/scic_sgpio.h   (props changed)
  projects/pseries/dev/isci/scil/scic_task_request.h   (props changed)
  projects/pseries/dev/isci/scil/scic_user_callback.h   (props changed)
  projects/pseries/dev/isci/scil/scif_config_parameters.h   (props changed)
  projects/pseries/dev/isci/scil/scif_controller.h   (props changed)
  projects/pseries/dev/isci/scil/scif_domain.h   (props changed)
  projects/pseries/dev/isci/scil/scif_io_request.h   (props changed)
  projects/pseries/dev/isci/scil/scif_library.h   (props changed)
  projects/pseries/dev/isci/scil/scif_logger.h   (props changed)
  projects/pseries/dev/isci/scil/scif_overview.h   (props changed)
  projects/pseries/dev/isci/scil/scif_remote_device.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_constants.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_controller.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_controller_states.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_design.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_domain.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_domain_state_handlers.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_domain_states.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_high_priority_request_queue.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_high_priority_request_queue.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_internal_io_request.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_internal_io_request.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_io_request.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_io_request_state_handlers.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_io_request_states.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_library.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_library.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_logger.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_remote_device.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_remote_device_ready_substate_handlers.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_remote_device_starting_substate_handlers.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_remote_device_starting_substates.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_remote_device_state_handlers.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_remote_device_states.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_request.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_request.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_sati_binding.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_smp_activity_clear_affiliation.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_smp_io_request.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_smp_phy.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_smp_phy.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_smp_remote_device.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_stp_io_request.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_stp_remote_device.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_stp_remote_device.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_stp_task_request.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_task_request.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_task_request.h   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_task_request_state_handlers.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_task_request_states.c   (props changed)
  projects/pseries/dev/isci/scil/scif_sas_timer.c   (props changed)
  projects/pseries/dev/isci/scil/scif_task_request.h   (props changed)
  projects/pseries/dev/isci/scil/scif_user_callback.h   (props changed)
  projects/pseries/dev/isci/scil/scu_bios_definitions.h   (props changed)
  projects/pseries/dev/isci/scil/scu_completion_codes.h   (props changed)
  projects/pseries/dev/isci/scil/scu_constants.h   (props changed)
  projects/pseries/dev/isci/scil/scu_event_codes.h   (props changed)
  projects/pseries/dev/isci/scil/scu_registers.h   (props changed)
  projects/pseries/dev/isci/scil/scu_remote_node_context.h   (props changed)
  projects/pseries/dev/isci/scil/scu_task_context.h   (props changed)
  projects/pseries/dev/isci/scil/scu_unsolicited_frame.h   (props changed)
  projects/pseries/dev/isci/scil/scu_viit_data.h   (props changed)
  projects/pseries/dev/isci/types.h   (props changed)

Modified: projects/pseries/amd64/acpica/acpi_wakecode.S
==============================================================================
--- projects/pseries/amd64/acpica/acpi_wakecode.S	Sun Mar 11 19:38:49 2012	(r232828)
+++ projects/pseries/amd64/acpica/acpi_wakecode.S	Sun Mar 11 19:44:00 2012	(r232829)
@@ -30,7 +30,9 @@
  */
 
 #include <machine/asmacros.h>
+#include <machine/ppireg.h>
 #include <machine/specialreg.h>
+#include <machine/timerreg.h>
 
 #include "assym.s"
 
@@ -71,13 +73,21 @@ wakeup_start:
 	testb	$~0, resume_beep - wakeup_start
 	jz	1f
 	movb	$0, resume_beep - wakeup_start
-	movb	$0xc0, %al
-	outb	%al, $0x42
-	movb	$0x04, %al
-	outb	%al, $0x42
-	inb	$0x61, %al
-	orb	$0x3, %al
-	outb	%al, $0x61
+
+	/* Set PIC timer2 to beep. */
+	movb	$(TIMER_SEL2 | TIMER_SQWAVE | TIMER_16BIT), %al
+	outb	%al, $TIMER_MODE
+
+	/* Turn on speaker. */
+	inb	$IO_PPI, %al
+	orb	$PIT_SPKR, %al
+	outb	%al, $IO_PPI
+
+	/* Set frequency. */
+	movw	$0x4c0, %ax
+	outb	%al, $TIMER_CNTR2
+	shrw	$8, %ax
+	outb	%al, $TIMER_CNTR2
 1:
 
 	/* Re-initialize video BIOS if the reset_video tunable is set. */

Modified: projects/pseries/amd64/acpica/acpi_wakeup.c
==============================================================================
--- projects/pseries/amd64/acpica/acpi_wakeup.c	Sun Mar 11 19:38:49 2012	(r232828)
+++ projects/pseries/amd64/acpica/acpi_wakeup.c	Sun Mar 11 19:44:00 2012	(r232829)
@@ -32,6 +32,7 @@ __FBSDID("$FreeBSD$");
 
 #include <sys/param.h>
 #include <sys/bus.h>
+#include <sys/eventhandler.h>
 #include <sys/kernel.h>
 #include <sys/malloc.h>
 #include <sys/memrange.h>
@@ -40,6 +41,7 @@ __FBSDID("$FreeBSD$");
 #include <vm/vm.h>
 #include <vm/pmap.h>
 
+#include <machine/clock.h>
 #include <machine/intr_machdep.h>
 #include <x86/mca.h>
 #include <machine/pcb.h>
@@ -92,11 +94,12 @@ static void		acpi_wakeup_cpus(struct acp
 	*addr = val;					\
 } while (0)
 
-/* Turn off bits 1&2 of the PIT, stopping the beep. */
 static void
 acpi_stop_beep(void *arg)
 {
-	outb(0x61, inb(0x61) & ~0x3);
+
+	if (acpi_resume_beep != 0)
+		timer_spkr_release();
 }
 
 #ifdef SMP
@@ -220,7 +223,6 @@ acpi_sleep_machdep(struct acpi_softc *sc
 #ifdef SMP
 	cpuset_t	wakeup_cpus;
 #endif
-	register_t	cr3, rf;
 	ACPI_STATUS	status;
 	int		ret;
 
@@ -234,19 +236,14 @@ acpi_sleep_machdep(struct acpi_softc *sc
 	CPU_CLR(PCPU_GET(cpuid), &wakeup_cpus);
 #endif
 
+	if (acpi_resume_beep != 0)
+		timer_spkr_acquire();
+
 	AcpiSetFirmwareWakingVector(WAKECODE_PADDR(sc));
 
-	rf = intr_disable();
+	spinlock_enter();
 	intr_suspend();
 
-	/*
-	 * Temporarily switch to the kernel pmap because it provides
-	 * an identity mapping (setup at boot) for the low physical
-	 * memory region containing the wakeup code.
-	 */
-	cr3 = rcr3();
-	load_cr3(KPML4phys);
-
 	if (savectx(susppcbs[0])) {
 		ctx_fpusave(suspfpusave[0]);
 #ifdef SMP
@@ -285,13 +282,13 @@ acpi_sleep_machdep(struct acpi_softc *sc
 			ia32_pause();
 	} else {
 		pmap_init_pat();
+		load_cr3(susppcbs[0]->pcb_cr3);
 		PCPU_SET(switchtime, 0);
 		PCPU_SET(switchticks, ticks);
 #ifdef SMP
 		if (!CPU_EMPTY(&wakeup_cpus))
 			acpi_wakeup_cpus(sc, &wakeup_cpus);
 #endif
-		acpi_resync_clock(sc);
 		ret = 0;
 	}
 
@@ -301,10 +298,9 @@ out:
 		restart_cpus(wakeup_cpus);
 #endif
 
-	load_cr3(cr3);
 	mca_resume();
 	intr_resume();
-	intr_restore(rf);
+	spinlock_exit();
 
 	AcpiSetFirmwareWakingVector(0);
 
@@ -312,10 +308,6 @@ out:
 	    mem_range_softc.mr_op->reinit != NULL)
 		mem_range_softc.mr_op->reinit(&mem_range_softc);
 
-	/* If we beeped, turn it off after a delay. */
-	if (acpi_resume_beep)
-		timeout(acpi_stop_beep, NULL, 3 * hz);
-
 	return (ret);
 }
 
@@ -332,12 +324,18 @@ acpi_alloc_wakeup_handler(void)
 	 * and ROM area (0xa0000 and above).  The temporary page tables must be
 	 * page-aligned.
 	 */
-	wakeaddr = contigmalloc(4 * PAGE_SIZE, M_DEVBUF, M_NOWAIT, 0x500,
+	wakeaddr = contigmalloc(4 * PAGE_SIZE, M_DEVBUF, M_WAITOK, 0x500,
 	    0xa0000, PAGE_SIZE, 0ul);
 	if (wakeaddr == NULL) {
 		printf("%s: can't alloc wake memory\n", __func__);
 		return (NULL);
 	}
+	if (EVENTHANDLER_REGISTER(power_resume, acpi_stop_beep, NULL,
+	    EVENTHANDLER_PRI_LAST) == NULL) {
+		printf("%s: can't register event handler\n", __func__);
+		contigfree(wakeaddr, 4 * PAGE_SIZE, M_DEVBUF);
+		return (NULL);
+	}
 	susppcbs = malloc(mp_ncpus * sizeof(*susppcbs), M_DEVBUF, M_WAITOK);
 	suspfpusave = malloc(mp_ncpus * sizeof(void *), M_DEVBUF, M_WAITOK);
 	for (i = 0; i < mp_ncpus; i++) {

Modified: projects/pseries/amd64/amd64/apic_vector.S
==============================================================================
--- projects/pseries/amd64/amd64/apic_vector.S	Sun Mar 11 19:38:49 2012	(r232828)
+++ projects/pseries/amd64/amd64/apic_vector.S	Sun Mar 11 19:44:00 2012	(r232829)
@@ -300,13 +300,10 @@ IDTVEC(cpustop)
 IDTVEC(cpususpend)
 	PUSH_FRAME
 
+	call	cpususpend_handler
 	movq	lapic, %rax
 	movl	$0, LA_EOI(%rax)	/* End Of Interrupt to APIC */
-
-	call	cpususpend_handler
-
-	POP_FRAME
-	jmp	doreti_iret
+	jmp	doreti
 
 /*
  * Executed by a CPU when it receives a RENDEZVOUS IPI from another CPU.

Modified: projects/pseries/amd64/amd64/cpu_switch.S
==============================================================================
--- projects/pseries/amd64/amd64/cpu_switch.S	Sun Mar 11 19:38:49 2012	(r232828)
+++ projects/pseries/amd64/amd64/cpu_switch.S	Sun Mar 11 19:44:00 2012	(r232829)
@@ -76,7 +76,7 @@ ENTRY(cpu_throw)
 	movq	PCPU(CURPMAP),%rdx
 	LK btrl	%eax,PM_ACTIVE(%rdx)		/* clear old */
 1:
-	movq	TD_PCB(%rsi),%r8		/* newtd->td_proc */
+	movq	TD_PCB(%rsi),%r8		/* newtd->td_pcb */
 	movq	PCB_CR3(%r8),%rdx
 	movq	%rdx,%cr3			/* new address space */
 	jmp	swact

Modified: projects/pseries/amd64/amd64/machdep.c
==============================================================================
--- projects/pseries/amd64/amd64/machdep.c	Sun Mar 11 19:38:49 2012	(r232828)
+++ projects/pseries/amd64/amd64/machdep.c	Sun Mar 11 19:44:00 2012	(r232829)
@@ -1381,7 +1381,7 @@ getmemsize(caddr_t kmdp, u_int64_t first
 {
 	int i, physmap_idx, pa_indx, da_indx;
 	vm_paddr_t pa, physmap[PHYSMAP_SIZE];
-	u_long physmem_tunable, memtest;
+	u_long physmem_start, physmem_tunable, memtest;
 	pt_entry_t *pte;
 	struct bios_smap *smapbase, *smap, *smapend;
 	u_int32_t smapsize;
@@ -1469,8 +1469,19 @@ getmemsize(caddr_t kmdp, u_int64_t first
 
 	/*
 	 * Size up each available chunk of physical memory.
+	 *
+	 * XXX Some BIOSes corrupt low 64KB between suspend and resume.
+	 * By default, mask off the first 16 pages unless we appear to be
+	 * running in a VM.
 	 */
-	physmap[0] = PAGE_SIZE;		/* mask off page 0 */
+	physmem_start = (vm_guest > VM_GUEST_NO ? 1 : 16) << PAGE_SHIFT;
+	TUNABLE_ULONG_FETCH("hw.physmem.start", &physmem_start);
+	if (physmem_start < PAGE_SIZE)
+		physmap[0] = PAGE_SIZE;
+	else if (physmem_start >= physmap[1])
+		physmap[0] = round_page(physmap[1] - PAGE_SIZE);
+	else
+		physmap[0] = round_page(physmem_start);
 	pa_indx = 0;
 	da_indx = 1;
 	phys_avail[pa_indx++] = physmap[0];

Modified: projects/pseries/amd64/amd64/mp_machdep.c
==============================================================================
--- projects/pseries/amd64/amd64/mp_machdep.c	Sun Mar 11 19:38:49 2012	(r232828)
+++ projects/pseries/amd64/amd64/mp_machdep.c	Sun Mar 11 19:44:00 2012	(r232829)
@@ -1414,20 +1414,17 @@ cpustop_handler(void)
 void
 cpususpend_handler(void)
 {
-	register_t cr3, rf;
 	u_int cpu;
 
 	cpu = PCPU_GET(cpuid);
 
-	rf = intr_disable();
-	cr3 = rcr3();
-
 	if (savectx(susppcbs[cpu])) {
 		ctx_fpusave(suspfpusave[cpu]);
 		wbinvd();
 		CPU_SET_ATOMIC(cpu, &stopped_cpus);
 	} else {
 		pmap_init_pat();
+		load_cr3(susppcbs[cpu]->pcb_cr3);
 		PCPU_SET(switchtime, 0);
 		PCPU_SET(switchticks, ticks);
 	}
@@ -1439,11 +1436,9 @@ cpususpend_handler(void)
 	CPU_CLR_ATOMIC(cpu, &started_cpus);
 	CPU_CLR_ATOMIC(cpu, &stopped_cpus);
 
-	/* Restore CR3 and enable interrupts */
-	load_cr3(cr3);
+	/* Resume MCA and local APIC */
 	mca_resume();
 	lapic_setup(0);
-	intr_restore(rf);
 }
 
 /*

Modified: projects/pseries/amd64/amd64/ptrace_machdep.c
==============================================================================
--- projects/pseries/amd64/amd64/ptrace_machdep.c	Sun Mar 11 19:38:49 2012	(r232828)
+++ projects/pseries/amd64/amd64/ptrace_machdep.c	Sun Mar 11 19:44:00 2012	(r232829)
@@ -126,6 +126,12 @@ cpu_ptrace(struct thread *td, int req, v
 		return (cpu32_ptrace(td, req, addr, data));
 #endif
 
+	/* Support old values of PT_GETXSTATE and PT_SETXSTATE. */
+	if (req == PT_FIRSTMACH + 0)
+		req = PT_GETXSTATE;
+	if (req == PT_FIRSTMACH + 1)
+		req = PT_SETXSTATE;
+
 	switch (req) {
 	case PT_GETXSTATE:
 	case PT_SETXSTATE:

Modified: projects/pseries/amd64/amd64/vm_machdep.c
==============================================================================
--- projects/pseries/amd64/amd64/vm_machdep.c	Sun Mar 11 19:38:49 2012	(r232828)
+++ projects/pseries/amd64/amd64/vm_machdep.c	Sun Mar 11 19:44:00 2012	(r232829)
@@ -552,6 +552,7 @@ cpu_set_user_tls(struct thread *td, void
 		return (EINVAL);
 
 	pcb = td->td_pcb;
+	set_pcb_flags(pcb, PCB_FULL_IRET);
 #ifdef COMPAT_FREEBSD32
 	if (SV_PROC_FLAG(td->td_proc, SV_ILP32)) {
 		pcb->pcb_gsbase = (register_t)tls_base;
@@ -559,7 +560,6 @@ cpu_set_user_tls(struct thread *td, void
 	}
 #endif
 	pcb->pcb_fsbase = (register_t)tls_base;
-	set_pcb_flags(pcb, PCB_FULL_IRET);
 	return (0);
 }
 

Modified: projects/pseries/amd64/conf/DEFAULTS
==============================================================================
--- projects/pseries/amd64/conf/DEFAULTS	Sun Mar 11 19:38:49 2012	(r232828)
+++ projects/pseries/amd64/conf/DEFAULTS	Sun Mar 11 19:44:00 2012	(r232829)
@@ -22,6 +22,3 @@ options 	GEOM_PART_EBR_COMPAT
 options 	GEOM_PART_MBR
 
 options 	NEW_PCIB
-
-# Allow mounting non-MPSAFE filesystems
-options		VFS_ALLOW_NONMPSAFE

Modified: projects/pseries/amd64/conf/GENERIC
==============================================================================
--- projects/pseries/amd64/conf/GENERIC	Sun Mar 11 19:38:49 2012	(r232828)
+++ projects/pseries/amd64/conf/GENERIC	Sun Mar 11 19:44:00 2012	(r232829)
@@ -168,6 +168,7 @@ device		psm		# PS/2 mouse
 device		kbdmux		# keyboard multiplexer
 
 device		vga		# VGA video card driver
+options 	VESA		# Add support for VESA BIOS Extensions (VBE)
 
 device		splash		# Splash screen and screen saver support
 
@@ -302,39 +303,8 @@ device		ohci		# OHCI PCI->USB interface
 device		ehci		# EHCI PCI->USB interface (USB 2.0)
 device		xhci		# XHCI PCI->USB interface (USB 3.0)
 device		usb		# USB Bus (required)
-#device		udbp		# USB Double Bulk Pipe devices (needs netgraph)
-device		uhid		# "Human Interface Devices"
 device		ukbd		# Keyboard
-device		ulpt		# Printer
 device		umass		# Disks/Mass storage - Requires scbus and da
-device		ums		# Mouse
-device		urio		# Diamond Rio 500 MP3 player
-# USB Serial devices
-device		u3g		# USB-based 3G modems (Option, Huawei, Sierra)
-device		uark		# Technologies ARK3116 based serial adapters
-device		ubsa		# Belkin F5U103 and compatible serial adapters
-device		uftdi		# For FTDI usb serial adapters
-device		uipaq		# Some WinCE based devices
-device		uplcom		# Prolific PL-2303 serial adapters
-device		uslcom		# SI Labs CP2101/CP2102 serial adapters
-device		uvisor		# Visor and Palm devices
-device		uvscom		# USB serial support for DDI pocket's PHS
-# USB Ethernet, requires miibus
-device		aue		# ADMtek USB Ethernet
-device		axe		# ASIX Electronics USB Ethernet
-device		cdce		# Generic USB over Ethernet
-device		cue		# CATC USB Ethernet
-device		kue		# Kawasaki LSI USB Ethernet
-device		rue		# RealTek RTL8150 USB Ethernet
-device		udav		# Davicom DM9601E USB
-# USB Wireless
-device		rum		# Ralink Technology RT2501USB wireless NICs
-device		run		# Ralink Technology RT2700/RT2800/RT3000 NICs.
-device		uath		# Atheros AR5523 wireless NICs
-device		upgt		# Conexant/Intersil PrismGT wireless NICs.
-device		ural		# Ralink Technology RT2500USB wireless NICs
-device		urtw		# Realtek RTL8187B/L wireless NICs
-device		zyd		# ZyDAS zd1211/zd1211b wireless NICs
 
 # FireWire support
 device		firewire	# FireWire bus code
@@ -350,7 +320,6 @@ device		sound		# Generic sound driver (r
 device		snd_es137x	# Ensoniq AudioPCI ES137x
 device		snd_hda		# Intel High Definition Audio
 device		snd_ich		# Intel, NVidia and other ICH AC'97 Audio
-device		snd_uaudio	# USB Audio
 device		snd_via8233	# VIA VT8233x Audio
 
 # MMC/SD

Modified: projects/pseries/amd64/conf/GENERIC.hints
==============================================================================
--- projects/pseries/amd64/conf/GENERIC.hints	Sun Mar 11 19:38:49 2012	(r232828)
+++ projects/pseries/amd64/conf/GENERIC.hints	Sun Mar 11 19:44:00 2012	(r232829)
@@ -30,3 +30,4 @@ hint.atrtc.0.irq="8"
 hint.attimer.0.at="isa"
 hint.attimer.0.port="0x40"
 hint.attimer.0.irq="0"
+hint.wbwd.0.at="isa"

Modified: projects/pseries/amd64/conf/NOTES
==============================================================================
--- projects/pseries/amd64/conf/NOTES	Sun Mar 11 19:38:49 2012	(r232828)
+++ projects/pseries/amd64/conf/NOTES	Sun Mar 11 19:44:00 2012	(r232829)
@@ -465,10 +465,12 @@ device		tpm
 # ichwd: Intel ICH watchdog timer
 # amdsbwd: AMD SB7xx watchdog timer
 # viawd: VIA south bridge watchdog timer
+# wbwd: Winbond watchdog timer
 #
 device		ichwd
 device		amdsbwd
 device		viawd
+device		wbwd
 
 #
 # Temperature sensors:

Modified: projects/pseries/amd64/include/_limits.h
==============================================================================
--- projects/pseries/amd64/include/_limits.h	Sun Mar 11 19:38:49 2012	(r232828)
+++ projects/pseries/amd64/include/_limits.h	Sun Mar 11 19:44:00 2012	(r232829)
@@ -1,87 +1,6 @@
 /*-
- * Copyright (c) 1988, 1993
- *	The Regents of the University of California.  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.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * 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.
- *
- *	@(#)limits.h	8.3 (Berkeley) 1/4/94
- * $FreeBSD$
+ * This file is in the public domain.
  */
+/* $FreeBSD$ */
 
-#ifndef	_MACHINE__LIMITS_H_
-#define	_MACHINE__LIMITS_H_
-
-/*
- * According to ANSI (section 2.2.4.2), the values below must be usable by
- * #if preprocessing directives.  Additionally, the expression must have the
- * same type as would an expression that is an object of the corresponding
- * type converted according to the integral promotions.  The subtraction for
- * INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
- * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
- */
-
-#define	__CHAR_BIT	8		/* number of bits in a char */
-
-#define	__SCHAR_MAX	0x7f		/* max value for a signed char */
-#define	__SCHAR_MIN	(-0x7f - 1)	/* min value for a signed char */
-
-#define	__UCHAR_MAX	0xff		/* max value for an unsigned char */
-
-#define	__USHRT_MAX	0xffff		/* max value for an unsigned short */
-#define	__SHRT_MAX	0x7fff		/* max value for a short */
-#define	__SHRT_MIN	(-0x7fff - 1)	/* min value for a short */
-
-#define	__UINT_MAX	0xffffffff	/* max value for an unsigned int */
-#define	__INT_MAX	0x7fffffff	/* max value for an int */
-#define	__INT_MIN	(-0x7fffffff - 1)	/* min value for an int */
-
-#define	__ULONG_MAX	0xffffffffffffffff	/* max for an unsigned long */
-#define	__LONG_MAX	0x7fffffffffffffff	/* max for a long */
-#define	__LONG_MIN	(-0x7fffffffffffffff - 1) /* min for a long */
-
-			/* max value for an unsigned long long */
-#define	__ULLONG_MAX	0xffffffffffffffffULL
-#define	__LLONG_MAX	0x7fffffffffffffffLL	/* max value for a long long */
-#define	__LLONG_MIN	(-0x7fffffffffffffffLL - 1)  /* min for a long long */
-
-#define	__SSIZE_MAX	__LONG_MAX	/* max value for a ssize_t */
-
-#define	__SIZE_T_MAX	__ULONG_MAX	/* max value for a size_t */
-
-#define	__OFF_MAX	__LONG_MAX	/* max value for an off_t */
-#define	__OFF_MIN	__LONG_MIN	/* min value for an off_t */
-
-/* Quads and longs are the same on the amd64.  Ensure they stay in sync. */
-#define	__UQUAD_MAX	__ULONG_MAX	/* max value for a uquad_t */
-#define	__QUAD_MAX	__LONG_MAX	/* max value for a quad_t */
-#define	__QUAD_MIN	__LONG_MIN	/* min value for a quad_t */
-
-#define	__LONG_BIT	64
-#define	__WORD_BIT	32
-
-/* Minimum signal stack size. */
-#define	__MINSIGSTKSZ	(512 * 4)
-
-#endif /* !_MACHINE__LIMITS_H_ */
+#include <x86/_limits.h>

Modified: projects/pseries/amd64/include/_stdint.h
==============================================================================
--- projects/pseries/amd64/include/_stdint.h	Sun Mar 11 19:38:49 2012	(r232828)
+++ projects/pseries/amd64/include/_stdint.h	Sun Mar 11 19:44:00 2012	(r232829)
@@ -1,171 +1,6 @@
 /*-
- * Copyright (c) 2001, 2002 Mike Barcroft <mike@FreeBSD.org>
- * Copyright (c) 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein.
- *
- * 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.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *        This product includes software developed by the NetBSD
- *        Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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$
+ * This file is in the public domain.
  */
+/* $FreeBSD$ */
 
-#ifndef _MACHINE__STDINT_H_
-#define	_MACHINE__STDINT_H_
-
-#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS)
-
-#define	INT8_C(c)		(c)
-#define	INT16_C(c)		(c)
-#define	INT32_C(c)		(c)
-#define	INT64_C(c)		(c ## L)
-
-#define	UINT8_C(c)		(c)
-#define	UINT16_C(c)		(c)
-#define	UINT32_C(c)		(c ## U)
-#define	UINT64_C(c)		(c ## UL)
-
-#define	INTMAX_C(c)		INT64_C(c)
-#define	UINTMAX_C(c)		UINT64_C(c)
-
-#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */
-
-#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS)
-
-/*
- * ISO/IEC 9899:1999
- * 7.18.2.1 Limits of exact-width integer types
- */
-/* Minimum values of exact-width signed integer types. */
-#define	INT8_MIN	(-0x7f-1)
-#define	INT16_MIN	(-0x7fff-1)
-#define	INT32_MIN	(-0x7fffffff-1)
-#define	INT64_MIN	(-0x7fffffffffffffffL-1)
-
-/* Maximum values of exact-width signed integer types. */
-#define	INT8_MAX	0x7f
-#define	INT16_MAX	0x7fff
-#define	INT32_MAX	0x7fffffff
-#define	INT64_MAX	0x7fffffffffffffffL
-
-/* Maximum values of exact-width unsigned integer types. */
-#define	UINT8_MAX	0xff
-#define	UINT16_MAX	0xffff
-#define	UINT32_MAX	0xffffffffU
-#define	UINT64_MAX	0xffffffffffffffffUL
-
-/*
- * ISO/IEC 9899:1999
- * 7.18.2.2  Limits of minimum-width integer types
- */
-/* Minimum values of minimum-width signed integer types. */
-#define	INT_LEAST8_MIN	INT8_MIN
-#define	INT_LEAST16_MIN	INT16_MIN
-#define	INT_LEAST32_MIN	INT32_MIN
-#define	INT_LEAST64_MIN	INT64_MIN
-
-/* Maximum values of minimum-width signed integer types. */
-#define	INT_LEAST8_MAX	INT8_MAX
-#define	INT_LEAST16_MAX	INT16_MAX
-#define	INT_LEAST32_MAX	INT32_MAX
-#define	INT_LEAST64_MAX	INT64_MAX
-
-/* Maximum values of minimum-width unsigned integer types. */
-#define	UINT_LEAST8_MAX	 UINT8_MAX
-#define	UINT_LEAST16_MAX UINT16_MAX
-#define	UINT_LEAST32_MAX UINT32_MAX
-#define	UINT_LEAST64_MAX UINT64_MAX
-
-/*
- * ISO/IEC 9899:1999
- * 7.18.2.3  Limits of fastest minimum-width integer types
- */
-/* Minimum values of fastest minimum-width signed integer types. */
-#define	INT_FAST8_MIN	INT32_MIN
-#define	INT_FAST16_MIN	INT32_MIN
-#define	INT_FAST32_MIN	INT32_MIN
-#define	INT_FAST64_MIN	INT64_MIN
-
-/* Maximum values of fastest minimum-width signed integer types. */
-#define	INT_FAST8_MAX	INT32_MAX
-#define	INT_FAST16_MAX	INT32_MAX
-#define	INT_FAST32_MAX	INT32_MAX
-#define	INT_FAST64_MAX	INT64_MAX
-
-/* Maximum values of fastest minimum-width unsigned integer types. */
-#define	UINT_FAST8_MAX	UINT32_MAX
-#define	UINT_FAST16_MAX	UINT32_MAX
-#define	UINT_FAST32_MAX	UINT32_MAX
-#define	UINT_FAST64_MAX	UINT64_MAX
-
-/*
- * ISO/IEC 9899:1999
- * 7.18.2.4  Limits of integer types capable of holding object pointers
- */
-#define	INTPTR_MIN	INT64_MIN
-#define	INTPTR_MAX	INT64_MAX
-#define	UINTPTR_MAX	UINT64_MAX
-
-/*
- * ISO/IEC 9899:1999
- * 7.18.2.5  Limits of greatest-width integer types
- */
-#define	INTMAX_MIN	INT64_MIN
-#define	INTMAX_MAX	INT64_MAX
-#define	UINTMAX_MAX	UINT64_MAX
-
-/*
- * ISO/IEC 9899:1999
- * 7.18.3  Limits of other integer types
- */
-/* Limits of ptrdiff_t. */
-#define	PTRDIFF_MIN	INT64_MIN	
-#define	PTRDIFF_MAX	INT64_MAX
-
-/* Limits of sig_atomic_t. */
-#define	SIG_ATOMIC_MIN	LONG_MIN
-#define	SIG_ATOMIC_MAX	LONG_MAX
-
-/* Limit of size_t. */
-#define	SIZE_MAX	UINT64_MAX
-
-#ifndef WCHAR_MIN /* Also possibly defined in <wchar.h> */
-/* Limits of wchar_t. */
-#define	WCHAR_MIN	INT32_MIN
-#define	WCHAR_MAX	INT32_MAX
-#endif
-
-/* Limits of wint_t. */
-#define	WINT_MIN	INT32_MIN
-#define	WINT_MAX	INT32_MAX
-
-#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */
-
-#endif /* !_MACHINE__STDINT_H_ */
+#include <x86/_stdint.h>

Modified: projects/pseries/amd64/include/_types.h
==============================================================================
--- projects/pseries/amd64/include/_types.h	Sun Mar 11 19:38:49 2012	(r232828)
+++ projects/pseries/amd64/include/_types.h	Sun Mar 11 19:44:00 2012	(r232829)
@@ -1,116 +1,6 @@
 /*-
- * Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
- * Copyright (c) 1990, 1993
- *	The Regents of the University of California.  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.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the University of
- *	California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * 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.
- *
- *	From: @(#)ansi.h	8.2 (Berkeley) 1/4/94
- *	From: @(#)types.h	8.3 (Berkeley) 1/5/94
- * $FreeBSD$
+ * This file is in the public domain.
  */
+/* $FreeBSD$ */
 
-#ifndef _MACHINE__TYPES_H_
-#define	_MACHINE__TYPES_H_
-
-#ifndef _SYS_CDEFS_H_
-#error this file needs sys/cdefs.h as a prerequisite
-#endif
-
-#define __NO_STRICT_ALIGNMENT
-
-/*
- * Basic types upon which most other types are built.
- */
-typedef	signed char		__int8_t;
-typedef	unsigned char		__uint8_t;
-typedef	short			__int16_t;
-typedef	unsigned short		__uint16_t;
-typedef	int			__int32_t;
-typedef	unsigned int		__uint32_t;
-typedef	long			__int64_t;
-typedef	unsigned long		__uint64_t;
-
-/*
- * Standard type definitions.
- */
-typedef	__int32_t	__clock_t;		/* clock()... */
-typedef	__int64_t	__critical_t;
-typedef	double		__double_t;
-typedef	float		__float_t;
-typedef	__int64_t	__intfptr_t;
-typedef	__int64_t	__intmax_t;
-typedef	__int64_t	__intptr_t;
-typedef	__int32_t	__int_fast8_t;
-typedef	__int32_t	__int_fast16_t;
-typedef	__int32_t	__int_fast32_t;
-typedef	__int64_t	__int_fast64_t;
-typedef	__int8_t	__int_least8_t;
-typedef	__int16_t	__int_least16_t;
-typedef	__int32_t	__int_least32_t;
-typedef	__int64_t	__int_least64_t;
-typedef	__int64_t	__ptrdiff_t;		/* ptr1 - ptr2 */
-typedef	__int64_t	__register_t;
-typedef	__int64_t	__segsz_t;		/* segment size (in pages) */
-typedef	__uint64_t	__size_t;		/* sizeof() */
-typedef	__int64_t	__ssize_t;		/* byte count or error */
-typedef	__int64_t	__time_t;		/* time()... */
-typedef	__uint64_t	__uintfptr_t;
-typedef	__uint64_t	__uintmax_t;
-typedef	__uint64_t	__uintptr_t;
-typedef	__uint32_t	__uint_fast8_t;
-typedef	__uint32_t	__uint_fast16_t;
-typedef	__uint32_t	__uint_fast32_t;
-typedef	__uint64_t	__uint_fast64_t;
-typedef	__uint8_t	__uint_least8_t;
-typedef	__uint16_t	__uint_least16_t;
-typedef	__uint32_t	__uint_least32_t;
-typedef	__uint64_t	__uint_least64_t;
-typedef	__uint64_t	__u_register_t;
-typedef	__uint64_t	__vm_offset_t;
-typedef	__int64_t	__vm_ooffset_t;
-typedef	__uint64_t	__vm_paddr_t;
-typedef	__uint64_t	__vm_pindex_t;
-typedef	__uint64_t	__vm_size_t;
-
-/*
- * Unusual type definitions.
- */
-#ifdef __GNUCLIKE_BUILTIN_VARARGS
-typedef	__builtin_va_list	__va_list;	/* internally known to gcc */
-#elif defined(lint)
-typedef	char *			__va_list;	/* pretend */
-#endif
-#if defined(__GNUC_VA_LIST_COMPATIBILITY) && !defined(__GNUC_VA_LIST) \
-    && !defined(__NO_GNUC_VA_LIST)
-#define __GNUC_VA_LIST
-typedef __va_list		__gnuc_va_list;	/* compatibility w/GNU headers*/
-#endif
-
-#endif /* !_MACHINE__TYPES_H_ */
+#include <x86/_types.h>

Modified: projects/pseries/amd64/include/cpufunc.h
==============================================================================
--- projects/pseries/amd64/include/cpufunc.h	Sun Mar 11 19:38:49 2012	(r232828)
+++ projects/pseries/amd64/include/cpufunc.h	Sun Mar 11 19:44:00 2012	(r232829)
@@ -727,7 +727,7 @@ uint64_t rdr5(void);
 uint64_t rdr6(void);
 uint64_t rdr7(void);
 uint64_t rdtsc(void);
-u_int	read_rflags(void);
+u_long	read_rflags(void);
 u_int	rfs(void);
 u_int	rgs(void);
 void	wbinvd(void);

Modified: projects/pseries/amd64/include/endian.h
==============================================================================
--- projects/pseries/amd64/include/endian.h	Sun Mar 11 19:38:49 2012	(r232828)
+++ projects/pseries/amd64/include/endian.h	Sun Mar 11 19:44:00 2012	(r232829)
@@ -1,145 +1,6 @@
 /*-
- * Copyright (c) 1987, 1991 Regents of the University of California.
- * 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.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * 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.
- *
- *	@(#)endian.h	7.8 (Berkeley) 4/3/91
- * $FreeBSD$
+ * This file is in the public domain.
  */
+/* $FreeBSD$ */
 
-#ifndef _MACHINE_ENDIAN_H_
-#define	_MACHINE_ENDIAN_H_
-
-#include <sys/cdefs.h>
-#include <sys/_types.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Define the order of 32-bit words in 64-bit words.
- */
-#define	_QUAD_HIGHWORD 1
-#define	_QUAD_LOWWORD 0
-
-/*
- * Definitions for byte order, according to byte significance from low
- * address to high.
- */
-#define	_LITTLE_ENDIAN	1234	/* LSB first: i386, vax */
-#define	_BIG_ENDIAN	4321	/* MSB first: 68000, ibm, net */
-#define	_PDP_ENDIAN	3412	/* LSB first in word, MSW first in long */
-
-#define	_BYTE_ORDER	_LITTLE_ENDIAN
-
-/*
- * Deprecated variants that don't have enough underscores to be useful in more
- * strict namespaces.
- */
-#if __BSD_VISIBLE
-#define	LITTLE_ENDIAN	_LITTLE_ENDIAN
-#define	BIG_ENDIAN	_BIG_ENDIAN
-#define	PDP_ENDIAN	_PDP_ENDIAN
-#define	BYTE_ORDER	_BYTE_ORDER
-#endif
-
-#if defined(__GNUCLIKE_ASM) && defined(__GNUCLIKE_BUILTIN_CONSTANT_P)
-
-#define	__bswap64_const(_x)			\
-	(((_x) >> 56) |				\
-	(((_x) >> 40) & (0xffUL << 8)) |	\
-	(((_x) >> 24) & (0xffUL << 16)) |	\
-	(((_x) >> 8) & (0xffUL << 24)) |	\
-	(((_x) << 8) & (0xffUL << 32)) |	\
-	(((_x) << 24) & (0xffUL << 40)) |	\
-	(((_x) << 40) & (0xffUL << 48)) |	\
-	((_x) << 56))
-
-#define	__bswap32_const(_x)			\
-	(((_x) >> 24) |				\
-	(((_x) & (0xff << 16)) >> 8) |		\
-	(((_x) & (0xff << 8)) << 8) |		\
-	((_x) << 24))
-
-#define __bswap16_const(_x)	(__uint16_t)((_x) << 8 | (_x) >> 8)
-
-static __inline __uint64_t
-__bswap64_var(__uint64_t _x)
-{
-
-	__asm ("bswap %0" : "+r" (_x));
-	return (_x);
-}
-
-static __inline __uint32_t
-__bswap32_var(__uint32_t _x)
-{
-
-	__asm ("bswap %0" : "+r" (_x));
-	return (_x);
-}
-
-static __inline __uint16_t
-__bswap16_var(__uint16_t _x)
-{
-
-	return (__bswap16_const(_x));
-}
-
-#define	__bswap64(_x)					\
-	(__builtin_constant_p(_x) ?			\
-	    __bswap64_const((__uint64_t)(_x)) : __bswap64_var(_x))
-
-#define	__bswap32(_x)					\
-	(__builtin_constant_p(_x) ?			\
-	    __bswap32_const((__uint32_t)(_x)) : __bswap32_var(_x))
-
-#define	__bswap16(_x)					\
-	(__builtin_constant_p(_x) ?			\
-	    __bswap16_const((__uint16_t)(_x)) : __bswap16_var(_x))
-
-#define	__htonl(x)	__bswap32(x)
-#define	__htons(x)	__bswap16(x)
-#define	__ntohl(x)	__bswap32(x)
-#define	__ntohs(x)	__bswap16(x)
-
-#else /* !(__GNUCLIKE_ASM && __GNUCLIKE_BUILTIN_CONSTANT_P) */
-
-/*
- * No optimizations are available for this compiler.  Fall back to
- * non-optimized functions by defining the constant usually used to prevent
- * redefinition.
- */
-#define	_BYTEORDER_FUNC_DEFINED
-
-#endif /* __GNUCLIKE_ASM && __GNUCLIKE_BUILTIN_CONSTANT_P */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* !_MACHINE_ENDIAN_H_ */
+#include <x86/endian.h>

Modified: projects/pseries/amd64/include/float.h
==============================================================================
--- projects/pseries/amd64/include/float.h	Sun Mar 11 19:38:49 2012	(r232828)
+++ projects/pseries/amd64/include/float.h	Sun Mar 11 19:44:00 2012	(r232829)
@@ -1,94 +1,6 @@
 /*-
- * Copyright (c) 1989 Regents of the University of California.
- * 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.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * 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.
- *
- *	from: @(#)float.h	7.1 (Berkeley) 5/8/90
- * $FreeBSD$
+ * This file is in the public domain.
  */
+/* $FreeBSD$ */
 
-#ifndef _MACHINE_FLOAT_H_
-#define _MACHINE_FLOAT_H_ 1
-
-#include <sys/cdefs.h>
-
-__BEGIN_DECLS
-extern int __flt_rounds(void);
-__END_DECLS
-
-#define FLT_RADIX	2		/* b */
-#define FLT_ROUNDS	__flt_rounds()
-#if __ISO_C_VISIBLE >= 1999
-#define	FLT_EVAL_METHOD	0		/* no promotions */
-#define	DECIMAL_DIG	21		/* max precision in decimal digits */
-#endif
-
-#define FLT_MANT_DIG	24		/* p */
-#define FLT_EPSILON	1.19209290E-07F	/* b**(1-p) */
-#define FLT_DIG		6		/* floor((p-1)*log10(b))+(b == 10) */
-#define FLT_MIN_EXP	(-125)		/* emin */
-#define FLT_MIN		1.17549435E-38F	/* b**(emin-1) */
-#define FLT_MIN_10_EXP	(-37)		/* ceil(log10(b**(emin-1))) */
-#define FLT_MAX_EXP	128		/* emax */
-#define FLT_MAX		3.40282347E+38F	/* (1-b**(-p))*b**emax */
-#define FLT_MAX_10_EXP	38		/* floor(log10((1-b**(-p))*b**emax)) */

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-projects@FreeBSD.ORG  Mon Mar 12 00:48:21 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 05DA3106566C;
	Mon, 12 Mar 2012 00:48:21 +0000 (UTC)
	(envelope-from nwhitehorn@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id E540E8FC1C;
	Mon, 12 Mar 2012 00:48:20 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2C0mKTD034330;
	Mon, 12 Mar 2012 00:48:20 GMT
	(envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2C0mK2p034327;
	Mon, 12 Mar 2012 00:48:20 GMT
	(envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201203120048.q2C0mK2p034327@svn.freebsd.org>
From: Nathan Whitehorn <nwhitehorn@FreeBSD.org>
Date: Mon, 12 Mar 2012 00:48:20 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r232843 - in projects/pseries/powerpc: aim pseries
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Mar 2012 00:48:21 -0000

Author: nwhitehorn
Date: Mon Mar 12 00:48:20 2012
New Revision: 232843
URL: http://svn.freebsd.org/changeset/base/232843

Log:
  Remove work arounds for bugs in QEMU now that they have been fixed.

Modified:
  projects/pseries/powerpc/aim/mmu_oea64.c
  projects/pseries/powerpc/pseries/mmu_phyp.c

Modified: projects/pseries/powerpc/aim/mmu_oea64.c
==============================================================================
--- projects/pseries/powerpc/aim/mmu_oea64.c	Mon Mar 12 00:47:13 2012	(r232842)
+++ projects/pseries/powerpc/aim/mmu_oea64.c	Mon Mar 12 00:48:20 2012	(r232843)
@@ -555,9 +555,6 @@ moea64_probe_large_page(void)
 	uint16_t pvr = mfpvr() >> 16;
 
 	switch (pvr) {
-	case IBMPOWER7:
-		moea64_large_page_size = 0;
-		break;
 	case IBM970:
 	case IBM970FX:
 	case IBM970MP:

Modified: projects/pseries/powerpc/pseries/mmu_phyp.c
==============================================================================
--- projects/pseries/powerpc/pseries/mmu_phyp.c	Mon Mar 12 00:47:13 2012	(r232842)
+++ projects/pseries/powerpc/pseries/mmu_phyp.c	Mon Mar 12 00:48:20 2012	(r232843)
@@ -236,6 +236,8 @@ mphyp_pte_change(mmu_t mmu, uintptr_t sl
 	 * is safe, except for the scratch-page case. No CPUs on which we run
 	 * this code should be using scratch pages.
 	 */
+	KASSERT(!(pvo_pt->pte_hi & LPTE_LOCKED),
+	    ("Locked pages not supported on PHYP"));
 
 	/* XXX: optimization using H_PROTECT for common case? */
 	result = phyp_hcall(H_REMOVE, 0, slot, vpn);
@@ -289,6 +291,11 @@ mphyp_pte_insert(mmu_t mmu, u_int ptegid
 	uint64_t index, junk;
 	u_int pteg_bktidx;
 
+	/* Check for locked pages, which we can't support on this system */
+	KASSERT(!(pvo_pt->pte_hi & LPTE_LOCKED),
+	    ("Locked pages not supported on PHYP"));
+
+	/* Initialize PTE */
 	pvo_pt->pte_hi |= LPTE_VALID;
 	pvo_pt->pte_hi &= ~LPTE_HID;
 	evicted.pte_hi = 0;

From owner-svn-src-projects@FreeBSD.ORG  Mon Mar 12 20:33:20 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id D2153106564A;
	Mon, 12 Mar 2012 20:33:20 +0000 (UTC)
	(envelope-from ambrisko@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id C0A3D8FC19;
	Mon, 12 Mar 2012 20:33:20 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2CKXKMX085201;
	Mon, 12 Mar 2012 20:33:20 GMT
	(envelope-from ambrisko@svn.freebsd.org)
Received: (from ambrisko@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2CKXKXw085198;
	Mon, 12 Mar 2012 20:33:20 GMT
	(envelope-from ambrisko@svn.freebsd.org)
Message-Id: <201203122033.q2CKXKXw085198@svn.freebsd.org>
From: Doug Ambrisko <ambrisko@FreeBSD.org>
Date: Mon, 12 Mar 2012 20:33:20 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r232888 - projects/head_mfi/sys/dev/mfi
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 12 Mar 2012 20:33:20 -0000

Author: ambrisko
Date: Mon Mar 12 20:33:20 2012
New Revision: 232888
URL: http://svn.freebsd.org/changeset/base/232888

Log:
  Several style type changes.
  
  Main functional change is not to run events from the prior boot or
  when the driver is shutting down.  Tested added and removing JBOD
  drives.  The driver adds and remove drives.  A sysctl
  hw.mfi.detect_jbod_change enables or disables this.  it is set by
  default to enable this.  On boot only act on events from this
  boot.  This avoids stale disk events stating disks have gone
  and come back from.  This happens when the kernel doesn't shutdown
  the card (ie. power cycle).
  
  Switch hw.mfi.msi to 1 by default.  It works better on the cards
  I've tried.
  
  This driver should be very close to being merged into the main
  FreeBSD tree now.

Modified:
  projects/head_mfi/sys/dev/mfi/mfi.c
  projects/head_mfi/sys/dev/mfi/mfi_cam.c
  projects/head_mfi/sys/dev/mfi/mfi_disk.c
  projects/head_mfi/sys/dev/mfi/mfi_pci.c
  projects/head_mfi/sys/dev/mfi/mfi_syspd.c
  projects/head_mfi/sys/dev/mfi/mfi_tbolt.c
  projects/head_mfi/sys/dev/mfi/mfireg.h
  projects/head_mfi/sys/dev/mfi/mfivar.h

Modified: projects/head_mfi/sys/dev/mfi/mfi.c
==============================================================================
--- projects/head_mfi/sys/dev/mfi/mfi.c	Mon Mar 12 20:32:23 2012	(r232887)
+++ projects/head_mfi/sys/dev/mfi/mfi.c	Mon Mar 12 20:33:20 2012	(r232888)
@@ -114,12 +114,12 @@ static int	mfi_linux_ioctl_int(struct cd
 static void	mfi_timeout(void *);
 static int	mfi_user_command(struct mfi_softc *,
 		    struct mfi_ioc_passthru *);
-static void 	mfi_enable_intr_xscale(struct mfi_softc *sc);
-static void 	mfi_enable_intr_ppc(struct mfi_softc *sc);
+static void	mfi_enable_intr_xscale(struct mfi_softc *sc);
+static void	mfi_enable_intr_ppc(struct mfi_softc *sc);
 static int32_t	mfi_read_fw_status_xscale(struct mfi_softc *sc);
 static int32_t	mfi_read_fw_status_ppc(struct mfi_softc *sc);
-static int 	mfi_check_clear_intr_xscale(struct mfi_softc *sc);
-static int 	mfi_check_clear_intr_ppc(struct mfi_softc *sc);
+static int	mfi_check_clear_intr_xscale(struct mfi_softc *sc);
+static int	mfi_check_clear_intr_ppc(struct mfi_softc *sc);
 static void 	mfi_issue_cmd_xscale(struct mfi_softc *sc, bus_addr_t bus_add,
 		    uint32_t frame_cnt);
 static void 	mfi_issue_cmd_ppc(struct mfi_softc *sc, bus_addr_t bus_add,
@@ -146,6 +146,11 @@ TUNABLE_INT("hw.mfi.max_cmds", &mfi_max_
 SYSCTL_INT(_hw_mfi, OID_AUTO, max_cmds, CTLFLAG_RD, &mfi_max_cmds,
 	   0, "Max commands");
 
+static int	mfi_detect_jbod_change = 1;
+TUNABLE_INT("hw.mfi.detect_jbod_change", &mfi_detect_jbod_change);
+SYSCTL_INT(_hw_mfi, OID_AUTO, detect_jbod_change, CTLFLAG_RW,
+	   &mfi_detect_jbod_change, 0, "Detect a change to a JBOD");
+
 /* Management interface */
 static d_open_t		mfi_open;
 static d_close_t	mfi_close;
@@ -287,7 +292,6 @@ mfi_transition_firmware(struct mfi_softc
 			break;
 		case MFI_FWSTATE_OPERATIONAL:
 			if (sc->mfi_flags & MFI_FLAGS_SKINNY || sc->mfi_flags & MFI_FLAGS_TBOLT)
-			    //MFI_WRITE4(sc, MFI_SKINNY_IDB, MFI_FWINIT_READY);
 			    MFI_WRITE4(sc, MFI_SKINNY_IDB, 7);
 			else
 			    MFI_WRITE4(sc, MFI_IDB, MFI_FWINIT_READY);
@@ -316,12 +320,11 @@ mfi_transition_firmware(struct mfi_softc
 			max_wait = MFI_RESET_WAIT_TIME;
 			break;
 		default:
-			device_printf(sc->mfi_dev,"Unknown firmware state %#x\n",
+			device_printf(sc->mfi_dev, "Unknown firmware state %#x\n",
 			    fw_state);
 			return (ENXIO);
 		}
 		for (i = 0; i < (max_wait * 10); i++) {
-			
 			cur_abs_reg_val = sc->mfi_read_fw_status(sc);
 			fw_state = cur_abs_reg_val & MFI_FWSTATE_MASK;
 			if (fw_state == cur_state)
@@ -361,10 +364,12 @@ mfi_attach(struct mfi_softc *sc)
 	int error, commsz, framessz, sensesz;
 	int frames, unit, max_fw_sge;
 	uint32_t tb_mem_size = 0;
-	if(sc == NULL)
-	return EINVAL;
 
-	device_printf(sc->mfi_dev, "Megaraid SAS driver Ver %s \n",MEGASAS_VERSION);
+	if (sc == NULL)
+		return EINVAL;
+
+	device_printf(sc->mfi_dev, "Megaraid SAS driver Ver %s \n",
+	    MEGASAS_VERSION);
 
 	mtx_init(&sc->mfi_io_lock, "MFI I/O lock", NULL, MTX_DEF);
 	sx_init(&sc->mfi_config_lock, "MFI config");
@@ -380,7 +385,6 @@ mfi_attach(struct mfi_softc *sc)
 	mfi_initq_busy(sc);
 	mfi_initq_bio(sc);
 
-	//atomic_set(&sc->fw_reset_no_pci_access, 0);
 	sc->adpreset = 0;
 	sc->last_seq_num = 0;
 	sc->disableOnlineCtrlReset = 1;
@@ -392,8 +396,7 @@ mfi_attach(struct mfi_softc *sc)
 		sc->mfi_read_fw_status = mfi_read_fw_status_xscale;
 		sc->mfi_check_clear_intr = mfi_check_clear_intr_xscale;
 		sc->mfi_issue_cmd = mfi_issue_cmd_xscale;
-	}
-	else if(sc->mfi_flags & MFI_FLAGS_TBOLT) {
+	} else if (sc->mfi_flags & MFI_FLAGS_TBOLT) {
 		sc->mfi_enable_intr = mfi_tbolt_enable_intr_ppc;
 		sc->mfi_disable_intr = mfi_tbolt_disable_intr_ppc;
 		sc->mfi_read_fw_status = mfi_tbolt_read_fw_status_ppc;
@@ -402,8 +405,7 @@ mfi_attach(struct mfi_softc *sc)
 		sc->mfi_adp_reset = mfi_tbolt_adp_reset;
 		sc->mfi_tbolt = 1;
 		TAILQ_INIT(&sc->mfi_cmd_tbolt_tqh);
-	}
-	else {
+	} else {
 		sc->mfi_enable_intr =  mfi_enable_intr_ppc;
 		sc->mfi_read_fw_status = mfi_read_fw_status_ppc;
 		sc->mfi_check_clear_intr = mfi_check_clear_intr_ppc;
@@ -417,9 +419,8 @@ mfi_attach(struct mfi_softc *sc)
 		    "error %d\n", error);
 		return (ENXIO);
 	}
-	//
 
-	//Start: LSIP200113393
+	/* Start: LSIP200113393 */
 	if (bus_dma_tag_create( sc->mfi_parent_dmat,	/* parent */
 				1, 0,			/* algnmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
@@ -441,8 +442,9 @@ mfi_attach(struct mfi_softc *sc)
 	}
 	bzero(sc->verbuf, MEGASAS_MAX_NAME*sizeof(bus_addr_t));
 	bus_dmamap_load(sc->verbuf_h_dmat, sc->verbuf_h_dmamap,
-	    sc->verbuf, MEGASAS_MAX_NAME*sizeof(bus_addr_t), mfi_addr_cb, &sc->verbuf_h_busaddr, 0);
-	//End: LSIP200113393
+	    sc->verbuf, MEGASAS_MAX_NAME*sizeof(bus_addr_t),
+	    mfi_addr_cb, &sc->verbuf_h_busaddr, 0);
+	/* End: LSIP200113393 */
 
 	/*
 	 * Get information needed for sizing the contiguous memory for the
@@ -458,9 +460,9 @@ mfi_attach(struct mfi_softc *sc)
 
 	/* ThunderBolt Support get the contiguous memory */
 
-	if(sc->mfi_flags & MFI_FLAGS_TBOLT) {
+	if (sc->mfi_flags & MFI_FLAGS_TBOLT) {
 		mfi_tbolt_init_globals(sc);
-		device_printf(sc->mfi_dev,"MaxCmd = %x MaxSgl = %x state = %x \n",
+		device_printf(sc->mfi_dev, "MaxCmd = %x MaxSgl = %x state = %x \n",
 		    sc->mfi_max_fw_cmds, sc->mfi_max_sge, status);
 		tb_mem_size = mfi_tbolt_get_memory_requirement(sc);
 
@@ -469,9 +471,9 @@ mfi_attach(struct mfi_softc *sc)
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
 				NULL, NULL,		/* filter, filterarg */
-				tb_mem_size,			/* maxsize */
+				tb_mem_size,		/* maxsize */
 				1,			/* msegments */
-				tb_mem_size,			/* maxsegsize */
+				tb_mem_size,		/* maxsegsize */
 				0,			/* flags */
 				NULL, NULL,		/* lockfunc, lockarg */
 				&sc->mfi_tb_dmat)) {
@@ -489,15 +491,15 @@ mfi_attach(struct mfi_softc *sc)
 
 		/* For ThunderBolt memory init */
 		if (bus_dma_tag_create( sc->mfi_parent_dmat,	/* parent */
-				0x100, 0,			/* algnmnt, boundary */
+				0x100, 0,		/* alignmnt, boundary */
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
-				NULL, NULL,			/* filter, filterarg */
+				NULL, NULL,		/* filter, filterarg */
 				MFI_FRAME_SIZE,		/* maxsize */
-				1,					/* msegments */
+				1,			/* msegments */
 				MFI_FRAME_SIZE,		/* maxsegsize */
-				0,					/* flags */
-				NULL, NULL,			/* lockfunc, lockarg */
+				0,			/* flags */
+				NULL, NULL,		/* lockfunc, lockarg */
 				&sc->mfi_tb_init_dmat)) {
 		device_printf(sc->mfi_dev, "Cannot allocate init DMA tag\n");
 		return (ENOMEM);
@@ -509,9 +511,12 @@ mfi_attach(struct mfi_softc *sc)
 		}
 		bzero(sc->mfi_tb_init, MFI_FRAME_SIZE);
 		bus_dmamap_load(sc->mfi_tb_init_dmat, sc->mfi_tb_init_dmamap,
-		sc->mfi_tb_init, MFI_FRAME_SIZE, mfi_addr_cb, &sc->mfi_tb_init_busaddr, 0);
-		if(mfi_tbolt_init_desc_pool(sc, sc->request_message_pool, tb_mem_size)) {
-			device_printf(sc->mfi_dev,"Thunderbolt pool preparation error\n");
+		sc->mfi_tb_init, MFI_FRAME_SIZE, mfi_addr_cb,
+		    &sc->mfi_tb_init_busaddr, 0);
+		if (mfi_tbolt_init_desc_pool(sc, sc->request_message_pool,
+		    tb_mem_size)) {
+			device_printf(sc->mfi_dev,
+			    "Thunderbolt pool preparation error\n");
 			return 0;
 		}
 
@@ -526,23 +531,26 @@ mfi_attach(struct mfi_softc *sc)
 				BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
 				BUS_SPACE_MAXADDR,	/* highaddr */
 				NULL, NULL,		/* filter, filterarg */
-				tb_mem_size,			/* maxsize */
+				tb_mem_size,		/* maxsize */
 				1,			/* msegments */
-				tb_mem_size,			/* maxsegsize */
+				tb_mem_size,		/* maxsegsize */
 				0,			/* flags */
 				NULL, NULL,		/* lockfunc, lockarg */
 				&sc->mfi_tb_ioc_init_dmat)) {
-			device_printf(sc->mfi_dev, "Cannot allocate comms DMA tag\n");
+			device_printf(sc->mfi_dev,
+			    "Cannot allocate comms DMA tag\n");
 			return (ENOMEM);
 		}
-		if (bus_dmamem_alloc(sc->mfi_tb_ioc_init_dmat, (void **)&sc->mfi_tb_ioc_init_desc,
+		if (bus_dmamem_alloc(sc->mfi_tb_ioc_init_dmat,
+		    (void **)&sc->mfi_tb_ioc_init_desc,
 		    BUS_DMA_NOWAIT, &sc->mfi_tb_ioc_init_dmamap)) {
 			device_printf(sc->mfi_dev, "Cannot allocate comms memory\n");
 			return (ENOMEM);
 		}
 		bzero(sc->mfi_tb_ioc_init_desc, tb_mem_size);
 		bus_dmamap_load(sc->mfi_tb_ioc_init_dmat, sc->mfi_tb_ioc_init_dmamap,
-		sc->mfi_tb_ioc_init_desc, tb_mem_size, mfi_addr_cb, &sc->mfi_tb_ioc_init_busaddr, 0);
+		sc->mfi_tb_ioc_init_desc, tb_mem_size, mfi_addr_cb,
+		    &sc->mfi_tb_ioc_init_busaddr, 0);
 	}
 	/*
 	 * Create the dma tag for data buffers.  Used both for block I/O
@@ -671,33 +679,30 @@ mfi_attach(struct mfi_softc *sc)
 	 */
 
 	/* ThunderBolt MFI_IOC2 INIT */
-	if(sc->mfi_flags & MFI_FLAGS_TBOLT)
-	{
+	if (sc->mfi_flags & MFI_FLAGS_TBOLT) {
 		sc->mfi_disable_intr(sc);
-		if((error = mfi_tbolt_init_MFI_queue(sc)) != 0)
-		{
-			device_printf(sc->mfi_dev,"TB Init has failed with error %d\n",error);
+		if ((error = mfi_tbolt_init_MFI_queue(sc)) != 0) {
+			device_printf(sc->mfi_dev,
+			    "TB Init has failed with error %d\n",error);
 			return error;
 		}
 
-		if((error = mfi_tbolt_alloc_cmd(sc)) != 0)
+		if ((error = mfi_tbolt_alloc_cmd(sc)) != 0)
 			return error;
-		if (bus_setup_intr(sc->mfi_dev, sc->mfi_irq, INTR_MPSAFE|INTR_TYPE_BIO,
-	   			NULL, mfi_intr_tbolt, sc, &sc->mfi_intr)) {
+		if (bus_setup_intr(sc->mfi_dev, sc->mfi_irq,
+		    INTR_MPSAFE|INTR_TYPE_BIO, NULL, mfi_intr_tbolt, sc,
+		    &sc->mfi_intr)) {
 			device_printf(sc->mfi_dev, "Cannot set up interrupt\n");
 			return (EINVAL);
 		}
 		sc->mfi_enable_intr(sc);
 		sc->map_id = 0;
-	}	
-	else
-	{
-	
+	} else {
 		if ((error = mfi_comms_init(sc)) != 0)
 			return (error);
 
-		if (bus_setup_intr(sc->mfi_dev, sc->mfi_irq, INTR_MPSAFE|INTR_TYPE_BIO,
-	    		NULL, mfi_intr, sc, &sc->mfi_intr)) {
+		if (bus_setup_intr(sc->mfi_dev, sc->mfi_irq,
+		    INTR_MPSAFE|INTR_TYPE_BIO, NULL, mfi_intr, sc, &sc->mfi_intr)) {
 			device_printf(sc->mfi_dev, "Cannot set up interrupt\n");
 			return (EINVAL);
 		}
@@ -706,7 +711,7 @@ mfi_attach(struct mfi_softc *sc)
 	if ((error = mfi_get_controller_info(sc)) != 0)
 		return (error);
 	sc->disableOnlineCtrlReset = 0;
-	
+
 	/* Register a config hook to probe the bus for arrays */
 	sc->mfi_ich.ich_func = mfi_startup;
 	sc->mfi_ich.ich_arg = sc;
@@ -760,8 +765,6 @@ mfi_attach(struct mfi_softc *sc)
 	return (0);
 }
 
-	
-	
 static int
 mfi_alloc_commands(struct mfi_softc *sc)
 {
@@ -843,8 +846,8 @@ mfi_release_command(struct mfi_command *
 }
 
 static int
-mfi_dcmd_command(struct mfi_softc *sc, struct mfi_command **cmp, uint32_t opcode,
-    void **bufp, size_t bufsize)
+mfi_dcmd_command(struct mfi_softc *sc, struct mfi_command **cmp,
+    uint32_t opcode, void **bufp, size_t bufsize)
 {
 	struct mfi_command *cm;
 	struct mfi_dcmd_frame *dcmd;
@@ -859,7 +862,7 @@ mfi_dcmd_command(struct mfi_softc *sc, s
 
 	/* Zero out the MFI frame */
 	context = cm->cm_frame->header.context;
-	bzero(cm->cm_frame,sizeof (union mfi_frame));
+	bzero(cm->cm_frame, sizeof(union mfi_frame));
 	cm->cm_frame->header.context = context;
 
 	if ((bufsize > 0) && (bufp != NULL)) {
@@ -911,7 +914,7 @@ mfi_comms_init(struct mfi_softc *sc)
 
 	/* Zero out the MFI frame */
 	context = cm->cm_frame->header.context;
-	bzero(cm->cm_frame,sizeof (union mfi_frame));
+	bzero(cm->cm_frame, sizeof(union mfi_frame));
 	cm->cm_frame->header.context = context;
 
 	/*
@@ -974,13 +977,12 @@ mfi_get_controller_info(struct mfi_softc
 	    BUS_DMASYNC_POSTREAD);
 	bus_dmamap_unload(sc->mfi_buffer_dmat, cm->cm_dmamap);
 
-	
-	//max_sectors_1 = (1 << ci->stripe_sz_ops.min) * ci->max_strips_per_io;
 	max_sectors_1 = (1 << ci->stripe_sz_ops.max) * ci->max_strips_per_io;
 	max_sectors_2 = ci->max_request_size;
 	sc->mfi_max_io = min(max_sectors_1, max_sectors_2);
-	sc->disableOnlineCtrlReset = ci->properties.OnOffProperties.disableOnlineCtrlReset;
-	
+	sc->disableOnlineCtrlReset =
+	    ci->properties.OnOffProperties.disableOnlineCtrlReset;
+
 out:
 	if (ci)
 		free(ci, M_MFIBUF);
@@ -1034,6 +1036,7 @@ mfi_aen_setup(struct mfi_softc *sc, uint
 
 	if (seq_start == 0) {
 		error = mfi_get_log_state(sc, &log_state);
+		sc->mfi_boot_seq_num = log_state->boot_seq_num;
 		if (error) {
 			if (log_state)
 				free(log_state, M_MFIBUF);
@@ -1078,6 +1081,7 @@ mfi_wait_command(struct mfi_softc *sc, s
 		msleep(cm, &sc->mfi_io_lock, PRIBIO, "mfiwait", 0);
 	return (cm->cm_error);
 }
+
 void
 mfi_free(struct mfi_softc *sc)
 {
@@ -1126,11 +1130,9 @@ mfi_free(struct mfi_softc *sc)
 		    sc->mfi_comms_dmamap);
 	if (sc->mfi_comms_dmat != NULL)
 		bus_dma_tag_destroy(sc->mfi_comms_dmat);
-	
+
 	/* ThunderBolt contiguous memory free here */
-	
-	if(sc->mfi_flags & MFI_FLAGS_TBOLT)
-	{
+	if (sc->mfi_flags & MFI_FLAGS_TBOLT) {
 		if (sc->mfi_tb_busaddr != 0)
 			bus_dmamap_unload(sc->mfi_tb_dmat, sc->mfi_tb_dmamap);
 		if (sc->request_message_pool != NULL)
@@ -1138,9 +1140,9 @@ mfi_free(struct mfi_softc *sc)
 			    sc->mfi_tb_dmamap);
 		if (sc->mfi_tb_dmat != NULL)
 			bus_dma_tag_destroy(sc->mfi_tb_dmat);
-	
+
 		/* Version buffer memory free */
-		// Start LSIP200113393
+		/* Start LSIP200113393 */
 		if (sc->verbuf_h_busaddr != 0)
 			bus_dmamap_unload(sc->verbuf_h_dmat, sc->verbuf_h_dmamap);
 		if (sc->verbuf != NULL)
@@ -1149,8 +1151,8 @@ mfi_free(struct mfi_softc *sc)
 		if (sc->verbuf_h_dmat != NULL)
 			bus_dma_tag_destroy(sc->verbuf_h_dmat);
 
-		// End LSIP200113393 
-		/* ThunderBolt INIT pcaket memory Free */
+		/* End LSIP200113393 */
+		/* ThunderBolt INIT packet memory Free */
 		if (sc->mfi_tb_init_busaddr != 0)
 			bus_dmamap_unload(sc->mfi_tb_init_dmat, sc->mfi_tb_init_dmamap);
 		if (sc->mfi_tb_init != NULL)
@@ -1160,32 +1162,29 @@ mfi_free(struct mfi_softc *sc)
 			bus_dma_tag_destroy(sc->mfi_tb_init_dmat);
 
 		/* ThunderBolt IOC Init Desc memory free here */
-	
 		if (sc->mfi_tb_ioc_init_busaddr != 0)
-			bus_dmamap_unload(sc->mfi_tb_ioc_init_dmat, sc->mfi_tb_ioc_init_dmamap);
+			bus_dmamap_unload(sc->mfi_tb_ioc_init_dmat,
+			    sc->mfi_tb_ioc_init_dmamap);
 		if (sc->mfi_tb_ioc_init_desc != NULL)
-			bus_dmamem_free(sc->mfi_tb_ioc_init_dmat, sc->mfi_tb_ioc_init_desc, sc->mfi_tb_ioc_init_dmamap);
+			bus_dmamem_free(sc->mfi_tb_ioc_init_dmat,
+			    sc->mfi_tb_ioc_init_desc,
+			    sc->mfi_tb_ioc_init_dmamap);
 		if (sc->mfi_tb_ioc_init_dmat != NULL)
 			bus_dma_tag_destroy(sc->mfi_tb_ioc_init_dmat);
-	
-		for(int i=0; i < sc->mfi_max_fw_cmds; i++)
-		{
-			if (sc->mfi_cmd_pool_tbolt != NULL)
-			{
-				if (sc->mfi_cmd_pool_tbolt[i] != NULL)
-				{
-					free(sc->mfi_cmd_pool_tbolt[i], M_MFIBUF);
+		for (int i = 0; i < sc->mfi_max_fw_cmds; i++) {
+			if (sc->mfi_cmd_pool_tbolt != NULL) {
+				if (sc->mfi_cmd_pool_tbolt[i] != NULL) {
+					free(sc->mfi_cmd_pool_tbolt[i],
+					    M_MFIBUF);
 					sc->mfi_cmd_pool_tbolt[i] = NULL;
 				}
 			}
 		}
-		if (sc->mfi_cmd_pool_tbolt != NULL)
-		{
+		if (sc->mfi_cmd_pool_tbolt != NULL) {
 			free(sc->mfi_cmd_pool_tbolt, M_MFIBUF);
 			sc->mfi_cmd_pool_tbolt = NULL;
 		}
-		if (sc->request_desc_pool != NULL)
-		{
+		if (sc->request_desc_pool != NULL) {
 			free(sc->request_desc_pool, M_MFIBUF);
 			sc->request_desc_pool = NULL;
 		}
@@ -1212,7 +1211,7 @@ mfi_startup(void *arg)
 
 	config_intrhook_disestablish(&sc->mfi_ich);
 
-	//sc->mfi_enable_intr(sc);
+	sc->mfi_enable_intr(sc);
 	sx_xlock(&sc->mfi_config_lock);
 	mtx_lock(&sc->mfi_io_lock);
 	mfi_ldprobe(sc);
@@ -1289,7 +1288,7 @@ mfi_shutdown(struct mfi_softc *sc)
 
 	if (sc->map_update_cmd != NULL)
 		mfi_abort(sc, sc->map_update_cmd);
-	
+
 	dcmd = &cm->cm_frame->dcmd;
 	dcmd->header.flags = MFI_FRAME_DIR_NONE;
 	cm->cm_flags = MFI_CMD_POLLED;
@@ -1300,10 +1299,10 @@ mfi_shutdown(struct mfi_softc *sc)
 	}
 
 	mfi_release_command(cm);
-	sc->shutdown_issued = 1;
 	mtx_unlock(&sc->mfi_io_lock);
 	return (error);
 }
+
 static void
 mfi_syspdprobe(struct mfi_softc *sc)
 {
@@ -1313,52 +1312,54 @@ mfi_syspdprobe(struct mfi_softc *sc)
 	struct mfi_system_pd *syspd;
 	int error, i;
 
-	sx_assert(&sc->mfi_config_lock,SA_XLOCKED);
-	mtx_assert(&sc->mfi_io_lock,MA_OWNED);
+	sx_assert(&sc->mfi_config_lock, SA_XLOCKED);
+	mtx_assert(&sc->mfi_io_lock, MA_OWNED);
 	/* Add SYSTEM PD's */
 	error = mfi_dcmd_command(sc, &cm, MFI_DCMD_PD_LIST_QUERY,
 	    (void **)&pdlist, sizeof(*pdlist));
 	if (error){
-	    device_printf(sc->mfi_dev,"Error while forming SYSTEM PD list\n");
-	    goto out;
+		device_printf(sc->mfi_dev,
+		    "Error while forming SYSTEM PD list\n");
+		goto out;
 	}
-	 
+
 	cm->cm_flags = MFI_CMD_DATAIN | MFI_CMD_POLLED;
 	cm->cm_frame->dcmd.mbox[0] = MR_PD_QUERY_TYPE_EXPOSED_TO_HOST;
 	cm->cm_frame->dcmd.mbox[1] = 0;
 	if (mfi_mapcmd(sc, cm) != 0) {
-	    device_printf(sc->mfi_dev, "Failed to get syspd device listing\n");
-	    goto out;
+		device_printf(sc->mfi_dev,
+		    "Failed to get syspd device listing\n");
+		goto out;
 	}
 	bus_dmamap_sync(sc->mfi_buffer_dmat,cm->cm_dmamap,
-		BUS_DMASYNC_POSTREAD);
+	    BUS_DMASYNC_POSTREAD);
 	bus_dmamap_unload(sc->mfi_buffer_dmat, cm->cm_dmamap);
 	hdr = &cm->cm_frame->header;
 	if (hdr->cmd_status != MFI_STAT_OK) {
-	    device_printf(sc->mfi_dev, "MFI_DCMD_PD_LIST_QUERY failed %x\n",
-			  hdr->cmd_status);
-	    goto out;
+		device_printf(sc->mfi_dev,
+		    "MFI_DCMD_PD_LIST_QUERY failed %x\n", hdr->cmd_status);
+		goto out;
 	}
 	/* Get each PD and add it to the system */
-	for (i=0;i<pdlist->count;i++) {
-	    if(pdlist->addr[i].device_id == pdlist->addr[i].encl_device_id)
-		goto skip_sys_pd_add;
-	    TAILQ_FOREACH(syspd, &sc->mfi_syspd_tqh,pd_link) {
-		if (syspd->pd_id == pdlist->addr[i].device_id)
-		    goto skip_sys_pd_add;
-	    }
-	    mfi_add_sys_pd(sc,pdlist->addr[i].device_id);
-	    skip_sys_pd_add:;
-	
+	for (i = 0; i < pdlist->count; i++) {
+		if (pdlist->addr[i].device_id ==
+		    pdlist->addr[i].encl_device_id)
+			goto skip_sys_pd_add;
+		TAILQ_FOREACH(syspd, &sc->mfi_syspd_tqh,pd_link) {
+			if (syspd->pd_id == pdlist->addr[i].device_id)
+				goto skip_sys_pd_add;
+		}
+		mfi_add_sys_pd(sc, pdlist->addr[i].device_id);
+skip_sys_pd_add:;
 	}
 	/* Delete SYSPD's whose state has been changed */
 	TAILQ_FOREACH(syspd, &sc->mfi_syspd_tqh,pd_link) {
-		for (i=0;i<pdlist->count;i++) {
+		for (i = 0; i < pdlist->count; i++) {
 			if (syspd->pd_id == pdlist->addr[i].device_id)
-			    goto skip_sys_pd_delete;
+				goto skip_sys_pd_delete;
 		}
 		mtx_lock(&Giant);
-		device_delete_child(sc->mfi_dev,syspd->pd_dev);
+		device_delete_child(sc->mfi_dev, syspd->pd_dev);
 		mtx_unlock(&Giant);
 skip_sys_pd_delete:;
 	}
@@ -1463,44 +1464,54 @@ format_class(int8_t class)
 }
 
 static void
-mfi_decode_evt(struct mfi_softc *sc, struct mfi_evt_detail *detail,uint8_t probe_sys_pd)
+mfi_decode_evt(struct mfi_softc *sc, struct mfi_evt_detail *detail)
 {
 	struct mfi_system_pd *syspd = NULL;
 
 	device_printf(sc->mfi_dev, "%d (%s/0x%04x/%s) - %s\n", detail->seq,
 	    format_timestamp(detail->time), detail->evt_class.members.locale,
-	    format_class(detail->evt_class.members.evt_class), detail->description);
+	    format_class(detail->evt_class.members.evt_class),
+	    detail->description);
+
+        /* Don't act on old AEN's or while shutting down */
+        if (detail->seq < sc->mfi_boot_seq_num || sc->mfi_detaching)
+                return;
+
 	switch (detail->arg_type) {
 	case MR_EVT_ARGS_NONE:
-#define MR_EVT_CTRL_HOST_BUS_SCAN_REQUESTED 0x0152
 		if (detail->code == MR_EVT_CTRL_HOST_BUS_SCAN_REQUESTED) {
-		    device_printf(sc->mfi_dev,"HostBus scan raised\n");
-		    if (probe_sys_pd) {
-			/* Probe for new SYSPD's and Delete invalid SYSPD's */
-			sx_xlock(&sc->mfi_config_lock);
-			mtx_lock(&sc->mfi_io_lock);
-			mfi_syspdprobe(sc);
-			mtx_unlock(&sc->mfi_io_lock);
-			sx_xunlock(&sc->mfi_config_lock);
-		    }
+		    device_printf(sc->mfi_dev, "HostBus scan raised\n");
+			if (mfi_detect_jbod_change) {
+				/*
+				 * Probe for new SYSPD's and Delete
+				 * invalid SYSPD's
+				 */
+				sx_xlock(&sc->mfi_config_lock);
+				mtx_lock(&sc->mfi_io_lock);
+				mfi_syspdprobe(sc);
+				mtx_unlock(&sc->mfi_io_lock);
+				sx_xunlock(&sc->mfi_config_lock);
+			}
 		}
 		break;
 	case MR_EVT_ARGS_LD_STATE:
-		/* During load time driver reads all the events starting from the one that
-		 * has been logged after shutdown. Avoid these old events.
+		/* During load time driver reads all the events starting
+		 * from the one that has been logged after shutdown. Avoid
+		 * these old events.
 		 */
 		if (detail->args.ld_state.new_state == MFI_LD_STATE_OFFLINE ) {
 			/* Remove the LD */
 			struct mfi_disk *ld;
 			TAILQ_FOREACH(ld, &sc->mfi_ld_tqh, ld_link) {
-				if (ld->ld_id == detail->args.ld_state.ld.target_id)
+				if (ld->ld_id ==
+				    detail->args.ld_state.ld.target_id)
 					break;
 			}
 			/*
 			Fix: for kernel panics when SSCD is removed
 			KASSERT(ld != NULL, ("volume dissappeared"));
 			*/
-			if(ld != NULL) {
+			if (ld != NULL) {
 				mtx_lock(&Giant);
 				device_delete_child(sc->mfi_dev, ld->ld_dev);
 				mtx_unlock(&Giant);
@@ -1508,38 +1519,42 @@ mfi_decode_evt(struct mfi_softc *sc, str
 		}
 		break;
 	case MR_EVT_ARGS_PD:
-#define MR_EVT_PD_REMOVED  0x0070
-#define MR_EVT_PD_INSERTED 0x005b
 		if (detail->code == MR_EVT_PD_REMOVED) {
-		    if (probe_sys_pd) {
-		    	/* If the removed device is a SYSPD then delete it */
-			TAILQ_FOREACH(syspd,&sc->mfi_syspd_tqh,pd_link) {
-				if (syspd->pd_id == detail->args.pd.device_id) {
-					mtx_lock(&Giant);
-					device_delete_child(sc->mfi_dev,syspd->pd_dev);
+			if (mfi_detect_jbod_change) {
+				/*
+				 * If the removed device is a SYSPD then
+				 * delete it
+				 */
+				TAILQ_FOREACH(syspd, &sc->mfi_syspd_tqh,
+				    pd_link) {
+					if (syspd->pd_id ==
+					    detail->args.pd.device_id) {
+						mtx_lock(&Giant);
+						device_delete_child(
+						    sc->mfi_dev,
+						    syspd->pd_dev);
 					mtx_unlock(&Giant);
 					break;
 				}
+				}
 			}
-		    }
 		}
 		if (detail->code == MR_EVT_PD_INSERTED) {
-		    if (probe_sys_pd) {
-		    	/* Probe for new SYSPD's */
-		    	sx_xlock(&sc->mfi_config_lock);
-		    	mtx_lock(&sc->mfi_io_lock);
-		    	mfi_syspdprobe(sc);
-		    	mtx_unlock(&sc->mfi_io_lock);
-		    	sx_xunlock(&sc->mfi_config_lock);
-		    }
+			if (mfi_detect_jbod_change) {
+				/* Probe for new SYSPD's */
+				sx_xlock(&sc->mfi_config_lock);
+				mtx_lock(&sc->mfi_io_lock);
+				mfi_syspdprobe(sc);
+				mtx_unlock(&sc->mfi_io_lock);
+				sx_xunlock(&sc->mfi_config_lock);
+			}
 		}
 		break;
 	}
 }
 
 static void
-mfi_queue_evt(struct mfi_softc *sc, struct mfi_evt_detail *detail,
-    uint8_t probe_sys_pd)
+mfi_queue_evt(struct mfi_softc *sc, struct mfi_evt_detail *detail)
 {
 	struct mfi_evt_queue_elm *elm;
 
@@ -1547,7 +1562,6 @@ mfi_queue_evt(struct mfi_softc *sc, stru
 	elm = malloc(sizeof(*elm), M_MFIBUF, M_NOWAIT|M_ZERO);
 	if (elm == NULL)
 		return;
-	elm->probe_sys_pd = probe_sys_pd;
 	memcpy(&elm->detail, detail, sizeof(*detail));
 	TAILQ_INSERT_TAIL(&sc->mfi_evt_queue, elm, link);
 	taskqueue_enqueue(taskqueue_swi, &sc->mfi_evt_task);
@@ -1567,7 +1581,7 @@ mfi_handle_evt(void *context, int pendin
 	mtx_unlock(&sc->mfi_io_lock);
 	while ((elm = TAILQ_FIRST(&queue)) != NULL) {
 		TAILQ_REMOVE(&queue, elm, link);
-		mfi_decode_evt(sc, &elm->detail, elm->probe_sys_pd);
+		mfi_decode_evt(sc, &elm->detail);
 		free(elm, M_MFIBUF);
 	}
 }
@@ -1614,7 +1628,7 @@ mfi_aen_register(struct mfi_softc *sc, i
 	((uint32_t *)&dcmd->mbox)[1] = locale;
 	cm->cm_flags = MFI_CMD_DATAIN;
 	cm->cm_complete = mfi_aen_complete;
-	
+
 	sc->last_seq_num = seq;
 	sc->mfi_aen_cm = cm;
 
@@ -1655,9 +1669,10 @@ mfi_aen_complete(struct mfi_command *cm)
 			selwakeup(&sc->mfi_select);
 		}
 		detail = cm->cm_data;
-		mfi_queue_evt(sc, detail, 1);
+		mfi_queue_evt(sc, detail);
 		seq = detail->seq + 1;
-		TAILQ_FOREACH_SAFE(mfi_aen_entry, &sc->mfi_aen_pids, aen_link, tmp) {
+		TAILQ_FOREACH_SAFE(mfi_aen_entry, &sc->mfi_aen_pids, aen_link,
+		    tmp) {
 			TAILQ_REMOVE(&sc->mfi_aen_pids, mfi_aen_entry,
 			    aen_link);
 			PROC_LOCK(mfi_aen_entry->p);
@@ -1772,7 +1787,7 @@ mfi_parse_entries(struct mfi_softc *sc, 
 					break;
 			}
 			mtx_lock(&sc->mfi_io_lock);
-			mfi_queue_evt(sc, &el->event[i], 0);
+			mfi_queue_evt(sc, &el->event[i]);
 			mtx_unlock(&sc->mfi_io_lock);
 		}
 		seq = el->event[el->count - 1].seq + 1;
@@ -1812,10 +1827,9 @@ mfi_add_ld(struct mfi_softc *sc, int id)
 	}
 	if (ld_info->ld_config.params.isSSCD != 1)
 		mfi_add_ld_complete(cm);
-	else
-	{
+	else {
 		mfi_release_command(cm);
-		if(ld_info)					/* SSCD drives ld_info free here */
+		if (ld_info)		/* SSCD drives ld_info free here */
 			free(ld_info, M_MFIBUF);
 	}
 	return (0);
@@ -1857,41 +1871,43 @@ mfi_add_ld_complete(struct mfi_command *
 	mtx_lock(&sc->mfi_io_lock);
 }
 
-static int mfi_add_sys_pd(struct mfi_softc *sc,int id)
+static int mfi_add_sys_pd(struct mfi_softc *sc, int id)
 {
 	struct mfi_command *cm;
 	struct mfi_dcmd_frame *dcmd = NULL;
 	struct mfi_pd_info *pd_info = NULL;
 	int error;
 
-	mtx_assert(&sc->mfi_io_lock,MA_OWNED);
+	mtx_assert(&sc->mfi_io_lock, MA_OWNED);
 
-	error = mfi_dcmd_command(sc,&cm,MFI_DCMD_PD_GET_INFO,
+	error = mfi_dcmd_command(sc, &cm, MFI_DCMD_PD_GET_INFO,
 		(void **)&pd_info, sizeof(*pd_info));
 	if (error) {
-	    device_printf(sc->mfi_dev,
-		"Failed to allocated for MFI_DCMD_PD_GET_INFO %d\n",error);
-	    if (pd_info)
-		free(pd_info,M_MFIBUF);
-	    return (error);
+		device_printf(sc->mfi_dev,
+		    "Failed to allocated for MFI_DCMD_PD_GET_INFO %d\n",
+		    error);
+		if (pd_info)
+			free(pd_info, M_MFIBUF);
+		return (error);
 	}
 	cm->cm_flags = MFI_CMD_DATAIN | MFI_CMD_POLLED;
 	dcmd = &cm->cm_frame->dcmd;
 	dcmd->mbox[0]=id;
 	dcmd->header.scsi_status = 0;
 	dcmd->header.pad0 = 0;
-	if (mfi_mapcmd(sc,cm) != 0) {
-	    device_printf(sc->mfi_dev,
-		"Failed to get physical drive info %d\n",id);
-	    free(pd_info,M_MFIBUF);
-	    return (0);
+	if (mfi_mapcmd(sc, cm) != 0) {
+		device_printf(sc->mfi_dev,
+		    "Failed to get physical drive info %d\n", id);
+		free(pd_info, M_MFIBUF);
+		return (0);
 	}
-	bus_dmamap_sync(sc->mfi_buffer_dmat,cm->cm_dmamap,BUS_DMASYNC_POSTREAD);
-	bus_dmamap_unload(sc->mfi_buffer_dmat,cm->cm_dmamap);
+	bus_dmamap_sync(sc->mfi_buffer_dmat, cm->cm_dmamap,
+	    BUS_DMASYNC_POSTREAD);
+	bus_dmamap_unload(sc->mfi_buffer_dmat, cm->cm_dmamap);
 	mfi_add_sys_pd_complete(cm);
 	return (0);
 }
-	    
+
 static void
 mfi_add_sys_pd_complete(struct mfi_command *cm)
 {
@@ -1905,27 +1921,27 @@ mfi_add_sys_pd_complete(struct mfi_comma
 	pd_info = cm->cm_private;
 
 	if (hdr->cmd_status != MFI_STAT_OK) {
-	    free(pd_info, M_MFIBUF);
-	    mfi_release_command(cm);
-	    return;
+		free(pd_info, M_MFIBUF);
+		mfi_release_command(cm);
+		return;
 	}
 	if (pd_info->fw_state != MFI_PD_STATE_SYSTEM) {
-	    device_printf(sc->mfi_dev,"PD=%x is not SYSTEM PD\n",
-			  pd_info->ref.v.device_id);
-	    free(pd_info, M_MFIBUF);
-	    mfi_release_command(cm);
-	    return;
+		device_printf(sc->mfi_dev, "PD=%x is not SYSTEM PD\n",
+		    pd_info->ref.v.device_id);
+		free(pd_info, M_MFIBUF);
+		mfi_release_command(cm);
+		return;
 	}
 	mfi_release_command(cm);
 
 	mtx_unlock(&sc->mfi_io_lock);
 	mtx_lock(&Giant);
 	if ((child = device_add_child(sc->mfi_dev, "mfisyspd", -1)) == NULL) {
-	    device_printf(sc->mfi_dev, "Failed to add system pd\n");
-	    free(pd_info, M_MFIBUF);
-	    mtx_unlock(&Giant);
-	    mtx_lock(&sc->mfi_io_lock);
-	    return;
+		device_printf(sc->mfi_dev, "Failed to add system pd\n");
+		free(pd_info, M_MFIBUF);
+		mtx_unlock(&Giant);
+		mtx_lock(&sc->mfi_io_lock);
+		return;
 	}
 
 	device_set_ivars(child, pd_info);
@@ -1941,27 +1957,27 @@ mfi_bio_command(struct mfi_softc *sc)
 	struct mfi_command *cm = NULL;
 
 	/*reserving two commands to avoid starvation for IOCTL*/
-	if(sc->mfi_qstat[MFIQ_FREE].q_length < 2){
+	if (sc->mfi_qstat[MFIQ_FREE].q_length < 2){
 		return (NULL);
 	}
 	if ((bio = mfi_dequeue_bio(sc)) == NULL) {
 		return (NULL);
 	}
 	if ((uintptr_t)bio->bio_driver2 == MFI_LD_IO) {
-		cm = mfi_build_ldio(sc,bio);
+		cm = mfi_build_ldio(sc, bio);
 	} else if ((uintptr_t) bio->bio_driver2 == MFI_SYS_PD_IO) {
-		cm = mfi_build_syspdio(sc,bio);
+		cm = mfi_build_syspdio(sc, bio);
 	}
 	if (!cm)
-	    mfi_enqueue_bio(sc,bio);
+	    mfi_enqueue_bio(sc, bio);
 	return cm;
 }
 static struct mfi_command *
-mfi_build_syspdio(struct mfi_softc *sc,struct bio *bio)
+mfi_build_syspdio(struct mfi_softc *sc, struct bio *bio)
 {
 	struct mfi_command *cm;
 	struct mfi_pass_frame *pass;
-	int flags = 0,blkcount = 0;
+	int flags = 0, blkcount = 0;
 	uint32_t context = 0;
 
 	if ((cm = mfi_dequeue_free(sc)) == NULL)
@@ -1969,10 +1985,10 @@ mfi_build_syspdio(struct mfi_softc *sc,s
 
 	/* Zero out the MFI frame */
  	context = cm->cm_frame->header.context;
-	bzero(cm->cm_frame,sizeof(union mfi_frame));
-	cm->cm_frame->header.context = context;		
+	bzero(cm->cm_frame, sizeof(union mfi_frame));
+	cm->cm_frame->header.context = context;
 	pass = &cm->cm_frame->pass;
-	bzero(pass->cdb,16);
+	bzero(pass->cdb, 16);
 	pass->header.cmd = MFI_CMD_PD_SCSI_IO;
 	switch (bio->bio_cmd & 0x03) {
 	case BIO_READ:
@@ -2018,7 +2034,7 @@ mfi_build_syspdio(struct mfi_softc *sc,s
 }
 
 static struct mfi_command *
-mfi_build_ldio(struct mfi_softc *sc,struct bio *bio)
+mfi_build_ldio(struct mfi_softc *sc, struct bio *bio)
 {
 	struct mfi_io_frame *io;
 	struct mfi_command *cm;
@@ -2027,11 +2043,11 @@ mfi_build_ldio(struct mfi_softc *sc,stru
 
 	if ((cm = mfi_dequeue_free(sc)) == NULL)
 	    return (NULL);
-	
+
 	/* Zero out the MFI frame */
- 	context = cm->cm_frame->header.context;
-	bzero(cm->cm_frame,sizeof(union mfi_frame));
-	cm->cm_frame->header.context = context;		
+	context = cm->cm_frame->header.context;
+	bzero(cm->cm_frame, sizeof(union mfi_frame));
+	cm->cm_frame->header.context = context;
 	io = &cm->cm_frame->io;
 	switch (bio->bio_cmd & 0x03) {
 	case BIO_READ:
@@ -2144,7 +2160,7 @@ mfi_mapcmd(struct mfi_softc *sc, struct 
 			return (0);
 		}
 	} else {
-		if(sc->MFA_enabled)
+		if (sc->MFA_enabled)
 			error = mfi_tbolt_send_frame(sc, cm);
 		else
 			error = mfi_send_frame(sc, cm);
@@ -2244,7 +2260,7 @@ mfi_data_cb(void *arg, bus_dma_segment_t
 	cm->cm_total_frame_size += (sc->mfi_sge_size * nsegs);
 	cm->cm_extra_frames = (cm->cm_total_frame_size - 1) / MFI_FRAME_SIZE;
 
-	if(sc->MFA_enabled)
+	if (sc->MFA_enabled)
 			mfi_tbolt_send_frame(sc, cm);
 	else
 		mfi_send_frame(sc, cm);
@@ -2283,7 +2299,7 @@ mfi_send_frame(struct mfi_softc *sc, str
 	if (cm->cm_extra_frames > 7)
 		cm->cm_extra_frames = 7;
 
-	sc->mfi_issue_cmd(sc,cm->cm_frame_busaddr,cm->cm_extra_frames);
+	sc->mfi_issue_cmd(sc, cm->cm_frame_busaddr, cm->cm_extra_frames);
 
 	if ((cm->cm_flags & MFI_CMD_POLLED) == 0)
 		return (0);
@@ -2298,7 +2314,7 @@ mfi_send_frame(struct mfi_softc *sc, str
 
 	if (hdr->cmd_status == MFI_STAT_INVALID_STATUS) {
 		device_printf(sc->mfi_dev, "Frame %p timed out "
-			      "command 0x%X\n", hdr, cm->cm_frame->dcmd.opcode);
+		    "command 0x%X\n", hdr, cm->cm_frame->dcmd.opcode);
 		return (ETIMEDOUT);
 	}
 
@@ -2348,7 +2364,7 @@ mfi_abort(struct mfi_softc *sc, struct m
 
 	/* Zero out the MFI frame */
 	context = cm->cm_frame->header.context;
-	bzero(cm->cm_frame,sizeof (union mfi_frame));
+	bzero(cm->cm_frame, sizeof(union mfi_frame));
 	cm->cm_frame->header.context = context;
 
 	abort = &cm->cm_frame->abort;
@@ -2362,13 +2378,14 @@ mfi_abort(struct mfi_softc *sc, struct m
 	cm->cm_data = NULL;
 	cm->cm_flags = MFI_CMD_POLLED;
 
-	if(sc->mfi_aen_cm)
+	if (sc->mfi_aen_cm)
 		sc->mfi_aen_cm->cm_aen_abort = 1;
 	mfi_mapcmd(sc, cm);
 	mfi_release_command(cm);
 
 	while (i < 5 && sc->mfi_aen_cm != NULL) {
-		msleep(&sc->mfi_aen_cm, &sc->mfi_io_lock, 0, "mfiabort", 5 * hz);
+		msleep(&sc->mfi_aen_cm, &sc->mfi_io_lock, 0, "mfiabort",
+		    5 * hz);
 		i++;
 	}
 
@@ -2376,7 +2393,8 @@ mfi_abort(struct mfi_softc *sc, struct m
 }
 
 int
-mfi_dump_blocks(struct mfi_softc *sc, int id, uint64_t lba, void *virt, int len)
+mfi_dump_blocks(struct mfi_softc *sc, int id, uint64_t lba, void *virt,
+     int len)
 {
 	struct mfi_command *cm;
 	struct mfi_io_frame *io;
@@ -2388,7 +2406,7 @@ mfi_dump_blocks(struct mfi_softc *sc, in
 
 	/* Zero out the MFI frame */
 	context = cm->cm_frame->header.context;
-	bzero(cm->cm_frame,sizeof (union mfi_frame));
+	bzero(cm->cm_frame, sizeof(union mfi_frame));
 	cm->cm_frame->header.context = context;
 
 	io = &cm->cm_frame->io;
@@ -2419,7 +2437,8 @@ mfi_dump_blocks(struct mfi_softc *sc, in
 }
 
 int
-mfi_dump_syspd_blocks(struct mfi_softc *sc, int id, uint64_t lba, void *virt, int len)
+mfi_dump_syspd_blocks(struct mfi_softc *sc, int id, uint64_t lba, void *virt,
+    int len)
 {
 	struct mfi_command *cm;
 	struct mfi_pass_frame *pass;
@@ -2430,7 +2449,7 @@ mfi_dump_syspd_blocks(struct mfi_softc *
 		return (EBUSY);
 
 	pass = &cm->cm_frame->pass;
-	bzero(pass->cdb,16);
+	bzero(pass->cdb, 16);
 	pass->header.cmd = MFI_CMD_PD_SCSI_IO;
 	pass->cdb[0] = SCSI_WRITE;
 	pass->cdb[2] = (lba & 0xff000000) >> 24;
@@ -2529,7 +2548,10 @@ mfi_config_unlock(struct mfi_softc *sc, 
 		sx_xunlock(&sc->mfi_config_lock);
 }

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-projects@FreeBSD.ORG  Tue Mar 13 02:10:16 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 2900A106564A;
	Tue, 13 Mar 2012 02:10:16 +0000 (UTC)
	(envelope-from gber@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 148D78FC12;
	Tue, 13 Mar 2012 02:10:16 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2D2AFJd000941;
	Tue, 13 Mar 2012 02:10:15 GMT (envelope-from gber@svn.freebsd.org)
Received: (from gber@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2D2AFNw000939;
	Tue, 13 Mar 2012 02:10:15 GMT (envelope-from gber@svn.freebsd.org)
Message-Id: <201203130210.q2D2AFNw000939@svn.freebsd.org>
From: Grzegorz Bernacki <gber@FreeBSD.org>
Date: Tue, 13 Mar 2012 02:10:15 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r232909 - projects/nand/sys/modules/nandsim
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Mar 2012 02:10:16 -0000

Author: gber
Date: Tue Mar 13 02:10:15 2012
New Revision: 232909
URL: http://svn.freebsd.org/changeset/base/232909

Log:
  Fix Makefile for NANDSim module.
  
  Obtained from: Semihalf
  Supported by:  FreeBSD Foundation, Juniper Networks

Modified:
  projects/nand/sys/modules/nandsim/Makefile

Modified: projects/nand/sys/modules/nandsim/Makefile
==============================================================================
--- projects/nand/sys/modules/nandsim/Makefile	Tue Mar 13 00:45:27 2012	(r232908)
+++ projects/nand/sys/modules/nandsim/Makefile	Tue Mar 13 02:10:15 2012	(r232909)
@@ -5,5 +5,7 @@
 KMOD=	nandsim
 SRCS=	nandsim.c nandsim_chip.c nandsim_swap.c nandsim_ctrl.c nandsim_log.c\
 	bus_if.h device_if.h vnode_if.h nfc_if.h nand_if.h
+MFILES=	kern/bus_if.m kern/device_if.m\
+	dev/nand/nfc_if.m dev/nand/nand_if.m
 
 .include <bsd.kmod.mk>

From owner-svn-src-projects@FreeBSD.ORG  Tue Mar 13 23:45:31 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id A664F106566C;
	Tue, 13 Mar 2012 23:45:31 +0000 (UTC)
	(envelope-from sbruno@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 958848FC0C;
	Tue, 13 Mar 2012 23:45:31 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2DNjVg8068187;
	Tue, 13 Mar 2012 23:45:31 GMT (envelope-from sbruno@svn.freebsd.org)
Received: (from sbruno@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2DNjVAT068181;
	Tue, 13 Mar 2012 23:45:31 GMT (envelope-from sbruno@svn.freebsd.org)
Message-Id: <201203132345.q2DNjVAT068181@svn.freebsd.org>
From: Sean Bruno <sbruno@FreeBSD.org>
Date: Tue, 13 Mar 2012 23:45:31 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r232949 - projects/head_mfi/sys/dev/mfi
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Mar 2012 23:45:31 -0000

Author: sbruno
Date: Tue Mar 13 23:45:30 2012
New Revision: 232949
URL: http://svn.freebsd.org/changeset/base/232949

Log:
  Updates for compatibility and merging.
  
  No functional changes here, just fixups for changes to CAM and other API
  evolutions over the years.  This should allow mfi(4) to be MFC'd to all
  stable/X branches.
  
  Reviewed by:	ambrisko@
  Obtained from:	Yahoo! Inc.

Modified:
  projects/head_mfi/sys/dev/mfi/mfi.c
  projects/head_mfi/sys/dev/mfi/mfi_cam.c
  projects/head_mfi/sys/dev/mfi/mfi_linux.c
  projects/head_mfi/sys/dev/mfi/mfi_tbolt.c
  projects/head_mfi/sys/dev/mfi/mfivar.h

Modified: projects/head_mfi/sys/dev/mfi/mfi.c
==============================================================================
--- projects/head_mfi/sys/dev/mfi/mfi.c	Tue Mar 13 22:04:27 2012	(r232948)
+++ projects/head_mfi/sys/dev/mfi/mfi.c	Tue Mar 13 23:45:30 2012	(r232949)
@@ -690,7 +690,11 @@ mfi_attach(struct mfi_softc *sc)
 		if ((error = mfi_tbolt_alloc_cmd(sc)) != 0)
 			return error;
 		if (bus_setup_intr(sc->mfi_dev, sc->mfi_irq,
+#if __FreeBSD_version < 700000
+		    INTR_MPSAFE|INTR_TYPE_BIO, mfi_intr_tbolt, sc,
+#else
 		    INTR_MPSAFE|INTR_TYPE_BIO, NULL, mfi_intr_tbolt, sc,
+#endif
 		    &sc->mfi_intr)) {
 			device_printf(sc->mfi_dev, "Cannot set up interrupt\n");
 			return (EINVAL);
@@ -702,7 +706,11 @@ mfi_attach(struct mfi_softc *sc)
 			return (error);
 
 		if (bus_setup_intr(sc->mfi_dev, sc->mfi_irq,
+#if __FreeBSD_version < 700000
+		    INTR_MPSAFE|INTR_TYPE_BIO, mfi_intr, sc, &sc->mfi_intr)) {
+#else
 		    INTR_MPSAFE|INTR_TYPE_BIO, NULL, mfi_intr, sc, &sc->mfi_intr)) {
+#endif
 			device_printf(sc->mfi_dev, "Cannot set up interrupt\n");
 			return (EINVAL);
 		}
@@ -1676,7 +1684,11 @@ mfi_aen_complete(struct mfi_command *cm)
 			TAILQ_REMOVE(&sc->mfi_aen_pids, mfi_aen_entry,
 			    aen_link);
 			PROC_LOCK(mfi_aen_entry->p);
+#if __FreeBSD_version < 900000
+			psignal(mfi_aen_entry->p, SIGIO);
+#else
 			kern_psignal(mfi_aen_entry->p, SIGIO);
+#endif
 			PROC_UNLOCK(mfi_aen_entry->p);
 			free(mfi_aen_entry, M_MFIBUF);
 		}

Modified: projects/head_mfi/sys/dev/mfi/mfi_cam.c
==============================================================================
--- projects/head_mfi/sys/dev/mfi/mfi_cam.c	Tue Mar 13 22:04:27 2012	(r232948)
+++ projects/head_mfi/sys/dev/mfi/mfi_cam.c	Tue Mar 13 23:45:30 2012	(r232949)
@@ -123,7 +123,11 @@ mfip_attach(device_t dev)
 	if ((sc->devq = cam_simq_alloc(MFI_SCSI_MAX_CMDS)) == NULL)
 		return (ENOMEM);
 
+#if __FreeBSD_version < 700000
+	sc->sim = cam_sim_alloc_mtx(mfip_cam_action, mfip_cam_poll, "mfi", sc,
+#else
 	sc->sim = cam_sim_alloc(mfip_cam_action, mfip_cam_poll, "mfi", sc,
+#endif
 				device_get_unit(dev), &mfisc->mfi_io_lock, 1,
 				MFI_SCSI_MAX_CMDS, sc->devq);
 	if (sc->sim == NULL) {
@@ -133,7 +137,11 @@ mfip_attach(device_t dev)
 	}
 
 	mtx_lock(&mfisc->mfi_io_lock);
+#if __FreeBSD_version < 700000
+	if (xpt_bus_register(sc->sim, 0) != 0) {
+#else
 	if (xpt_bus_register(sc->sim, dev, 0) != 0) {
+#endif
 		device_printf(dev, "XPT bus registration failed\n");
 		cam_sim_free(sc->sim, FALSE);
 		cam_simq_free(sc->devq);
@@ -194,10 +202,12 @@ mfip_cam_action(struct cam_sim *sim, uni
 		cpi->unit_number = cam_sim_unit(sim);
 		cpi->bus_id = cam_sim_bus(sim);
 		cpi->base_transfer_speed = 150000;
+#if __FreeBSD_version > 700000
 		cpi->transport = XPORT_SAS;
 		cpi->transport_version = 0;
 		cpi->protocol = PROTO_SCSI;
 		cpi->protocol_version = SCSI_REV_2;
+#endif
 		cpi->ccb_h.status = CAM_REQ_CMP;
 		break;
 	}
@@ -209,6 +219,10 @@ mfip_cam_action(struct cam_sim *sim, uni
 		break;
 	case XPT_GET_TRAN_SETTINGS:
 	{
+#if __FreeBSD_version < 700000
+		ccb->cts.flags &= ~(CCB_TRANS_DISC_ENB | CCB_TRANS_TAG_ENB);
+		ccb->cts.valid = CCB_TRANS_DISC_VALID | CCB_TRANS_TQ_VALID;
+#else
 		struct ccb_trans_settings_sas *sas =
 		    &ccb->cts.xport_specific.sas;
 
@@ -221,6 +235,7 @@ mfip_cam_action(struct cam_sim *sim, uni
 		sas->bitrate = 150000;
 
 		ccb->ccb_h.status = CAM_REQ_CMP;
+#endif
 		break;
 	}
 	case XPT_SET_TRAN_SETTINGS:

Modified: projects/head_mfi/sys/dev/mfi/mfi_linux.c
==============================================================================
--- projects/head_mfi/sys/dev/mfi/mfi_linux.c	Tue Mar 13 22:04:27 2012	(r232948)
+++ projects/head_mfi/sys/dev/mfi/mfi_linux.c	Tue Mar 13 23:45:30 2012	(r232949)
@@ -29,7 +29,9 @@ __FBSDID("$FreeBSD$");
 
 #include <sys/param.h>
 #include <sys/systm.h>
+#if __FreeBSD_version > 999999
 #include <sys/capability.h>
+#endif
 #include <sys/conf.h>
 #include <sys/kernel.h>
 #include <sys/module.h>
@@ -97,7 +99,11 @@ mfi_linux_ioctl(struct thread *p, struct
 		break;
 	}
 
+#if __FreeBSD_version > 999999
 	if ((error = fget(p, args->fd, CAP_IOCTL, &fp)) != 0)
+#else
+	if ((error = fget(p, args->fd, &fp)) != 0)
+#endif
 		return (error);
 	error = fo_ioctl(fp, cmd, (caddr_t)args->arg, p->td_ucred, p);
 	fdrop(fp, p);

Modified: projects/head_mfi/sys/dev/mfi/mfi_tbolt.c
==============================================================================
--- projects/head_mfi/sys/dev/mfi/mfi_tbolt.c	Tue Mar 13 22:04:27 2012	(r232948)
+++ projects/head_mfi/sys/dev/mfi/mfi_tbolt.c	Tue Mar 13 23:45:30 2012	(r232949)
@@ -620,7 +620,18 @@ map_tbolt_cmd_status(struct mfi_command 
 		}
 }
 
+/**
+ * mfi_tbolt_return_cmd -	Return a cmd to free command pool
+ * @instance:		Adapter soft state
+ * @cmd:		Command packet to be returned to free command pool
+ */
+static inline void
+mfi_tbolt_return_cmd(struct mfi_softc *sc, struct mfi_cmd_tbolt *cmd)
+{
+	mtx_assert(&sc->mfi_io_lock, MA_OWNED);
 
+	TAILQ_INSERT_TAIL(&sc->mfi_cmd_tbolt_tqh, cmd, next);
+}
 
 void mfi_tbolt_complete_cmd(struct mfi_softc *sc)
 {
@@ -780,19 +791,6 @@ struct mfi_cmd_tbolt *mfi_tbolt_get_cmd(
 	return cmd;
 }
 
-/**
- * mfi_tbolt_return_cmd -	Return a cmd to free command pool
- * @instance:		Adapter soft state
- * @cmd:		Command packet to be returned to free command pool
- */
-static inline void
-mfi_tbolt_return_cmd(struct mfi_softc *sc, struct mfi_cmd_tbolt *cmd)
-{
-	mtx_assert(&sc->mfi_io_lock, MA_OWNED);
-
-	TAILQ_INSERT_TAIL(&sc->mfi_cmd_tbolt_tqh, cmd, next);
-}
-
 union mfi_mpi2_request_descriptor *
 mfi_tbolt_get_request_descriptor(struct mfi_softc *sc, uint16_t index)
 {

Modified: projects/head_mfi/sys/dev/mfi/mfivar.h
==============================================================================
--- projects/head_mfi/sys/dev/mfi/mfivar.h	Tue Mar 13 22:04:27 2012	(r232948)
+++ projects/head_mfi/sys/dev/mfi/mfivar.h	Tue Mar 13 23:45:30 2012	(r232949)
@@ -533,6 +533,7 @@ mfi_dequeue_bio(struct mfi_softc *sc)
 	return (bp);
 }
 
+#if __FreeBSD_version > 999999
 /*
  * This is from the original scsi_extract_sense() in CAM.  It's copied
  * here because CAM now uses a non-inline version that follows more complex
@@ -549,13 +550,18 @@ mfi_extract_sense(struct scsi_sense_data
 	*asc = (sense->extra_len >= 5) ? sense->add_sense_code : 0;
 	*ascq = (sense->extra_len >= 6) ? sense->add_sense_code_qual : 0;
 }
+#endif
 
 static __inline void
 mfi_print_sense(struct mfi_softc *sc, void *sense)
 {
 	int error, key, asc, ascq;
 
+#if __FreeBSD_version > 999999
 	mfi_extract_sense((struct scsi_sense_data_fixed *)sense,
+#else
+	scsi_extract_sense((struct scsi_sense_data *)sense,
+#endif
 	    &error, &key, &asc, &ascq);
 	device_printf(sc->mfi_dev, "sense error %d, sense_key %d, "
 	    "asc %d, ascq %d\n", error, key, asc, ascq);

From owner-svn-src-projects@FreeBSD.ORG  Wed Mar 14 06:42:18 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 4498C106566C;
	Wed, 14 Mar 2012 06:42:18 +0000 (UTC)
	(envelope-from andrew@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 2639B8FC08;
	Wed, 14 Mar 2012 06:42:18 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2E6gIr5081630;
	Wed, 14 Mar 2012 06:42:18 GMT (envelope-from andrew@svn.freebsd.org)
Received: (from andrew@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2E6gHZX081614;
	Wed, 14 Mar 2012 06:42:17 GMT (envelope-from andrew@svn.freebsd.org)
Message-Id: <201203140642.q2E6gHZX081614@svn.freebsd.org>
From: Andrew Turner <andrew@FreeBSD.org>
Date: Wed, 14 Mar 2012 06:42:17 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r232954 - in projects/arm_eabi: . bin/csh bin/df bin/ed
	bin/expr bin/ps bin/sh bin/sh/funcs
	cddl/contrib/opensolaris/cmd/dtrace
	cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/io cd...
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Mar 2012 06:42:18 -0000

Author: andrew
Date: Wed Mar 14 06:42:12 2012
New Revision: 232954
URL: http://svn.freebsd.org/changeset/base/232954

Log:
  IFC r232929

Added:
  projects/arm_eabi/contrib/compiler-rt/lib/int_endianness.h
     - copied unchanged from r232929, head/contrib/compiler-rt/lib/int_endianness.h
  projects/arm_eabi/contrib/compiler-rt/lib/int_math.h
     - copied unchanged from r232929, head/contrib/compiler-rt/lib/int_math.h
  projects/arm_eabi/contrib/compiler-rt/lib/int_types.h
     - copied unchanged from r232929, head/contrib/compiler-rt/lib/int_types.h
  projects/arm_eabi/contrib/compiler-rt/lib/int_util.c
     - copied unchanged from r232929, head/contrib/compiler-rt/lib/int_util.c
  projects/arm_eabi/contrib/compiler-rt/lib/int_util.h
     - copied unchanged from r232929, head/contrib/compiler-rt/lib/int_util.h
  projects/arm_eabi/contrib/compiler-rt/lib/mulodi4.c
     - copied unchanged from r232929, head/contrib/compiler-rt/lib/mulodi4.c
  projects/arm_eabi/contrib/compiler-rt/lib/mulosi4.c
     - copied unchanged from r232929, head/contrib/compiler-rt/lib/mulosi4.c
  projects/arm_eabi/contrib/compiler-rt/lib/muloti4.c
     - copied unchanged from r232929, head/contrib/compiler-rt/lib/muloti4.c
  projects/arm_eabi/contrib/compiler-rt/lib/sparc64/
     - copied from r232929, head/contrib/compiler-rt/lib/sparc64/
     - copied from r232929, head/contrib/libarchive/
  projects/arm_eabi/contrib/llvm/tools/bugpoint/
     - copied from r232929, head/contrib/llvm/tools/bugpoint/
  projects/arm_eabi/contrib/llvm/tools/llc/
     - copied from r232929, head/contrib/llvm/tools/llc/
  projects/arm_eabi/contrib/llvm/tools/lli/
     - copied from r232929, head/contrib/llvm/tools/lli/
  projects/arm_eabi/contrib/llvm/tools/llvm-ar/
     - copied from r232929, head/contrib/llvm/tools/llvm-ar/
  projects/arm_eabi/contrib/llvm/tools/llvm-as/
     - copied from r232929, head/contrib/llvm/tools/llvm-as/
  projects/arm_eabi/contrib/llvm/tools/llvm-bcanalyzer/
     - copied from r232929, head/contrib/llvm/tools/llvm-bcanalyzer/
  projects/arm_eabi/contrib/llvm/tools/llvm-diff/
     - copied from r232929, head/contrib/llvm/tools/llvm-diff/
  projects/arm_eabi/contrib/llvm/tools/llvm-dis/
     - copied from r232929, head/contrib/llvm/tools/llvm-dis/
  projects/arm_eabi/contrib/llvm/tools/llvm-extract/
     - copied from r232929, head/contrib/llvm/tools/llvm-extract/
  projects/arm_eabi/contrib/llvm/tools/llvm-ld/
     - copied from r232929, head/contrib/llvm/tools/llvm-ld/
  projects/arm_eabi/contrib/llvm/tools/llvm-link/
     - copied from r232929, head/contrib/llvm/tools/llvm-link/
  projects/arm_eabi/contrib/llvm/tools/llvm-mc/
     - copied from r232929, head/contrib/llvm/tools/llvm-mc/
  projects/arm_eabi/contrib/llvm/tools/llvm-nm/
     - copied from r232929, head/contrib/llvm/tools/llvm-nm/
  projects/arm_eabi/contrib/llvm/tools/llvm-objdump/
     - copied from r232929, head/contrib/llvm/tools/llvm-objdump/
  projects/arm_eabi/contrib/llvm/tools/llvm-prof/
     - copied from r232929, head/contrib/llvm/tools/llvm-prof/
  projects/arm_eabi/contrib/llvm/tools/llvm-ranlib/
     - copied from r232929, head/contrib/llvm/tools/llvm-ranlib/
  projects/arm_eabi/contrib/llvm/tools/llvm-rtdyld/
     - copied from r232929, head/contrib/llvm/tools/llvm-rtdyld/
  projects/arm_eabi/contrib/llvm/tools/llvm-stub/
     - copied from r232929, head/contrib/llvm/tools/llvm-stub/
  projects/arm_eabi/contrib/llvm/tools/macho-dump/
     - copied from r232929, head/contrib/llvm/tools/macho-dump/
  projects/arm_eabi/contrib/llvm/tools/opt/
     - copied from r232929, head/contrib/llvm/tools/opt/
  projects/arm_eabi/contrib/openpam/bin/pamtest/
     - copied from r232929, head/contrib/openpam/bin/pamtest/
  projects/arm_eabi/contrib/openpam/bin/su/su.1
     - copied unchanged from r232929, head/contrib/openpam/bin/su/su.1
  projects/arm_eabi/contrib/openpam/doc/man/openpam_subst.3
     - copied unchanged from r232929, head/contrib/openpam/doc/man/openpam_subst.3
  projects/arm_eabi/contrib/openpam/lib/openpam_check_owner_perms.c
     - copied unchanged from r232929, head/contrib/openpam/lib/openpam_check_owner_perms.c
  projects/arm_eabi/contrib/openpam/lib/openpam_constants.c
     - copied unchanged from r232929, head/contrib/openpam/lib/openpam_constants.c
  projects/arm_eabi/contrib/openpam/lib/openpam_constants.h
     - copied unchanged from r232929, head/contrib/openpam/lib/openpam_constants.h
  projects/arm_eabi/contrib/openpam/lib/openpam_debug.h
     - copied unchanged from r232929, head/contrib/openpam/lib/openpam_debug.h
  projects/arm_eabi/contrib/openpam/lib/openpam_strlcmp.h
     - copied unchanged from r232929, head/contrib/openpam/lib/openpam_strlcmp.h
  projects/arm_eabi/contrib/openpam/lib/openpam_strlcpy.h
     - copied unchanged from r232929, head/contrib/openpam/lib/openpam_strlcpy.h
  projects/arm_eabi/contrib/openpam/lib/openpam_subst.c
     - copied unchanged from r232929, head/contrib/openpam/lib/openpam_subst.c
  projects/arm_eabi/contrib/tcsh/nls/Makefile.in
     - copied unchanged from r232929, head/contrib/tcsh/nls/Makefile.in
  projects/arm_eabi/contrib/tcsh/nls/catgen
     - copied unchanged from r232929, head/contrib/tcsh/nls/catgen
  projects/arm_eabi/contrib/tcsh/svn
     - copied unchanged from r232929, head/contrib/tcsh/svn
  projects/arm_eabi/etc/rc.d/utx
     - copied unchanged from r232929, head/etc/rc.d/utx
  projects/arm_eabi/gnu/usr.bin/cc/cpp/gcpp.1
     - copied unchanged from r232929, head/gnu/usr.bin/cc/cpp/gcpp.1
  projects/arm_eabi/include/stdalign.h
     - copied unchanged from r232929, head/include/stdalign.h
  projects/arm_eabi/include/stdatomic.h
     - copied unchanged from r232929, head/include/stdatomic.h
  projects/arm_eabi/include/stdnoreturn.h
     - copied unchanged from r232929, head/include/stdnoreturn.h
  projects/arm_eabi/include/xlocale/
     - copied from r232929, head/include/xlocale/
  projects/arm_eabi/lib/clang/libllvmarchive/
     - copied from r232929, head/lib/clang/libllvmarchive/
  projects/arm_eabi/lib/clang/libllvmdebuginfo/
     - copied from r232929, head/lib/clang/libllvmdebuginfo/
  projects/arm_eabi/lib/clang/libllvmexecutionengine/
     - copied from r232929, head/lib/clang/libllvmexecutionengine/
  projects/arm_eabi/lib/clang/libllvminterpreter/
     - copied from r232929, head/lib/clang/libllvminterpreter/
  projects/arm_eabi/lib/clang/libllvmjit/
     - copied from r232929, head/lib/clang/libllvmjit/
  projects/arm_eabi/lib/clang/libllvmlinker/
     - copied from r232929, head/lib/clang/libllvmlinker/
  projects/arm_eabi/lib/clang/libllvmmcdisassembler/
     - copied from r232929, head/lib/clang/libllvmmcdisassembler/
  projects/arm_eabi/lib/clang/libllvmmcjit/
     - copied from r232929, head/lib/clang/libllvmmcjit/
  projects/arm_eabi/lib/clang/libllvmobject/
     - copied from r232929, head/lib/clang/libllvmobject/
  projects/arm_eabi/lib/clang/libllvmruntimedyld/
     - copied from r232929, head/lib/clang/libllvmruntimedyld/
  projects/arm_eabi/lib/csu/common/ignore_init.c
     - copied unchanged from r232929, head/lib/csu/common/ignore_init.c
  projects/arm_eabi/lib/csu/common/notes.h
     - copied unchanged from r232929, head/lib/csu/common/notes.h
  projects/arm_eabi/lib/libc/amd64/gen/getcontextx.c
     - copied unchanged from r232929, head/lib/libc/amd64/gen/getcontextx.c
  projects/arm_eabi/lib/libc/arm/gen/__aeabi_read_tp.c
     - copied unchanged from r232929, head/lib/libc/arm/gen/__aeabi_read_tp.c
  projects/arm_eabi/lib/libc/arm/gen/flt_rounds.c
     - copied unchanged from r232929, head/lib/libc/arm/gen/flt_rounds.c
  projects/arm_eabi/lib/libc/arm/gen/getcontextx.c
     - copied unchanged from r232929, head/lib/libc/arm/gen/getcontextx.c
  projects/arm_eabi/lib/libc/gen/dl_iterate_phdr.3
     - copied unchanged from r232929, head/lib/libc/gen/dl_iterate_phdr.3
  projects/arm_eabi/lib/libc/gen/libc_dlopen.c
     - copied unchanged from r232929, head/lib/libc/gen/libc_dlopen.c
  projects/arm_eabi/lib/libc/i386/gen/getcontextx.c
     - copied unchanged from r232929, head/lib/libc/i386/gen/getcontextx.c
  projects/arm_eabi/lib/libc/ia64/gen/getcontextx.c
     - copied unchanged from r232929, head/lib/libc/ia64/gen/getcontextx.c
  projects/arm_eabi/lib/libc/mips/gen/getcontextx.c
     - copied unchanged from r232929, head/lib/libc/mips/gen/getcontextx.c
  projects/arm_eabi/lib/libc/mips/string/strchr.S
     - copied unchanged from r232929, head/lib/libc/mips/string/strchr.S
  projects/arm_eabi/lib/libc/mips/string/strrchr.S
     - copied unchanged from r232929, head/lib/libc/mips/string/strrchr.S
  projects/arm_eabi/lib/libc/powerpc/gen/getcontextx.c
     - copied unchanged from r232929, head/lib/libc/powerpc/gen/getcontextx.c
  projects/arm_eabi/lib/libc/powerpc64/gen/getcontextx.c
     - copied unchanged from r232929, head/lib/libc/powerpc64/gen/getcontextx.c
  projects/arm_eabi/lib/libc/softfloat/eqtf2.c
     - copied unchanged from r232929, head/lib/libc/softfloat/eqtf2.c
  projects/arm_eabi/lib/libc/softfloat/getf2.c
     - copied unchanged from r232929, head/lib/libc/softfloat/getf2.c
  projects/arm_eabi/lib/libc/softfloat/gexf2.c
     - copied unchanged from r232929, head/lib/libc/softfloat/gexf2.c
  projects/arm_eabi/lib/libc/softfloat/gttf2.c
     - copied unchanged from r232929, head/lib/libc/softfloat/gttf2.c
  projects/arm_eabi/lib/libc/softfloat/gtxf2.c
     - copied unchanged from r232929, head/lib/libc/softfloat/gtxf2.c
  projects/arm_eabi/lib/libc/softfloat/letf2.c
     - copied unchanged from r232929, head/lib/libc/softfloat/letf2.c
  projects/arm_eabi/lib/libc/softfloat/lttf2.c
     - copied unchanged from r232929, head/lib/libc/softfloat/lttf2.c
  projects/arm_eabi/lib/libc/softfloat/negtf2.c
     - copied unchanged from r232929, head/lib/libc/softfloat/negtf2.c
  projects/arm_eabi/lib/libc/softfloat/negxf2.c
     - copied unchanged from r232929, head/lib/libc/softfloat/negxf2.c
  projects/arm_eabi/lib/libc/softfloat/netf2.c
     - copied unchanged from r232929, head/lib/libc/softfloat/netf2.c
  projects/arm_eabi/lib/libc/softfloat/nexf2.c
     - copied unchanged from r232929, head/lib/libc/softfloat/nexf2.c
  projects/arm_eabi/lib/libc/sparc64/gen/getcontextx.c
     - copied unchanged from r232929, head/lib/libc/sparc64/gen/getcontextx.c
  projects/arm_eabi/lib/libc/stdlib/aligned_alloc.3
     - copied unchanged from r232929, head/lib/libc/stdlib/aligned_alloc.3
  projects/arm_eabi/lib/libcompiler_rt/__sync_fetch_and_add_4.c
     - copied unchanged from r232929, head/lib/libcompiler_rt/__sync_fetch_and_add_4.c
  projects/arm_eabi/lib/libcompiler_rt/__sync_fetch_and_add_8.c
     - copied unchanged from r232929, head/lib/libcompiler_rt/__sync_fetch_and_add_8.c
  projects/arm_eabi/lib/libcompiler_rt/__sync_fetch_and_and_4.c
     - copied unchanged from r232929, head/lib/libcompiler_rt/__sync_fetch_and_and_4.c
  projects/arm_eabi/lib/libcompiler_rt/__sync_fetch_and_and_8.c
     - copied unchanged from r232929, head/lib/libcompiler_rt/__sync_fetch_and_and_8.c
  projects/arm_eabi/lib/libcompiler_rt/__sync_fetch_and_op_n.h
     - copied unchanged from r232929, head/lib/libcompiler_rt/__sync_fetch_and_op_n.h
  projects/arm_eabi/lib/libcompiler_rt/__sync_fetch_and_or_4.c
     - copied unchanged from r232929, head/lib/libcompiler_rt/__sync_fetch_and_or_4.c
  projects/arm_eabi/lib/libcompiler_rt/__sync_fetch_and_or_8.c
     - copied unchanged from r232929, head/lib/libcompiler_rt/__sync_fetch_and_or_8.c
  projects/arm_eabi/lib/libcompiler_rt/__sync_fetch_and_sub_4.c
     - copied unchanged from r232929, head/lib/libcompiler_rt/__sync_fetch_and_sub_4.c
  projects/arm_eabi/lib/libcompiler_rt/__sync_fetch_and_sub_8.c
     - copied unchanged from r232929, head/lib/libcompiler_rt/__sync_fetch_and_sub_8.c
  projects/arm_eabi/lib/libcompiler_rt/__sync_fetch_and_xor_4.c
     - copied unchanged from r232929, head/lib/libcompiler_rt/__sync_fetch_and_xor_4.c
  projects/arm_eabi/lib/libcompiler_rt/__sync_fetch_and_xor_8.c
     - copied unchanged from r232929, head/lib/libcompiler_rt/__sync_fetch_and_xor_8.c
  projects/arm_eabi/lib/libcompiler_rt/__sync_lock_test_and_set_4.c
     - copied unchanged from r232929, head/lib/libcompiler_rt/__sync_lock_test_and_set_4.c
  projects/arm_eabi/lib/libcompiler_rt/__sync_lock_test_and_set_8.c
     - copied unchanged from r232929, head/lib/libcompiler_rt/__sync_lock_test_and_set_8.c
  projects/arm_eabi/lib/libcompiler_rt/__sync_val_compare_and_swap_4.c
     - copied unchanged from r232929, head/lib/libcompiler_rt/__sync_val_compare_and_swap_4.c
  projects/arm_eabi/lib/libcompiler_rt/__sync_val_compare_and_swap_8.c
     - copied unchanged from r232929, head/lib/libcompiler_rt/__sync_val_compare_and_swap_8.c
  projects/arm_eabi/lib/libcompiler_rt/__sync_val_compare_and_swap_n.h
     - copied unchanged from r232929, head/lib/libcompiler_rt/__sync_val_compare_and_swap_n.h
  projects/arm_eabi/lib/libpmc/pmc.sandybridge.3
     - copied unchanged from r232929, head/lib/libpmc/pmc.sandybridge.3
  projects/arm_eabi/lib/libpmc/pmc.sandybridgeuc.3
     - copied unchanged from r232929, head/lib/libpmc/pmc.sandybridgeuc.3
  projects/arm_eabi/lib/libstdthreads/
     - copied from r232929, head/lib/libstdthreads/
  projects/arm_eabi/lib/msun/src/fenv-softfloat.h
     - copied unchanged from r232929, head/lib/msun/src/fenv-softfloat.h
  projects/arm_eabi/sbin/ifconfig/carp.c
     - copied unchanged from r232929, head/sbin/ifconfig/carp.c
  projects/arm_eabi/share/man/man3/ATOMIC_VAR_INIT.3
     - copied unchanged from r232929, head/share/man/man3/ATOMIC_VAR_INIT.3
  projects/arm_eabi/share/man/man3/offsetof.3
     - copied unchanged from r232929, head/share/man/man3/offsetof.3
  projects/arm_eabi/share/man/man4/apic.4
     - copied unchanged from r232929, head/share/man/man4/apic.4
  projects/arm_eabi/share/man/man4/hpt27xx.4
     - copied unchanged from r232929, head/share/man/man4/hpt27xx.4
  projects/arm_eabi/share/man/man4/isci.4
     - copied unchanged from r232929, head/share/man/man4/isci.4
  projects/arm_eabi/share/man/man4/oce.4
     - copied unchanged from r232929, head/share/man/man4/oce.4
  projects/arm_eabi/share/man/man4/snd_hdspe.4
     - copied unchanged from r232929, head/share/man/man4/snd_hdspe.4
  projects/arm_eabi/share/man/man4/timecounters.4
     - copied unchanged from r232929, head/share/man/man4/timecounters.4
  projects/arm_eabi/share/man/man4/wbwd.4
     - copied unchanged from r232929, head/share/man/man4/wbwd.4
  projects/arm_eabi/share/man/man4/xnb.4
     - copied unchanged from r232929, head/share/man/man4/xnb.4
  projects/arm_eabi/share/man/man9/buf_ring.9
     - copied unchanged from r232929, head/share/man/man9/buf_ring.9
  projects/arm_eabi/share/man/man9/drbr.9
     - copied unchanged from r232929, head/share/man/man9/drbr.9
  projects/arm_eabi/share/man/man9/eventtimers.9
     - copied unchanged from r232929, head/share/man/man9/eventtimers.9
  projects/arm_eabi/share/man/man9/memcchr.9
     - copied unchanged from r232929, head/share/man/man9/memcchr.9
  projects/arm_eabi/sys/amd64/amd64/ptrace_machdep.c
     - copied unchanged from r232929, head/sys/amd64/amd64/ptrace_machdep.c
  projects/arm_eabi/sys/cam/ctl/
     - copied from r232929, head/sys/cam/ctl/
  projects/arm_eabi/sys/conf/WITHOUT_SOURCELESS
     - copied unchanged from r232929, head/sys/conf/WITHOUT_SOURCELESS
  projects/arm_eabi/sys/conf/WITHOUT_SOURCELESS_HOST
     - copied unchanged from r232929, head/sys/conf/WITHOUT_SOURCELESS_HOST
  projects/arm_eabi/sys/conf/WITHOUT_SOURCELESS_UCODE
     - copied unchanged from r232929, head/sys/conf/WITHOUT_SOURCELESS_UCODE
  projects/arm_eabi/sys/contrib/dev/acpica/components/
     - copied from r232929, head/sys/contrib/dev/acpica/components/
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-ciu2-defs.h
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-ciu2-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-endor-defs.h
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-endor-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-eoi-defs.h
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-eoi-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-cfg.c
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-helper-cfg.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-cfg.h
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-helper-cfg.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-ilk.c
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-helper-ilk.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-ilk.h
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-helper-ilk.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-hfa.c
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-hfa.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-hfa.h
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-hfa.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-ilk-defs.h
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-ilk-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-ilk.c
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-ilk.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-ilk.h
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-ilk.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-iob1-defs.h
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-iob1-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-ipd.c
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-ipd.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-malloc/
     - copied from r232929, head/sys/contrib/octeon-sdk/cvmx-malloc/
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-profiler.c
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-profiler.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-profiler.h
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-profiler.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-qlm-tables.c
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-qlm-tables.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-qlm.c
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-qlm.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-qlm.h
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-qlm.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-resources.config
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-resources.config
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-shared-linux-n32.ld
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-shared-linux-n32.ld
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-shared-linux-o32.ld
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-shared-linux-o32.ld
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-shared-linux.ld
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-shared-linux.ld
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-sso-defs.h
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-sso-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-trax-defs.h
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/cvmx-trax-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/octeon-feature.c
     - copied unchanged from r232929, head/sys/contrib/octeon-sdk/octeon-feature.c
  projects/arm_eabi/sys/contrib/xz-embedded/
     - copied from r232929, head/sys/contrib/xz-embedded/
  projects/arm_eabi/sys/dev/ath/ath_hal/ar5416/ar5416_radar.c
     - copied unchanged from r232929, head/sys/dev/ath/ath_hal/ar5416/ar5416_radar.c
  projects/arm_eabi/sys/dev/ath/if_ath_led.c
     - copied unchanged from r232929, head/sys/dev/ath/if_ath_led.c
  projects/arm_eabi/sys/dev/ath/if_ath_led.h
     - copied unchanged from r232929, head/sys/dev/ath/if_ath_led.h
  projects/arm_eabi/sys/dev/cxgbe/firmware/
     - copied from r232929, head/sys/dev/cxgbe/firmware/
  projects/arm_eabi/sys/dev/hpt27xx/
     - copied from r232929, head/sys/dev/hpt27xx/
  projects/arm_eabi/sys/dev/isci/
     - copied from r232929, head/sys/dev/isci/
  projects/arm_eabi/sys/dev/ixgbe/ixgbe_82598.h
     - copied unchanged from r232929, head/sys/dev/ixgbe/ixgbe_82598.h
  projects/arm_eabi/sys/dev/ixgbe/ixgbe_82599.h
     - copied unchanged from r232929, head/sys/dev/ixgbe/ixgbe_82599.h
  projects/arm_eabi/sys/dev/ixgbe/ixgbe_x540.c
     - copied unchanged from r232929, head/sys/dev/ixgbe/ixgbe_x540.c
  projects/arm_eabi/sys/dev/ixgbe/ixgbe_x540.h
     - copied unchanged from r232929, head/sys/dev/ixgbe/ixgbe_x540.h
  projects/arm_eabi/sys/dev/mps/mps_config.c
     - copied unchanged from r232929, head/sys/dev/mps/mps_config.c
  projects/arm_eabi/sys/dev/mps/mps_mapping.c
     - copied unchanged from r232929, head/sys/dev/mps/mps_mapping.c
  projects/arm_eabi/sys/dev/mps/mps_mapping.h
     - copied unchanged from r232929, head/sys/dev/mps/mps_mapping.h
  projects/arm_eabi/sys/dev/mps/mps_sas.h
     - copied unchanged from r232929, head/sys/dev/mps/mps_sas.h
  projects/arm_eabi/sys/dev/mps/mps_sas_lsi.c
     - copied unchanged from r232929, head/sys/dev/mps/mps_sas_lsi.c
  projects/arm_eabi/sys/dev/oce/
     - copied from r232929, head/sys/dev/oce/
  projects/arm_eabi/sys/dev/sound/pci/allegro_code.h
     - copied unchanged from r232929, head/sys/dev/sound/pci/allegro_code.h
  projects/arm_eabi/sys/dev/sound/pci/allegro_reg.h
     - copied unchanged from r232929, head/sys/dev/sound/pci/allegro_reg.h
  projects/arm_eabi/sys/dev/sound/pci/cs461x_dsp.h
     - copied unchanged from r232929, head/sys/dev/sound/pci/cs461x_dsp.h
  projects/arm_eabi/sys/dev/sound/pci/emuxkireg.h
     - copied unchanged from r232929, head/sys/dev/sound/pci/emuxkireg.h
  projects/arm_eabi/sys/dev/sound/pci/hda/hdaa.c
     - copied unchanged from r232929, head/sys/dev/sound/pci/hda/hdaa.c
  projects/arm_eabi/sys/dev/sound/pci/hda/hdaa.h
     - copied unchanged from r232929, head/sys/dev/sound/pci/hda/hdaa.h
  projects/arm_eabi/sys/dev/sound/pci/hda/hdaa_patches.c
     - copied unchanged from r232929, head/sys/dev/sound/pci/hda/hdaa_patches.c
  projects/arm_eabi/sys/dev/sound/pci/hda/hdac_if.m
     - copied unchanged from r232929, head/sys/dev/sound/pci/hda/hdac_if.m
  projects/arm_eabi/sys/dev/sound/pci/hda/hdacc.c
     - copied unchanged from r232929, head/sys/dev/sound/pci/hda/hdacc.c
  projects/arm_eabi/sys/dev/sound/pci/hdspe-pcm.c
     - copied unchanged from r232929, head/sys/dev/sound/pci/hdspe-pcm.c
  projects/arm_eabi/sys/dev/sound/pci/hdspe.c
     - copied unchanged from r232929, head/sys/dev/sound/pci/hdspe.c
  projects/arm_eabi/sys/dev/sound/pci/hdspe.h
     - copied unchanged from r232929, head/sys/dev/sound/pci/hdspe.h
  projects/arm_eabi/sys/dev/usb/controller/dwc_otg.c
     - copied unchanged from r232929, head/sys/dev/usb/controller/dwc_otg.c
  projects/arm_eabi/sys/dev/usb/controller/dwc_otg.h
     - copied unchanged from r232929, head/sys/dev/usb/controller/dwc_otg.h
  projects/arm_eabi/sys/dev/usb/controller/dwc_otg_atmelarm.c
     - copied unchanged from r232929, head/sys/dev/usb/controller/dwc_otg_atmelarm.c
  projects/arm_eabi/sys/dev/wbwd/
     - copied from r232929, head/sys/dev/wbwd/
  projects/arm_eabi/sys/dev/wtap/
     - copied from r232929, head/sys/dev/wtap/
  projects/arm_eabi/sys/dev/xen/netback/netback_unit_tests.c
     - copied unchanged from r232929, head/sys/dev/xen/netback/netback_unit_tests.c
  projects/arm_eabi/sys/geom/uncompress/
     - copied from r232929, head/sys/geom/uncompress/
  projects/arm_eabi/sys/libkern/memcchr.c
     - copied unchanged from r232929, head/sys/libkern/memcchr.c
  projects/arm_eabi/sys/libkern/strchr.c
     - copied unchanged from r232929, head/sys/libkern/strchr.c
  projects/arm_eabi/sys/libkern/strrchr.c
     - copied unchanged from r232929, head/sys/libkern/strrchr.c
  projects/arm_eabi/sys/mips/cavium/octeon_cop2.S
     - copied unchanged from r232929, head/sys/mips/cavium/octeon_cop2.S
  projects/arm_eabi/sys/mips/cavium/octeon_cop2.h
     - copied unchanged from r232929, head/sys/mips/cavium/octeon_cop2.h
  projects/arm_eabi/sys/mips/cavium/octeon_gpio.c
     - copied unchanged from r232929, head/sys/mips/cavium/octeon_gpio.c
  projects/arm_eabi/sys/mips/cavium/octeon_gpiovar.h
     - copied unchanged from r232929, head/sys/mips/cavium/octeon_gpiovar.h
  projects/arm_eabi/sys/mips/cavium/octeon_irq.h
     - copied unchanged from r232929, head/sys/mips/cavium/octeon_irq.h
  projects/arm_eabi/sys/mips/include/octeon_cop2.h
     - copied unchanged from r232929, head/sys/mips/include/octeon_cop2.h
  projects/arm_eabi/sys/mips/include/tls.h
     - copied unchanged from r232929, head/sys/mips/include/tls.h
  projects/arm_eabi/sys/mips/mips/freebsd32_machdep.c
     - copied unchanged from r232929, head/sys/mips/mips/freebsd32_machdep.c
  projects/arm_eabi/sys/mips/mips/libkern_machdep.c
     - copied unchanged from r232929, head/sys/mips/mips/libkern_machdep.c
  projects/arm_eabi/sys/mips/mips/octeon_cop2.c
     - copied unchanged from r232929, head/sys/mips/mips/octeon_cop2.c
  projects/arm_eabi/sys/mips/mips/octeon_cop2_swtch.S
     - copied unchanged from r232929, head/sys/mips/mips/octeon_cop2_swtch.S
  projects/arm_eabi/sys/modules/ar71xx/
     - copied from r232929, head/sys/modules/ar71xx/
  projects/arm_eabi/sys/modules/carp/
     - copied from r232929, head/sys/modules/carp/
  projects/arm_eabi/sys/modules/cfi/
     - copied from r232929, head/sys/modules/cfi/
  projects/arm_eabi/sys/modules/cxgbe/firmware/
     - copied from r232929, head/sys/modules/cxgbe/firmware/
  projects/arm_eabi/sys/modules/geom/geom_uncompress/
     - copied from r232929, head/sys/modules/geom/geom_uncompress/
  projects/arm_eabi/sys/modules/gpio/
     - copied from r232929, head/sys/modules/gpio/
  projects/arm_eabi/sys/modules/hpt27xx/
     - copied from r232929, head/sys/modules/hpt27xx/
  projects/arm_eabi/sys/modules/isci/
     - copied from r232929, head/sys/modules/isci/
  projects/arm_eabi/sys/modules/oce/
     - copied from r232929, head/sys/modules/oce/
  projects/arm_eabi/sys/modules/sound/driver/hdspe/
     - copied from r232929, head/sys/modules/sound/driver/hdspe/
  projects/arm_eabi/sys/modules/usb/dwc_otg/
     - copied from r232929, head/sys/modules/usb/dwc_otg/
  projects/arm_eabi/sys/modules/wbwd/
     - copied from r232929, head/sys/modules/wbwd/
  projects/arm_eabi/sys/modules/wtap/
     - copied from r232929, head/sys/modules/wtap/
  projects/arm_eabi/sys/powerpc/ofw/ofw_pci.c
     - copied unchanged from r232929, head/sys/powerpc/ofw/ofw_pci.c
  projects/arm_eabi/sys/powerpc/ofw/ofw_pci.h
     - copied unchanged from r232929, head/sys/powerpc/ofw/ofw_pci.h
  projects/arm_eabi/sys/powerpc/powermac/atibl.c
     - copied unchanged from r232929, head/sys/powerpc/powermac/atibl.c
  projects/arm_eabi/sys/sys/_kstack_cache.h
     - copied unchanged from r232929, head/sys/sys/_kstack_cache.h
  projects/arm_eabi/sys/x86/include/_limits.h
     - copied unchanged from r232929, head/sys/x86/include/_limits.h
  projects/arm_eabi/sys/x86/include/_stdint.h
     - copied unchanged from r232929, head/sys/x86/include/_stdint.h
  projects/arm_eabi/sys/x86/include/_types.h
     - copied unchanged from r232929, head/sys/x86/include/_types.h
  projects/arm_eabi/sys/x86/include/endian.h
     - copied unchanged from r232929, head/sys/x86/include/endian.h
  projects/arm_eabi/sys/x86/include/float.h
     - copied unchanged from r232929, head/sys/x86/include/float.h
  projects/arm_eabi/sys/x86/include/ptrace.h
     - copied unchanged from r232929, head/sys/x86/include/ptrace.h
  projects/arm_eabi/sys/x86/include/setjmp.h
     - copied unchanged from r232929, head/sys/x86/include/setjmp.h
  projects/arm_eabi/sys/x86/include/stdarg.h
     - copied unchanged from r232929, head/sys/x86/include/stdarg.h
  projects/arm_eabi/sys/x86/include/trap.h
     - copied unchanged from r232929, head/sys/x86/include/trap.h
  projects/arm_eabi/sys/x86/x86/intr_machdep.c
     - copied unchanged from r232929, head/sys/x86/x86/intr_machdep.c
  projects/arm_eabi/tools/bsdbox/
     - copied from r232929, head/tools/bsdbox/
  projects/arm_eabi/tools/build/options/WITHOUT_CAPSICUM
     - copied unchanged from r232929, head/tools/build/options/WITHOUT_CAPSICUM
  projects/arm_eabi/tools/build/options/WITHOUT_SOURCELESS
     - copied unchanged from r232929, head/tools/build/options/WITHOUT_SOURCELESS
  projects/arm_eabi/tools/build/options/WITHOUT_SOURCELESS_HOST
     - copied unchanged from r232929, head/tools/build/options/WITHOUT_SOURCELESS_HOST
  projects/arm_eabi/tools/build/options/WITHOUT_SOURCELESS_UCODE
     - copied unchanged from r232929, head/tools/build/options/WITHOUT_SOURCELESS_UCODE
  projects/arm_eabi/tools/build/options/WITH_CLANG_EXTRAS
     - copied unchanged from r232929, head/tools/build/options/WITH_CLANG_EXTRAS
  projects/arm_eabi/tools/build/options/WITH_CLANG_IS_CC
     - copied unchanged from r232929, head/tools/build/options/WITH_CLANG_IS_CC
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_aac
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_aac
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_acpi_support
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_acpi_support
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_acpica
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_acpica
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_adb
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_adb
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_adlink
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_adlink
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_advansys
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_advansys
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ae
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ae
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_age
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_age
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_agp
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_agp
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_aha
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_aha
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ahb
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ahb
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ahci
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ahci
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_aic
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_aic
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_aic7xxx
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_aic7xxx
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_alc
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_alc
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ale
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ale
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_amdsbwd
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_amdsbwd
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_amdtemp
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_amdtemp
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_amr
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_amr
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_an
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_an
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_arcmsr
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_arcmsr
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_asmc
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_asmc
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_asr
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_asr
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ata
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ata
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ath
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ath
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_atkbdc
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_atkbdc
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_auxio
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_auxio
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_bce
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_bce
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_bfe
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_bfe
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_bge
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_bge
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_bktr
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_bktr
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_bm
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_bm
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_buslogic
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_buslogic
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_bwi
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_bwi
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_bwn
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_bwn
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_bxe
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_bxe
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_cardbus
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_cardbus
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_cas
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_cas
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ce
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ce
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_cesa
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_cesa
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_cfe
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_cfe
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_cfi
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_cfi
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ciss
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ciss
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_cm
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_cm
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_cmx
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_cmx
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_coretemp
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_coretemp
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_cp
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_cp
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_cpuctl
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_cpuctl
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_cpufreq
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_cpufreq
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_cs
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_cs
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ct
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ct
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ctau
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ctau
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_cx
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_cx
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_cxgb
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_cxgb
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_cxgbe
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_cxgbe
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_cy
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_cy
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_dc
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_dc
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_dcons
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_dcons
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_de
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_de
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_digi
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_digi
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_dpms
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_dpms
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_dpt
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_dpt
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_drm
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_drm
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_e1000
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_e1000
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ed
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ed
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_eisa
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_eisa
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_en
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_en
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ep
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ep
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_esp
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_esp
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_et
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_et
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ex
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ex
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_exca
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_exca
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_fatm
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_fatm
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_fb
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_fb
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_fdc
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_fdc
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_fdt
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_fdt
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_fe
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_fe
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_firewire
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_firewire
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_flash
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_flash
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_fxp
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_fxp
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_gem
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_gem
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_glxiic
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_glxiic
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_glxsb
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_glxsb
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_gpio
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_gpio
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_hatm
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_hatm
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_hifn
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_hifn
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_hme
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_hme
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_hpt27xx
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_hpt27xx
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_hptiop
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_hptiop
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_hptmv
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_hptmv
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_hptrr
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_hptrr
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_hwpmc
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_hwpmc
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ic
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ic
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ichsmb
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ichsmb
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ichwd
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ichwd
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ida
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ida
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ie
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ie
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ieee488
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ieee488
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_if_ndis
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_if_ndis
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_iicbus
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_iicbus
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_iir
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_iir
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_io
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_io
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ipmi
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ipmi
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ips
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ips
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ipw
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ipw
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_iscsi
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_iscsi
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_isp
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_isp
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ispfw
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ispfw
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_iwi
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_iwi
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_iwn
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_iwn
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ixgb
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ixgb
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ixgbe
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ixgbe
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_jme
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_jme
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_joy
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_joy
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_kbd
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_kbd
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_kbdmux
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_kbdmux
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ksyms
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ksyms
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_le
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_le
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_led
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_led
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_lge
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_lge
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_lindev
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_lindev
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_lmc
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_lmc
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_malo
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_malo
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_mc146818
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_mc146818
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_mca
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_mca
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_mcd
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_mcd
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_md
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_md
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_mem
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_mem
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_mfi
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_mfi
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_mge
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_mge
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_mii
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_mii
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_mk48txx
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_mk48txx
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_mlx
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_mlx
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_mly
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_mly
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_mmc
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_mmc
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_mn
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_mn
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_mps
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_mps
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_mpt
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_mpt
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_mse
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_mse
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_msk
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_msk
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_mvs
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_mvs
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_mwl
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_mwl
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_mxge
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_mxge
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_my
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_my
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ncv
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ncv
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_netmap
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_netmap
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_nfe
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_nfe
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_nge
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_nge
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_nmdm
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_nmdm
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_nsp
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_nsp
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_null
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_null
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_nve
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_nve
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_nvram
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_nvram
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_nvram2env
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_nvram2env
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_nxge
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_nxge
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ofw
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ofw
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_patm
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_patm
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_pbio
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_pbio
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_pccard
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_pccard
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_pccbb
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_pccbb
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_pcf
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_pcf
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_pcn
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_pcn
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_pdq
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_pdq
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_powermac_nvram
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_powermac_nvram
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ppbus
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ppbus
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ppc
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ppc
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_pst
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_pst
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_pty
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_pty
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_puc
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_puc
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_qlxgb
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_qlxgb
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_quicc
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_quicc
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ral
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ral
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_random
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_random
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_rc
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_rc
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_re
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_re
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_rndtest
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_rndtest
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_rp
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_rp
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_rt
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_rt
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_safe
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_safe
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_sbni
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_sbni
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_scc
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_scc
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_scd
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_scd
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_sdhci
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_sdhci
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_sec
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_sec
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_sf
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_sf
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_sfxge
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_sfxge
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_sge
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_sge
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_si
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_si
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_siba
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_siba
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_siis
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_siis
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_sio
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_sio
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_sis
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_sis
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_sk
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_sk
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_smbus
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_smbus
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_smc
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_smc
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_sn
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_sn
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_snc
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_snc
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_snp
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_snp
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_speaker
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_speaker
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_spibus
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_spibus
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ste
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ste
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_stg
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_stg
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_stge
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_stge
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_streams
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_streams
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_sym
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_sym
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_syscons
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_syscons
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_tdfx
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_tdfx
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ti
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ti
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_tl
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_tl
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_tpm
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_tpm
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_trm
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_trm
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_tsec
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_tsec
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_twa
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_twa
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_twe
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_twe
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_tws
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_tws
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_tx
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_tx
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_txp
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_txp
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_uart
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_uart
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_ubsec
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_ubsec
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_utopia
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_utopia
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_vge
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_vge
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_viawd
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_viawd
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_virtio
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_virtio
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_vkbd
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_vkbd
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_vr
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_vr
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_vte
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_vte
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_vx
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_vx
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_vxge
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_vxge
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_watchdog
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_watchdog
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_wb
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_wb
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_wds
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_wds
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_wi
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_wi
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_wl
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_wl
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_wpi
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_wpi
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_wtap
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_wtap
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_xe
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_xe
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_xen
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_xen
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_xl
     - copied unchanged from r232929, head/tools/kerneldoc/subsys/Doxyfile-dev_xl
  projects/arm_eabi/tools/regression/bin/sh/builtins/case13.0
     - copied unchanged from r232929, head/tools/regression/bin/sh/builtins/case13.0
  projects/arm_eabi/tools/regression/bin/sh/builtins/case14.0
     - copied unchanged from r232929, head/tools/regression/bin/sh/builtins/case14.0
  projects/arm_eabi/tools/regression/bin/sh/builtins/case15.0
     - copied unchanged from r232929, head/tools/regression/bin/sh/builtins/case15.0
  projects/arm_eabi/tools/regression/bin/sh/builtins/case16.0
     - copied unchanged from r232929, head/tools/regression/bin/sh/builtins/case16.0
  projects/arm_eabi/tools/regression/bin/sh/builtins/case17.0
     - copied unchanged from r232929, head/tools/regression/bin/sh/builtins/case17.0
  projects/arm_eabi/tools/regression/bin/sh/builtins/case18.0
     - copied unchanged from r232929, head/tools/regression/bin/sh/builtins/case18.0
  projects/arm_eabi/tools/regression/bin/sh/builtins/case19.0
     - copied unchanged from r232929, head/tools/regression/bin/sh/builtins/case19.0
  projects/arm_eabi/tools/regression/bin/sh/builtins/cd8.0
     - copied unchanged from r232929, head/tools/regression/bin/sh/builtins/cd8.0
  projects/arm_eabi/tools/regression/bin/sh/builtins/for2.0
     - copied unchanged from r232929, head/tools/regression/bin/sh/builtins/for2.0
  projects/arm_eabi/tools/regression/bin/sh/builtins/for3.0
     - copied unchanged from r232929, head/tools/regression/bin/sh/builtins/for3.0
  projects/arm_eabi/tools/regression/bin/sh/builtins/hash4.0
     - copied unchanged from r232929, head/tools/regression/bin/sh/builtins/hash4.0
  projects/arm_eabi/tools/regression/bin/sh/builtins/trap10.0
     - copied unchanged from r232929, head/tools/regression/bin/sh/builtins/trap10.0
  projects/arm_eabi/tools/regression/bin/sh/builtins/trap11.0
     - copied unchanged from r232929, head/tools/regression/bin/sh/builtins/trap11.0
  projects/arm_eabi/tools/regression/bin/sh/builtins/trap9.0
     - copied unchanged from r232929, head/tools/regression/bin/sh/builtins/trap9.0
  projects/arm_eabi/tools/regression/bin/sh/expansion/arith12.0
     - copied unchanged from r232929, head/tools/regression/bin/sh/expansion/arith12.0
  projects/arm_eabi/tools/regression/bin/sh/expansion/cmdsubst12.0
     - copied unchanged from r232929, head/tools/regression/bin/sh/expansion/cmdsubst12.0
  projects/arm_eabi/tools/regression/bin/sh/expansion/cmdsubst13.0
     - copied unchanged from r232929, head/tools/regression/bin/sh/expansion/cmdsubst13.0
  projects/arm_eabi/tools/regression/bin/sh/parameters/positional2.0
     - copied unchanged from r232929, head/tools/regression/bin/sh/parameters/positional2.0
  projects/arm_eabi/tools/regression/lib/libc/gen/test-fmtmsg.c
     - copied unchanged from r232929, head/tools/regression/lib/libc/gen/test-fmtmsg.c
  projects/arm_eabi/tools/regression/lib/libc/stdio/test-getdelim.t
     - copied unchanged from r232929, head/tools/regression/lib/libc/stdio/test-getdelim.t
  projects/arm_eabi/tools/regression/lib/libc/stdio/test-print-positional.t
     - copied unchanged from r232929, head/tools/regression/lib/libc/stdio/test-print-positional.t
  projects/arm_eabi/tools/regression/lib/libc/stdio/test-printbasic.t
     - copied unchanged from r232929, head/tools/regression/lib/libc/stdio/test-printbasic.t
  projects/arm_eabi/tools/regression/sbin/mdconfig/
     - copied from r232929, head/tools/regression/sbin/mdconfig/
  projects/arm_eabi/tools/regression/sockets/so_setfib/
     - copied from r232929, head/tools/regression/sockets/so_setfib/
  projects/arm_eabi/tools/regression/usb/
     - copied from r232929, head/tools/regression/usb/
  projects/arm_eabi/tools/regression/usr.bin/cc/
     - copied from r232929, head/tools/regression/usr.bin/cc/
  projects/arm_eabi/tools/test/hwpmc/
     - copied from r232929, head/tools/test/hwpmc/
  projects/arm_eabi/tools/test/netfibs/
     - copied from r232929, head/tools/test/netfibs/
  projects/arm_eabi/tools/test/ptrace/
     - copied from r232929, head/tools/test/ptrace/
  projects/arm_eabi/tools/tools/fixwhite/
     - copied from r232929, head/tools/tools/fixwhite/
  projects/arm_eabi/tools/tools/wtap/
     - copied from r232929, head/tools/tools/wtap/
  projects/arm_eabi/usr.bin/clang/bugpoint/
     - copied from r232929, head/usr.bin/clang/bugpoint/
  projects/arm_eabi/usr.bin/clang/llc/
     - copied from r232929, head/usr.bin/clang/llc/
  projects/arm_eabi/usr.bin/clang/lli/
     - copied from r232929, head/usr.bin/clang/lli/
  projects/arm_eabi/usr.bin/clang/llvm-ar/
     - copied from r232929, head/usr.bin/clang/llvm-ar/
  projects/arm_eabi/usr.bin/clang/llvm-as/
     - copied from r232929, head/usr.bin/clang/llvm-as/
  projects/arm_eabi/usr.bin/clang/llvm-bcanalyzer/
     - copied from r232929, head/usr.bin/clang/llvm-bcanalyzer/
  projects/arm_eabi/usr.bin/clang/llvm-diff/
     - copied from r232929, head/usr.bin/clang/llvm-diff/
  projects/arm_eabi/usr.bin/clang/llvm-dis/
     - copied from r232929, head/usr.bin/clang/llvm-dis/
  projects/arm_eabi/usr.bin/clang/llvm-extract/
     - copied from r232929, head/usr.bin/clang/llvm-extract/
  projects/arm_eabi/usr.bin/clang/llvm-ld/
     - copied from r232929, head/usr.bin/clang/llvm-ld/
  projects/arm_eabi/usr.bin/clang/llvm-link/
     - copied from r232929, head/usr.bin/clang/llvm-link/
  projects/arm_eabi/usr.bin/clang/llvm-mc/
     - copied from r232929, head/usr.bin/clang/llvm-mc/
  projects/arm_eabi/usr.bin/clang/llvm-nm/
     - copied from r232929, head/usr.bin/clang/llvm-nm/
  projects/arm_eabi/usr.bin/clang/llvm-objdump/
     - copied from r232929, head/usr.bin/clang/llvm-objdump/
  projects/arm_eabi/usr.bin/clang/llvm-prof/
     - copied from r232929, head/usr.bin/clang/llvm-prof/
  projects/arm_eabi/usr.bin/clang/llvm-ranlib/
     - copied from r232929, head/usr.bin/clang/llvm-ranlib/
  projects/arm_eabi/usr.bin/clang/llvm-rtdyld/
     - copied from r232929, head/usr.bin/clang/llvm-rtdyld/
  projects/arm_eabi/usr.bin/clang/llvm-stub/
     - copied from r232929, head/usr.bin/clang/llvm-stub/
  projects/arm_eabi/usr.bin/clang/macho-dump/
     - copied from r232929, head/usr.bin/clang/macho-dump/
  projects/arm_eabi/usr.bin/clang/opt/
     - copied from r232929, head/usr.bin/clang/opt/
  projects/arm_eabi/usr.bin/ctlstat/
     - copied from r232929, head/usr.bin/ctlstat/
  projects/arm_eabi/usr.bin/mkulzma/
     - copied from r232929, head/usr.bin/mkulzma/
  projects/arm_eabi/usr.sbin/ctladm/
     - copied from r232929, head/usr.sbin/ctladm/
  projects/arm_eabi/usr.sbin/utx/
     - copied from r232929, head/usr.sbin/utx/
Directory Properties:
  projects/arm_eabi/contrib/libarchive/   (props changed)
Replaced:
  projects/arm_eabi/lib/libc/string/strchr.c
     - copied unchanged from r232929, head/lib/libc/string/strchr.c
  projects/arm_eabi/lib/libc/string/strrchr.c
     - copied unchanged from r232929, head/lib/libc/string/strrchr.c
  projects/arm_eabi/usr.bin/m4/parser.y
     - copied unchanged from r232929, head/usr.bin/m4/parser.y
  projects/arm_eabi/usr.bin/m4/tokenizer.l
     - copied unchanged from r232929, head/usr.bin/m4/tokenizer.l
Deleted:
  projects/arm_eabi/Makefile.mips
  projects/arm_eabi/bin/csh/host.defs
  projects/arm_eabi/bin/sh/funcs/kill
  projects/arm_eabi/contrib/compiler-rt/lib/apple_versioning.c
  projects/arm_eabi/contrib/compiler-rt/lib/endianness.h
  projects/arm_eabi/contrib/tcsh/nls/Makefile
  projects/arm_eabi/include/_xlocale_ctype.h
  projects/arm_eabi/lib/libarchive/COPYING
  projects/arm_eabi/lib/libarchive/README
  projects/arm_eabi/lib/libarchive/archive.h
  projects/arm_eabi/lib/libarchive/archive_check_magic.c
  projects/arm_eabi/lib/libarchive/archive_crc32.h
  projects/arm_eabi/lib/libarchive/archive_endian.h
  projects/arm_eabi/lib/libarchive/archive_entry.3
  projects/arm_eabi/lib/libarchive/archive_entry.c
  projects/arm_eabi/lib/libarchive/archive_entry.h
  projects/arm_eabi/lib/libarchive/archive_entry_copy_stat.c
  projects/arm_eabi/lib/libarchive/archive_entry_link_resolver.c
  projects/arm_eabi/lib/libarchive/archive_entry_private.h
  projects/arm_eabi/lib/libarchive/archive_entry_stat.c
  projects/arm_eabi/lib/libarchive/archive_entry_strmode.c
  projects/arm_eabi/lib/libarchive/archive_entry_xattr.c
  projects/arm_eabi/lib/libarchive/archive_hash.h
  projects/arm_eabi/lib/libarchive/archive_platform.h
  projects/arm_eabi/lib/libarchive/archive_private.h
  projects/arm_eabi/lib/libarchive/archive_read.3
  projects/arm_eabi/lib/libarchive/archive_read.c
  projects/arm_eabi/lib/libarchive/archive_read_data_into_fd.c
  projects/arm_eabi/lib/libarchive/archive_read_disk.3
  projects/arm_eabi/lib/libarchive/archive_read_disk.c
  projects/arm_eabi/lib/libarchive/archive_read_disk_entry_from_file.c
  projects/arm_eabi/lib/libarchive/archive_read_disk_private.h
  projects/arm_eabi/lib/libarchive/archive_read_disk_set_standard_lookup.c
  projects/arm_eabi/lib/libarchive/archive_read_extract.c
  projects/arm_eabi/lib/libarchive/archive_read_open_fd.c
  projects/arm_eabi/lib/libarchive/archive_read_open_file.c
  projects/arm_eabi/lib/libarchive/archive_read_open_filename.c
  projects/arm_eabi/lib/libarchive/archive_read_open_memory.c
  projects/arm_eabi/lib/libarchive/archive_read_private.h
  projects/arm_eabi/lib/libarchive/archive_read_support_compression_all.c
  projects/arm_eabi/lib/libarchive/archive_read_support_compression_bzip2.c
  projects/arm_eabi/lib/libarchive/archive_read_support_compression_compress.c
  projects/arm_eabi/lib/libarchive/archive_read_support_compression_gzip.c
  projects/arm_eabi/lib/libarchive/archive_read_support_compression_none.c
  projects/arm_eabi/lib/libarchive/archive_read_support_compression_program.c
  projects/arm_eabi/lib/libarchive/archive_read_support_compression_rpm.c
  projects/arm_eabi/lib/libarchive/archive_read_support_compression_uu.c
  projects/arm_eabi/lib/libarchive/archive_read_support_compression_xz.c
  projects/arm_eabi/lib/libarchive/archive_read_support_format_all.c
  projects/arm_eabi/lib/libarchive/archive_read_support_format_ar.c
  projects/arm_eabi/lib/libarchive/archive_read_support_format_cpio.c
  projects/arm_eabi/lib/libarchive/archive_read_support_format_empty.c
  projects/arm_eabi/lib/libarchive/archive_read_support_format_iso9660.c
  projects/arm_eabi/lib/libarchive/archive_read_support_format_mtree.c
  projects/arm_eabi/lib/libarchive/archive_read_support_format_raw.c
  projects/arm_eabi/lib/libarchive/archive_read_support_format_tar.c
  projects/arm_eabi/lib/libarchive/archive_read_support_format_xar.c
  projects/arm_eabi/lib/libarchive/archive_read_support_format_zip.c
  projects/arm_eabi/lib/libarchive/archive_string.c
  projects/arm_eabi/lib/libarchive/archive_string.h
  projects/arm_eabi/lib/libarchive/archive_string_sprintf.c
  projects/arm_eabi/lib/libarchive/archive_util.3
  projects/arm_eabi/lib/libarchive/archive_util.c
  projects/arm_eabi/lib/libarchive/archive_virtual.c
  projects/arm_eabi/lib/libarchive/archive_write.3
  projects/arm_eabi/lib/libarchive/archive_write.c
  projects/arm_eabi/lib/libarchive/archive_write_disk.3
  projects/arm_eabi/lib/libarchive/archive_write_disk.c
  projects/arm_eabi/lib/libarchive/archive_write_disk_private.h
  projects/arm_eabi/lib/libarchive/archive_write_disk_set_standard_lookup.c
  projects/arm_eabi/lib/libarchive/archive_write_open_fd.c
  projects/arm_eabi/lib/libarchive/archive_write_open_file.c
  projects/arm_eabi/lib/libarchive/archive_write_open_filename.c
  projects/arm_eabi/lib/libarchive/archive_write_open_memory.c
  projects/arm_eabi/lib/libarchive/archive_write_private.h
  projects/arm_eabi/lib/libarchive/archive_write_set_compression_bzip2.c
  projects/arm_eabi/lib/libarchive/archive_write_set_compression_compress.c
  projects/arm_eabi/lib/libarchive/archive_write_set_compression_gzip.c
  projects/arm_eabi/lib/libarchive/archive_write_set_compression_none.c
  projects/arm_eabi/lib/libarchive/archive_write_set_compression_program.c
  projects/arm_eabi/lib/libarchive/archive_write_set_compression_xz.c
  projects/arm_eabi/lib/libarchive/archive_write_set_format.c
  projects/arm_eabi/lib/libarchive/archive_write_set_format_ar.c
  projects/arm_eabi/lib/libarchive/archive_write_set_format_by_name.c
  projects/arm_eabi/lib/libarchive/archive_write_set_format_cpio.c
  projects/arm_eabi/lib/libarchive/archive_write_set_format_cpio_newc.c
  projects/arm_eabi/lib/libarchive/archive_write_set_format_mtree.c
  projects/arm_eabi/lib/libarchive/archive_write_set_format_pax.c
  projects/arm_eabi/lib/libarchive/archive_write_set_format_shar.c
  projects/arm_eabi/lib/libarchive/archive_write_set_format_ustar.c
  projects/arm_eabi/lib/libarchive/archive_write_set_format_zip.c
  projects/arm_eabi/lib/libarchive/cpio.5
  projects/arm_eabi/lib/libarchive/filter_fork.c
  projects/arm_eabi/lib/libarchive/filter_fork.h
  projects/arm_eabi/lib/libarchive/libarchive-formats.5
  projects/arm_eabi/lib/libarchive/libarchive.3
  projects/arm_eabi/lib/libarchive/libarchive_fe/
  projects/arm_eabi/lib/libarchive/libarchive_internals.3
  projects/arm_eabi/lib/libarchive/tar.5
  projects/arm_eabi/lib/libarchive/test/.cvsignore
  projects/arm_eabi/lib/libarchive/test/README
  projects/arm_eabi/lib/libarchive/test/main.c
  projects/arm_eabi/lib/libarchive/test/read_open_memory.c
  projects/arm_eabi/lib/libarchive/test/test.h
  projects/arm_eabi/lib/libarchive/test/test_acl_basic.c
  projects/arm_eabi/lib/libarchive/test/test_acl_freebsd.c
  projects/arm_eabi/lib/libarchive/test/test_acl_pax.c
  projects/arm_eabi/lib/libarchive/test/test_archive_api_feature.c
  projects/arm_eabi/lib/libarchive/test/test_bad_fd.c
  projects/arm_eabi/lib/libarchive/test/test_compat_bzip2.c
  projects/arm_eabi/lib/libarchive/test/test_compat_bzip2_1.tbz.uu
  projects/arm_eabi/lib/libarchive/test/test_compat_bzip2_2.tbz.uu
  projects/arm_eabi/lib/libarchive/test/test_compat_cpio.c
  projects/arm_eabi/lib/libarchive/test/test_compat_cpio_1.cpio.uu
  projects/arm_eabi/lib/libarchive/test/test_compat_gtar.c
  projects/arm_eabi/lib/libarchive/test/test_compat_gtar_1.tar.uu
  projects/arm_eabi/lib/libarchive/test/test_compat_gzip.c
  projects/arm_eabi/lib/libarchive/test/test_compat_gzip_1.tgz.uu
  projects/arm_eabi/lib/libarchive/test/test_compat_gzip_2.tgz.uu
  projects/arm_eabi/lib/libarchive/test/test_compat_lzma.c
  projects/arm_eabi/lib/libarchive/test/test_compat_lzma_1.tlz.uu
  projects/arm_eabi/lib/libarchive/test/test_compat_lzma_2.tlz.uu
  projects/arm_eabi/lib/libarchive/test/test_compat_lzma_3.tlz.uu
  projects/arm_eabi/lib/libarchive/test/test_compat_solaris_tar_acl.c
  projects/arm_eabi/lib/libarchive/test/test_compat_solaris_tar_acl.tar.uu
  projects/arm_eabi/lib/libarchive/test/test_compat_tar_hardlink.c
  projects/arm_eabi/lib/libarchive/test/test_compat_tar_hardlink_1.tar.uu
  projects/arm_eabi/lib/libarchive/test/test_compat_xz.c
  projects/arm_eabi/lib/libarchive/test/test_compat_xz_1.txz.uu
  projects/arm_eabi/lib/libarchive/test/test_compat_zip.c
  projects/arm_eabi/lib/libarchive/test/test_compat_zip_1.zip.uu
  projects/arm_eabi/lib/libarchive/test/test_compat_zip_2.zip.uu
  projects/arm_eabi/lib/libarchive/test/test_empty_write.c
  projects/arm_eabi/lib/libarchive/test/test_entry.c
  projects/arm_eabi/lib/libarchive/test/test_entry_strmode.c
  projects/arm_eabi/lib/libarchive/test/test_extattr_freebsd.c
  projects/arm_eabi/lib/libarchive/test/test_fuzz.c
  projects/arm_eabi/lib/libarchive/test/test_fuzz_1.iso.Z.uu
  projects/arm_eabi/lib/libarchive/test/test_link_resolver.c
  projects/arm_eabi/lib/libarchive/test/test_open_failure.c
  projects/arm_eabi/lib/libarchive/test/test_open_fd.c
  projects/arm_eabi/lib/libarchive/test/test_open_file.c
  projects/arm_eabi/lib/libarchive/test/test_open_filename.c
  projects/arm_eabi/lib/libarchive/test/test_pax_filename_encoding.c
  projects/arm_eabi/lib/libarchive/test/test_pax_filename_encoding.tar.uu
  projects/arm_eabi/lib/libarchive/test/test_read_compress_program.c
  projects/arm_eabi/lib/libarchive/test/test_read_data_large.c
  projects/arm_eabi/lib/libarchive/test/test_read_disk.c
  projects/arm_eabi/lib/libarchive/test/test_read_disk_entry_from_file.c
  projects/arm_eabi/lib/libarchive/test/test_read_extract.c
  projects/arm_eabi/lib/libarchive/test/test_read_file_nonexistent.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_ar.ar.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_ar.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_cpio_bin.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_cpio_bin_Z.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_cpio_bin_be.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_cpio_bin_be.cpio.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_cpio_bin_bz2.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_cpio_bin_gz.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_cpio_bin_lzma.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_cpio_bin_xz.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_cpio_odc.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_cpio_svr4_bzip2_rpm.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_cpio_svr4_bzip2_rpm.rpm.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_cpio_svr4_gzip.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_cpio_svr4_gzip_rpm.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_cpio_svr4_gzip_rpm.rpm.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_cpio_svr4c_Z.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_empty.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_gtar_gz.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_gtar_lzma.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_gtar_sparse.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_gtar_sparse_1_13.tar.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_gtar_sparse_1_17.tar.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix00.tar.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix01.tar.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix10.tar.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_gtar_sparse_1_17_posix10_modified.tar.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_iso.iso.Z.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_iso_2.iso.Z.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_iso_gz.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_iso_joliet.iso.Z.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_iso_joliet_long.iso.Z.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_iso_joliet_rockridge.iso.Z.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_iso_multi_extent.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_iso_multi_extent.iso.Z.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_iso_rockridge.iso.Z.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_iso_rockridge_ce.iso.Z.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_iso_rockridge_new.iso.Z.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_iso_rockridge_rr_moved.iso.Z.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_iso_zisofs.iso.Z.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_isojoliet_bz2.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_isojoliet_long.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_isojoliet_rr.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_isorr_bz2.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_isorr_ce.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_isorr_new_bz2.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_isorr_rr_moved.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_isozisofs_bz2.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_mtree.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_mtree.mtree.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_pax_bz2.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_raw.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_raw.data.Z.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_raw.data.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_tar.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_tar_empty_filename.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_tar_empty_filename.tar.uu
  projects/arm_eabi/lib/libarchive/test/test_read_format_tbz.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_tgz.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_tlz.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_txz.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_tz.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_xar.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_zip.c
  projects/arm_eabi/lib/libarchive/test/test_read_format_zip.zip.uu
  projects/arm_eabi/lib/libarchive/test/test_read_large.c
  projects/arm_eabi/lib/libarchive/test/test_read_pax_truncated.c
  projects/arm_eabi/lib/libarchive/test/test_read_position.c
  projects/arm_eabi/lib/libarchive/test/test_read_truncated.c
  projects/arm_eabi/lib/libarchive/test/test_read_uu.c
  projects/arm_eabi/lib/libarchive/test/test_tar_filenames.c
  projects/arm_eabi/lib/libarchive/test/test_tar_large.c
  projects/arm_eabi/lib/libarchive/test/test_ustar_filenames.c
  projects/arm_eabi/lib/libarchive/test/test_write_compress.c
  projects/arm_eabi/lib/libarchive/test/test_write_compress_bzip2.c
  projects/arm_eabi/lib/libarchive/test/test_write_compress_gzip.c
  projects/arm_eabi/lib/libarchive/test/test_write_compress_lzma.c
  projects/arm_eabi/lib/libarchive/test/test_write_compress_program.c
  projects/arm_eabi/lib/libarchive/test/test_write_compress_xz.c
  projects/arm_eabi/lib/libarchive/test/test_write_disk.c
  projects/arm_eabi/lib/libarchive/test/test_write_disk_failures.c
  projects/arm_eabi/lib/libarchive/test/test_write_disk_hardlink.c
  projects/arm_eabi/lib/libarchive/test/test_write_disk_perms.c
  projects/arm_eabi/lib/libarchive/test/test_write_disk_secure.c
  projects/arm_eabi/lib/libarchive/test/test_write_disk_sparse.c
  projects/arm_eabi/lib/libarchive/test/test_write_disk_symlink.c
  projects/arm_eabi/lib/libarchive/test/test_write_disk_times.c
  projects/arm_eabi/lib/libarchive/test/test_write_format_ar.c
  projects/arm_eabi/lib/libarchive/test/test_write_format_cpio.c
  projects/arm_eabi/lib/libarchive/test/test_write_format_cpio_empty.c
  projects/arm_eabi/lib/libarchive/test/test_write_format_cpio_newc.c
  projects/arm_eabi/lib/libarchive/test/test_write_format_cpio_odc.c
  projects/arm_eabi/lib/libarchive/test/test_write_format_mtree.c
  projects/arm_eabi/lib/libarchive/test/test_write_format_pax.c
  projects/arm_eabi/lib/libarchive/test/test_write_format_shar_empty.c
  projects/arm_eabi/lib/libarchive/test/test_write_format_tar.c
  projects/arm_eabi/lib/libarchive/test/test_write_format_tar_empty.c
  projects/arm_eabi/lib/libarchive/test/test_write_format_tar_ustar.c
  projects/arm_eabi/lib/libarchive/test/test_write_format_zip.c
  projects/arm_eabi/lib/libarchive/test/test_write_format_zip_empty.c
  projects/arm_eabi/lib/libarchive/test/test_write_format_zip_no_compression.c
  projects/arm_eabi/lib/libarchive/test/test_write_open_memory.c
  projects/arm_eabi/lib/libc/i386/string/index.S
  projects/arm_eabi/lib/libc/i386/string/rindex.S
  projects/arm_eabi/lib/libc/mips/string/index.S
  projects/arm_eabi/lib/libc/mips/string/rindex.S
  projects/arm_eabi/lib/libc/stdlib/posix_memalign.3
  projects/arm_eabi/lib/libc/string/index.c
  projects/arm_eabi/lib/libc/string/rindex.c
  projects/arm_eabi/sbin/ifconfig/ifcarp.c
  projects/arm_eabi/sys/amd64/amd64/intr_machdep.c
  projects/arm_eabi/sys/contrib/dev/acpica/debugger/
  projects/arm_eabi/sys/contrib/dev/acpica/disassembler/
  projects/arm_eabi/sys/contrib/dev/acpica/dispatcher/
  projects/arm_eabi/sys/contrib/dev/acpica/events/
  projects/arm_eabi/sys/contrib/dev/acpica/executer/
  projects/arm_eabi/sys/contrib/dev/acpica/hardware/
  projects/arm_eabi/sys/contrib/dev/acpica/namespace/
  projects/arm_eabi/sys/contrib/dev/acpica/parser/
  projects/arm_eabi/sys/contrib/dev/acpica/resources/
  projects/arm_eabi/sys/contrib/dev/acpica/tables/
  projects/arm_eabi/sys/contrib/dev/acpica/utilities/
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-csr-db-support.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-csr-db.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-csr-db.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-error-custom.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-error-custom.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-error-init-cn30xx.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-error-init-cn31xx.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-error-init-cn38xx.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-error-init-cn38xxp2.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-error-init-cn50xx.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-error-init-cn52xx.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-error-init-cn52xxp1.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-error-init-cn56xx.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-error-init-cn56xxp1.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-error-init-cn58xx.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-error-init-cn58xxp1.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-error-init-cn63xx.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-error-init-cn63xxp1.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-error.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-error.h
  projects/arm_eabi/sys/dev/cxgbe/common/t4fw_interface.h
  projects/arm_eabi/sys/fs/fifofs/fifo.h
  projects/arm_eabi/sys/gnu/dev/
  projects/arm_eabi/sys/i386/i386/intr_machdep.c
  projects/arm_eabi/sys/libkern/gets.c
  projects/arm_eabi/sys/libkern/index.c
  projects/arm_eabi/sys/libkern/rindex.c
  projects/arm_eabi/sys/libkern/skpc.c
  projects/arm_eabi/sys/mips/conf/AR71XX
  projects/arm_eabi/sys/mips/conf/AR71XX.hints
  projects/arm_eabi/sys/mips/include/bswap.h
  projects/arm_eabi/sys/mips/include/clockvar.h
  projects/arm_eabi/sys/mips/include/cputypes.h
  projects/arm_eabi/sys/mips/include/iodev.h
  projects/arm_eabi/sys/mips/include/mp_watchdog.h
  projects/arm_eabi/sys/mips/include/pci_cfgreg.h
  projects/arm_eabi/sys/mips/include/ppireg.h
  projects/arm_eabi/sys/mips/include/timerreg.h
  projects/arm_eabi/sys/mips/mips/elf64_machdep.c
  projects/arm_eabi/sys/mips/mips/mainbus.c
  projects/arm_eabi/sys/modules/if_carp/
  projects/arm_eabi/usr.bin/cpio/bsdcpio.1
  projects/arm_eabi/usr.bin/cpio/cmdline.c
  projects/arm_eabi/usr.bin/cpio/config_freebsd.h
  projects/arm_eabi/usr.bin/cpio/cpio.c
  projects/arm_eabi/usr.bin/cpio/cpio.h
  projects/arm_eabi/usr.bin/cpio/cpio_platform.h
  projects/arm_eabi/usr.bin/cpio/test/main.c
  projects/arm_eabi/usr.bin/cpio/test/test.h
  projects/arm_eabi/usr.bin/cpio/test/test_0.c
  projects/arm_eabi/usr.bin/cpio/test/test_basic.c
  projects/arm_eabi/usr.bin/cpio/test/test_cmdline.c
  projects/arm_eabi/usr.bin/cpio/test/test_format_newc.c
  projects/arm_eabi/usr.bin/cpio/test/test_gcpio_compat.c
  projects/arm_eabi/usr.bin/cpio/test/test_gcpio_compat_ref.bin.uu
  projects/arm_eabi/usr.bin/cpio/test/test_gcpio_compat_ref.crc.uu
  projects/arm_eabi/usr.bin/cpio/test/test_gcpio_compat_ref.newc.uu
  projects/arm_eabi/usr.bin/cpio/test/test_gcpio_compat_ref.ustar.uu
  projects/arm_eabi/usr.bin/cpio/test/test_gcpio_compat_ref_nosym.bin.uu
  projects/arm_eabi/usr.bin/cpio/test/test_gcpio_compat_ref_nosym.crc.uu
  projects/arm_eabi/usr.bin/cpio/test/test_gcpio_compat_ref_nosym.newc.uu
  projects/arm_eabi/usr.bin/cpio/test/test_gcpio_compat_ref_nosym.ustar.uu
  projects/arm_eabi/usr.bin/cpio/test/test_option_B_upper.c
  projects/arm_eabi/usr.bin/cpio/test/test_option_C_upper.c
  projects/arm_eabi/usr.bin/cpio/test/test_option_J_upper.c
  projects/arm_eabi/usr.bin/cpio/test/test_option_L_upper.c
  projects/arm_eabi/usr.bin/cpio/test/test_option_Z_upper.c
  projects/arm_eabi/usr.bin/cpio/test/test_option_a.c
  projects/arm_eabi/usr.bin/cpio/test/test_option_c.c
  projects/arm_eabi/usr.bin/cpio/test/test_option_d.c
  projects/arm_eabi/usr.bin/cpio/test/test_option_f.c
  projects/arm_eabi/usr.bin/cpio/test/test_option_f.cpio.uu
  projects/arm_eabi/usr.bin/cpio/test/test_option_help.c
  projects/arm_eabi/usr.bin/cpio/test/test_option_l.c
  projects/arm_eabi/usr.bin/cpio/test/test_option_lzma.c
  projects/arm_eabi/usr.bin/cpio/test/test_option_m.c
  projects/arm_eabi/usr.bin/cpio/test/test_option_m.cpio.uu
  projects/arm_eabi/usr.bin/cpio/test/test_option_t.c
  projects/arm_eabi/usr.bin/cpio/test/test_option_t.cpio.uu
  projects/arm_eabi/usr.bin/cpio/test/test_option_t.stdout.uu
  projects/arm_eabi/usr.bin/cpio/test/test_option_tv.stdout.uu
  projects/arm_eabi/usr.bin/cpio/test/test_option_u.c
  projects/arm_eabi/usr.bin/cpio/test/test_option_version.c
  projects/arm_eabi/usr.bin/cpio/test/test_option_y.c
  projects/arm_eabi/usr.bin/cpio/test/test_option_z.c
  projects/arm_eabi/usr.bin/cpio/test/test_owner_parse.c
  projects/arm_eabi/usr.bin/cpio/test/test_passthrough_dotdot.c
  projects/arm_eabi/usr.bin/cpio/test/test_passthrough_reverse.c
  projects/arm_eabi/usr.bin/cpio/test/test_pathmatch.c
  projects/arm_eabi/usr.bin/tar/COPYING
  projects/arm_eabi/usr.bin/tar/bsdtar.1
  projects/arm_eabi/usr.bin/tar/bsdtar.c
  projects/arm_eabi/usr.bin/tar/bsdtar.h
  projects/arm_eabi/usr.bin/tar/bsdtar_platform.h
  projects/arm_eabi/usr.bin/tar/cmdline.c
  projects/arm_eabi/usr.bin/tar/config_freebsd.h
  projects/arm_eabi/usr.bin/tar/getdate.c
  projects/arm_eabi/usr.bin/tar/read.c
  projects/arm_eabi/usr.bin/tar/subst.c
  projects/arm_eabi/usr.bin/tar/test/main.c
  projects/arm_eabi/usr.bin/tar/test/test.h
  projects/arm_eabi/usr.bin/tar/test/test_0.c
  projects/arm_eabi/usr.bin/tar/test/test_basic.c
  projects/arm_eabi/usr.bin/tar/test/test_copy.c
  projects/arm_eabi/usr.bin/tar/test/test_empty_mtree.c
  projects/arm_eabi/usr.bin/tar/test/test_getdate.c
  projects/arm_eabi/usr.bin/tar/test/test_help.c
  projects/arm_eabi/usr.bin/tar/test/test_option_T_upper.c
  projects/arm_eabi/usr.bin/tar/test/test_option_q.c
  projects/arm_eabi/usr.bin/tar/test/test_option_r.c
  projects/arm_eabi/usr.bin/tar/test/test_option_s.c
  projects/arm_eabi/usr.bin/tar/test/test_patterns.c
  projects/arm_eabi/usr.bin/tar/test/test_patterns_2.tar.uu
  projects/arm_eabi/usr.bin/tar/test/test_patterns_3.tar.uu
  projects/arm_eabi/usr.bin/tar/test/test_patterns_4.tar.uu
  projects/arm_eabi/usr.bin/tar/test/test_stdio.c
  projects/arm_eabi/usr.bin/tar/test/test_strip_components.c
  projects/arm_eabi/usr.bin/tar/test/test_symlink_dir.c
  projects/arm_eabi/usr.bin/tar/test/test_version.c
  projects/arm_eabi/usr.bin/tar/tree.c
  projects/arm_eabi/usr.bin/tar/tree.h
  projects/arm_eabi/usr.bin/tar/util.c
  projects/arm_eabi/usr.bin/tar/write.c
  projects/arm_eabi/usr.bin/wtmpcvt/
  projects/arm_eabi/usr.sbin/utxrm/
Modified:
  projects/arm_eabi/COPYRIGHT
  projects/arm_eabi/MAINTAINERS   (contents, props changed)
  projects/arm_eabi/Makefile
  projects/arm_eabi/Makefile.inc1
  projects/arm_eabi/ObsoleteFiles.inc
  projects/arm_eabi/UPDATING
  projects/arm_eabi/bin/csh/Makefile
  projects/arm_eabi/bin/csh/config.h
  projects/arm_eabi/bin/csh/config_p.h
  projects/arm_eabi/bin/df/df.1
  projects/arm_eabi/bin/ed/io.c
  projects/arm_eabi/bin/ed/main.c
  projects/arm_eabi/bin/expr/expr.1
  projects/arm_eabi/bin/ps/print.c
  projects/arm_eabi/bin/ps/ps.1
  projects/arm_eabi/bin/ps/ps.c
  projects/arm_eabi/bin/sh/arith_yacc.c
  projects/arm_eabi/bin/sh/arith_yylex.c
  projects/arm_eabi/bin/sh/cd.c
  projects/arm_eabi/bin/sh/eval.c
  projects/arm_eabi/bin/sh/eval.h
  projects/arm_eabi/bin/sh/exec.c
  projects/arm_eabi/bin/sh/exec.h
  projects/arm_eabi/bin/sh/expand.c
  projects/arm_eabi/bin/sh/expand.h
  projects/arm_eabi/bin/sh/histedit.c
  projects/arm_eabi/bin/sh/input.c
  projects/arm_eabi/bin/sh/input.h
  projects/arm_eabi/bin/sh/jobs.c
  projects/arm_eabi/bin/sh/jobs.h
  projects/arm_eabi/bin/sh/main.c
  projects/arm_eabi/bin/sh/main.h
  projects/arm_eabi/bin/sh/mksyntax.c
  projects/arm_eabi/bin/sh/myhistedit.h
  projects/arm_eabi/bin/sh/mystring.c
  projects/arm_eabi/bin/sh/mystring.h
  projects/arm_eabi/bin/sh/trap.c
  projects/arm_eabi/bin/sh/var.c
  projects/arm_eabi/bin/sh/var.h
  projects/arm_eabi/cddl/contrib/opensolaris/cmd/dtrace/dtrace.c
  projects/arm_eabi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/io/tst.fds.c
  projects/arm_eabi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_CREATEFAIL.many.exe   (contents, props changed)
  projects/arm_eabi/cddl/contrib/opensolaris/cmd/zfs/zfs.8
  projects/arm_eabi/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c
  projects/arm_eabi/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.h
  projects/arm_eabi/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
  projects/arm_eabi/cddl/contrib/opensolaris/lib/libdtrace/common/drti.c
  projects/arm_eabi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c
  projects/arm_eabi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_handle.c
  projects/arm_eabi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c
  projects/arm_eabi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c
  projects/arm_eabi/cddl/contrib/opensolaris/lib/libdtrace/i386/dt_isadep.c
  projects/arm_eabi/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
  projects/arm_eabi/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
  projects/arm_eabi/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h
  projects/arm_eabi/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_iter.c
  projects/arm_eabi/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c
  projects/arm_eabi/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h
  projects/arm_eabi/cddl/contrib/opensolaris/tools/ctf/cvt/ctfmerge.c
  projects/arm_eabi/contrib/bsnmp/snmp_mibII/mibII.c
  projects/arm_eabi/contrib/bzip2/bzip2recover.c
  projects/arm_eabi/contrib/compiler-rt/LICENSE.TXT
  projects/arm_eabi/contrib/compiler-rt/README.txt
  projects/arm_eabi/contrib/compiler-rt/lib/absvdi2.c
  projects/arm_eabi/contrib/compiler-rt/lib/absvsi2.c
  projects/arm_eabi/contrib/compiler-rt/lib/absvti2.c
  projects/arm_eabi/contrib/compiler-rt/lib/adddf3.c
  projects/arm_eabi/contrib/compiler-rt/lib/addsf3.c
  projects/arm_eabi/contrib/compiler-rt/lib/addvdi3.c
  projects/arm_eabi/contrib/compiler-rt/lib/addvsi3.c
  projects/arm_eabi/contrib/compiler-rt/lib/addvti3.c
  projects/arm_eabi/contrib/compiler-rt/lib/arm/adddf3vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/addsf3vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/divdf3vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/divsf3vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/eqdf2vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/eqsf2vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/extendsfdf2vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/fixdfsivfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/fixsfsivfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/fixunsdfsivfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/fixunssfsivfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/floatsidfvfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/floatsisfvfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/floatunssidfvfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/floatunssisfvfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/gedf2vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/gesf2vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/gtdf2vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/gtsf2vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/ledf2vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/lesf2vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/ltdf2vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/ltsf2vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/muldf3vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/mulsf3vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/nedf2vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/negdf2vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/negsf2vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/nesf2vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/subdf3vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/subsf3vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/truncdfsf2vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/unorddf2vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/arm/unordsf2vfp.S
  projects/arm_eabi/contrib/compiler-rt/lib/ashldi3.c
  projects/arm_eabi/contrib/compiler-rt/lib/ashrdi3.c
  projects/arm_eabi/contrib/compiler-rt/lib/assembly.h
  projects/arm_eabi/contrib/compiler-rt/lib/clear_cache.c
  projects/arm_eabi/contrib/compiler-rt/lib/clzdi2.c
  projects/arm_eabi/contrib/compiler-rt/lib/clzsi2.c
  projects/arm_eabi/contrib/compiler-rt/lib/cmpdi2.c
  projects/arm_eabi/contrib/compiler-rt/lib/ctzdi2.c
  projects/arm_eabi/contrib/compiler-rt/lib/ctzsi2.c
  projects/arm_eabi/contrib/compiler-rt/lib/divdc3.c
  projects/arm_eabi/contrib/compiler-rt/lib/divdf3.c
  projects/arm_eabi/contrib/compiler-rt/lib/divdi3.c
  projects/arm_eabi/contrib/compiler-rt/lib/divmoddi4.c
  projects/arm_eabi/contrib/compiler-rt/lib/divmodsi4.c
  projects/arm_eabi/contrib/compiler-rt/lib/divsc3.c
  projects/arm_eabi/contrib/compiler-rt/lib/divsf3.c
  projects/arm_eabi/contrib/compiler-rt/lib/divsi3.c
  projects/arm_eabi/contrib/compiler-rt/lib/divxc3.c
  projects/arm_eabi/contrib/compiler-rt/lib/enable_execute_stack.c
  projects/arm_eabi/contrib/compiler-rt/lib/eprintf.c
  projects/arm_eabi/contrib/compiler-rt/lib/extendsfdf2.c
  projects/arm_eabi/contrib/compiler-rt/lib/ffsdi2.c
  projects/arm_eabi/contrib/compiler-rt/lib/fixdfdi.c
  projects/arm_eabi/contrib/compiler-rt/lib/fixdfsi.c
  projects/arm_eabi/contrib/compiler-rt/lib/fixsfdi.c
  projects/arm_eabi/contrib/compiler-rt/lib/fixsfsi.c
  projects/arm_eabi/contrib/compiler-rt/lib/fixunsdfdi.c
  projects/arm_eabi/contrib/compiler-rt/lib/fixunsdfsi.c
  projects/arm_eabi/contrib/compiler-rt/lib/fixunssfdi.c
  projects/arm_eabi/contrib/compiler-rt/lib/fixunssfsi.c
  projects/arm_eabi/contrib/compiler-rt/lib/floatdidf.c
  projects/arm_eabi/contrib/compiler-rt/lib/floatdisf.c
  projects/arm_eabi/contrib/compiler-rt/lib/floatsidf.c
  projects/arm_eabi/contrib/compiler-rt/lib/floatsisf.c
  projects/arm_eabi/contrib/compiler-rt/lib/floattidf.c
  projects/arm_eabi/contrib/compiler-rt/lib/floattisf.c
  projects/arm_eabi/contrib/compiler-rt/lib/floattixf.c
  projects/arm_eabi/contrib/compiler-rt/lib/floatundidf.c
  projects/arm_eabi/contrib/compiler-rt/lib/floatundisf.c
  projects/arm_eabi/contrib/compiler-rt/lib/floatunsidf.c
  projects/arm_eabi/contrib/compiler-rt/lib/floatunsisf.c
  projects/arm_eabi/contrib/compiler-rt/lib/floatuntidf.c
  projects/arm_eabi/contrib/compiler-rt/lib/floatuntisf.c
  projects/arm_eabi/contrib/compiler-rt/lib/floatuntixf.c
  projects/arm_eabi/contrib/compiler-rt/lib/fp_lib.h
  projects/arm_eabi/contrib/compiler-rt/lib/gcc_personality_v0.c
  projects/arm_eabi/contrib/compiler-rt/lib/int_lib.h
  projects/arm_eabi/contrib/compiler-rt/lib/lshrdi3.c
  projects/arm_eabi/contrib/compiler-rt/lib/moddi3.c
  projects/arm_eabi/contrib/compiler-rt/lib/modsi3.c
  projects/arm_eabi/contrib/compiler-rt/lib/muldc3.c
  projects/arm_eabi/contrib/compiler-rt/lib/muldf3.c
  projects/arm_eabi/contrib/compiler-rt/lib/muldi3.c
  projects/arm_eabi/contrib/compiler-rt/lib/mulsc3.c
  projects/arm_eabi/contrib/compiler-rt/lib/mulsf3.c
  projects/arm_eabi/contrib/compiler-rt/lib/mulvdi3.c
  projects/arm_eabi/contrib/compiler-rt/lib/mulvsi3.c
  projects/arm_eabi/contrib/compiler-rt/lib/mulvti3.c
  projects/arm_eabi/contrib/compiler-rt/lib/mulxc3.c
  projects/arm_eabi/contrib/compiler-rt/lib/negdf2.c
  projects/arm_eabi/contrib/compiler-rt/lib/negsf2.c
  projects/arm_eabi/contrib/compiler-rt/lib/negvdi2.c
  projects/arm_eabi/contrib/compiler-rt/lib/negvsi2.c
  projects/arm_eabi/contrib/compiler-rt/lib/negvti2.c
  projects/arm_eabi/contrib/compiler-rt/lib/paritydi2.c
  projects/arm_eabi/contrib/compiler-rt/lib/paritysi2.c
  projects/arm_eabi/contrib/compiler-rt/lib/popcountdi2.c
  projects/arm_eabi/contrib/compiler-rt/lib/popcountsi2.c
  projects/arm_eabi/contrib/compiler-rt/lib/powidf2.c
  projects/arm_eabi/contrib/compiler-rt/lib/powisf2.c
  projects/arm_eabi/contrib/compiler-rt/lib/ppc/DD.h
  projects/arm_eabi/contrib/compiler-rt/lib/ppc/divtc3.c
  projects/arm_eabi/contrib/compiler-rt/lib/ppc/fixtfdi.c
  projects/arm_eabi/contrib/compiler-rt/lib/ppc/fixunstfdi.c
  projects/arm_eabi/contrib/compiler-rt/lib/ppc/floatditf.c
  projects/arm_eabi/contrib/compiler-rt/lib/ppc/floatunditf.c
  projects/arm_eabi/contrib/compiler-rt/lib/ppc/multc3.c
  projects/arm_eabi/contrib/compiler-rt/lib/subdf3.c
  projects/arm_eabi/contrib/compiler-rt/lib/subsf3.c
  projects/arm_eabi/contrib/compiler-rt/lib/subvdi3.c
  projects/arm_eabi/contrib/compiler-rt/lib/subvsi3.c
  projects/arm_eabi/contrib/compiler-rt/lib/subvti3.c
  projects/arm_eabi/contrib/compiler-rt/lib/trampoline_setup.c
  projects/arm_eabi/contrib/compiler-rt/lib/truncdfsf2.c
  projects/arm_eabi/contrib/compiler-rt/lib/ucmpdi2.c
  projects/arm_eabi/contrib/compiler-rt/lib/udivdi3.c
  projects/arm_eabi/contrib/compiler-rt/lib/udivmoddi4.c
  projects/arm_eabi/contrib/compiler-rt/lib/udivmodsi4.c
  projects/arm_eabi/contrib/compiler-rt/lib/udivmodti4.c
  projects/arm_eabi/contrib/compiler-rt/lib/udivsi3.c
  projects/arm_eabi/contrib/compiler-rt/lib/umoddi3.c
  projects/arm_eabi/contrib/compiler-rt/lib/umodsi3.c
  projects/arm_eabi/contrib/compiler-rt/lib/x86_64/floatdidf.c
  projects/arm_eabi/contrib/compiler-rt/lib/x86_64/floatdisf.c
  projects/arm_eabi/contrib/compiler-rt/lib/x86_64/floatdixf.c
  projects/arm_eabi/contrib/ee/ee.c
  projects/arm_eabi/contrib/file/softmagic.c
  projects/arm_eabi/contrib/gcc/ChangeLog.gcc43
  projects/arm_eabi/contrib/gcc/builtins.c
  projects/arm_eabi/contrib/gcc/config/freebsd.h
  projects/arm_eabi/contrib/gcc/gcc.c
  projects/arm_eabi/contrib/gdb/gdb/mipsfbsd-tdep.c
  projects/arm_eabi/contrib/gperf/src/output.cc
  projects/arm_eabi/contrib/groff/tmac/doc-syms
  projects/arm_eabi/contrib/groff/tmac/groff_mdoc.man
  projects/arm_eabi/contrib/less/command.c
  projects/arm_eabi/contrib/less/prompt.c
  projects/arm_eabi/contrib/libstdc++/ChangeLog
  projects/arm_eabi/contrib/libstdc++/config/os/aix/os_defines.h
  projects/arm_eabi/contrib/libstdc++/include/bits/allocator.h
  projects/arm_eabi/contrib/libstdc++/include/bits/basic_string.h
  projects/arm_eabi/contrib/libstdc++/include/bits/fstream.tcc
  projects/arm_eabi/contrib/libstdc++/include/bits/locale_facets.tcc
  projects/arm_eabi/contrib/libstdc++/include/ext/atomicity.h
  projects/arm_eabi/contrib/libstdc++/include/ext/codecvt_specializations.h
  projects/arm_eabi/contrib/libstdc++/include/ext/concurrence.h
  projects/arm_eabi/contrib/libstdc++/include/ext/vstring.h
  projects/arm_eabi/contrib/libstdc++/include/tr1/boost_shared_ptr.h
  projects/arm_eabi/contrib/libstdc++/include/tr1/random
  projects/arm_eabi/contrib/libstdc++/libsupc++/eh_personality.cc
  projects/arm_eabi/contrib/libstdc++/libsupc++/typeinfo
  projects/arm_eabi/contrib/libstdc++/src/valarray-inst.cc
  projects/arm_eabi/contrib/llvm/lib/Target/X86/X86InstrCompiler.td
  projects/arm_eabi/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
  projects/arm_eabi/contrib/netcat/netcat.c
  projects/arm_eabi/contrib/ntp/ntpd/ntp_loopfilter.c
  projects/arm_eabi/contrib/openpam/CREDITS
  projects/arm_eabi/contrib/openpam/HISTORY
  projects/arm_eabi/contrib/openpam/LICENSE
  projects/arm_eabi/contrib/openpam/Makefile.am
  projects/arm_eabi/contrib/openpam/Makefile.in
  projects/arm_eabi/contrib/openpam/README
  projects/arm_eabi/contrib/openpam/RELNOTES
  projects/arm_eabi/contrib/openpam/aclocal.m4
  projects/arm_eabi/contrib/openpam/bin/Makefile.am
  projects/arm_eabi/contrib/openpam/bin/Makefile.in
  projects/arm_eabi/contrib/openpam/bin/su/Makefile.am
  projects/arm_eabi/contrib/openpam/bin/su/Makefile.in
  projects/arm_eabi/contrib/openpam/bin/su/su.c
  projects/arm_eabi/contrib/openpam/config.h.in
  projects/arm_eabi/contrib/openpam/configure
  projects/arm_eabi/contrib/openpam/configure.ac
  projects/arm_eabi/contrib/openpam/depcomp
  projects/arm_eabi/contrib/openpam/doc/Makefile.in
  projects/arm_eabi/contrib/openpam/doc/man/Makefile.am
  projects/arm_eabi/contrib/openpam/doc/man/Makefile.in
  projects/arm_eabi/contrib/openpam/doc/man/openpam.3
  projects/arm_eabi/contrib/openpam/doc/man/openpam_borrow_cred.3
  projects/arm_eabi/contrib/openpam/doc/man/openpam_free_data.3
  projects/arm_eabi/contrib/openpam/doc/man/openpam_free_envlist.3
  projects/arm_eabi/contrib/openpam/doc/man/openpam_get_option.3
  projects/arm_eabi/contrib/openpam/doc/man/openpam_log.3
  projects/arm_eabi/contrib/openpam/doc/man/openpam_nullconv.3
  projects/arm_eabi/contrib/openpam/doc/man/openpam_readline.3
  projects/arm_eabi/contrib/openpam/doc/man/openpam_restore_cred.3
  projects/arm_eabi/contrib/openpam/doc/man/openpam_set_option.3
  projects/arm_eabi/contrib/openpam/doc/man/openpam_ttyconv.3
  projects/arm_eabi/contrib/openpam/doc/man/pam.3
  projects/arm_eabi/contrib/openpam/doc/man/pam.conf.5
  projects/arm_eabi/contrib/openpam/doc/man/pam_acct_mgmt.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_authenticate.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_chauthtok.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_close_session.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_conv.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_end.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_error.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_get_authtok.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_get_data.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_get_item.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_get_user.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_getenv.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_getenvlist.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_info.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_open_session.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_prompt.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_putenv.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_set_data.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_set_item.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_setcred.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_setenv.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_sm_acct_mgmt.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_sm_authenticate.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_sm_chauthtok.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_sm_close_session.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_sm_open_session.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_sm_setcred.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_start.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_strerror.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_verror.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_vinfo.3
  projects/arm_eabi/contrib/openpam/doc/man/pam_vprompt.3
  projects/arm_eabi/contrib/openpam/include/Makefile.in
  projects/arm_eabi/contrib/openpam/include/security/Makefile.in
  projects/arm_eabi/contrib/openpam/include/security/openpam.h
  projects/arm_eabi/contrib/openpam/include/security/openpam_version.h
  projects/arm_eabi/contrib/openpam/include/security/pam_appl.h
  projects/arm_eabi/contrib/openpam/include/security/pam_constants.h
  projects/arm_eabi/contrib/openpam/include/security/pam_modules.h
  projects/arm_eabi/contrib/openpam/include/security/pam_types.h
  projects/arm_eabi/contrib/openpam/install-sh
  projects/arm_eabi/contrib/openpam/lib/Makefile.am
  projects/arm_eabi/contrib/openpam/lib/Makefile.in
  projects/arm_eabi/contrib/openpam/lib/openpam_borrow_cred.c
  projects/arm_eabi/contrib/openpam/lib/openpam_configure.c
  projects/arm_eabi/contrib/openpam/lib/openpam_dispatch.c
  projects/arm_eabi/contrib/openpam/lib/openpam_dynamic.c
  projects/arm_eabi/contrib/openpam/lib/openpam_findenv.c
  projects/arm_eabi/contrib/openpam/lib/openpam_free_data.c
  projects/arm_eabi/contrib/openpam/lib/openpam_free_envlist.c
  projects/arm_eabi/contrib/openpam/lib/openpam_get_option.c
  projects/arm_eabi/contrib/openpam/lib/openpam_impl.h
  projects/arm_eabi/contrib/openpam/lib/openpam_load.c
  projects/arm_eabi/contrib/openpam/lib/openpam_log.c
  projects/arm_eabi/contrib/openpam/lib/openpam_nullconv.c
  projects/arm_eabi/contrib/openpam/lib/openpam_readline.c
  projects/arm_eabi/contrib/openpam/lib/openpam_restore_cred.c
  projects/arm_eabi/contrib/openpam/lib/openpam_set_option.c
  projects/arm_eabi/contrib/openpam/lib/openpam_static.c
  projects/arm_eabi/contrib/openpam/lib/openpam_ttyconv.c
  projects/arm_eabi/contrib/openpam/lib/pam_acct_mgmt.c
  projects/arm_eabi/contrib/openpam/lib/pam_authenticate.c
  projects/arm_eabi/contrib/openpam/lib/pam_authenticate_secondary.c
  projects/arm_eabi/contrib/openpam/lib/pam_chauthtok.c
  projects/arm_eabi/contrib/openpam/lib/pam_close_session.c
  projects/arm_eabi/contrib/openpam/lib/pam_end.c
  projects/arm_eabi/contrib/openpam/lib/pam_error.c
  projects/arm_eabi/contrib/openpam/lib/pam_get_authtok.c
  projects/arm_eabi/contrib/openpam/lib/pam_get_data.c
  projects/arm_eabi/contrib/openpam/lib/pam_get_item.c
  projects/arm_eabi/contrib/openpam/lib/pam_get_mapped_authtok.c
  projects/arm_eabi/contrib/openpam/lib/pam_get_mapped_username.c
  projects/arm_eabi/contrib/openpam/lib/pam_get_user.c
  projects/arm_eabi/contrib/openpam/lib/pam_getenv.c
  projects/arm_eabi/contrib/openpam/lib/pam_getenvlist.c
  projects/arm_eabi/contrib/openpam/lib/pam_info.c
  projects/arm_eabi/contrib/openpam/lib/pam_open_session.c
  projects/arm_eabi/contrib/openpam/lib/pam_prompt.c
  projects/arm_eabi/contrib/openpam/lib/pam_putenv.c
  projects/arm_eabi/contrib/openpam/lib/pam_set_data.c
  projects/arm_eabi/contrib/openpam/lib/pam_set_item.c
  projects/arm_eabi/contrib/openpam/lib/pam_set_mapped_authtok.c
  projects/arm_eabi/contrib/openpam/lib/pam_set_mapped_username.c
  projects/arm_eabi/contrib/openpam/lib/pam_setcred.c
  projects/arm_eabi/contrib/openpam/lib/pam_setenv.c
  projects/arm_eabi/contrib/openpam/lib/pam_sm_acct_mgmt.c
  projects/arm_eabi/contrib/openpam/lib/pam_sm_authenticate.c
  projects/arm_eabi/contrib/openpam/lib/pam_sm_authenticate_secondary.c
  projects/arm_eabi/contrib/openpam/lib/pam_sm_chauthtok.c
  projects/arm_eabi/contrib/openpam/lib/pam_sm_close_session.c
  projects/arm_eabi/contrib/openpam/lib/pam_sm_get_mapped_authtok.c
  projects/arm_eabi/contrib/openpam/lib/pam_sm_get_mapped_username.c
  projects/arm_eabi/contrib/openpam/lib/pam_sm_open_session.c
  projects/arm_eabi/contrib/openpam/lib/pam_sm_set_mapped_authtok.c
  projects/arm_eabi/contrib/openpam/lib/pam_sm_set_mapped_username.c
  projects/arm_eabi/contrib/openpam/lib/pam_sm_setcred.c
  projects/arm_eabi/contrib/openpam/lib/pam_start.c
  projects/arm_eabi/contrib/openpam/lib/pam_strerror.c
  projects/arm_eabi/contrib/openpam/lib/pam_verror.c
  projects/arm_eabi/contrib/openpam/lib/pam_vinfo.c
  projects/arm_eabi/contrib/openpam/lib/pam_vprompt.c
  projects/arm_eabi/contrib/openpam/ltmain.sh
  projects/arm_eabi/contrib/openpam/misc/gendoc.pl
  projects/arm_eabi/contrib/openpam/missing
  projects/arm_eabi/contrib/openpam/modules/Makefile.in
  projects/arm_eabi/contrib/openpam/modules/pam_deny/Makefile.in
  projects/arm_eabi/contrib/openpam/modules/pam_deny/pam_deny.c
  projects/arm_eabi/contrib/openpam/modules/pam_permit/Makefile.in
  projects/arm_eabi/contrib/openpam/modules/pam_permit/pam_permit.c
  projects/arm_eabi/contrib/openpam/modules/pam_unix/Makefile.am
  projects/arm_eabi/contrib/openpam/modules/pam_unix/Makefile.in
  projects/arm_eabi/contrib/openpam/modules/pam_unix/pam_unix.c
  projects/arm_eabi/contrib/pf/man/pfsync.4
  projects/arm_eabi/contrib/pf/pfctl/parse.y
  projects/arm_eabi/contrib/pf/pfctl/pfctl.8
  projects/arm_eabi/contrib/pnpinfo/pnpinfo.c
  projects/arm_eabi/contrib/tcpdump/print-eigrp.c
  projects/arm_eabi/contrib/tcpdump/print-icmp6.c
  projects/arm_eabi/contrib/tcpdump/print-ldp.c
  projects/arm_eabi/contrib/tcpdump/print-lmp.c
  projects/arm_eabi/contrib/tcpdump/print-lspping.c
  projects/arm_eabi/contrib/tcpdump/print-rsvp.c
  projects/arm_eabi/contrib/tcpdump/print-slow.c
  projects/arm_eabi/contrib/tcsh/Fixes
  projects/arm_eabi/contrib/tcsh/Imakefile
  projects/arm_eabi/contrib/tcsh/Makefile.in
  projects/arm_eabi/contrib/tcsh/Ported
  projects/arm_eabi/contrib/tcsh/README
  projects/arm_eabi/contrib/tcsh/WishList
  projects/arm_eabi/contrib/tcsh/complete.tcsh
  projects/arm_eabi/contrib/tcsh/config.guess
  projects/arm_eabi/contrib/tcsh/config.h.in
  projects/arm_eabi/contrib/tcsh/config.sub
  projects/arm_eabi/contrib/tcsh/config/bsd4.4
  projects/arm_eabi/contrib/tcsh/config_f.h
  projects/arm_eabi/contrib/tcsh/configure
  projects/arm_eabi/contrib/tcsh/configure.in
  projects/arm_eabi/contrib/tcsh/ed.chared.c
  projects/arm_eabi/contrib/tcsh/ed.inputl.c
  projects/arm_eabi/contrib/tcsh/ed.refresh.c
  projects/arm_eabi/contrib/tcsh/ed.screen.c
  projects/arm_eabi/contrib/tcsh/ed.term.c
  projects/arm_eabi/contrib/tcsh/gethost.c
  projects/arm_eabi/contrib/tcsh/glob.c
  projects/arm_eabi/contrib/tcsh/glob.h
  projects/arm_eabi/contrib/tcsh/host.defs
  projects/arm_eabi/contrib/tcsh/install-sh
  projects/arm_eabi/contrib/tcsh/nls/C/charset
  projects/arm_eabi/contrib/tcsh/nls/C/set19
  projects/arm_eabi/contrib/tcsh/nls/et/charset
  projects/arm_eabi/contrib/tcsh/nls/et/set1
  projects/arm_eabi/contrib/tcsh/nls/et/set10
  projects/arm_eabi/contrib/tcsh/nls/et/set11
  projects/arm_eabi/contrib/tcsh/nls/et/set13
  projects/arm_eabi/contrib/tcsh/nls/et/set14
  projects/arm_eabi/contrib/tcsh/nls/et/set15
  projects/arm_eabi/contrib/tcsh/nls/et/set16
  projects/arm_eabi/contrib/tcsh/nls/et/set17
  projects/arm_eabi/contrib/tcsh/nls/et/set18
  projects/arm_eabi/contrib/tcsh/nls/et/set19
  projects/arm_eabi/contrib/tcsh/nls/et/set2
  projects/arm_eabi/contrib/tcsh/nls/et/set20
  projects/arm_eabi/contrib/tcsh/nls/et/set21
  projects/arm_eabi/contrib/tcsh/nls/et/set22
  projects/arm_eabi/contrib/tcsh/nls/et/set23
  projects/arm_eabi/contrib/tcsh/nls/et/set24
  projects/arm_eabi/contrib/tcsh/nls/et/set25
  projects/arm_eabi/contrib/tcsh/nls/et/set26
  projects/arm_eabi/contrib/tcsh/nls/et/set27
  projects/arm_eabi/contrib/tcsh/nls/et/set3
  projects/arm_eabi/contrib/tcsh/nls/et/set30
  projects/arm_eabi/contrib/tcsh/nls/et/set4
  projects/arm_eabi/contrib/tcsh/nls/et/set5
  projects/arm_eabi/contrib/tcsh/nls/et/set6
  projects/arm_eabi/contrib/tcsh/nls/et/set7
  projects/arm_eabi/contrib/tcsh/nls/et/set8
  projects/arm_eabi/contrib/tcsh/nls/et/set9
  projects/arm_eabi/contrib/tcsh/nls/finnish/charset
  projects/arm_eabi/contrib/tcsh/nls/finnish/set1
  projects/arm_eabi/contrib/tcsh/nls/finnish/set10
  projects/arm_eabi/contrib/tcsh/nls/finnish/set11
  projects/arm_eabi/contrib/tcsh/nls/finnish/set12
  projects/arm_eabi/contrib/tcsh/nls/finnish/set13
  projects/arm_eabi/contrib/tcsh/nls/finnish/set14
  projects/arm_eabi/contrib/tcsh/nls/finnish/set16
  projects/arm_eabi/contrib/tcsh/nls/finnish/set17
  projects/arm_eabi/contrib/tcsh/nls/finnish/set18
  projects/arm_eabi/contrib/tcsh/nls/finnish/set19
  projects/arm_eabi/contrib/tcsh/nls/finnish/set2
  projects/arm_eabi/contrib/tcsh/nls/finnish/set20
  projects/arm_eabi/contrib/tcsh/nls/finnish/set22
  projects/arm_eabi/contrib/tcsh/nls/finnish/set23
  projects/arm_eabi/contrib/tcsh/nls/finnish/set25
  projects/arm_eabi/contrib/tcsh/nls/finnish/set26
  projects/arm_eabi/contrib/tcsh/nls/finnish/set27
  projects/arm_eabi/contrib/tcsh/nls/finnish/set29
  projects/arm_eabi/contrib/tcsh/nls/finnish/set3
  projects/arm_eabi/contrib/tcsh/nls/finnish/set6
  projects/arm_eabi/contrib/tcsh/nls/finnish/set7
  projects/arm_eabi/contrib/tcsh/nls/finnish/set9
  projects/arm_eabi/contrib/tcsh/nls/french/charset
  projects/arm_eabi/contrib/tcsh/nls/french/set1
  projects/arm_eabi/contrib/tcsh/nls/french/set10
  projects/arm_eabi/contrib/tcsh/nls/french/set11
  projects/arm_eabi/contrib/tcsh/nls/french/set12
  projects/arm_eabi/contrib/tcsh/nls/french/set13
  projects/arm_eabi/contrib/tcsh/nls/french/set15
  projects/arm_eabi/contrib/tcsh/nls/french/set16
  projects/arm_eabi/contrib/tcsh/nls/french/set17
  projects/arm_eabi/contrib/tcsh/nls/french/set18
  projects/arm_eabi/contrib/tcsh/nls/french/set19
  projects/arm_eabi/contrib/tcsh/nls/french/set2
  projects/arm_eabi/contrib/tcsh/nls/french/set20
  projects/arm_eabi/contrib/tcsh/nls/french/set21
  projects/arm_eabi/contrib/tcsh/nls/french/set22
  projects/arm_eabi/contrib/tcsh/nls/french/set23
  projects/arm_eabi/contrib/tcsh/nls/french/set25
  projects/arm_eabi/contrib/tcsh/nls/french/set26
  projects/arm_eabi/contrib/tcsh/nls/french/set27
  projects/arm_eabi/contrib/tcsh/nls/french/set3
  projects/arm_eabi/contrib/tcsh/nls/french/set30
  projects/arm_eabi/contrib/tcsh/nls/french/set31
  projects/arm_eabi/contrib/tcsh/nls/french/set4
  projects/arm_eabi/contrib/tcsh/nls/french/set6
  projects/arm_eabi/contrib/tcsh/nls/french/set7
  projects/arm_eabi/contrib/tcsh/nls/french/set8
  projects/arm_eabi/contrib/tcsh/nls/french/set9
  projects/arm_eabi/contrib/tcsh/nls/german/charset
  projects/arm_eabi/contrib/tcsh/nls/german/set1
  projects/arm_eabi/contrib/tcsh/nls/german/set10
  projects/arm_eabi/contrib/tcsh/nls/german/set13
  projects/arm_eabi/contrib/tcsh/nls/german/set15
  projects/arm_eabi/contrib/tcsh/nls/german/set16
  projects/arm_eabi/contrib/tcsh/nls/german/set17
  projects/arm_eabi/contrib/tcsh/nls/german/set18
  projects/arm_eabi/contrib/tcsh/nls/german/set19
  projects/arm_eabi/contrib/tcsh/nls/german/set2
  projects/arm_eabi/contrib/tcsh/nls/german/set20
  projects/arm_eabi/contrib/tcsh/nls/german/set22
  projects/arm_eabi/contrib/tcsh/nls/german/set23
  projects/arm_eabi/contrib/tcsh/nls/german/set25
  projects/arm_eabi/contrib/tcsh/nls/german/set26
  projects/arm_eabi/contrib/tcsh/nls/german/set27
  projects/arm_eabi/contrib/tcsh/nls/german/set29
  projects/arm_eabi/contrib/tcsh/nls/german/set3
  projects/arm_eabi/contrib/tcsh/nls/german/set30
  projects/arm_eabi/contrib/tcsh/nls/german/set31
  projects/arm_eabi/contrib/tcsh/nls/german/set4
  projects/arm_eabi/contrib/tcsh/nls/german/set5
  projects/arm_eabi/contrib/tcsh/nls/german/set6
  projects/arm_eabi/contrib/tcsh/nls/german/set7
  projects/arm_eabi/contrib/tcsh/nls/german/set8
  projects/arm_eabi/contrib/tcsh/nls/german/set9
  projects/arm_eabi/contrib/tcsh/nls/greek/charset
  projects/arm_eabi/contrib/tcsh/nls/greek/set1   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set10   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set11   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set12   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set13   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set14   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set15   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set16   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set17   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set18   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set19   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set2   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set20   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set21   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set22   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set23   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set25   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set26   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set27   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set29   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set3   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set30   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set31   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set4   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set5   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set6   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set7   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set8   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set9   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/italian/charset
  projects/arm_eabi/contrib/tcsh/nls/italian/set1
  projects/arm_eabi/contrib/tcsh/nls/italian/set11
  projects/arm_eabi/contrib/tcsh/nls/italian/set13
  projects/arm_eabi/contrib/tcsh/nls/italian/set15
  projects/arm_eabi/contrib/tcsh/nls/italian/set17
  projects/arm_eabi/contrib/tcsh/nls/italian/set19
  projects/arm_eabi/contrib/tcsh/nls/italian/set2
  projects/arm_eabi/contrib/tcsh/nls/italian/set20
  projects/arm_eabi/contrib/tcsh/nls/italian/set22
  projects/arm_eabi/contrib/tcsh/nls/italian/set23
  projects/arm_eabi/contrib/tcsh/nls/italian/set26
  projects/arm_eabi/contrib/tcsh/nls/italian/set3
  projects/arm_eabi/contrib/tcsh/nls/italian/set30
  projects/arm_eabi/contrib/tcsh/nls/italian/set4
  projects/arm_eabi/contrib/tcsh/nls/italian/set6
  projects/arm_eabi/contrib/tcsh/nls/italian/set7
  projects/arm_eabi/contrib/tcsh/nls/ja/charset
  projects/arm_eabi/contrib/tcsh/nls/ja/set1   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ja/set10   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ja/set11   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ja/set12   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ja/set13   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ja/set15   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ja/set16   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ja/set17   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ja/set18   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ja/set2   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ja/set21   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ja/set29   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ja/set3   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ja/set30   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ja/set4   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ja/set5   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ja/set6   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ja/set7   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ja/set8   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/charset
  projects/arm_eabi/contrib/tcsh/nls/russian/set1   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set10   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set11   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set12   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set13   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set14   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set15   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set16   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set17   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set18   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set19   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set2   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set20   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set22   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set23   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set25   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set26   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set27   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set29   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set30   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set31   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set4   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set5   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set6   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set7   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set8   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set9   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/spanish/charset
  projects/arm_eabi/contrib/tcsh/nls/spanish/set1
  projects/arm_eabi/contrib/tcsh/nls/spanish/set10
  projects/arm_eabi/contrib/tcsh/nls/spanish/set13
  projects/arm_eabi/contrib/tcsh/nls/spanish/set14
  projects/arm_eabi/contrib/tcsh/nls/spanish/set15
  projects/arm_eabi/contrib/tcsh/nls/spanish/set16
  projects/arm_eabi/contrib/tcsh/nls/spanish/set17
  projects/arm_eabi/contrib/tcsh/nls/spanish/set18
  projects/arm_eabi/contrib/tcsh/nls/spanish/set19
  projects/arm_eabi/contrib/tcsh/nls/spanish/set2
  projects/arm_eabi/contrib/tcsh/nls/spanish/set20
  projects/arm_eabi/contrib/tcsh/nls/spanish/set22
  projects/arm_eabi/contrib/tcsh/nls/spanish/set23
  projects/arm_eabi/contrib/tcsh/nls/spanish/set25
  projects/arm_eabi/contrib/tcsh/nls/spanish/set26
  projects/arm_eabi/contrib/tcsh/nls/spanish/set27
  projects/arm_eabi/contrib/tcsh/nls/spanish/set3
  projects/arm_eabi/contrib/tcsh/nls/spanish/set30
  projects/arm_eabi/contrib/tcsh/nls/spanish/set4
  projects/arm_eabi/contrib/tcsh/nls/spanish/set5
  projects/arm_eabi/contrib/tcsh/nls/spanish/set6
  projects/arm_eabi/contrib/tcsh/nls/spanish/set7
  projects/arm_eabi/contrib/tcsh/nls/spanish/set8
  projects/arm_eabi/contrib/tcsh/nls/spanish/set9
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/charset
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set1   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set10   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set11   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set12   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set13   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set14   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set15   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set16   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set17   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set18   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set19   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set2   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set20   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set22   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set23   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set25   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set26   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set27   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set29   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set30   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set31   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set5   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set6   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set7   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set8   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set9   (contents, props changed)
  projects/arm_eabi/contrib/tcsh/patchlevel.h
  projects/arm_eabi/contrib/tcsh/pathnames.h
  projects/arm_eabi/contrib/tcsh/sh.c
  projects/arm_eabi/contrib/tcsh/sh.char.c
  projects/arm_eabi/contrib/tcsh/sh.char.h
  projects/arm_eabi/contrib/tcsh/sh.decls.h
  projects/arm_eabi/contrib/tcsh/sh.dir.c
  projects/arm_eabi/contrib/tcsh/sh.dol.c
  projects/arm_eabi/contrib/tcsh/sh.err.c
  projects/arm_eabi/contrib/tcsh/sh.exec.c
  projects/arm_eabi/contrib/tcsh/sh.exp.c
  projects/arm_eabi/contrib/tcsh/sh.file.c
  projects/arm_eabi/contrib/tcsh/sh.func.c
  projects/arm_eabi/contrib/tcsh/sh.glob.c
  projects/arm_eabi/contrib/tcsh/sh.h
  projects/arm_eabi/contrib/tcsh/sh.hist.c
  projects/arm_eabi/contrib/tcsh/sh.lex.c
  projects/arm_eabi/contrib/tcsh/sh.misc.c
  projects/arm_eabi/contrib/tcsh/sh.parse.c
  projects/arm_eabi/contrib/tcsh/sh.print.c
  projects/arm_eabi/contrib/tcsh/sh.proc.c
  projects/arm_eabi/contrib/tcsh/sh.proc.h
  projects/arm_eabi/contrib/tcsh/sh.sem.c
  projects/arm_eabi/contrib/tcsh/sh.set.c
  projects/arm_eabi/contrib/tcsh/sh.time.c
  projects/arm_eabi/contrib/tcsh/tc.alloc.c
  projects/arm_eabi/contrib/tcsh/tc.const.c
  projects/arm_eabi/contrib/tcsh/tc.decls.h
  projects/arm_eabi/contrib/tcsh/tc.disc.c
  projects/arm_eabi/contrib/tcsh/tc.func.c
  projects/arm_eabi/contrib/tcsh/tc.nls.c
  projects/arm_eabi/contrib/tcsh/tc.nls.h
  projects/arm_eabi/contrib/tcsh/tc.os.c
  projects/arm_eabi/contrib/tcsh/tc.os.h
  projects/arm_eabi/contrib/tcsh/tc.prompt.c
  projects/arm_eabi/contrib/tcsh/tc.sig.c
  projects/arm_eabi/contrib/tcsh/tc.sig.h
  projects/arm_eabi/contrib/tcsh/tc.str.c
  projects/arm_eabi/contrib/tcsh/tc.wait.h
  projects/arm_eabi/contrib/tcsh/tc.who.c
  projects/arm_eabi/contrib/tcsh/tcsh.man
  projects/arm_eabi/contrib/tcsh/tcsh.man2html
  projects/arm_eabi/contrib/tcsh/tw.color.c
  projects/arm_eabi/contrib/tcsh/tw.init.c
  projects/arm_eabi/contrib/tcsh/tw.parse.c
  projects/arm_eabi/contrib/tcsh/vms.termcap.c
  projects/arm_eabi/contrib/telnet/libtelnet/encrypt.c
  projects/arm_eabi/contrib/telnet/libtelnet/sra.c
  projects/arm_eabi/contrib/telnet/telnet/utilities.c
  projects/arm_eabi/contrib/telnet/telnetd/utility.c
  projects/arm_eabi/contrib/tnftp/src/main.c
  projects/arm_eabi/contrib/tnftp/src/util.c
  projects/arm_eabi/contrib/top/top.c
  projects/arm_eabi/crypto/heimdal/appl/telnet/libtelnet/encrypt.c
  projects/arm_eabi/crypto/openssh/auth2.c
  projects/arm_eabi/crypto/openssh/channels.c
  projects/arm_eabi/crypto/openssh/channels.h
  projects/arm_eabi/crypto/openssh/kex.c
  projects/arm_eabi/crypto/openssh/loginrec.c   (contents, props changed)
  projects/arm_eabi/crypto/openssh/readconf.c
  projects/arm_eabi/crypto/openssh/readconf.h
  projects/arm_eabi/crypto/openssh/servconf.c
  projects/arm_eabi/crypto/openssh/sftp.1
  projects/arm_eabi/crypto/openssh/ssh.c
  projects/arm_eabi/crypto/openssh/sshd.c
  projects/arm_eabi/crypto/openssh/sshd_config.5
  projects/arm_eabi/crypto/openssh/version.h
  projects/arm_eabi/etc/Makefile
  projects/arm_eabi/etc/defaults/periodic.conf
  projects/arm_eabi/etc/defaults/rc.conf
  projects/arm_eabi/etc/devd/apple.conf
  projects/arm_eabi/etc/devd/usb.conf
  projects/arm_eabi/etc/mac.conf
  projects/arm_eabi/etc/mtree/BSD.include.dist
  projects/arm_eabi/etc/namedb/named.conf
  projects/arm_eabi/etc/netstart
  projects/arm_eabi/etc/network.subr
  projects/arm_eabi/etc/periodic/daily/404.status-zfs
  projects/arm_eabi/etc/rc.d/LOGIN
  projects/arm_eabi/etc/rc.d/Makefile
  projects/arm_eabi/etc/rc.d/SERVERS
  projects/arm_eabi/etc/rc.d/accounting
  projects/arm_eabi/etc/rc.d/addswap
  projects/arm_eabi/etc/rc.d/amd
  projects/arm_eabi/etc/rc.d/apm
  projects/arm_eabi/etc/rc.d/apmd
  projects/arm_eabi/etc/rc.d/auditd
  projects/arm_eabi/etc/rc.d/bgfsck
  projects/arm_eabi/etc/rc.d/bootparams
  projects/arm_eabi/etc/rc.d/bsnmpd
  projects/arm_eabi/etc/rc.d/bthidd
  projects/arm_eabi/etc/rc.d/cleanvar
  projects/arm_eabi/etc/rc.d/cleartmp
  projects/arm_eabi/etc/rc.d/cron
  projects/arm_eabi/etc/rc.d/ddb
  projects/arm_eabi/etc/rc.d/devd
  projects/arm_eabi/etc/rc.d/devfs
  projects/arm_eabi/etc/rc.d/dhclient
  projects/arm_eabi/etc/rc.d/dmesg
  projects/arm_eabi/etc/rc.d/ftp-proxy
  projects/arm_eabi/etc/rc.d/ftpd
  projects/arm_eabi/etc/rc.d/gptboot
  projects/arm_eabi/etc/rc.d/hastd
  projects/arm_eabi/etc/rc.d/hcsecd
  projects/arm_eabi/etc/rc.d/hostapd
  projects/arm_eabi/etc/rc.d/hostname
  projects/arm_eabi/etc/rc.d/inetd
  projects/arm_eabi/etc/rc.d/ip6addrctl
  projects/arm_eabi/etc/rc.d/ipfilter
  projects/arm_eabi/etc/rc.d/ipfs
  projects/arm_eabi/etc/rc.d/ipmon
  projects/arm_eabi/etc/rc.d/ipnat
  projects/arm_eabi/etc/rc.d/ipsec
  projects/arm_eabi/etc/rc.d/ipxrouted
  projects/arm_eabi/etc/rc.d/jail
  projects/arm_eabi/etc/rc.d/keyserv
  projects/arm_eabi/etc/rc.d/lockd
  projects/arm_eabi/etc/rc.d/lpd
  projects/arm_eabi/etc/rc.d/mountd
  projects/arm_eabi/etc/rc.d/moused
  projects/arm_eabi/etc/rc.d/mroute6d
  projects/arm_eabi/etc/rc.d/mrouted
  projects/arm_eabi/etc/rc.d/natd
  projects/arm_eabi/etc/rc.d/netif
  projects/arm_eabi/etc/rc.d/netwait
  projects/arm_eabi/etc/rc.d/newsyslog
  projects/arm_eabi/etc/rc.d/nfscbd
  projects/arm_eabi/etc/rc.d/nfsd
  projects/arm_eabi/etc/rc.d/nfsuserd
  projects/arm_eabi/etc/rc.d/nscd
  projects/arm_eabi/etc/rc.d/ntpd
  projects/arm_eabi/etc/rc.d/ntpdate
  projects/arm_eabi/etc/rc.d/pf
  projects/arm_eabi/etc/rc.d/pflog
  projects/arm_eabi/etc/rc.d/pfsync
  projects/arm_eabi/etc/rc.d/powerd
  projects/arm_eabi/etc/rc.d/ppp
  projects/arm_eabi/etc/rc.d/pppoed
  projects/arm_eabi/etc/rc.d/quota
  projects/arm_eabi/etc/rc.d/rarpd
  projects/arm_eabi/etc/rc.d/rfcomm_pppd_server
  projects/arm_eabi/etc/rc.d/route6d
  projects/arm_eabi/etc/rc.d/routed
  projects/arm_eabi/etc/rc.d/routing
  projects/arm_eabi/etc/rc.d/rpcbind
  projects/arm_eabi/etc/rc.d/rtadvd
  projects/arm_eabi/etc/rc.d/rtsold
  projects/arm_eabi/etc/rc.d/rwho
  projects/arm_eabi/etc/rc.d/sdpd
  projects/arm_eabi/etc/rc.d/sendmail
  projects/arm_eabi/etc/rc.d/sshd
  projects/arm_eabi/etc/rc.d/statd
  projects/arm_eabi/etc/rc.d/syslogd
  projects/arm_eabi/etc/rc.d/timed
  projects/arm_eabi/etc/rc.d/ubthidhci
  projects/arm_eabi/etc/rc.d/var
  projects/arm_eabi/etc/rc.d/virecover
  projects/arm_eabi/etc/rc.d/watchdogd
  projects/arm_eabi/etc/rc.d/ypbind
  projects/arm_eabi/etc/rc.d/yppasswdd
  projects/arm_eabi/etc/rc.d/ypserv
  projects/arm_eabi/etc/rc.d/ypset
  projects/arm_eabi/etc/rc.d/ypupdated
  projects/arm_eabi/etc/rc.d/ypxfrd
  projects/arm_eabi/etc/rc.firewall
  projects/arm_eabi/etc/rc.initdiskless
  projects/arm_eabi/etc/rc.resume
  projects/arm_eabi/etc/rc.subr
  projects/arm_eabi/etc/rc.suspend
  projects/arm_eabi/etc/services
  projects/arm_eabi/games/factor/factor.c
  projects/arm_eabi/games/fortune/datfiles/fortunes
  projects/arm_eabi/games/fortune/datfiles/fortunes-o.real
  projects/arm_eabi/games/fortune/datfiles/murphy
  projects/arm_eabi/games/fortune/fortune/fortune.c
  projects/arm_eabi/games/morse/morse.c
  projects/arm_eabi/games/pom/pom.c
  projects/arm_eabi/gnu/usr.bin/binutils/libbinutils/Makefile
  projects/arm_eabi/gnu/usr.bin/cc/c++/Makefile
  projects/arm_eabi/gnu/usr.bin/cc/cc/Makefile
  projects/arm_eabi/gnu/usr.bin/cc/cc_tools/auto-host.h
  projects/arm_eabi/gnu/usr.bin/cc/cpp/Makefile
  projects/arm_eabi/gnu/usr.bin/cvs/lib/config.h.proto
  projects/arm_eabi/gnu/usr.bin/gdb/arch/mips/Makefile
  projects/arm_eabi/gnu/usr.bin/gdb/kgdb/main.c
  projects/arm_eabi/gnu/usr.bin/gdb/kgdb/trgt_amd64.c
  projects/arm_eabi/include/Makefile
  projects/arm_eabi/include/arpa/nameser_compat.h
  projects/arm_eabi/include/assert.h
  projects/arm_eabi/include/complex.h
  projects/arm_eabi/include/ctype.h
  projects/arm_eabi/include/dlfcn.h
  projects/arm_eabi/include/glob.h
  projects/arm_eabi/include/gssapi/gssapi.h
  projects/arm_eabi/include/langinfo.h
  projects/arm_eabi/include/locale.h
  projects/arm_eabi/include/resolv.h
  projects/arm_eabi/include/rpc/Makefile
  projects/arm_eabi/include/rpc/svc.h
  projects/arm_eabi/include/rpcsvc/Makefile
  projects/arm_eabi/include/rpcsvc/mount.x
  projects/arm_eabi/include/rpcsvc/nfs_prot.x
  projects/arm_eabi/include/rpcsvc/nis.x
  projects/arm_eabi/include/runetype.h
  projects/arm_eabi/include/stdbool.h
  projects/arm_eabi/include/stdio.h
  projects/arm_eabi/include/stdlib.h
  projects/arm_eabi/include/string.h
  projects/arm_eabi/include/tgmath.h
  projects/arm_eabi/include/time.h
  projects/arm_eabi/include/unistd.h
  projects/arm_eabi/include/wchar.h
  projects/arm_eabi/include/wctype.h
  projects/arm_eabi/include/xlocale.h
  projects/arm_eabi/lib/Makefile
  projects/arm_eabi/lib/clang/Makefile
  projects/arm_eabi/lib/clang/clang.build.mk
  projects/arm_eabi/lib/clang/libllvmanalysis/Makefile
  projects/arm_eabi/lib/clang/libllvmarminfo/Makefile
  projects/arm_eabi/lib/clang/libllvmipa/Makefile
  projects/arm_eabi/lib/clang/libllvmipo/Makefile
  projects/arm_eabi/lib/clang/libllvmmc/Makefile
  projects/arm_eabi/lib/clang/libllvmmipsinfo/Makefile
  projects/arm_eabi/lib/clang/libllvmpowerpcinfo/Makefile
  projects/arm_eabi/lib/clang/libllvmscalaropts/Makefile
  projects/arm_eabi/lib/clang/libllvmsupport/Makefile
  projects/arm_eabi/lib/clang/libllvmtransformutils/Makefile
  projects/arm_eabi/lib/clang/libllvmx86disassembler/Makefile
  projects/arm_eabi/lib/clang/libllvmx86info/Makefile
  projects/arm_eabi/lib/csu/Makefile.inc
  projects/arm_eabi/lib/csu/amd64/Makefile
  projects/arm_eabi/lib/csu/amd64/crt1.c
  projects/arm_eabi/lib/csu/arm/Makefile
  projects/arm_eabi/lib/csu/arm/crt1.c
  projects/arm_eabi/lib/csu/common/crtbrand.c
  projects/arm_eabi/lib/csu/i386-elf/Makefile
  projects/arm_eabi/lib/csu/i386-elf/crt1_c.c
  projects/arm_eabi/lib/csu/mips/Makefile
  projects/arm_eabi/lib/csu/mips/crt1.c
  projects/arm_eabi/lib/csu/powerpc/Makefile
  projects/arm_eabi/lib/csu/powerpc/crt1.c
  projects/arm_eabi/lib/csu/powerpc64/Makefile
  projects/arm_eabi/lib/csu/powerpc64/crt1.c
  projects/arm_eabi/lib/csu/sparc64/crt1.c
  projects/arm_eabi/lib/libarchive/Makefile
  projects/arm_eabi/lib/libarchive/config_freebsd.h
  projects/arm_eabi/lib/libarchive/test/Makefile
  projects/arm_eabi/lib/libc/Makefile
  projects/arm_eabi/lib/libc/amd64/gen/Makefile.inc
  projects/arm_eabi/lib/libc/arm/Symbol.map
  projects/arm_eabi/lib/libc/arm/_fpmath.h
  projects/arm_eabi/lib/libc/arm/gen/Makefile.inc
  projects/arm_eabi/lib/libc/arm/softfloat/softfloat.h
  projects/arm_eabi/lib/libc/arm/string/Makefile.inc
  projects/arm_eabi/lib/libc/db/man/hash.3
  projects/arm_eabi/lib/libc/gen/Makefile.inc
  projects/arm_eabi/lib/libc/gen/Symbol.map
  projects/arm_eabi/lib/libc/gen/arc4random.3
  projects/arm_eabi/lib/libc/gen/aux.c
  projects/arm_eabi/lib/libc/gen/closedir.c
  projects/arm_eabi/lib/libc/gen/directory.3
  projects/arm_eabi/lib/libc/gen/dlfcn.c
  projects/arm_eabi/lib/libc/gen/dlopen.3
  projects/arm_eabi/lib/libc/gen/exec.c
  projects/arm_eabi/lib/libc/gen/fmtmsg.c
  projects/arm_eabi/lib/libc/gen/fts.c
  projects/arm_eabi/lib/libc/gen/getcontext.3
  projects/arm_eabi/lib/libc/gen/getgrouplist.3
  projects/arm_eabi/lib/libc/gen/getttyent.c
  projects/arm_eabi/lib/libc/gen/getusershell.c
  projects/arm_eabi/lib/libc/gen/getutxent.3
  projects/arm_eabi/lib/libc/gen/getutxent.c
  projects/arm_eabi/lib/libc/gen/glob.3
  projects/arm_eabi/lib/libc/gen/glob.c
  projects/arm_eabi/lib/libc/gen/opendir.c
  projects/arm_eabi/lib/libc/gen/sem.c
  projects/arm_eabi/lib/libc/gen/sem_new.c
  projects/arm_eabi/lib/libc/gen/strtofflags.c
  projects/arm_eabi/lib/libc/gen/sysctl.3
  projects/arm_eabi/lib/libc/gen/timezone.c
  projects/arm_eabi/lib/libc/gen/tls.c
  projects/arm_eabi/lib/libc/gen/ucontext.3
  projects/arm_eabi/lib/libc/i386/gen/Makefile.inc
  projects/arm_eabi/lib/libc/i386/string/Makefile.inc
  projects/arm_eabi/lib/libc/i386/string/strchr.S
  projects/arm_eabi/lib/libc/i386/string/strrchr.S
  projects/arm_eabi/lib/libc/ia64/gen/Makefile.inc
  projects/arm_eabi/lib/libc/iconv/citrus_module.c
  projects/arm_eabi/lib/libc/include/libc_private.h
  projects/arm_eabi/lib/libc/locale/Symbol.map
  projects/arm_eabi/lib/libc/locale/btowc.3
  projects/arm_eabi/lib/libc/locale/collate.c
  projects/arm_eabi/lib/libc/locale/nomacros.c
  projects/arm_eabi/lib/libc/locale/setlocale.c
  projects/arm_eabi/lib/libc/locale/setrunelocale.c
  projects/arm_eabi/lib/libc/locale/table.c
  projects/arm_eabi/lib/libc/locale/xlocale.c
  projects/arm_eabi/lib/libc/locale/xlocale_private.h
  projects/arm_eabi/lib/libc/mips/gen/Makefile.inc
  projects/arm_eabi/lib/libc/mips/gen/_set_tp.c
  projects/arm_eabi/lib/libc/mips/softfloat/softfloat.h
  projects/arm_eabi/lib/libc/mips/string/Makefile.inc
  projects/arm_eabi/lib/libc/net/eui64.3
  projects/arm_eabi/lib/libc/net/getaddrinfo.c
  projects/arm_eabi/lib/libc/net/gethostbynis.c
  projects/arm_eabi/lib/libc/net/getifaddrs.c
  projects/arm_eabi/lib/libc/net/getnetbynis.c
  projects/arm_eabi/lib/libc/net/nsdispatch.3
  projects/arm_eabi/lib/libc/net/nsdispatch.c
  projects/arm_eabi/lib/libc/net/sctp_sys_calls.c
  projects/arm_eabi/lib/libc/powerpc/SYS.h
  projects/arm_eabi/lib/libc/powerpc/gen/Makefile.inc
  projects/arm_eabi/lib/libc/powerpc/gen/setjmp.S
  projects/arm_eabi/lib/libc/powerpc64/SYS.h
  projects/arm_eabi/lib/libc/powerpc64/gen/Makefile.inc
  projects/arm_eabi/lib/libc/powerpc64/gen/setjmp.S
  projects/arm_eabi/lib/libc/powerpc64/sys/cerror.S
  projects/arm_eabi/lib/libc/regex/regcomp.c
  projects/arm_eabi/lib/libc/resolv/res_send.c
  projects/arm_eabi/lib/libc/rpc/Makefile.inc
  projects/arm_eabi/lib/libc/rpc/crypt_client.c
  projects/arm_eabi/lib/libc/rpc/rpc.3
  projects/arm_eabi/lib/libc/rpc/rpc_clnt_create.3
  projects/arm_eabi/lib/libc/softfloat/Makefile.inc
  projects/arm_eabi/lib/libc/softfloat/Symbol.map
  projects/arm_eabi/lib/libc/softfloat/bits32/softfloat-macros
  projects/arm_eabi/lib/libc/softfloat/bits32/softfloat.c
  projects/arm_eabi/lib/libc/softfloat/bits64/softfloat-macros
  projects/arm_eabi/lib/libc/softfloat/bits64/softfloat.c
  projects/arm_eabi/lib/libc/softfloat/softfloat-for-gcc.h
  projects/arm_eabi/lib/libc/softfloat/softfloat-source.txt
  projects/arm_eabi/lib/libc/softfloat/softfloat-specialize
  projects/arm_eabi/lib/libc/softfloat/softfloat.txt
  projects/arm_eabi/lib/libc/sparc64/fpu/fpu_emu.h
  projects/arm_eabi/lib/libc/sparc64/fpu/fpu_mul.c
  projects/arm_eabi/lib/libc/sparc64/gen/Makefile.inc
  projects/arm_eabi/lib/libc/stdio/mktemp.3
  projects/arm_eabi/lib/libc/stdlib/Makefile.inc
  projects/arm_eabi/lib/libc/stdlib/Symbol.map
  projects/arm_eabi/lib/libc/stdlib/getopt_long.3
  projects/arm_eabi/lib/libc/stdlib/getsubopt.3
  projects/arm_eabi/lib/libc/stdlib/malloc.c
  projects/arm_eabi/lib/libc/stdlib/quick_exit.c
  projects/arm_eabi/lib/libc/string/Makefile.inc
  projects/arm_eabi/lib/libc/string/strerror.3
  projects/arm_eabi/lib/libc/string/swab.3
  projects/arm_eabi/lib/libc/string/swab.c
  projects/arm_eabi/lib/libc/sys/Makefile.inc
  projects/arm_eabi/lib/libc/sys/cap_enter.2
  projects/arm_eabi/lib/libc/sys/cap_new.2
  projects/arm_eabi/lib/libc/sys/chroot.2
  projects/arm_eabi/lib/libc/sys/close.2
  projects/arm_eabi/lib/libc/sys/fcntl.2
  projects/arm_eabi/lib/libc/sys/getdirentries.2
  projects/arm_eabi/lib/libc/sys/getsockopt.2
  projects/arm_eabi/lib/libc/sys/jail.2
  projects/arm_eabi/lib/libc/sys/kill.2
  projects/arm_eabi/lib/libc/sys/kqueue.2
  projects/arm_eabi/lib/libc/sys/mmap.2
  projects/arm_eabi/lib/libc/sys/nfssvc.2
  projects/arm_eabi/lib/libc/sys/pdfork.2
  projects/arm_eabi/lib/libc/sys/posix_fadvise.2
  projects/arm_eabi/lib/libc/sys/posix_fallocate.2
  projects/arm_eabi/lib/libc/sys/ptrace.2
  projects/arm_eabi/lib/libc/sys/read.2
  projects/arm_eabi/lib/libc/sys/rtprio.2
  projects/arm_eabi/lib/libc/sys/setuid.2
  projects/arm_eabi/lib/libc/sys/sigqueue.2
  projects/arm_eabi/lib/libc/sys/write.2
  projects/arm_eabi/lib/libc/uuid/uuid.3
  projects/arm_eabi/lib/libc/yp/Makefile.inc
  projects/arm_eabi/lib/libc/yp/xdryp.c
  projects/arm_eabi/lib/libc/yp/yplib.c
  projects/arm_eabi/lib/libcam/cam.3
  projects/arm_eabi/lib/libcam/cam_cdbparse.3
  projects/arm_eabi/lib/libcam/camlib.c
  projects/arm_eabi/lib/libcompiler_rt/Makefile
  projects/arm_eabi/lib/libdevstat/devstat.3
  projects/arm_eabi/lib/libdevstat/devstat.c
  projects/arm_eabi/lib/libdisk/libdisk.h
  projects/arm_eabi/lib/libfetch/common.c
  projects/arm_eabi/lib/libfetch/common.h
  projects/arm_eabi/lib/libfetch/http.c
  projects/arm_eabi/lib/libgssapi/gss_display_status.c
  projects/arm_eabi/lib/libgssapi/gss_pseudo_random.c
  projects/arm_eabi/lib/libgssapi/gss_release_oid.c
  projects/arm_eabi/lib/libipsec/pfkey.c
  projects/arm_eabi/lib/libipsec/policy_token.l
  projects/arm_eabi/lib/libjail/jail.c
  projects/arm_eabi/lib/libkvm/kvm_proc.c
  projects/arm_eabi/lib/libmemstat/libmemstat.3
  projects/arm_eabi/lib/libopie/config.h
  projects/arm_eabi/lib/libpam/libpam/Makefile
  projects/arm_eabi/lib/libpam/modules/pam_unix/Makefile
  projects/arm_eabi/lib/libpmc/Makefile
  projects/arm_eabi/lib/libpmc/libpmc.c
  projects/arm_eabi/lib/libpmc/pmc.3
  projects/arm_eabi/lib/libpmc/pmc.atom.3
  projects/arm_eabi/lib/libpmc/pmc.core.3
  projects/arm_eabi/lib/libpmc/pmc.core2.3
  projects/arm_eabi/lib/libpmc/pmc.corei7.3
  projects/arm_eabi/lib/libpmc/pmc.corei7uc.3
  projects/arm_eabi/lib/libpmc/pmc.iaf.3
  projects/arm_eabi/lib/libpmc/pmc.k7.3
  projects/arm_eabi/lib/libpmc/pmc.k8.3
  projects/arm_eabi/lib/libpmc/pmc.mips.3
  projects/arm_eabi/lib/libpmc/pmc.p4.3
  projects/arm_eabi/lib/libpmc/pmc.p5.3
  projects/arm_eabi/lib/libpmc/pmc.p6.3
  projects/arm_eabi/lib/libpmc/pmc.tsc.3
  projects/arm_eabi/lib/libpmc/pmc.ucf.3
  projects/arm_eabi/lib/libpmc/pmc.westmere.3
  projects/arm_eabi/lib/libpmc/pmc.westmereuc.3
  projects/arm_eabi/lib/libpmc/pmc.xscale.3
  projects/arm_eabi/lib/libpmc/pmc_allocate.3
  projects/arm_eabi/lib/libpmc/pmc_attach.3
  projects/arm_eabi/lib/libpmc/pmc_capabilities.3
  projects/arm_eabi/lib/libpmc/pmc_configure_logfile.3
  projects/arm_eabi/lib/libpmc/pmc_disable.3
  projects/arm_eabi/lib/libpmc/pmc_event_names_of_class.3
  projects/arm_eabi/lib/libpmc/pmc_get_driver_stats.3
  projects/arm_eabi/lib/libpmc/pmc_get_msr.3
  projects/arm_eabi/lib/libpmc/pmc_init.3
  projects/arm_eabi/lib/libpmc/pmc_name_of_capability.3
  projects/arm_eabi/lib/libpmc/pmc_read.3
  projects/arm_eabi/lib/libpmc/pmc_set.3
  projects/arm_eabi/lib/libpmc/pmc_start.3
  projects/arm_eabi/lib/libpmc/pmclog.3
  projects/arm_eabi/lib/libprocstat/common_kvm.c
  projects/arm_eabi/lib/libradius/Makefile
  projects/arm_eabi/lib/libradius/libradius.3
  projects/arm_eabi/lib/libradius/radlib.c
  projects/arm_eabi/lib/libradius/radlib.h
  projects/arm_eabi/lib/libradius/radlib_private.h
  projects/arm_eabi/lib/librpcsvc/Makefile
  projects/arm_eabi/lib/libsm/Makefile
  projects/arm_eabi/lib/libstand/Makefile
  projects/arm_eabi/lib/libstand/bootp.c
  projects/arm_eabi/lib/libstand/tftp.c
  projects/arm_eabi/lib/libthr/arch/amd64/include/pthread_md.h
  projects/arm_eabi/lib/libthr/arch/arm/arm/pthread_md.c
  projects/arm_eabi/lib/libthr/arch/arm/include/pthread_md.h
  projects/arm_eabi/lib/libthr/arch/i386/include/pthread_md.h
  projects/arm_eabi/lib/libthr/arch/mips/include/pthread_md.h
  projects/arm_eabi/lib/libthr/arch/mips/mips/pthread_md.c
  projects/arm_eabi/lib/libthr/thread/thr_list.c
  projects/arm_eabi/lib/libthr/thread/thr_private.h
  projects/arm_eabi/lib/libthr/thread/thr_rwlock.c
  projects/arm_eabi/lib/libthr/thread/thr_sig.c
  projects/arm_eabi/lib/libthr/thread/thr_umtx.c
  projects/arm_eabi/lib/libthr/thread/thr_umtx.h
  projects/arm_eabi/lib/libthread_db/Makefile
  projects/arm_eabi/lib/libusb/libusb.3
  projects/arm_eabi/lib/libutil/Makefile
  projects/arm_eabi/lib/libutil/flopen.3
  projects/arm_eabi/lib/libutil/gr_util.c
  projects/arm_eabi/lib/libutil/kinfo_getproc.3
  projects/arm_eabi/lib/libutil/kld.3
  projects/arm_eabi/lib/libutil/libutil.h
  projects/arm_eabi/lib/libutil/login_class.c
  projects/arm_eabi/lib/libutil/pidfile.3
  projects/arm_eabi/lib/libutil/pidfile.c
  projects/arm_eabi/lib/libutil/property.3
  projects/arm_eabi/lib/libutil/pw_util.c
  projects/arm_eabi/lib/libutil/quotafile.c
  projects/arm_eabi/lib/libutil/realhostname.3
  projects/arm_eabi/lib/libvgl/bitmap.c
  projects/arm_eabi/lib/libvgl/keyboard.c
  projects/arm_eabi/lib/libvgl/main.c
  projects/arm_eabi/lib/libvgl/mouse.c
  projects/arm_eabi/lib/libvgl/simple.c
  projects/arm_eabi/lib/libvgl/text.c
  projects/arm_eabi/lib/libvgl/vgl.3
  projects/arm_eabi/lib/libvgl/vgl.h
  projects/arm_eabi/lib/libypclnt/Makefile
  projects/arm_eabi/lib/libz/Makefile
  projects/arm_eabi/lib/msun/Makefile
  projects/arm_eabi/lib/msun/arm/Symbol.map
  projects/arm_eabi/lib/msun/arm/fenv.c
  projects/arm_eabi/lib/msun/arm/fenv.h
  projects/arm_eabi/lib/msun/src/k_expf.c
  projects/arm_eabi/lib/msun/src/s_fabsl.c
  projects/arm_eabi/libexec/bootpd/bootpd.c
  projects/arm_eabi/libexec/bootpd/bootpgw/bootpgw.c
  projects/arm_eabi/libexec/bootpd/hash.h
  projects/arm_eabi/libexec/bootpd/tools/bootptest/bootptest.c
  projects/arm_eabi/libexec/bootpd/tools/bootptest/print-bootp.c
  projects/arm_eabi/libexec/ftpd/ftpcmd.y
  projects/arm_eabi/libexec/ftpd/ftpd.c
  projects/arm_eabi/libexec/ftpd/popen.c
  projects/arm_eabi/libexec/getty/chat.c
  projects/arm_eabi/libexec/getty/init.c
  projects/arm_eabi/libexec/lukemftpd/nbsd_pidfile.h
  projects/arm_eabi/libexec/mail.local/Makefile
  projects/arm_eabi/libexec/mknetid/parse_group.c
  projects/arm_eabi/libexec/pppoed/pppoed.c
  projects/arm_eabi/libexec/rbootd/parseconf.c
  projects/arm_eabi/libexec/rbootd/rbootd.c
  projects/arm_eabi/libexec/rbootd/rmpproto.c
  projects/arm_eabi/libexec/rbootd/utils.c
  projects/arm_eabi/libexec/revnetgroup/parse_netgroup.c
  projects/arm_eabi/libexec/rlogind/rlogind.c
  projects/arm_eabi/libexec/rshd/rshd.8
  projects/arm_eabi/libexec/rtld-aout/shlib.c
  projects/arm_eabi/libexec/rtld-elf/Makefile
  projects/arm_eabi/libexec/rtld-elf/Symbol.map
  projects/arm_eabi/libexec/rtld-elf/amd64/reloc.c
  projects/arm_eabi/libexec/rtld-elf/amd64/rtld_machdep.h
  projects/arm_eabi/libexec/rtld-elf/arm/reloc.c
  projects/arm_eabi/libexec/rtld-elf/arm/rtld_machdep.h
  projects/arm_eabi/libexec/rtld-elf/i386/reloc.c
  projects/arm_eabi/libexec/rtld-elf/i386/rtld_machdep.h
  projects/arm_eabi/libexec/rtld-elf/ia64/reloc.c
  projects/arm_eabi/libexec/rtld-elf/ia64/rtld_machdep.h
  projects/arm_eabi/libexec/rtld-elf/libmap.c
  projects/arm_eabi/libexec/rtld-elf/map_object.c
  projects/arm_eabi/libexec/rtld-elf/mips/reloc.c
  projects/arm_eabi/libexec/rtld-elf/mips/rtld_machdep.h
  projects/arm_eabi/libexec/rtld-elf/mips/rtld_start.S
  projects/arm_eabi/libexec/rtld-elf/powerpc/reloc.c
  projects/arm_eabi/libexec/rtld-elf/powerpc/rtld_machdep.h
  projects/arm_eabi/libexec/rtld-elf/powerpc64/reloc.c
  projects/arm_eabi/libexec/rtld-elf/powerpc64/rtld_machdep.h
  projects/arm_eabi/libexec/rtld-elf/rtld.c
  projects/arm_eabi/libexec/rtld-elf/rtld.h
  projects/arm_eabi/libexec/rtld-elf/rtld_printf.c
  projects/arm_eabi/libexec/rtld-elf/sparc64/reloc.c
  projects/arm_eabi/libexec/rtld-elf/sparc64/rtld_machdep.h
  projects/arm_eabi/libexec/smrsh/Makefile
  projects/arm_eabi/libexec/tftpd/tftp-io.c
  projects/arm_eabi/libexec/tftpd/tftp-utils.h
  projects/arm_eabi/libexec/ypxfr/Makefile
  projects/arm_eabi/libexec/ypxfr/ypxfr_getmap.c
  projects/arm_eabi/libexec/ypxfr/ypxfr_main.c
  projects/arm_eabi/libexec/ypxfr/ypxfr_misc.c
  projects/arm_eabi/release/Makefile
  projects/arm_eabi/release/doc/en_US.ISO8859-1/hardware/article.sgml
  projects/arm_eabi/release/doc/en_US.ISO8859-1/relnotes/article.sgml
  projects/arm_eabi/release/doc/share/misc/dev.archlist.txt
  projects/arm_eabi/release/doc/share/misc/man2hwnotes.pl
  projects/arm_eabi/release/generate-release.sh
  projects/arm_eabi/release/picobsd/build/Makefile.conf
  projects/arm_eabi/release/picobsd/build/picobsd
  projects/arm_eabi/release/picobsd/tinyware/passwd/Makefile
  projects/arm_eabi/release/picobsd/tinyware/passwd/local_passwd.c
  projects/arm_eabi/release/picobsd/tinyware/passwd/pw_copy.c
  projects/arm_eabi/release/picobsd/tinyware/simple_httpd/README
  projects/arm_eabi/release/rc.local
  projects/arm_eabi/rescue/rescue/Makefile
  projects/arm_eabi/sbin/adjkerntz/adjkerntz.8
  projects/arm_eabi/sbin/atm/atmconfig/diag.c
  projects/arm_eabi/sbin/bsdlabel/bsdlabel.8
  projects/arm_eabi/sbin/bsdlabel/bsdlabel.c
  projects/arm_eabi/sbin/camcontrol/Makefile
  projects/arm_eabi/sbin/camcontrol/camcontrol.c
  projects/arm_eabi/sbin/camcontrol/modeedit.c
  projects/arm_eabi/sbin/devd/devd.cc
  projects/arm_eabi/sbin/devd/devd.conf.5
  projects/arm_eabi/sbin/devd/devd.hh
  projects/arm_eabi/sbin/devfs/rule.c
  projects/arm_eabi/sbin/dhclient/clparse.c
  projects/arm_eabi/sbin/dhclient/dhclient-script.8
  projects/arm_eabi/sbin/dhclient/options.c
  projects/arm_eabi/sbin/dhclient/parse.c
  projects/arm_eabi/sbin/dump/main.c
  projects/arm_eabi/sbin/dumpfs/dumpfs.c
  projects/arm_eabi/sbin/fsck_ffs/fsck.h
  projects/arm_eabi/sbin/fsck_ffs/fsck_ffs.8
  projects/arm_eabi/sbin/fsck_ffs/fsutil.c
  projects/arm_eabi/sbin/fsck_ffs/gjournal.c
  projects/arm_eabi/sbin/fsck_ffs/pass2.c
  projects/arm_eabi/sbin/fsck_ffs/setup.c
  projects/arm_eabi/sbin/fsck_ffs/suj.c
  projects/arm_eabi/sbin/fsdb/fsdbutil.c
  projects/arm_eabi/sbin/fsirand/fsirand.c
  projects/arm_eabi/sbin/gbde/Makefile
  projects/arm_eabi/sbin/geom/class/eli/geli.8
  projects/arm_eabi/sbin/geom/class/part/geom_part.c
  projects/arm_eabi/sbin/geom/class/part/gpart.8
  projects/arm_eabi/sbin/geom/class/raid/graid.8
  projects/arm_eabi/sbin/geom/class/sched/gsched.8
  projects/arm_eabi/sbin/growfs/debug.c
  projects/arm_eabi/sbin/growfs/growfs.c
  projects/arm_eabi/sbin/gvinum/gvinum.c
  projects/arm_eabi/sbin/hastctl/Makefile
  projects/arm_eabi/sbin/hastctl/hastctl.8
  projects/arm_eabi/sbin/hastctl/hastctl.c
  projects/arm_eabi/sbin/hastd/Makefile
  projects/arm_eabi/sbin/hastd/activemap.c
  projects/arm_eabi/sbin/hastd/control.c
  projects/arm_eabi/sbin/hastd/ebuf.c
  projects/arm_eabi/sbin/hastd/event.c
  projects/arm_eabi/sbin/hastd/hast.conf.5
  projects/arm_eabi/sbin/hastd/hast_checksum.c
  projects/arm_eabi/sbin/hastd/hast_compression.c
  projects/arm_eabi/sbin/hastd/hast_proto.c
  projects/arm_eabi/sbin/hastd/hastd.c
  projects/arm_eabi/sbin/hastd/hooks.c
  projects/arm_eabi/sbin/hastd/lzf.h
  projects/arm_eabi/sbin/hastd/metadata.c
  projects/arm_eabi/sbin/hastd/nv.c
  projects/arm_eabi/sbin/hastd/parse.y
  projects/arm_eabi/sbin/hastd/pjdlog.h
  projects/arm_eabi/sbin/hastd/primary.c
  projects/arm_eabi/sbin/hastd/proto.c
  projects/arm_eabi/sbin/hastd/proto_common.c
  projects/arm_eabi/sbin/hastd/proto_socketpair.c
  projects/arm_eabi/sbin/hastd/proto_tcp.c
  projects/arm_eabi/sbin/hastd/proto_uds.c
  projects/arm_eabi/sbin/hastd/rangelock.c
  projects/arm_eabi/sbin/hastd/secondary.c
  projects/arm_eabi/sbin/hastd/subr.c
  projects/arm_eabi/sbin/hastd/subr.h
  projects/arm_eabi/sbin/hastd/token.l
  projects/arm_eabi/sbin/ifconfig/Makefile
  projects/arm_eabi/sbin/ifconfig/af_inet.c
  projects/arm_eabi/sbin/ifconfig/af_inet6.c
  projects/arm_eabi/sbin/ifconfig/ifconfig.8
  projects/arm_eabi/sbin/ifconfig/ifconfig.c
  projects/arm_eabi/sbin/ifconfig/ifconfig.h
  projects/arm_eabi/sbin/ifconfig/ifieee80211.c
  projects/arm_eabi/sbin/ifconfig/iflagg.c
  projects/arm_eabi/sbin/ifconfig/ifvlan.c
  projects/arm_eabi/sbin/init/init.8
  projects/arm_eabi/sbin/init/init.c
  projects/arm_eabi/sbin/ipf/Makefile.inc
  projects/arm_eabi/sbin/ipfw/dummynet.c
  projects/arm_eabi/sbin/ipfw/ipfw.8
  projects/arm_eabi/sbin/ipfw/ipfw2.c
  projects/arm_eabi/sbin/ipfw/main.c
  projects/arm_eabi/sbin/iscontrol/iscsi.conf.5
  projects/arm_eabi/sbin/mdconfig/mdconfig.c
  projects/arm_eabi/sbin/mdmfs/mdmfs.c
  projects/arm_eabi/sbin/mount/getmntopts.c
  projects/arm_eabi/sbin/mount/mntopts.h
  projects/arm_eabi/sbin/mount/mount.c
  projects/arm_eabi/sbin/mount/mount_fs.c
  projects/arm_eabi/sbin/mount_cd9660/mount_cd9660.c
  projects/arm_eabi/sbin/mount_ext2fs/mount_ext2fs.c
  projects/arm_eabi/sbin/mount_msdosfs/mount_msdosfs.c
  projects/arm_eabi/sbin/mount_nfs/mount_nfs.8
  projects/arm_eabi/sbin/mount_nfs/mount_nfs.c
  projects/arm_eabi/sbin/mount_ntfs/mount_ntfs.c
  projects/arm_eabi/sbin/mount_nullfs/mount_nullfs.c
  projects/arm_eabi/sbin/mount_reiserfs/mount_reiserfs.c
  projects/arm_eabi/sbin/mount_std/mount_std.c
  projects/arm_eabi/sbin/mount_udf/mount_udf.c
  projects/arm_eabi/sbin/mount_unionfs/mount_unionfs.c
  projects/arm_eabi/sbin/newfs/mkfs.c
  projects/arm_eabi/sbin/newfs/newfs.h
  projects/arm_eabi/sbin/newfs_msdos/newfs_msdos.8
  projects/arm_eabi/sbin/newfs_msdos/newfs_msdos.c
  projects/arm_eabi/sbin/ping6/ping6.c
  projects/arm_eabi/sbin/reboot/nextboot.8
  projects/arm_eabi/sbin/reboot/nextboot.sh
  projects/arm_eabi/sbin/recoverdisk/recoverdisk.1
  projects/arm_eabi/sbin/route/route.c
  projects/arm_eabi/sbin/routed/main.c
  projects/arm_eabi/sbin/routed/parms.c
  projects/arm_eabi/sbin/routed/radix.c
  projects/arm_eabi/sbin/routed/rtquery/Makefile
  projects/arm_eabi/sbin/routed/table.c
  projects/arm_eabi/sbin/shutdown/shutdown.c
  projects/arm_eabi/sbin/tunefs/tunefs.c
  projects/arm_eabi/secure/lib/libcrypt/crypt-blowfish.c
  projects/arm_eabi/share/doc/IPv6/IMPLEMENTATION
  projects/arm_eabi/share/examples/diskless/README.TEMPLATING
  projects/arm_eabi/share/examples/etc/make.conf
  projects/arm_eabi/share/examples/ppp/ppp.linkdown.sample
  projects/arm_eabi/share/examples/printing/hpvf
  projects/arm_eabi/share/examples/scsi_target/scsi_cmds.c
  projects/arm_eabi/share/man/man3/Makefile
  projects/arm_eabi/share/man/man3/pthread_getthreadid_np.3
  projects/arm_eabi/share/man/man3/tgmath.3
  projects/arm_eabi/share/man/man4/Makefile
  projects/arm_eabi/share/man/man4/acpi_panasonic.4
  projects/arm_eabi/share/man/man4/ada.4
  projects/arm_eabi/share/man/man4/agp.4
  projects/arm_eabi/share/man/man4/ahci.4
  projects/arm_eabi/share/man/man4/amdtemp.4
  projects/arm_eabi/share/man/man4/ata.4
  projects/arm_eabi/share/man/man4/ath.4
  projects/arm_eabi/share/man/man4/atrtc.4
  projects/arm_eabi/share/man/man4/attimer.4
  projects/arm_eabi/share/man/man4/bce.4
  projects/arm_eabi/share/man/man4/bge.4
  projects/arm_eabi/share/man/man4/carp.4
  projects/arm_eabi/share/man/man4/cd.4
  projects/arm_eabi/share/man/man4/ciss.4
  projects/arm_eabi/share/man/man4/cpufreq.4
  projects/arm_eabi/share/man/man4/cxgbe.4
  projects/arm_eabi/share/man/man4/da.4
  projects/arm_eabi/share/man/man4/ddb.4
  projects/arm_eabi/share/man/man4/ed.4
  projects/arm_eabi/share/man/man4/ehci.4
  projects/arm_eabi/share/man/man4/eventtimers.4
  projects/arm_eabi/share/man/man4/faith.4
  projects/arm_eabi/share/man/man4/ffclock.4
  projects/arm_eabi/share/man/man4/h_ertt.4
  projects/arm_eabi/share/man/man4/hpet.4
  projects/arm_eabi/share/man/man4/icmp6.4
  projects/arm_eabi/share/man/man4/inet.4
  projects/arm_eabi/share/man/man4/inet6.4
  projects/arm_eabi/share/man/man4/ip6.4
  projects/arm_eabi/share/man/man4/jme.4
  projects/arm_eabi/share/man/man4/lagg.4
  projects/arm_eabi/share/man/man4/lmc.4
  projects/arm_eabi/share/man/man4/lo.4
  projects/arm_eabi/share/man/man4/mac_lomac.4
  projects/arm_eabi/share/man/man4/man4.i386/CPU_ELAN.4
  projects/arm_eabi/share/man/man4/mem.4
  projects/arm_eabi/share/man/man4/mos.4
  projects/arm_eabi/share/man/man4/mps.4
  projects/arm_eabi/share/man/man4/mtio.4
  projects/arm_eabi/share/man/man4/natm.4
  projects/arm_eabi/share/man/man4/net80211.4
  projects/arm_eabi/share/man/man4/netintro.4
  projects/arm_eabi/share/man/man4/netmap.4
  projects/arm_eabi/share/man/man4/ng_async.4
  projects/arm_eabi/share/man/man4/ng_bridge.4
  projects/arm_eabi/share/man/man4/ng_btsocket.4
  projects/arm_eabi/share/man/man4/ng_car.4
  projects/arm_eabi/share/man/man4/ng_ccatm.4
  projects/arm_eabi/share/man/man4/ng_cisco.4
  projects/arm_eabi/share/man/man4/ng_etf.4
  projects/arm_eabi/share/man/man4/ng_hci.4
  projects/arm_eabi/share/man/man4/ng_ksocket.4
  projects/arm_eabi/share/man/man4/ng_l2cap.4
  projects/arm_eabi/share/man/man4/ng_l2tp.4
  projects/arm_eabi/share/man/man4/ng_mppc.4
  projects/arm_eabi/share/man/man4/ng_netflow.4
  projects/arm_eabi/share/man/man4/ng_one2many.4
  projects/arm_eabi/share/man/man4/ng_patch.4
  projects/arm_eabi/share/man/man4/ng_ppp.4
  projects/arm_eabi/share/man/man4/ng_pppoe.4
  projects/arm_eabi/share/man/man4/ng_pptpgre.4
  projects/arm_eabi/share/man/man4/pcm.4
  projects/arm_eabi/share/man/man4/ppi.4
  projects/arm_eabi/share/man/man4/sbp.4
  projects/arm_eabi/share/man/man4/sdhci.4
  projects/arm_eabi/share/man/man4/sfxge.4
  projects/arm_eabi/share/man/man4/snd_hda.4
  projects/arm_eabi/share/man/man4/tap.4
  projects/arm_eabi/share/man/man4/tcp.4
  projects/arm_eabi/share/man/man4/txp.4
  projects/arm_eabi/share/man/man4/u3g.4
  projects/arm_eabi/share/man/man4/umass.4
  projects/arm_eabi/share/man/man4/umcs.4
  projects/arm_eabi/share/man/man4/usb.4
  projects/arm_eabi/share/man/man4/usb_quirk.4
  projects/arm_eabi/share/man/man4/virtio.4
  projects/arm_eabi/share/man/man4/virtio_balloon.4
  projects/arm_eabi/share/man/man4/virtio_blk.4
  projects/arm_eabi/share/man/man4/vr.4
  projects/arm_eabi/share/man/man4/vtnet.4
  projects/arm_eabi/share/man/man4/wlan.4
  projects/arm_eabi/share/man/man5/Makefile
  projects/arm_eabi/share/man/man5/ar.5
  projects/arm_eabi/share/man/man5/devfs.5
  projects/arm_eabi/share/man/man5/fs.5
  projects/arm_eabi/share/man/man5/passwd.5
  projects/arm_eabi/share/man/man5/periodic.conf.5
  projects/arm_eabi/share/man/man5/portindex.5
  projects/arm_eabi/share/man/man5/rc.conf.5
  projects/arm_eabi/share/man/man5/src.conf.5
  projects/arm_eabi/share/man/man7/hier.7
  projects/arm_eabi/share/man/man7/ports.7
  projects/arm_eabi/share/man/man7/release.7
  projects/arm_eabi/share/man/man7/security.7
  projects/arm_eabi/share/man/man8/rc.8
  projects/arm_eabi/share/man/man8/rc.subr.8
  projects/arm_eabi/share/man/man9/DEVICE_PROBE.9
  projects/arm_eabi/share/man/man9/DEV_MODULE.9
  projects/arm_eabi/share/man/man9/LOCK_PROFILING.9
  projects/arm_eabi/share/man/man9/MD5.9
  projects/arm_eabi/share/man/man9/Makefile
  projects/arm_eabi/share/man/man9/bios.9
  projects/arm_eabi/share/man/man9/bus_dma.9
  projects/arm_eabi/share/man/man9/bus_space.9
  projects/arm_eabi/share/man/man9/byteorder.9
  projects/arm_eabi/share/man/man9/contigmalloc.9
  projects/arm_eabi/share/man/man9/crypto.9
  projects/arm_eabi/share/man/man9/device_set_flags.9
  projects/arm_eabi/share/man/man9/devstat.9
  projects/arm_eabi/share/man/man9/devtoname.9
  projects/arm_eabi/share/man/man9/domain.9
  projects/arm_eabi/share/man/man9/get_cyclecount.9
  projects/arm_eabi/share/man/man9/ifnet.9
  projects/arm_eabi/share/man/man9/kqueue.9
  projects/arm_eabi/share/man/man9/malloc.9
  projects/arm_eabi/share/man/man9/mbchain.9
  projects/arm_eabi/share/man/man9/mbuf_tags.9
  projects/arm_eabi/share/man/man9/mdchain.9
  projects/arm_eabi/share/man/man9/namei.9
  projects/arm_eabi/share/man/man9/netisr.9
  projects/arm_eabi/share/man/man9/pci.9
  projects/arm_eabi/share/man/man9/physio.9
  projects/arm_eabi/share/man/man9/random.9
  projects/arm_eabi/share/man/man9/rijndael.9
  projects/arm_eabi/share/man/man9/sbuf.9
  projects/arm_eabi/share/man/man9/shm_map.9
  projects/arm_eabi/share/man/man9/sysctl.9
  projects/arm_eabi/share/man/man9/taskqueue.9
  projects/arm_eabi/share/man/man9/uio.9
  projects/arm_eabi/share/man/man9/vcount.9
  projects/arm_eabi/share/man/man9/vm_page_alloc.9
  projects/arm_eabi/share/man/man9/vnode.9
  projects/arm_eabi/share/man/man9/zone.9
  projects/arm_eabi/share/misc/bsd-family-tree
  projects/arm_eabi/share/misc/committers-doc.dot
  projects/arm_eabi/share/misc/committers-ports.dot
  projects/arm_eabi/share/misc/committers-src.dot
  projects/arm_eabi/share/mk/bsd.crunchgen.mk
  projects/arm_eabi/share/mk/bsd.kmod.mk
  projects/arm_eabi/share/mk/bsd.own.mk
  projects/arm_eabi/share/mk/bsd.sys.mk
  projects/arm_eabi/share/termcap/termcap.src
  projects/arm_eabi/sys/Makefile
  projects/arm_eabi/sys/amd64/acpica/acpi_switch.S
  projects/arm_eabi/sys/amd64/acpica/acpi_wakecode.S
  projects/arm_eabi/sys/amd64/acpica/acpi_wakeup.c
  projects/arm_eabi/sys/amd64/amd64/apic_vector.S
  projects/arm_eabi/sys/amd64/amd64/cpu_switch.S
  projects/arm_eabi/sys/amd64/amd64/fpu.c
  projects/arm_eabi/sys/amd64/amd64/genassym.c
  projects/arm_eabi/sys/amd64/amd64/initcpu.c
  projects/arm_eabi/sys/amd64/amd64/machdep.c
  projects/arm_eabi/sys/amd64/amd64/minidump_machdep.c
  projects/arm_eabi/sys/amd64/amd64/mp_machdep.c
  projects/arm_eabi/sys/amd64/amd64/pmap.c
  projects/arm_eabi/sys/amd64/amd64/sys_machdep.c
  projects/arm_eabi/sys/amd64/amd64/trap.c
  projects/arm_eabi/sys/amd64/amd64/uma_machdep.c
  projects/arm_eabi/sys/amd64/amd64/vm_machdep.c
  projects/arm_eabi/sys/amd64/conf/DEFAULTS
  projects/arm_eabi/sys/amd64/conf/GENERIC
  projects/arm_eabi/sys/amd64/conf/GENERIC.hints
  projects/arm_eabi/sys/amd64/conf/NOTES
  projects/arm_eabi/sys/amd64/ia32/ia32_reg.c
  projects/arm_eabi/sys/amd64/ia32/ia32_signal.c
  projects/arm_eabi/sys/amd64/include/_limits.h
  projects/arm_eabi/sys/amd64/include/_stdint.h
  projects/arm_eabi/sys/amd64/include/_types.h
  projects/arm_eabi/sys/amd64/include/cpufunc.h
  projects/arm_eabi/sys/amd64/include/endian.h
  projects/arm_eabi/sys/amd64/include/float.h
  projects/arm_eabi/sys/amd64/include/fpu.h
  projects/arm_eabi/sys/amd64/include/frame.h
  projects/arm_eabi/sys/amd64/include/md_var.h
  projects/arm_eabi/sys/amd64/include/pcb.h
  projects/arm_eabi/sys/amd64/include/pcpu.h
  projects/arm_eabi/sys/amd64/include/ptrace.h
  projects/arm_eabi/sys/amd64/include/segments.h
  projects/arm_eabi/sys/amd64/include/setjmp.h
  projects/arm_eabi/sys/amd64/include/signal.h
  projects/arm_eabi/sys/amd64/include/specialreg.h
  projects/arm_eabi/sys/amd64/include/stdarg.h
  projects/arm_eabi/sys/amd64/include/sysarch.h
  projects/arm_eabi/sys/amd64/include/trap.h
  projects/arm_eabi/sys/amd64/include/ucontext.h
  projects/arm_eabi/sys/amd64/linux32/linux.h
  projects/arm_eabi/sys/amd64/linux32/linux32_dummy.c
  projects/arm_eabi/sys/amd64/linux32/linux32_proto.h
  projects/arm_eabi/sys/amd64/linux32/linux32_syscall.h
  projects/arm_eabi/sys/amd64/linux32/linux32_syscalls.c
  projects/arm_eabi/sys/amd64/linux32/linux32_sysent.c
  projects/arm_eabi/sys/amd64/linux32/linux32_systrace_args.c
  projects/arm_eabi/sys/amd64/linux32/linux32_sysvec.c
  projects/arm_eabi/sys/amd64/linux32/syscalls.master
  projects/arm_eabi/sys/arm/arm/busdma_machdep.c
  projects/arm_eabi/sys/arm/arm/machdep.c
  projects/arm_eabi/sys/arm/arm/pmap.c
  projects/arm_eabi/sys/arm/at91/at91_st.c
  projects/arm_eabi/sys/arm/conf/DEFAULTS
  projects/arm_eabi/sys/arm/conf/KB920X
  projects/arm_eabi/sys/arm/include/_types.h
  projects/arm_eabi/sys/arm/include/float.h
  projects/arm_eabi/sys/arm/include/pmap.h
  projects/arm_eabi/sys/arm/mv/mv_machdep.c
  projects/arm_eabi/sys/arm/mv/mvreg.h
  projects/arm_eabi/sys/arm/sa11x0/sa11x0_ost.c
  projects/arm_eabi/sys/arm/xscale/i8134x/crb_machdep.c
  projects/arm_eabi/sys/arm/xscale/ixp425/ixdp425_pci.c
  projects/arm_eabi/sys/arm/xscale/ixp425/ixp425_pci.c
  projects/arm_eabi/sys/arm/xscale/ixp425/ixp425var.h
  projects/arm_eabi/sys/boot/common/interp_parse.c
  projects/arm_eabi/sys/boot/common/loader.8
  projects/arm_eabi/sys/boot/common/ufsread.c
  projects/arm_eabi/sys/boot/fdt/dts/db78100.dts
  projects/arm_eabi/sys/boot/ficl/fileaccess.c
  projects/arm_eabi/sys/boot/ficl/i386/sysdep.h
  projects/arm_eabi/sys/boot/forth/loader.4th
  projects/arm_eabi/sys/boot/forth/loader.conf
  projects/arm_eabi/sys/boot/forth/menu.4th
  projects/arm_eabi/sys/boot/forth/menu.4th.8
  projects/arm_eabi/sys/boot/forth/menu.rc
  projects/arm_eabi/sys/boot/i386/boot0/Makefile
  projects/arm_eabi/sys/boot/i386/boot0/boot0.S
  projects/arm_eabi/sys/boot/i386/boot2/Makefile
  projects/arm_eabi/sys/boot/i386/boot2/boot1.S
  projects/arm_eabi/sys/boot/i386/boot2/boot2.c
  projects/arm_eabi/sys/boot/i386/btx/btx/Makefile
  projects/arm_eabi/sys/boot/i386/btx/btxldr/Makefile
  projects/arm_eabi/sys/boot/i386/gptboot/Makefile
  projects/arm_eabi/sys/boot/i386/gptzfsboot/Makefile
  projects/arm_eabi/sys/boot/i386/libi386/Makefile
  projects/arm_eabi/sys/boot/i386/libi386/biospci.c
  projects/arm_eabi/sys/boot/i386/libi386/comconsole.c
  projects/arm_eabi/sys/boot/i386/libi386/libi386.h
  projects/arm_eabi/sys/boot/i386/libi386/pxe.c
  projects/arm_eabi/sys/boot/i386/libi386/time.c
  projects/arm_eabi/sys/boot/i386/libi386/vidconsole.c
  projects/arm_eabi/sys/boot/i386/pxeldr/Makefile
  projects/arm_eabi/sys/boot/i386/zfsboot/Makefile
  projects/arm_eabi/sys/boot/ofw/common/main.c
  projects/arm_eabi/sys/boot/ofw/libofw/ofw_net.c
  projects/arm_eabi/sys/boot/pc98/boot2/boot1.S
  projects/arm_eabi/sys/boot/pc98/boot2/boot2.c
  projects/arm_eabi/sys/boot/pc98/btx/btx/Makefile
  projects/arm_eabi/sys/boot/pc98/btx/btxldr/Makefile
  projects/arm_eabi/sys/boot/pc98/libpc98/comconsole.c
  projects/arm_eabi/sys/boot/pc98/loader/Makefile
  projects/arm_eabi/sys/boot/powerpc/boot1.chrp/Makefile
  projects/arm_eabi/sys/boot/powerpc/boot1.chrp/boot1.c
  projects/arm_eabi/sys/boot/powerpc/ps3/ps3mmu.c
  projects/arm_eabi/sys/boot/userboot/libstand/Makefile
  projects/arm_eabi/sys/cam/ata/ata_da.c
  projects/arm_eabi/sys/cam/ata/ata_xpt.c
  projects/arm_eabi/sys/cam/cam_ccb.h
  projects/arm_eabi/sys/cam/cam_periph.c
  projects/arm_eabi/sys/cam/cam_periph.h
  projects/arm_eabi/sys/cam/cam_xpt.c
  projects/arm_eabi/sys/cam/cam_xpt_internal.h
  projects/arm_eabi/sys/cam/scsi/scsi_all.c
  projects/arm_eabi/sys/cam/scsi/scsi_all.h
  projects/arm_eabi/sys/cam/scsi/scsi_cd.c
  projects/arm_eabi/sys/cam/scsi/scsi_da.c
  projects/arm_eabi/sys/cam/scsi/scsi_da.h
  projects/arm_eabi/sys/cam/scsi/scsi_sa.c
  projects/arm_eabi/sys/cam/scsi/scsi_ses.c
  projects/arm_eabi/sys/cam/scsi/scsi_sg.c
  projects/arm_eabi/sys/cam/scsi/scsi_targ_bh.c
  projects/arm_eabi/sys/cam/scsi/scsi_xpt.c
  projects/arm_eabi/sys/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c
  projects/arm_eabi/sys/cddl/compat/opensolaris/sys/kmem.h
  projects/arm_eabi/sys/cddl/compat/opensolaris/sys/sid.h
  projects/arm_eabi/sys/cddl/compat/opensolaris/sys/vnode.h
  projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c
  projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c
  projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
  projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c
  projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h
  projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h
  projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h
  projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
  projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c
  projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
  projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c
  projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
  projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
  projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c
  projects/arm_eabi/sys/compat/freebsd32/freebsd32.h
  projects/arm_eabi/sys/compat/freebsd32/freebsd32_misc.c
  projects/arm_eabi/sys/compat/freebsd32/freebsd32_proto.h
  projects/arm_eabi/sys/compat/freebsd32/freebsd32_signal.h
  projects/arm_eabi/sys/compat/freebsd32/freebsd32_syscall.h
  projects/arm_eabi/sys/compat/freebsd32/freebsd32_syscalls.c
  projects/arm_eabi/sys/compat/freebsd32/freebsd32_sysent.c
  projects/arm_eabi/sys/compat/freebsd32/freebsd32_systrace_args.c
  projects/arm_eabi/sys/compat/freebsd32/syscalls.master
  projects/arm_eabi/sys/compat/ia32/ia32_signal.h
  projects/arm_eabi/sys/compat/linprocfs/linprocfs.c
  projects/arm_eabi/sys/compat/linsysfs/linsysfs.c
  projects/arm_eabi/sys/compat/linux/linux_file.c
  projects/arm_eabi/sys/compat/linux/linux_ioctl.c
  projects/arm_eabi/sys/compat/linux/linux_ipc.c
  projects/arm_eabi/sys/compat/linux/linux_misc.c
  projects/arm_eabi/sys/compat/linux/linux_signal.c
  projects/arm_eabi/sys/compat/linux/linux_socket.c
  projects/arm_eabi/sys/compat/linux/linux_stats.c
  projects/arm_eabi/sys/compat/linux/linux_util.c
  projects/arm_eabi/sys/compat/linux/linux_util.h
  projects/arm_eabi/sys/compat/ndis/subr_hal.c
  projects/arm_eabi/sys/compat/ndis/subr_ndis.c
  projects/arm_eabi/sys/compat/ndis/subr_ntoskrnl.c
  projects/arm_eabi/sys/compat/svr4/imgact_svr4.c
  projects/arm_eabi/sys/conf/Makefile.amd64
  projects/arm_eabi/sys/conf/Makefile.i386
  projects/arm_eabi/sys/conf/Makefile.mips
  projects/arm_eabi/sys/conf/NOTES
  projects/arm_eabi/sys/conf/files
  projects/arm_eabi/sys/conf/files.amd64
  projects/arm_eabi/sys/conf/files.i386
  projects/arm_eabi/sys/conf/files.mips
  projects/arm_eabi/sys/conf/files.pc98
  projects/arm_eabi/sys/conf/files.powerpc
  projects/arm_eabi/sys/conf/kern.mk
  projects/arm_eabi/sys/conf/kern.pre.mk
  projects/arm_eabi/sys/conf/kmod.mk
  projects/arm_eabi/sys/conf/ldscript.powerpc64
  projects/arm_eabi/sys/conf/newvers.sh
  projects/arm_eabi/sys/conf/options
  projects/arm_eabi/sys/conf/options.amd64
  projects/arm_eabi/sys/conf/options.i386
  projects/arm_eabi/sys/conf/options.mips
  projects/arm_eabi/sys/contrib/dev/acpica/acpica_prep.sh
  projects/arm_eabi/sys/contrib/dev/acpica/changes.txt   (contents, props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/common/adfile.c
  projects/arm_eabi/sys/contrib/dev/acpica/common/adisasm.c
  projects/arm_eabi/sys/contrib/dev/acpica/common/adwalk.c
  projects/arm_eabi/sys/contrib/dev/acpica/common/dmextern.c
  projects/arm_eabi/sys/contrib/dev/acpica/common/dmrestag.c
  projects/arm_eabi/sys/contrib/dev/acpica/common/dmtable.c
  projects/arm_eabi/sys/contrib/dev/acpica/common/dmtbdump.c
  projects/arm_eabi/sys/contrib/dev/acpica/common/dmtbinfo.c
  projects/arm_eabi/sys/contrib/dev/acpica/common/getopt.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslanalyze.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslbtypes.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslcodegen.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslcompile.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslcompiler.h
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslcompiler.l
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslcompiler.y
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/asldefine.h
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslerror.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslfiles.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslfold.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslglobal.h
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/asllength.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/asllisting.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslload.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/asllookup.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslmain.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslmap.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslmessages.h
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslopcodes.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/asloperands.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslopt.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslpredef.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslresource.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslrestype1.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslrestype1i.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslrestype2.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslrestype2d.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslrestype2e.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslrestype2q.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslrestype2s.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslrestype2w.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslstartup.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslstubs.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/asltransform.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/asltree.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/asltypes.h
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslutils.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/asluuid.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/aslwalks.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/dtcompile.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/dtcompiler.h
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/dtexpress.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/dtfield.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/dtio.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/dtparser.l
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/dtparser.y
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/dtsubtable.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/dttable.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/dttemplate.c
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/dttemplate.h
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/dtutils.c
  projects/arm_eabi/sys/contrib/dev/acpica/include/acapps.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/accommon.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acconfig.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acdebug.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acdisasm.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acdispat.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acevents.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acexcep.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acglobal.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/achware.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acinterp.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/aclocal.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acmacros.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acnames.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acnamesp.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acobject.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acopcode.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acoutput.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acparser.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acpi.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acpiosxf.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acpixf.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acpredef.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acresrc.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acrestyp.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acstruct.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/actables.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/actbl.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/actbl1.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/actbl2.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/actbl3.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/actypes.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/acutils.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/amlcode.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/amlresrc.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/platform/acenv.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/platform/acfreebsd.h
  projects/arm_eabi/sys/contrib/dev/acpica/include/platform/acgcc.h
  projects/arm_eabi/sys/contrib/dev/acpica/os_specific/service_layers/osunixxf.c
  projects/arm_eabi/sys/contrib/dev/npe/LICENSE
  projects/arm_eabi/sys/contrib/dev/nve/amd64/nvenetlib.README
  projects/arm_eabi/sys/contrib/dev/nve/i386/nvenetlib.README
  projects/arm_eabi/sys/contrib/ngatm/netnatm/msg/uni_ie.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmip.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-abi.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-access-native.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-access.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-address.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-agl-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-app-hotplug.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-app-hotplug.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-app-init-linux.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-app-init.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-app-init.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-asm.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-asx0-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-asxx-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-atomic.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-bootloader.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-bootmem.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-bootmem.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-ciu-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-clock.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-clock.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-cmd-queue.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-cmd-queue.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-cn3010-evb-hs5.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-cn3010-evb-hs5.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-compactflash.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-compactflash.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-core.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-core.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-coremask.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-coremask.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-crypto.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-crypto.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-csr-enums.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-csr-typedefs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-csr.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-dbg-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-debug-handler.S
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-debug-remote.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-debug-uart.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-debug.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-debug.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-dfa-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-dfa.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-dfa.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-dfm-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-dma-engine.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-dma-engine.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-dpi-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-ebt3000.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-ebt3000.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-fau.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-flash.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-flash.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-fpa-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-fpa.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-fpa.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-gmx.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-gmxx-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-gpio-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-gpio.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-board.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-board.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-check-defines.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-errata.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-errata.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-fpa.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-fpa.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-jtag.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-jtag.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-loop.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-loop.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-npi.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-npi.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-rgmii.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-rgmii.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-sgmii.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-sgmii.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-spi.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-spi.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-srio.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-srio.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-util.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-util.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-xaui.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper-xaui.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-helper.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-higig.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-interrupt-handler.S
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-interrupt.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-interrupt.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-iob-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-ipd-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-ipd.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-ixf18201.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-ixf18201.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-key-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-key.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-l2c-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-l2c.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-l2c.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-l2d-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-l2t-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-led-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-llm.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-llm.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-lmcx-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-log-arc.S
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-log.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-log.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-malloc.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-mdio.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-mgmt-port.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-mgmt-port.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-mio-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-mixx-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-mpi-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-nand.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-nand.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-ndf-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-npei-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-npi-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-npi.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-packet.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pci-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pci.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pcie.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pcie.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pcieepx-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pciercx-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pcm-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pcmx-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pcsx-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pcsxx-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pemx-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pescx-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pexp-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pip-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pip.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pko-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pko.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pko.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-platform.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pow-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pow.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-pow.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-power-throttle.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-power-throttle.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-rad-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-raid.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-raid.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-rng.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-rnm-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-rtc.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-rwlock.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-scratch.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-shmem.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-shmem.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-sim-magic.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-sli-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-smi-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-smix-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-spi.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-spi.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-spi4000.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-spinlock.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-spx0-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-spxx-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-srio.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-srio.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-sriomaintx-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-sriox-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-srxx-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-stxx-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-swap.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-sysinfo.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-sysinfo.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-thunder.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-thunder.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-tim-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-tim.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-tim.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-tlb.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-tlb.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-tra-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-tra.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-tra.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-twsi.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-twsi.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-uahcx-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-uart.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-uart.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-uctlx-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-usb.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-usb.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-usbcx-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-usbd.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-usbd.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-usbnx-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-utils.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-version.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-warn.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-warn.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-wqe.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-zip-defs.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-zip.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-zip.h
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx-zone.c
  projects/arm_eabi/sys/contrib/octeon-sdk/cvmx.h
  projects/arm_eabi/sys/contrib/octeon-sdk/octeon-boot-info.h
  projects/arm_eabi/sys/contrib/octeon-sdk/octeon-feature.h
  projects/arm_eabi/sys/contrib/octeon-sdk/octeon-model.c
  projects/arm_eabi/sys/contrib/octeon-sdk/octeon-model.h
  projects/arm_eabi/sys/contrib/octeon-sdk/octeon-pci-console.c
  projects/arm_eabi/sys/contrib/octeon-sdk/octeon-pci-console.h
  projects/arm_eabi/sys/contrib/pf/net/if_pfsync.c
  projects/arm_eabi/sys/contrib/pf/net/pf.c
  projects/arm_eabi/sys/contrib/pf/net/pf_ioctl.c
  projects/arm_eabi/sys/contrib/pf/net/pf_lb.c
  projects/arm_eabi/sys/contrib/pf/net/pf_norm.c
  projects/arm_eabi/sys/contrib/pf/net/pf_table.c
  projects/arm_eabi/sys/contrib/pf/net/pfvar.h
  projects/arm_eabi/sys/contrib/rdma/ib_addr.h
  projects/arm_eabi/sys/crypto/aesni/aesni.c
  projects/arm_eabi/sys/crypto/aesni/aesni.h
  projects/arm_eabi/sys/crypto/aesni/aesni_wrap.c
  projects/arm_eabi/sys/crypto/via/padlock.c
  projects/arm_eabi/sys/crypto/via/padlock.h
  projects/arm_eabi/sys/crypto/via/padlock_cipher.c
  projects/arm_eabi/sys/crypto/via/padlock_hash.c
  projects/arm_eabi/sys/ddb/db_command.c
  projects/arm_eabi/sys/ddb/db_input.c
  projects/arm_eabi/sys/ddb/db_ps.c
  projects/arm_eabi/sys/ddb/db_thread.c
  projects/arm_eabi/sys/ddb/ddb.h
  projects/arm_eabi/sys/dev/aac/aac.c
  projects/arm_eabi/sys/dev/aac/aac_pci.c
  projects/arm_eabi/sys/dev/acpi_support/atk0110.c
  projects/arm_eabi/sys/dev/acpica/Osd/OsdMemory.c
  projects/arm_eabi/sys/dev/acpica/Osd/OsdSchedule.c
  projects/arm_eabi/sys/dev/acpica/Osd/OsdSynch.c
  projects/arm_eabi/sys/dev/acpica/Osd/OsdTable.c
  projects/arm_eabi/sys/dev/acpica/acpi.c
  projects/arm_eabi/sys/dev/acpica/acpi_ec.c
  projects/arm_eabi/sys/dev/acpica/acpi_hpet.c
  projects/arm_eabi/sys/dev/acpica/acpi_pci.c
  projects/arm_eabi/sys/dev/acpica/acpi_pcib_acpi.c
  projects/arm_eabi/sys/dev/acpica/acpi_timer.c
  projects/arm_eabi/sys/dev/acpica/acpivar.h
  projects/arm_eabi/sys/dev/advansys/adv_eisa.c
  projects/arm_eabi/sys/dev/advansys/adv_isa.c
  projects/arm_eabi/sys/dev/advansys/adv_pci.c
  projects/arm_eabi/sys/dev/advansys/adw_pci.c
  projects/arm_eabi/sys/dev/ahb/ahb.c
  projects/arm_eabi/sys/dev/ahci/ahci.c
  projects/arm_eabi/sys/dev/ahci/ahci.h
  projects/arm_eabi/sys/dev/aic7xxx/ahc_eisa.c
  projects/arm_eabi/sys/dev/aic7xxx/ahc_isa.c
  projects/arm_eabi/sys/dev/aic7xxx/ahc_pci.c
  projects/arm_eabi/sys/dev/aic7xxx/ahd_pci.c
  projects/arm_eabi/sys/dev/aic7xxx/aicasm/aicasm_macro_scan.l
  projects/arm_eabi/sys/dev/aic7xxx/aicasm/aicasm_scan.l
  projects/arm_eabi/sys/dev/amdtemp/amdtemp.c
  projects/arm_eabi/sys/dev/amr/amr_pci.c
  projects/arm_eabi/sys/dev/an/if_an.c
  projects/arm_eabi/sys/dev/an/if_an_pci.c
  projects/arm_eabi/sys/dev/arcmsr/arcmsr.c
  projects/arm_eabi/sys/dev/asr/asr.c
  projects/arm_eabi/sys/dev/ata/ata-all.c
  projects/arm_eabi/sys/dev/ata/ata-all.h
  projects/arm_eabi/sys/dev/ata/ata-card.c
  projects/arm_eabi/sys/dev/ata/ata-cbus.c
  projects/arm_eabi/sys/dev/ata/ata-disk.c
  projects/arm_eabi/sys/dev/ata/ata-disk.h
  projects/arm_eabi/sys/dev/ata/ata-dma.c
  projects/arm_eabi/sys/dev/ata/ata-isa.c
  projects/arm_eabi/sys/dev/ata/ata-lowlevel.c
  projects/arm_eabi/sys/dev/ata/ata-pci.c
  projects/arm_eabi/sys/dev/ata/ata-pci.h
  projects/arm_eabi/sys/dev/ata/ata-queue.c
  projects/arm_eabi/sys/dev/ata/ata-raid.c
  projects/arm_eabi/sys/dev/ata/ata-raid.h
  projects/arm_eabi/sys/dev/ata/ata-sata.c
  projects/arm_eabi/sys/dev/ata/ata_if.m
  projects/arm_eabi/sys/dev/ata/atapi-cam.c
  projects/arm_eabi/sys/dev/ata/atapi-cd.c
  projects/arm_eabi/sys/dev/ata/atapi-cd.h
  projects/arm_eabi/sys/dev/ata/atapi-fd.c
  projects/arm_eabi/sys/dev/ata/atapi-fd.h
  projects/arm_eabi/sys/dev/ata/atapi-tape.c
  projects/arm_eabi/sys/dev/ata/atapi-tape.h
  projects/arm_eabi/sys/dev/ata/chipsets/ata-acard.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-acerlabs.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-adaptec.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-ahci.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-amd.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-ati.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-cenatek.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-cypress.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-cyrix.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-highpoint.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-intel.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-ite.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-jmicron.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-marvell.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-micron.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-national.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-netcell.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-nvidia.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-promise.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-serverworks.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-siliconimage.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-sis.c
  projects/arm_eabi/sys/dev/ata/chipsets/ata-via.c
  projects/arm_eabi/sys/dev/ath/ath_dfs/null/dfs_null.c
  projects/arm_eabi/sys/dev/ath/ath_hal/ah.c
  projects/arm_eabi/sys/dev/ath/ath_hal/ah.h
  projects/arm_eabi/sys/dev/ath/ath_hal/ah_desc.h
  projects/arm_eabi/sys/dev/ath/ath_hal/ah_internal.h
  projects/arm_eabi/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c
  projects/arm_eabi/sys/dev/ath/ath_hal/ar5210/ar5210reg.h
  projects/arm_eabi/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c
  projects/arm_eabi/sys/dev/ath/ath_hal/ar5211/ar5211reg.h
  projects/arm_eabi/sys/dev/ath/ath_hal/ar5212/ar5212.h
  projects/arm_eabi/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c
  projects/arm_eabi/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c
  projects/arm_eabi/sys/dev/ath/ath_hal/ar5416/ar5416.h
  projects/arm_eabi/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
  projects/arm_eabi/sys/dev/ath/ath_hal/ar5416/ar5416_gpio.c
  projects/arm_eabi/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c
  projects/arm_eabi/sys/dev/ath/ath_hal/ar5416/ar5416reg.h
  projects/arm_eabi/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c
  projects/arm_eabi/sys/dev/ath/ath_hal/ar9001/ar9130_eeprom.c
  projects/arm_eabi/sys/dev/ath/ath_hal/ar9001/ar9130_eeprom.h
  projects/arm_eabi/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c
  projects/arm_eabi/sys/dev/ath/ath_hal/ar9002/ar9287.h
  projects/arm_eabi/sys/dev/ath/ath_rate/sample/sample.c
  projects/arm_eabi/sys/dev/ath/ath_rate/sample/sample.h
  projects/arm_eabi/sys/dev/ath/if_ath.c
  projects/arm_eabi/sys/dev/ath/if_ath_sysctl.c
  projects/arm_eabi/sys/dev/ath/if_ath_tx.c
  projects/arm_eabi/sys/dev/ath/if_athdfs.h
  projects/arm_eabi/sys/dev/ath/if_athioctl.h
  projects/arm_eabi/sys/dev/ath/if_athvar.h
  projects/arm_eabi/sys/dev/bfe/if_bfe.c
  projects/arm_eabi/sys/dev/bge/if_bge.c
  projects/arm_eabi/sys/dev/bge/if_bgereg.h
  projects/arm_eabi/sys/dev/bm/if_bm.c
  projects/arm_eabi/sys/dev/buslogic/bt_pci.c
  projects/arm_eabi/sys/dev/bwi/if_bwi.c
  projects/arm_eabi/sys/dev/bwn/if_bwn.c
  projects/arm_eabi/sys/dev/bxe/bxe_hsi.h
  projects/arm_eabi/sys/dev/bxe/if_bxe.c
  projects/arm_eabi/sys/dev/cardbus/cardbus.c
  projects/arm_eabi/sys/dev/ce/if_ce.c
  projects/arm_eabi/sys/dev/cesa/cesa.c
  projects/arm_eabi/sys/dev/cfe/cfe_console.c
  projects/arm_eabi/sys/dev/ciss/ciss.c
  projects/arm_eabi/sys/dev/cp/if_cp.c
  projects/arm_eabi/sys/dev/cxgb/common/cxgb_aq100x.c
  projects/arm_eabi/sys/dev/cxgb/cxgb_adapter.h
  projects/arm_eabi/sys/dev/cxgb/cxgb_main.c
  projects/arm_eabi/sys/dev/cxgb/cxgb_sge.c
  projects/arm_eabi/sys/dev/cxgbe/adapter.h
  projects/arm_eabi/sys/dev/cxgbe/common/common.h
  projects/arm_eabi/sys/dev/cxgbe/common/t4_hw.c
  projects/arm_eabi/sys/dev/cxgbe/common/t4_hw.h
  projects/arm_eabi/sys/dev/cxgbe/offload.h
  projects/arm_eabi/sys/dev/cxgbe/osdep.h
  projects/arm_eabi/sys/dev/cxgbe/t4_ioctl.h
  projects/arm_eabi/sys/dev/cxgbe/t4_l2t.c
  projects/arm_eabi/sys/dev/cxgbe/t4_l2t.h
  projects/arm_eabi/sys/dev/cxgbe/t4_main.c
  projects/arm_eabi/sys/dev/cxgbe/t4_sge.c
  projects/arm_eabi/sys/dev/dcons/dcons_os.c
  projects/arm_eabi/sys/dev/de/if_de.c
  projects/arm_eabi/sys/dev/dpt/dpt_pci.c
  projects/arm_eabi/sys/dev/dpt/dpt_scsi.c
  projects/arm_eabi/sys/dev/drm/mga_drv.h
  projects/arm_eabi/sys/dev/drm/radeon_state.c
  projects/arm_eabi/sys/dev/e1000/README
  projects/arm_eabi/sys/dev/e1000/if_em.c
  projects/arm_eabi/sys/dev/e1000/if_igb.c
  projects/arm_eabi/sys/dev/e1000/if_igb.h
  projects/arm_eabi/sys/dev/e1000/if_lem.c
  projects/arm_eabi/sys/dev/en/midway.c
  projects/arm_eabi/sys/dev/ep/if_ep.c
  projects/arm_eabi/sys/dev/et/if_et.c
  projects/arm_eabi/sys/dev/ex/if_ex.c
  projects/arm_eabi/sys/dev/ex/if_exreg.h
  projects/arm_eabi/sys/dev/fb/boot_font.c
  projects/arm_eabi/sys/dev/fb/splash_pcx.c
  projects/arm_eabi/sys/dev/fb/vesa.c
  projects/arm_eabi/sys/dev/fb/vesa.h
  projects/arm_eabi/sys/dev/fb/vga.c
  projects/arm_eabi/sys/dev/fdt/fdt_common.c
  projects/arm_eabi/sys/dev/fdt/fdt_common.h
  projects/arm_eabi/sys/dev/fdt/fdt_pci.c
  projects/arm_eabi/sys/dev/fdt/fdtbus.c
  projects/arm_eabi/sys/dev/fdt/simplebus.c
  projects/arm_eabi/sys/dev/fe/if_fe.c
  projects/arm_eabi/sys/dev/firewire/if_fwe.c
  projects/arm_eabi/sys/dev/firewire/sbp_targ.c
  projects/arm_eabi/sys/dev/flash/mx25l.c
  projects/arm_eabi/sys/dev/fxp/if_fxp.c
  projects/arm_eabi/sys/dev/glxsb/glxsb.c
  projects/arm_eabi/sys/dev/gpio/gpioiic.c
  projects/arm_eabi/sys/dev/hatm/if_hatm.c
  projects/arm_eabi/sys/dev/hifn/hifn7751.c
  projects/arm_eabi/sys/dev/hptiop/hptiop.c
  projects/arm_eabi/sys/dev/hptmv/entry.c
  projects/arm_eabi/sys/dev/hptmv/readme.txt
  projects/arm_eabi/sys/dev/hwpmc/hwpmc_amd.c
  projects/arm_eabi/sys/dev/hwpmc/hwpmc_core.c
  projects/arm_eabi/sys/dev/hwpmc/hwpmc_intel.c
  projects/arm_eabi/sys/dev/hwpmc/hwpmc_mips.c
  projects/arm_eabi/sys/dev/hwpmc/hwpmc_mips24k.c
  projects/arm_eabi/sys/dev/hwpmc/hwpmc_powerpc.c
  projects/arm_eabi/sys/dev/hwpmc/hwpmc_uncore.c
  projects/arm_eabi/sys/dev/hwpmc/hwpmc_uncore.h
  projects/arm_eabi/sys/dev/hwpmc/hwpmc_x86.c
  projects/arm_eabi/sys/dev/hwpmc/pmc_events.h
  projects/arm_eabi/sys/dev/ichwd/ichwd.c
  projects/arm_eabi/sys/dev/ichwd/ichwd.h
  projects/arm_eabi/sys/dev/ida/ida_pci.c
  projects/arm_eabi/sys/dev/ie/if_ie.c
  projects/arm_eabi/sys/dev/ieee488/ibfoo.c
  projects/arm_eabi/sys/dev/ieee488/pcii.c
  projects/arm_eabi/sys/dev/ieee488/upd7210.c
  projects/arm_eabi/sys/dev/ieee488/upd7210.h
  projects/arm_eabi/sys/dev/if_ndis/if_ndis.c
  projects/arm_eabi/sys/dev/if_ndis/if_ndis_pccard.c
  projects/arm_eabi/sys/dev/if_ndis/if_ndis_pci.c
  projects/arm_eabi/sys/dev/iicbus/ds1775.c
  projects/arm_eabi/sys/dev/iicbus/iicbb.c
  projects/arm_eabi/sys/dev/iicbus/iicbb_if.m
  projects/arm_eabi/sys/dev/iir/iir_pci.c
  projects/arm_eabi/sys/dev/ips/ips_pci.c
  projects/arm_eabi/sys/dev/ipw/if_ipw.c
  projects/arm_eabi/sys/dev/ipw/if_ipwvar.h
  projects/arm_eabi/sys/dev/iscsi/initiator/isc_sm.c
  projects/arm_eabi/sys/dev/isp/isp_freebsd.c
  projects/arm_eabi/sys/dev/isp/isp_freebsd.h
  projects/arm_eabi/sys/dev/iwi/if_iwi.c
  projects/arm_eabi/sys/dev/iwn/if_iwn.c
  projects/arm_eabi/sys/dev/ixgb/if_ixgb.c
  projects/arm_eabi/sys/dev/ixgbe/ixgbe.c
  projects/arm_eabi/sys/dev/ixgbe/ixgbe.h
  projects/arm_eabi/sys/dev/ixgbe/ixgbe_82598.c
  projects/arm_eabi/sys/dev/ixgbe/ixgbe_82599.c
  projects/arm_eabi/sys/dev/ixgbe/ixgbe_api.c
  projects/arm_eabi/sys/dev/ixgbe/ixgbe_api.h
  projects/arm_eabi/sys/dev/ixgbe/ixgbe_common.c
  projects/arm_eabi/sys/dev/ixgbe/ixgbe_common.h
  projects/arm_eabi/sys/dev/ixgbe/ixgbe_mbx.c
  projects/arm_eabi/sys/dev/ixgbe/ixgbe_mbx.h
  projects/arm_eabi/sys/dev/ixgbe/ixgbe_osdep.h
  projects/arm_eabi/sys/dev/ixgbe/ixgbe_phy.c
  projects/arm_eabi/sys/dev/ixgbe/ixgbe_phy.h
  projects/arm_eabi/sys/dev/ixgbe/ixgbe_type.h
  projects/arm_eabi/sys/dev/ixgbe/ixgbe_vf.c
  projects/arm_eabi/sys/dev/ixgbe/ixgbe_vf.h
  projects/arm_eabi/sys/dev/ixgbe/ixv.c
  projects/arm_eabi/sys/dev/ixgbe/ixv.h
  projects/arm_eabi/sys/dev/lge/if_lge.c
  projects/arm_eabi/sys/dev/lmc/if_lmc.c
  projects/arm_eabi/sys/dev/malo/if_malo.c
  projects/arm_eabi/sys/dev/mfi/mfi_pci.c
  projects/arm_eabi/sys/dev/mge/if_mge.c
  projects/arm_eabi/sys/dev/mge/if_mgevar.h
  projects/arm_eabi/sys/dev/mii/brgphy.c
  projects/arm_eabi/sys/dev/mii/miidevs
  projects/arm_eabi/sys/dev/mii/nsphyter.c
  projects/arm_eabi/sys/dev/mii/rgephy.c
  projects/arm_eabi/sys/dev/mii/smcphy.c
  projects/arm_eabi/sys/dev/mlx/mlx.c
  projects/arm_eabi/sys/dev/mlx/mlx_pci.c
  projects/arm_eabi/sys/dev/mly/mly.c
  projects/arm_eabi/sys/dev/mps/mpi/mpi2.h
  projects/arm_eabi/sys/dev/mps/mpi/mpi2_cnfg.h
  projects/arm_eabi/sys/dev/mps/mpi/mpi2_hbd.h
  projects/arm_eabi/sys/dev/mps/mpi/mpi2_history.txt
  projects/arm_eabi/sys/dev/mps/mpi/mpi2_init.h
  projects/arm_eabi/sys/dev/mps/mpi/mpi2_ioc.h
  projects/arm_eabi/sys/dev/mps/mpi/mpi2_ra.h
  projects/arm_eabi/sys/dev/mps/mpi/mpi2_raid.h
  projects/arm_eabi/sys/dev/mps/mpi/mpi2_sas.h
  projects/arm_eabi/sys/dev/mps/mpi/mpi2_targ.h
  projects/arm_eabi/sys/dev/mps/mpi/mpi2_tool.h
  projects/arm_eabi/sys/dev/mps/mpi/mpi2_type.h
  projects/arm_eabi/sys/dev/mps/mps.c
  projects/arm_eabi/sys/dev/mps/mps_ioctl.h
  projects/arm_eabi/sys/dev/mps/mps_pci.c
  projects/arm_eabi/sys/dev/mps/mps_sas.c
  projects/arm_eabi/sys/dev/mps/mps_table.c
  projects/arm_eabi/sys/dev/mps/mps_user.c
  projects/arm_eabi/sys/dev/mps/mpsvar.h
  projects/arm_eabi/sys/dev/mpt/mpilib/mpi_type.h
  projects/arm_eabi/sys/dev/mpt/mpt.c
  projects/arm_eabi/sys/dev/mpt/mpt.h
  projects/arm_eabi/sys/dev/mpt/mpt_cam.c
  projects/arm_eabi/sys/dev/mpt/mpt_pci.c
  projects/arm_eabi/sys/dev/mpt/mpt_reg.h
  projects/arm_eabi/sys/dev/msk/if_msk.c
  projects/arm_eabi/sys/dev/mvs/mvs.h
  projects/arm_eabi/sys/dev/mvs/mvs_soc.c
  projects/arm_eabi/sys/dev/mwl/if_mwl.c
  projects/arm_eabi/sys/dev/mxge/if_mxge.c
  projects/arm_eabi/sys/dev/my/if_my.c
  projects/arm_eabi/sys/dev/netmap/if_em_netmap.h
  projects/arm_eabi/sys/dev/netmap/if_igb_netmap.h
  projects/arm_eabi/sys/dev/netmap/if_lem_netmap.h
  projects/arm_eabi/sys/dev/netmap/if_re_netmap.h
  projects/arm_eabi/sys/dev/netmap/ixgbe_netmap.h
  projects/arm_eabi/sys/dev/netmap/netmap.c
  projects/arm_eabi/sys/dev/netmap/netmap_kern.h
  projects/arm_eabi/sys/dev/nfe/if_nfe.c
  projects/arm_eabi/sys/dev/null/null.c
  projects/arm_eabi/sys/dev/nve/if_nve.c
  projects/arm_eabi/sys/dev/nxge/include/xgehal-channel.h
  projects/arm_eabi/sys/dev/nxge/include/xgehal-config.h
  projects/arm_eabi/sys/dev/nxge/xgehal/xgehal-fifo-fp.c
  projects/arm_eabi/sys/dev/ofw/ofw_console.c
  projects/arm_eabi/sys/dev/ofw/openfirm.c
  projects/arm_eabi/sys/dev/patm/if_patm_attach.c
  projects/arm_eabi/sys/dev/pccbb/pccbb.c
  projects/arm_eabi/sys/dev/pci/hostb_pci.c
  projects/arm_eabi/sys/dev/pci/pci.c
  projects/arm_eabi/sys/dev/pci/pci_if.m
  projects/arm_eabi/sys/dev/pci/pci_private.h
  projects/arm_eabi/sys/dev/pci/pcireg.h
  projects/arm_eabi/sys/dev/pci/pcivar.h
  projects/arm_eabi/sys/dev/pci/vga_pci.c
  projects/arm_eabi/sys/dev/pcn/if_pcn.c
  projects/arm_eabi/sys/dev/pst/pst-iop.c
  projects/arm_eabi/sys/dev/pst/pst-iop.h
  projects/arm_eabi/sys/dev/pst/pst-pci.c
  projects/arm_eabi/sys/dev/pst/pst-raid.c
  projects/arm_eabi/sys/dev/qlxgb/qla_misc.c
  projects/arm_eabi/sys/dev/qlxgb/qla_os.c
  projects/arm_eabi/sys/dev/ral/rt2560.c
  projects/arm_eabi/sys/dev/ral/rt2661.c
  projects/arm_eabi/sys/dev/random/harvest.c
  projects/arm_eabi/sys/dev/random/nehemiah.c
  projects/arm_eabi/sys/dev/random/probe.c
  projects/arm_eabi/sys/dev/re/if_re.c
  projects/arm_eabi/sys/dev/rt/if_rt.c
  projects/arm_eabi/sys/dev/safe/safe.c
  projects/arm_eabi/sys/dev/sdhci/sdhci.c
  projects/arm_eabi/sys/dev/sdhci/sdhci.h
  projects/arm_eabi/sys/dev/sf/if_sf.c
  projects/arm_eabi/sys/dev/sf/if_sfreg.h
  projects/arm_eabi/sys/dev/sfxge/sfxge_port.c
  projects/arm_eabi/sys/dev/siba/siba_bwn.c
  projects/arm_eabi/sys/dev/siba/siba_core.c
  projects/arm_eabi/sys/dev/sio/sio.c
  projects/arm_eabi/sys/dev/sis/if_sis.c
  projects/arm_eabi/sys/dev/sk/if_sk.c
  projects/arm_eabi/sys/dev/sn/if_sn.c
  projects/arm_eabi/sys/dev/snc/dp83932.c
  projects/arm_eabi/sys/dev/sound/pci/csa.c
  projects/arm_eabi/sys/dev/sound/pci/csareg.h
  projects/arm_eabi/sys/dev/sound/pci/ds1-fw.h
  projects/arm_eabi/sys/dev/sound/pci/emu10k1.c
  projects/arm_eabi/sys/dev/sound/pci/emu10kx-midi.c
  projects/arm_eabi/sys/dev/sound/pci/emu10kx-pcm.c
  projects/arm_eabi/sys/dev/sound/pci/emu10kx.c
  projects/arm_eabi/sys/dev/sound/pci/emu10kx.h
  projects/arm_eabi/sys/dev/sound/pci/hda/hda_reg.h
  projects/arm_eabi/sys/dev/sound/pci/hda/hdac.c
  projects/arm_eabi/sys/dev/sound/pci/hda/hdac.h
  projects/arm_eabi/sys/dev/sound/pci/hda/hdac_private.h
  projects/arm_eabi/sys/dev/sound/pci/hda/hdac_reg.h
  projects/arm_eabi/sys/dev/sound/pci/maestro3.c
  projects/arm_eabi/sys/dev/sound/pcm/buffer.c
  projects/arm_eabi/sys/dev/sound/pcm/buffer.h
  projects/arm_eabi/sys/dev/sound/pcm/channel.c
  projects/arm_eabi/sys/dev/sound/pcm/mixer.c
  projects/arm_eabi/sys/dev/sound/pcm/sound.c
  projects/arm_eabi/sys/dev/sound/usb/uaudio.c
  projects/arm_eabi/sys/dev/stge/if_stge.c
  projects/arm_eabi/sys/dev/syscons/blank/blank_saver.c
  projects/arm_eabi/sys/dev/syscons/fade/fade_saver.c
  projects/arm_eabi/sys/dev/syscons/green/green_saver.c
  projects/arm_eabi/sys/dev/syscons/logo/logo_saver.c
  projects/arm_eabi/sys/dev/syscons/rain/rain_saver.c
  projects/arm_eabi/sys/dev/syscons/schistory.c
  projects/arm_eabi/sys/dev/syscons/snake/snake_saver.c
  projects/arm_eabi/sys/dev/syscons/star/star_saver.c
  projects/arm_eabi/sys/dev/syscons/syscons.c
  projects/arm_eabi/sys/dev/syscons/syscons.h
  projects/arm_eabi/sys/dev/syscons/warp/warp_saver.c
  projects/arm_eabi/sys/dev/tl/if_tl.c
  projects/arm_eabi/sys/dev/trm/trm.c
  projects/arm_eabi/sys/dev/tsec/if_tsec.c
  projects/arm_eabi/sys/dev/tsec/if_tsec.h
  projects/arm_eabi/sys/dev/tsec/if_tsec_fdt.c
  projects/arm_eabi/sys/dev/twa/tw_osl.h
  projects/arm_eabi/sys/dev/twa/tw_osl_freebsd.c
  projects/arm_eabi/sys/dev/twe/twe_freebsd.c
  projects/arm_eabi/sys/dev/tws/tws.c
  projects/arm_eabi/sys/dev/uart/uart_bus_fdt.c
  projects/arm_eabi/sys/dev/uart/uart_bus_pci.c
  projects/arm_eabi/sys/dev/uart/uart_cpu_sparc64.c
  projects/arm_eabi/sys/dev/uart/uart_tty.c
  projects/arm_eabi/sys/dev/ubsec/ubsec.c
  projects/arm_eabi/sys/dev/usb/controller/usb_controller.c
  projects/arm_eabi/sys/dev/usb/controller/xhci.c
  projects/arm_eabi/sys/dev/usb/controller/xhci.h
  projects/arm_eabi/sys/dev/usb/input/ukbd.c
  projects/arm_eabi/sys/dev/usb/net/if_axe.c
  projects/arm_eabi/sys/dev/usb/net/if_mos.c
  projects/arm_eabi/sys/dev/usb/net/if_mosreg.h
  projects/arm_eabi/sys/dev/usb/net/usb_ethernet.c
  projects/arm_eabi/sys/dev/usb/quirk/usb_quirk.c
  projects/arm_eabi/sys/dev/usb/serial/u3g.c
  projects/arm_eabi/sys/dev/usb/serial/ucycom.c
  projects/arm_eabi/sys/dev/usb/serial/uftdi.c
  projects/arm_eabi/sys/dev/usb/serial/usb_serial.c
  projects/arm_eabi/sys/dev/usb/serial/usb_serial.h
  projects/arm_eabi/sys/dev/usb/storage/umass.c
  projects/arm_eabi/sys/dev/usb/usb.h
  projects/arm_eabi/sys/dev/usb/usb_dev.c
  projects/arm_eabi/sys/dev/usb/usb_hub.c
  projects/arm_eabi/sys/dev/usb/usb_request.c
  projects/arm_eabi/sys/dev/usb/usb_request.h
  projects/arm_eabi/sys/dev/usb/usb_transfer.c
  projects/arm_eabi/sys/dev/usb/usbdevs
  projects/arm_eabi/sys/dev/usb/wlan/if_rum.c
  projects/arm_eabi/sys/dev/usb/wlan/if_run.c
  projects/arm_eabi/sys/dev/usb/wlan/if_uath.c
  projects/arm_eabi/sys/dev/usb/wlan/if_upgt.c
  projects/arm_eabi/sys/dev/usb/wlan/if_ural.c
  projects/arm_eabi/sys/dev/usb/wlan/if_urtw.c
  projects/arm_eabi/sys/dev/usb/wlan/if_zyd.c
  projects/arm_eabi/sys/dev/vge/if_vge.c
  projects/arm_eabi/sys/dev/viawd/viawd.c
  projects/arm_eabi/sys/dev/viawd/viawd.h
  projects/arm_eabi/sys/dev/virtio/pci/virtio_pci.c
  projects/arm_eabi/sys/dev/vx/if_vx.c
  projects/arm_eabi/sys/dev/vxge/include/vxgehal-ll.h
  projects/arm_eabi/sys/dev/vxge/vxge.c
  projects/arm_eabi/sys/dev/wb/if_wb.c
  projects/arm_eabi/sys/dev/wds/wd7000.c
  projects/arm_eabi/sys/dev/wi/if_wi.c
  projects/arm_eabi/sys/dev/wpi/if_wpi.c
  projects/arm_eabi/sys/dev/xen/blkback/blkback.c
  projects/arm_eabi/sys/dev/xen/blkfront/blkfront.c
  projects/arm_eabi/sys/dev/xen/blkfront/block.h
  projects/arm_eabi/sys/dev/xen/console/console.c
  projects/arm_eabi/sys/dev/xen/netback/netback.c
  projects/arm_eabi/sys/dev/xen/netfront/netfront.c
  projects/arm_eabi/sys/dev/xen/xenpci/evtchn.c
  projects/arm_eabi/sys/fs/cd9660/cd9660_vfsops.c
  projects/arm_eabi/sys/fs/cd9660/cd9660_vnops.c
  projects/arm_eabi/sys/fs/devfs/devfs.h
  projects/arm_eabi/sys/fs/devfs/devfs_devs.c
  projects/arm_eabi/sys/fs/devfs/devfs_rule.c
  projects/arm_eabi/sys/fs/devfs/devfs_vfsops.c
  projects/arm_eabi/sys/fs/devfs/devfs_vnops.c
  projects/arm_eabi/sys/fs/ext2fs/ext2_alloc.c
  projects/arm_eabi/sys/fs/ext2fs/ext2_balloc.c
  projects/arm_eabi/sys/fs/ext2fs/ext2_bmap.c
  projects/arm_eabi/sys/fs/ext2fs/ext2_dinode.h
  projects/arm_eabi/sys/fs/ext2fs/ext2_extern.h
  projects/arm_eabi/sys/fs/ext2fs/ext2_inode.c
  projects/arm_eabi/sys/fs/ext2fs/ext2_inode_cnv.c
  projects/arm_eabi/sys/fs/ext2fs/ext2_lookup.c
  projects/arm_eabi/sys/fs/ext2fs/ext2_subr.c
  projects/arm_eabi/sys/fs/ext2fs/ext2_vfsops.c
  projects/arm_eabi/sys/fs/ext2fs/ext2_vnops.c
  projects/arm_eabi/sys/fs/ext2fs/ext2fs.h
  projects/arm_eabi/sys/fs/ext2fs/fs.h
  projects/arm_eabi/sys/fs/ext2fs/inode.h
  projects/arm_eabi/sys/fs/fdescfs/fdesc_vfsops.c
  projects/arm_eabi/sys/fs/fifofs/fifo_vnops.c
  projects/arm_eabi/sys/fs/hpfs/hpfs_vfsops.c
  projects/arm_eabi/sys/fs/msdosfs/msdosfs_conv.c
  projects/arm_eabi/sys/fs/msdosfs/msdosfs_denode.c
  projects/arm_eabi/sys/fs/msdosfs/msdosfs_lookup.c
  projects/arm_eabi/sys/fs/msdosfs/msdosfs_vfsops.c
  projects/arm_eabi/sys/fs/msdosfs/msdosfs_vnops.c
  projects/arm_eabi/sys/fs/nfs/nfs_commonkrpc.c
  projects/arm_eabi/sys/fs/nfs/nfs_commonport.c
  projects/arm_eabi/sys/fs/nfs/nfs_commonsubs.c
  projects/arm_eabi/sys/fs/nfs/nfsport.h
  projects/arm_eabi/sys/fs/nfsclient/nfs_clbio.c
  projects/arm_eabi/sys/fs/nfsclient/nfs_clkrpc.c
  projects/arm_eabi/sys/fs/nfsclient/nfs_clnode.c
  projects/arm_eabi/sys/fs/nfsclient/nfs_clport.c
  projects/arm_eabi/sys/fs/nfsclient/nfs_clrpcops.c
  projects/arm_eabi/sys/fs/nfsclient/nfs_clstate.c
  projects/arm_eabi/sys/fs/nfsclient/nfs_clvfsops.c
  projects/arm_eabi/sys/fs/nfsclient/nfs_clvnops.c
  projects/arm_eabi/sys/fs/nfsclient/nfsmount.h
  projects/arm_eabi/sys/fs/nfsclient/nfsnode.h
  projects/arm_eabi/sys/fs/nfsserver/nfs_nfsdcache.c
  projects/arm_eabi/sys/fs/nfsserver/nfs_nfsdport.c
  projects/arm_eabi/sys/fs/nfsserver/nfs_nfsdstate.c
  projects/arm_eabi/sys/fs/ntfs/ntfs.h
  projects/arm_eabi/sys/fs/ntfs/ntfs_compr.c
  projects/arm_eabi/sys/fs/ntfs/ntfs_subr.c
  projects/arm_eabi/sys/fs/ntfs/ntfs_subr.h
  projects/arm_eabi/sys/fs/ntfs/ntfs_vfsops.c
  projects/arm_eabi/sys/fs/ntfs/ntfs_vnops.c
  projects/arm_eabi/sys/fs/nullfs/null_subr.c
  projects/arm_eabi/sys/fs/nullfs/null_vfsops.c
  projects/arm_eabi/sys/fs/nullfs/null_vnops.c
  projects/arm_eabi/sys/fs/nwfs/nwfs_vfsops.c
  projects/arm_eabi/sys/fs/nwfs/nwfs_vnops.c
  projects/arm_eabi/sys/fs/portalfs/portal_vfsops.c
  projects/arm_eabi/sys/fs/procfs/procfs.c
  projects/arm_eabi/sys/fs/procfs/procfs_ioctl.c
  projects/arm_eabi/sys/fs/procfs/procfs_status.c
  projects/arm_eabi/sys/fs/pseudofs/pseudofs.c
  projects/arm_eabi/sys/fs/pseudofs/pseudofs.h
  projects/arm_eabi/sys/fs/pseudofs/pseudofs_fileno.c
  projects/arm_eabi/sys/fs/pseudofs/pseudofs_internal.h
  projects/arm_eabi/sys/fs/pseudofs/pseudofs_vncache.c
  projects/arm_eabi/sys/fs/pseudofs/pseudofs_vnops.c
  projects/arm_eabi/sys/fs/smbfs/smbfs_vfsops.c
  projects/arm_eabi/sys/fs/smbfs/smbfs_vnops.c
  projects/arm_eabi/sys/fs/tmpfs/tmpfs.h
  projects/arm_eabi/sys/fs/tmpfs/tmpfs_subr.c
  projects/arm_eabi/sys/fs/tmpfs/tmpfs_vfsops.c
  projects/arm_eabi/sys/fs/tmpfs/tmpfs_vnops.c
  projects/arm_eabi/sys/fs/udf/udf_vnops.c
  projects/arm_eabi/sys/fs/unionfs/union_subr.c
  projects/arm_eabi/sys/fs/unionfs/union_vfsops.c
  projects/arm_eabi/sys/gdb/gdb_cons.c
  projects/arm_eabi/sys/geom/eli/g_eli.c
  projects/arm_eabi/sys/geom/geom_bsd.c
  projects/arm_eabi/sys/geom/geom_mbr.c
  projects/arm_eabi/sys/geom/geom_pc98.c
  projects/arm_eabi/sys/geom/journal/g_journal.c
  projects/arm_eabi/sys/geom/mountver/g_mountver.c
  projects/arm_eabi/sys/geom/part/g_part.c
  projects/arm_eabi/sys/geom/part/g_part_apm.c
  projects/arm_eabi/sys/geom/part/g_part_bsd.c
  projects/arm_eabi/sys/geom/part/g_part_ebr.c
  projects/arm_eabi/sys/geom/part/g_part_mbr.c
  projects/arm_eabi/sys/geom/raid/md_intel.c
  projects/arm_eabi/sys/gnu/fs/reiserfs/reiserfs_fs.h
  projects/arm_eabi/sys/gnu/fs/reiserfs/reiserfs_fs_i.h
  projects/arm_eabi/sys/gnu/fs/reiserfs/reiserfs_fs_sb.h
  projects/arm_eabi/sys/gnu/fs/reiserfs/reiserfs_hashes.c
  projects/arm_eabi/sys/gnu/fs/reiserfs/reiserfs_inode.c
  projects/arm_eabi/sys/gnu/fs/reiserfs/reiserfs_item_ops.c
  projects/arm_eabi/sys/gnu/fs/reiserfs/reiserfs_mount.h
  projects/arm_eabi/sys/gnu/fs/reiserfs/reiserfs_namei.c
  projects/arm_eabi/sys/gnu/fs/reiserfs/reiserfs_prints.c
  projects/arm_eabi/sys/gnu/fs/reiserfs/reiserfs_stree.c
  projects/arm_eabi/sys/gnu/fs/reiserfs/reiserfs_vfsops.c
  projects/arm_eabi/sys/gnu/fs/reiserfs/reiserfs_vnops.c
  projects/arm_eabi/sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c
  projects/arm_eabi/sys/gnu/fs/xfs/xfs_vfsops.c
  projects/arm_eabi/sys/i386/acpica/acpi_wakeup.c
  projects/arm_eabi/sys/i386/conf/DEFAULTS
  projects/arm_eabi/sys/i386/conf/GENERIC
  projects/arm_eabi/sys/i386/conf/GENERIC.hints
  projects/arm_eabi/sys/i386/conf/NOTES
  projects/arm_eabi/sys/i386/conf/PAE
  projects/arm_eabi/sys/i386/conf/XBOX
  projects/arm_eabi/sys/i386/conf/XEN
  projects/arm_eabi/sys/i386/i386/exception.s
  projects/arm_eabi/sys/i386/i386/initcpu.c
  projects/arm_eabi/sys/i386/i386/locore.s
  projects/arm_eabi/sys/i386/i386/machdep.c
  projects/arm_eabi/sys/i386/i386/mp_machdep.c
  projects/arm_eabi/sys/i386/i386/pmap.c
  projects/arm_eabi/sys/i386/i386/sys_machdep.c
  projects/arm_eabi/sys/i386/i386/trap.c
  projects/arm_eabi/sys/i386/ibcs2/coff.h
  projects/arm_eabi/sys/i386/ibcs2/ibcs2_isc.c
  projects/arm_eabi/sys/i386/ibcs2/ibcs2_socksys.c
  projects/arm_eabi/sys/i386/ibcs2/ibcs2_stat.c
  projects/arm_eabi/sys/i386/ibcs2/ibcs2_sysi86.c
  projects/arm_eabi/sys/i386/ibcs2/ibcs2_xenix.c
  projects/arm_eabi/sys/i386/ibcs2/imgact_coff.c
  projects/arm_eabi/sys/i386/include/_limits.h
  projects/arm_eabi/sys/i386/include/_stdint.h
  projects/arm_eabi/sys/i386/include/_types.h
  projects/arm_eabi/sys/i386/include/apicvar.h
  projects/arm_eabi/sys/i386/include/asm.h
  projects/arm_eabi/sys/i386/include/endian.h
  projects/arm_eabi/sys/i386/include/float.h
  projects/arm_eabi/sys/i386/include/intr_machdep.h
  projects/arm_eabi/sys/i386/include/npx.h
  projects/arm_eabi/sys/i386/include/pcaudioio.h
  projects/arm_eabi/sys/i386/include/ptrace.h
  projects/arm_eabi/sys/i386/include/segments.h
  projects/arm_eabi/sys/i386/include/setjmp.h
  projects/arm_eabi/sys/i386/include/signal.h
  projects/arm_eabi/sys/i386/include/specialreg.h
  projects/arm_eabi/sys/i386/include/stdarg.h
  projects/arm_eabi/sys/i386/include/sysarch.h
  projects/arm_eabi/sys/i386/include/trap.h
  projects/arm_eabi/sys/i386/include/ucontext.h
  projects/arm_eabi/sys/i386/include/xen/xenpmap.h
  projects/arm_eabi/sys/i386/include/xen/xenvar.h
  projects/arm_eabi/sys/i386/isa/npx.c
  projects/arm_eabi/sys/i386/linux/imgact_linux.c
  projects/arm_eabi/sys/i386/linux/linux.h
  projects/arm_eabi/sys/i386/linux/linux_dummy.c
  projects/arm_eabi/sys/i386/linux/linux_proto.h
  projects/arm_eabi/sys/i386/linux/linux_syscall.h
  projects/arm_eabi/sys/i386/linux/linux_syscalls.c
  projects/arm_eabi/sys/i386/linux/linux_sysent.c
  projects/arm_eabi/sys/i386/linux/linux_systrace_args.c
  projects/arm_eabi/sys/i386/linux/linux_sysvec.c
  projects/arm_eabi/sys/i386/linux/syscalls.master
  projects/arm_eabi/sys/i386/xen/mp_machdep.c
  projects/arm_eabi/sys/i386/xen/pmap.c
  projects/arm_eabi/sys/ia64/conf/DEFAULTS
  projects/arm_eabi/sys/ia64/conf/GENERIC
  projects/arm_eabi/sys/ia64/ia64/busdma_machdep.c
  projects/arm_eabi/sys/ia64/ia64/machdep.c
  projects/arm_eabi/sys/ia64/ia64/ssc.c
  projects/arm_eabi/sys/ia64/ia64/vm_machdep.c
  projects/arm_eabi/sys/ia64/include/float.h
  projects/arm_eabi/sys/kern/imgact_elf.c
  projects/arm_eabi/sys/kern/imgact_gzip.c
  projects/arm_eabi/sys/kern/init_main.c
  projects/arm_eabi/sys/kern/kern_clock.c
  projects/arm_eabi/sys/kern/kern_clocksource.c
  projects/arm_eabi/sys/kern/kern_conf.c
  projects/arm_eabi/sys/kern/kern_cons.c
  projects/arm_eabi/sys/kern/kern_cpu.c
  projects/arm_eabi/sys/kern/kern_ctf.c
  projects/arm_eabi/sys/kern/kern_descrip.c
  projects/arm_eabi/sys/kern/kern_exec.c
  projects/arm_eabi/sys/kern/kern_exit.c
  projects/arm_eabi/sys/kern/kern_fork.c
  projects/arm_eabi/sys/kern/kern_gzio.c
  projects/arm_eabi/sys/kern/kern_intr.c
  projects/arm_eabi/sys/kern/kern_jail.c
  projects/arm_eabi/sys/kern/kern_kthread.c
  projects/arm_eabi/sys/kern/kern_ktr.c
  projects/arm_eabi/sys/kern/kern_ktrace.c
  projects/arm_eabi/sys/kern/kern_linker.c
  projects/arm_eabi/sys/kern/kern_lock.c
  projects/arm_eabi/sys/kern/kern_malloc.c
  projects/arm_eabi/sys/kern/kern_ntptime.c
  projects/arm_eabi/sys/kern/kern_proc.c
  projects/arm_eabi/sys/kern/kern_prot.c
  projects/arm_eabi/sys/kern/kern_racct.c
  projects/arm_eabi/sys/kern/kern_resource.c
  projects/arm_eabi/sys/kern/kern_shutdown.c
  projects/arm_eabi/sys/kern/kern_tc.c
  projects/arm_eabi/sys/kern/kern_thr.c
  projects/arm_eabi/sys/kern/kern_thread.c
  projects/arm_eabi/sys/kern/kern_umtx.c
  projects/arm_eabi/sys/kern/kern_uuid.c
  projects/arm_eabi/sys/kern/link_elf.c
  projects/arm_eabi/sys/kern/link_elf_obj.c
  projects/arm_eabi/sys/kern/sched_4bsd.c
  projects/arm_eabi/sys/kern/sched_ule.c
  projects/arm_eabi/sys/kern/subr_bus.c
  projects/arm_eabi/sys/kern/subr_hash.c
  projects/arm_eabi/sys/kern/subr_hints.c
  projects/arm_eabi/sys/kern/subr_kdb.c
  projects/arm_eabi/sys/kern/subr_log.c
  projects/arm_eabi/sys/kern/subr_mchain.c
  projects/arm_eabi/sys/kern/subr_msgbuf.c
  projects/arm_eabi/sys/kern/subr_scanf.c
  projects/arm_eabi/sys/kern/subr_syscall.c
  projects/arm_eabi/sys/kern/subr_uio.c
  projects/arm_eabi/sys/kern/subr_witness.c
  projects/arm_eabi/sys/kern/sys_capability.c
  projects/arm_eabi/sys/kern/sys_generic.c
  projects/arm_eabi/sys/kern/sys_pipe.c
  projects/arm_eabi/sys/kern/sys_process.c
  projects/arm_eabi/sys/kern/sysv_shm.c
  projects/arm_eabi/sys/kern/tty.c
  projects/arm_eabi/sys/kern/tty_info.c
  projects/arm_eabi/sys/kern/tty_inq.c
  projects/arm_eabi/sys/kern/tty_ttydisc.c
  projects/arm_eabi/sys/kern/uipc_domain.c
  projects/arm_eabi/sys/kern/uipc_mbuf.c
  projects/arm_eabi/sys/kern/uipc_mqueue.c
  projects/arm_eabi/sys/kern/uipc_shm.c
  projects/arm_eabi/sys/kern/uipc_socket.c
  projects/arm_eabi/sys/kern/uipc_syscalls.c
  projects/arm_eabi/sys/kern/uipc_usrreq.c
  projects/arm_eabi/sys/kern/vfs_aio.c
  projects/arm_eabi/sys/kern/vfs_bio.c
  projects/arm_eabi/sys/kern/vfs_cache.c
  projects/arm_eabi/sys/kern/vfs_cluster.c
  projects/arm_eabi/sys/kern/vfs_default.c
  projects/arm_eabi/sys/kern/vfs_extattr.c
  projects/arm_eabi/sys/kern/vfs_lookup.c
  projects/arm_eabi/sys/kern/vfs_mount.c
  projects/arm_eabi/sys/kern/vfs_mountroot.c
  projects/arm_eabi/sys/kern/vfs_subr.c
  projects/arm_eabi/sys/kern/vfs_syscalls.c
  projects/arm_eabi/sys/kern/vfs_vnops.c
  projects/arm_eabi/sys/kern/vnode_if.src
  projects/arm_eabi/sys/libkern/fnmatch.c
  projects/arm_eabi/sys/mips/adm5120/adm5120_machdep.c
  projects/arm_eabi/sys/mips/adm5120/console.c
  projects/arm_eabi/sys/mips/adm5120/std.adm5120
  projects/arm_eabi/sys/mips/alchemy/alchemy_machdep.c
  projects/arm_eabi/sys/mips/alchemy/std.alchemy
  projects/arm_eabi/sys/mips/atheros/apb.c
  projects/arm_eabi/sys/mips/atheros/ar71xx_gpio.c
  projects/arm_eabi/sys/mips/atheros/ar71xx_machdep.c
  projects/arm_eabi/sys/mips/atheros/ar71xx_pci.c
  projects/arm_eabi/sys/mips/atheros/ar724x_pci.c
  projects/arm_eabi/sys/mips/atheros/if_arge.c
  projects/arm_eabi/sys/mips/atheros/std.ar71xx
  projects/arm_eabi/sys/mips/cavium/ciu.c
  projects/arm_eabi/sys/mips/cavium/cryptocteon/cavium_crypto.c
  projects/arm_eabi/sys/mips/cavium/files.octeon1
  projects/arm_eabi/sys/mips/cavium/if_octm.c
  projects/arm_eabi/sys/mips/cavium/obio.c
  projects/arm_eabi/sys/mips/cavium/octe/ethernet-common.c
  projects/arm_eabi/sys/mips/cavium/octe/ethernet-common.h
  projects/arm_eabi/sys/mips/cavium/octe/ethernet-rgmii.c
  projects/arm_eabi/sys/mips/cavium/octe/ethernet-rx.c
  projects/arm_eabi/sys/mips/cavium/octe/ethernet-sgmii.c
  projects/arm_eabi/sys/mips/cavium/octe/ethernet-spi.c
  projects/arm_eabi/sys/mips/cavium/octe/ethernet-xaui.c
  projects/arm_eabi/sys/mips/cavium/octe/ethernet.c
  projects/arm_eabi/sys/mips/cavium/octe/wrapper-cvmx-includes.h
  projects/arm_eabi/sys/mips/cavium/octeon_ds1337.c
  projects/arm_eabi/sys/mips/cavium/octeon_machdep.c
  projects/arm_eabi/sys/mips/cavium/octeon_mp.c
  projects/arm_eabi/sys/mips/cavium/octeon_wdog.c
  projects/arm_eabi/sys/mips/cavium/octopci.c
  projects/arm_eabi/sys/mips/cavium/octopci_bus_space.c
  projects/arm_eabi/sys/mips/cavium/uart_dev_oct16550.c
  projects/arm_eabi/sys/mips/cavium/usb/octusb.c
  projects/arm_eabi/sys/mips/cavium/usb/octusb.h
  projects/arm_eabi/sys/mips/cavium/usb/octusb_octeon.c
  projects/arm_eabi/sys/mips/conf/AR91XX_BASE
  projects/arm_eabi/sys/mips/conf/DEFAULTS
  projects/arm_eabi/sys/mips/conf/MALTA
  projects/arm_eabi/sys/mips/conf/MALTA64
  projects/arm_eabi/sys/mips/conf/OCTEON1
  projects/arm_eabi/sys/mips/conf/PB92
  projects/arm_eabi/sys/mips/conf/SWARM
  projects/arm_eabi/sys/mips/conf/SWARM_SMP
  projects/arm_eabi/sys/mips/conf/XLP
  projects/arm_eabi/sys/mips/conf/XLP64
  projects/arm_eabi/sys/mips/conf/XLPN32
  projects/arm_eabi/sys/mips/conf/XLR
  projects/arm_eabi/sys/mips/conf/XLR64
  projects/arm_eabi/sys/mips/conf/XLRN32
  projects/arm_eabi/sys/mips/idt/idt_machdep.c
  projects/arm_eabi/sys/mips/idt/std.idt
  projects/arm_eabi/sys/mips/include/_bus.h
  projects/arm_eabi/sys/mips/include/_stdint.h
  projects/arm_eabi/sys/mips/include/_types.h
  projects/arm_eabi/sys/mips/include/asm.h
  projects/arm_eabi/sys/mips/include/bus.h
  projects/arm_eabi/sys/mips/include/cache.h
  projects/arm_eabi/sys/mips/include/cpu.h
  projects/arm_eabi/sys/mips/include/cpufunc.h
  projects/arm_eabi/sys/mips/include/cpuregs.h
  projects/arm_eabi/sys/mips/include/db_machdep.h
  projects/arm_eabi/sys/mips/include/elf.h
  projects/arm_eabi/sys/mips/include/float.h
  projects/arm_eabi/sys/mips/include/frame.h
  projects/arm_eabi/sys/mips/include/hwfunc.h
  projects/arm_eabi/sys/mips/include/intr_machdep.h
  projects/arm_eabi/sys/mips/include/locore.h
  projects/arm_eabi/sys/mips/include/md_var.h
  projects/arm_eabi/sys/mips/include/mips_opcode.h
  projects/arm_eabi/sys/mips/include/param.h
  projects/arm_eabi/sys/mips/include/pmap.h
  projects/arm_eabi/sys/mips/include/proc.h
  projects/arm_eabi/sys/mips/include/reg.h
  projects/arm_eabi/sys/mips/include/sigframe.h
  projects/arm_eabi/sys/mips/include/trap.h
  projects/arm_eabi/sys/mips/include/ucontext.h
  projects/arm_eabi/sys/mips/include/vmparam.h
  projects/arm_eabi/sys/mips/malta/malta_machdep.c
  projects/arm_eabi/sys/mips/malta/std.malta
  projects/arm_eabi/sys/mips/mips/bus_space_generic.c
  projects/arm_eabi/sys/mips/mips/busdma_machdep.c
  projects/arm_eabi/sys/mips/mips/cache.c
  projects/arm_eabi/sys/mips/mips/cache_mipsNN.c
  projects/arm_eabi/sys/mips/mips/cpu.c
  projects/arm_eabi/sys/mips/mips/db_disasm.c
  projects/arm_eabi/sys/mips/mips/db_trace.c
  projects/arm_eabi/sys/mips/mips/elf_machdep.c
  projects/arm_eabi/sys/mips/mips/exception.S
  projects/arm_eabi/sys/mips/mips/gdb_machdep.c
  projects/arm_eabi/sys/mips/mips/genassym.c
  projects/arm_eabi/sys/mips/mips/locore.S
  projects/arm_eabi/sys/mips/mips/machdep.c
  projects/arm_eabi/sys/mips/mips/mpboot.S
  projects/arm_eabi/sys/mips/mips/nexus.c
  projects/arm_eabi/sys/mips/mips/pm_machdep.c
  projects/arm_eabi/sys/mips/mips/support.S
  projects/arm_eabi/sys/mips/mips/swtch.S
  projects/arm_eabi/sys/mips/mips/sys_machdep.c
  projects/arm_eabi/sys/mips/mips/tick.c
  projects/arm_eabi/sys/mips/mips/trap.c
  projects/arm_eabi/sys/mips/mips/vm_machdep.c
  projects/arm_eabi/sys/mips/nlm/tick.c
  projects/arm_eabi/sys/mips/nlm/xlp_machdep.c
  projects/arm_eabi/sys/mips/rmi/tick.c
  projects/arm_eabi/sys/mips/rmi/xlr_machdep.c
  projects/arm_eabi/sys/mips/rt305x/rt305x_machdep.c
  projects/arm_eabi/sys/mips/rt305x/rt305x_sysctl.c
  projects/arm_eabi/sys/mips/rt305x/std.rt305x
  projects/arm_eabi/sys/mips/sentry5/s5_machdep.c
  projects/arm_eabi/sys/mips/sentry5/std.sentry5
  projects/arm_eabi/sys/mips/sibyte/sb_machdep.c
  projects/arm_eabi/sys/modules/Makefile
  projects/arm_eabi/sys/modules/acpi/acpi/Makefile
  projects/arm_eabi/sys/modules/aic7xxx/ahc/ahc_pci/Makefile
  projects/arm_eabi/sys/modules/aic7xxx/ahd/Makefile
  projects/arm_eabi/sys/modules/asr/Makefile
  projects/arm_eabi/sys/modules/ath/Makefile
  projects/arm_eabi/sys/modules/bios/smapi/Makefile
  projects/arm_eabi/sys/modules/ce/Makefile
  projects/arm_eabi/sys/modules/cxgbe/Makefile
  projects/arm_eabi/sys/modules/drm/Makefile
  projects/arm_eabi/sys/modules/drm/r128/Makefile
  projects/arm_eabi/sys/modules/drm/radeon/Makefile
  projects/arm_eabi/sys/modules/drm/via/Makefile
  projects/arm_eabi/sys/modules/dtrace/dtrace/Makefile
  projects/arm_eabi/sys/modules/ipdivert/Makefile
  projects/arm_eabi/sys/modules/ipfilter/Makefile
  projects/arm_eabi/sys/modules/ixgbe/Makefile
  projects/arm_eabi/sys/modules/kgssapi/Makefile
  projects/arm_eabi/sys/modules/kgssapi_krb5/Makefile
  projects/arm_eabi/sys/modules/linux/Makefile
  projects/arm_eabi/sys/modules/mii/Makefile
  projects/arm_eabi/sys/modules/mps/Makefile
  projects/arm_eabi/sys/modules/netgraph/netflow/Makefile
  projects/arm_eabi/sys/modules/nve/Makefile
  projects/arm_eabi/sys/modules/nxge/Makefile
  projects/arm_eabi/sys/modules/pfsync/Makefile
  projects/arm_eabi/sys/modules/random/Makefile
  projects/arm_eabi/sys/modules/scc/Makefile
  projects/arm_eabi/sys/modules/sound/driver/Makefile
  projects/arm_eabi/sys/modules/sound/driver/emu10k1/Makefile
  projects/arm_eabi/sys/modules/sound/driver/emu10kx/Makefile
  projects/arm_eabi/sys/modules/sound/driver/hda/Makefile
  projects/arm_eabi/sys/modules/usb/Makefile
  projects/arm_eabi/sys/modules/wi/Makefile
  projects/arm_eabi/sys/modules/wlan/Makefile
  projects/arm_eabi/sys/modules/xfs/Makefile
  projects/arm_eabi/sys/net/bpf.c
  projects/arm_eabi/sys/net/bpf_buffer.c
  projects/arm_eabi/sys/net/bpf_buffer.h
  projects/arm_eabi/sys/net/bpf_zerocopy.c
  projects/arm_eabi/sys/net/bpf_zerocopy.h
  projects/arm_eabi/sys/net/bridgestp.c
  projects/arm_eabi/sys/net/bridgestp.h
  projects/arm_eabi/sys/net/flowtable.c
  projects/arm_eabi/sys/net/ieee8023ad_lacp.c
  projects/arm_eabi/sys/net/if.c
  projects/arm_eabi/sys/net/if.h
  projects/arm_eabi/sys/net/if_bridge.c
  projects/arm_eabi/sys/net/if_ethersubr.c
  projects/arm_eabi/sys/net/if_faith.c
  projects/arm_eabi/sys/net/if_lagg.c
  projects/arm_eabi/sys/net/if_lagg.h
  projects/arm_eabi/sys/net/if_llatbl.c
  projects/arm_eabi/sys/net/if_llatbl.h
  projects/arm_eabi/sys/net/if_media.h
  projects/arm_eabi/sys/net/if_types.h
  projects/arm_eabi/sys/net/if_var.h
  projects/arm_eabi/sys/net/if_vlan.c
  projects/arm_eabi/sys/net/if_vlan_var.h
  projects/arm_eabi/sys/net/netmap.h
  projects/arm_eabi/sys/net/netmap_user.h
  projects/arm_eabi/sys/net/route.c
  projects/arm_eabi/sys/net/route.h
  projects/arm_eabi/sys/net/rtsock.c
  projects/arm_eabi/sys/net/zlib.h
  projects/arm_eabi/sys/net80211/ieee80211.c
  projects/arm_eabi/sys/net80211/ieee80211.h
  projects/arm_eabi/sys/net80211/ieee80211_acl.c
  projects/arm_eabi/sys/net80211/ieee80211_action.c
  projects/arm_eabi/sys/net80211/ieee80211_alq.c
  projects/arm_eabi/sys/net80211/ieee80211_alq.h
  projects/arm_eabi/sys/net80211/ieee80211_dfs.c
  projects/arm_eabi/sys/net80211/ieee80211_dfs.h
  projects/arm_eabi/sys/net80211/ieee80211_hostap.c
  projects/arm_eabi/sys/net80211/ieee80211_ht.c
  projects/arm_eabi/sys/net80211/ieee80211_hwmp.c
  projects/arm_eabi/sys/net80211/ieee80211_input.c
  projects/arm_eabi/sys/net80211/ieee80211_ioctl.c
  projects/arm_eabi/sys/net80211/ieee80211_ioctl.h
  projects/arm_eabi/sys/net80211/ieee80211_mesh.c
  projects/arm_eabi/sys/net80211/ieee80211_mesh.h
  projects/arm_eabi/sys/net80211/ieee80211_node.h
  projects/arm_eabi/sys/net80211/ieee80211_output.c
  projects/arm_eabi/sys/net80211/ieee80211_proto.c
  projects/arm_eabi/sys/net80211/ieee80211_proto.h
  projects/arm_eabi/sys/net80211/ieee80211_radiotap.c
  projects/arm_eabi/sys/net80211/ieee80211_radiotap.h
  projects/arm_eabi/sys/net80211/ieee80211_scan.c
  projects/arm_eabi/sys/net80211/ieee80211_sta.c
  projects/arm_eabi/sys/net80211/ieee80211_tdma.c
  projects/arm_eabi/sys/net80211/ieee80211_var.h
  projects/arm_eabi/sys/netatalk/aarp.c
  projects/arm_eabi/sys/netatalk/at_control.c
  projects/arm_eabi/sys/netgraph/netflow/netflow.c
  projects/arm_eabi/sys/netgraph/netflow/ng_netflow.c
  projects/arm_eabi/sys/netgraph/netflow/ng_netflow.h
  projects/arm_eabi/sys/netgraph/netgraph.h
  projects/arm_eabi/sys/netgraph/ng_base.c
  projects/arm_eabi/sys/netgraph/ng_cisco.c
  projects/arm_eabi/sys/netgraph/ng_cisco.h
  projects/arm_eabi/sys/netgraph/ng_device.c
  projects/arm_eabi/sys/netgraph/ng_ipfw.c
  projects/arm_eabi/sys/netgraph/ng_ksocket.c
  projects/arm_eabi/sys/netgraph/ng_socket.c
  projects/arm_eabi/sys/netgraph/ng_socketvar.h
  projects/arm_eabi/sys/netgraph/ng_tag.c
  projects/arm_eabi/sys/netgraph/ng_vlan.c
  projects/arm_eabi/sys/netgraph/ng_vlan.h
  projects/arm_eabi/sys/netinet/icmp6.h
  projects/arm_eabi/sys/netinet/if_ether.c
  projects/arm_eabi/sys/netinet/if_ether.h
  projects/arm_eabi/sys/netinet/igmp.c
  projects/arm_eabi/sys/netinet/in.c
  projects/arm_eabi/sys/netinet/in_mcast.c
  projects/arm_eabi/sys/netinet/in_pcb.c
  projects/arm_eabi/sys/netinet/in_proto.c
  projects/arm_eabi/sys/netinet/in_var.h
  projects/arm_eabi/sys/netinet/ip_carp.c
  projects/arm_eabi/sys/netinet/ip_carp.h
  projects/arm_eabi/sys/netinet/ip_divert.c
  projects/arm_eabi/sys/netinet/ip_fw.h
  projects/arm_eabi/sys/netinet/ip_gre.c
  projects/arm_eabi/sys/netinet/ip_icmp.c
  projects/arm_eabi/sys/netinet/ip_input.c
  projects/arm_eabi/sys/netinet/ip_ipsec.c
  projects/arm_eabi/sys/netinet/ip_mroute.c
  projects/arm_eabi/sys/netinet/ip_var.h
  projects/arm_eabi/sys/netinet/ipfw/dn_sched_qfq.c
  projects/arm_eabi/sys/netinet/ipfw/ip_fw2.c
  projects/arm_eabi/sys/netinet/ipfw/ip_fw_dynamic.c
  projects/arm_eabi/sys/netinet/ipfw/ip_fw_nat.c
  projects/arm_eabi/sys/netinet/ipfw/ip_fw_private.h
  projects/arm_eabi/sys/netinet/ipfw/ip_fw_sockopt.c
  projects/arm_eabi/sys/netinet/ipfw/ip_fw_table.c
  projects/arm_eabi/sys/netinet/raw_ip.c
  projects/arm_eabi/sys/netinet/sctp.h
  projects/arm_eabi/sys/netinet/sctp_asconf.c
  projects/arm_eabi/sys/netinet/sctp_asconf.h
  projects/arm_eabi/sys/netinet/sctp_auth.c
  projects/arm_eabi/sys/netinet/sctp_auth.h
  projects/arm_eabi/sys/netinet/sctp_bsd_addr.c
  projects/arm_eabi/sys/netinet/sctp_bsd_addr.h
  projects/arm_eabi/sys/netinet/sctp_cc_functions.c
  projects/arm_eabi/sys/netinet/sctp_constants.h
  projects/arm_eabi/sys/netinet/sctp_crc32.h
  projects/arm_eabi/sys/netinet/sctp_dtrace_declare.h
  projects/arm_eabi/sys/netinet/sctp_dtrace_define.h
  projects/arm_eabi/sys/netinet/sctp_header.h
  projects/arm_eabi/sys/netinet/sctp_indata.c
  projects/arm_eabi/sys/netinet/sctp_indata.h
  projects/arm_eabi/sys/netinet/sctp_input.c
  projects/arm_eabi/sys/netinet/sctp_input.h
  projects/arm_eabi/sys/netinet/sctp_os.h
  projects/arm_eabi/sys/netinet/sctp_os_bsd.h
  projects/arm_eabi/sys/netinet/sctp_output.c
  projects/arm_eabi/sys/netinet/sctp_output.h
  projects/arm_eabi/sys/netinet/sctp_pcb.c
  projects/arm_eabi/sys/netinet/sctp_pcb.h
  projects/arm_eabi/sys/netinet/sctp_peeloff.c
  projects/arm_eabi/sys/netinet/sctp_peeloff.h
  projects/arm_eabi/sys/netinet/sctp_ss_functions.c
  projects/arm_eabi/sys/netinet/sctp_structs.h
  projects/arm_eabi/sys/netinet/sctp_sysctl.c
  projects/arm_eabi/sys/netinet/sctp_sysctl.h
  projects/arm_eabi/sys/netinet/sctp_timer.c
  projects/arm_eabi/sys/netinet/sctp_timer.h
  projects/arm_eabi/sys/netinet/sctp_uio.h
  projects/arm_eabi/sys/netinet/sctp_usrreq.c
  projects/arm_eabi/sys/netinet/sctp_var.h
  projects/arm_eabi/sys/netinet/sctputil.c
  projects/arm_eabi/sys/netinet/sctputil.h
  projects/arm_eabi/sys/netinet/tcp.h
  projects/arm_eabi/sys/netinet/tcp_input.c
  projects/arm_eabi/sys/netinet/tcp_output.c
  projects/arm_eabi/sys/netinet/tcp_seq.h
  projects/arm_eabi/sys/netinet/tcp_subr.c
  projects/arm_eabi/sys/netinet/tcp_syncache.c
  projects/arm_eabi/sys/netinet/tcp_timer.c
  projects/arm_eabi/sys/netinet/tcp_timer.h
  projects/arm_eabi/sys/netinet/tcp_timewait.c
  projects/arm_eabi/sys/netinet/tcp_usrreq.c
  projects/arm_eabi/sys/netinet/tcp_var.h
  projects/arm_eabi/sys/netinet6/icmp6.c
  projects/arm_eabi/sys/netinet6/in6.c
  projects/arm_eabi/sys/netinet6/in6.h
  projects/arm_eabi/sys/netinet6/in6_gif.c
  projects/arm_eabi/sys/netinet6/in6_ifattach.c
  projects/arm_eabi/sys/netinet6/in6_mcast.c
  projects/arm_eabi/sys/netinet6/in6_proto.c
  projects/arm_eabi/sys/netinet6/in6_rmx.c
  projects/arm_eabi/sys/netinet6/in6_src.c
  projects/arm_eabi/sys/netinet6/in6_var.h
  projects/arm_eabi/sys/netinet6/ip6_forward.c
  projects/arm_eabi/sys/netinet6/ip6_input.c
  projects/arm_eabi/sys/netinet6/ip6_ipsec.c
  projects/arm_eabi/sys/netinet6/ip6_mroute.c
  projects/arm_eabi/sys/netinet6/ip6_output.c
  projects/arm_eabi/sys/netinet6/ip6_var.h
  projects/arm_eabi/sys/netinet6/mld6.c
  projects/arm_eabi/sys/netinet6/nd6.c
  projects/arm_eabi/sys/netinet6/nd6.h
  projects/arm_eabi/sys/netinet6/nd6_nbr.c
  projects/arm_eabi/sys/netinet6/nd6_rtr.c
  projects/arm_eabi/sys/netinet6/raw_ip6.c
  projects/arm_eabi/sys/netinet6/scope6_var.h
  projects/arm_eabi/sys/netinet6/sctp6_usrreq.c
  projects/arm_eabi/sys/netinet6/sctp6_var.h
  projects/arm_eabi/sys/netipsec/ipsec_output.c
  projects/arm_eabi/sys/netipsec/xform_ipip.c
  projects/arm_eabi/sys/netipx/ipx.c
  projects/arm_eabi/sys/nfs/bootp_subr.c
  projects/arm_eabi/sys/nfsclient/nfs_bio.c
  projects/arm_eabi/sys/nfsclient/nfs_krpc.c
  projects/arm_eabi/sys/nfsclient/nfs_subs.c
  projects/arm_eabi/sys/nfsclient/nfs_vfsops.c
  projects/arm_eabi/sys/nfsclient/nfs_vnops.c
  projects/arm_eabi/sys/nfsclient/nfsm_subs.h
  projects/arm_eabi/sys/nfsclient/nfsmount.h
  projects/arm_eabi/sys/nfsclient/nfsnode.h
  projects/arm_eabi/sys/nlm/nlm_prot_impl.c
  projects/arm_eabi/sys/ofed/drivers/infiniband/core/local_sa.c
  projects/arm_eabi/sys/ofed/drivers/infiniband/core/notice.c
  projects/arm_eabi/sys/pc98/cbus/sio.c
  projects/arm_eabi/sys/pc98/conf/DEFAULTS
  projects/arm_eabi/sys/pc98/conf/GENERIC
  projects/arm_eabi/sys/pc98/include/_limits.h
  projects/arm_eabi/sys/pc98/include/_stdint.h
  projects/arm_eabi/sys/pc98/include/_types.h
  projects/arm_eabi/sys/pc98/include/endian.h
  projects/arm_eabi/sys/pc98/include/float.h
  projects/arm_eabi/sys/pc98/include/ptrace.h
  projects/arm_eabi/sys/pc98/include/setjmp.h
  projects/arm_eabi/sys/pc98/include/stdarg.h
  projects/arm_eabi/sys/pc98/include/trap.h
  projects/arm_eabi/sys/pc98/pc98/machdep.c
  projects/arm_eabi/sys/pci/if_rl.c
  projects/arm_eabi/sys/pci/if_rlreg.h
  projects/arm_eabi/sys/powerpc/aim/locore32.S
  projects/arm_eabi/sys/powerpc/aim/locore64.S
  projects/arm_eabi/sys/powerpc/aim/machdep.c
  projects/arm_eabi/sys/powerpc/aim/mmu_oea.c
  projects/arm_eabi/sys/powerpc/aim/mmu_oea64.c
  projects/arm_eabi/sys/powerpc/aim/slb.c
  projects/arm_eabi/sys/powerpc/aim/swtch64.S
  projects/arm_eabi/sys/powerpc/aim/trap.c
  projects/arm_eabi/sys/powerpc/aim/trap_subr64.S
  projects/arm_eabi/sys/powerpc/booke/machdep.c
  projects/arm_eabi/sys/powerpc/conf/DEFAULTS
  projects/arm_eabi/sys/powerpc/conf/GENERIC
  projects/arm_eabi/sys/powerpc/conf/GENERIC64
  projects/arm_eabi/sys/powerpc/include/_stdint.h
  projects/arm_eabi/sys/powerpc/include/_types.h
  projects/arm_eabi/sys/powerpc/include/asm.h
  projects/arm_eabi/sys/powerpc/include/endian.h
  projects/arm_eabi/sys/powerpc/include/float.h
  projects/arm_eabi/sys/powerpc/include/pcpu.h
  projects/arm_eabi/sys/powerpc/include/pmc_mdep.h
  projects/arm_eabi/sys/powerpc/include/profile.h
  projects/arm_eabi/sys/powerpc/include/spr.h
  projects/arm_eabi/sys/powerpc/mambo/mambo_console.c
  projects/arm_eabi/sys/powerpc/ofw/ofw_machdep.c
  projects/arm_eabi/sys/powerpc/ofw/ofw_pcib_pci.c
  projects/arm_eabi/sys/powerpc/ofw/ofw_pcibus.c
  projects/arm_eabi/sys/powerpc/ofw/ofw_syscons.c
  projects/arm_eabi/sys/powerpc/ofw/ofwcall64.S
  projects/arm_eabi/sys/powerpc/powermac/cpcht.c
  projects/arm_eabi/sys/powerpc/powermac/grackle.c
  projects/arm_eabi/sys/powerpc/powermac/gracklevar.h
  projects/arm_eabi/sys/powerpc/powermac/macio.c
  projects/arm_eabi/sys/powerpc/powermac/smu.c
  projects/arm_eabi/sys/powerpc/powermac/smusat.c
  projects/arm_eabi/sys/powerpc/powermac/uninorthpci.c
  projects/arm_eabi/sys/powerpc/powermac/uninorthvar.h
  projects/arm_eabi/sys/powerpc/powermac/windtunnel.c
  projects/arm_eabi/sys/powerpc/powerpc/atomic.S
  projects/arm_eabi/sys/powerpc/powerpc/busdma_machdep.c
  projects/arm_eabi/sys/powerpc/powerpc/genassym.c
  projects/arm_eabi/sys/powerpc/powerpc/iommu_if.m
  projects/arm_eabi/sys/powerpc/powerpc/setjmp.S
  projects/arm_eabi/sys/powerpc/ps3/platform_ps3.c
  projects/arm_eabi/sys/powerpc/ps3/ps3-hv-asm.awk
  projects/arm_eabi/sys/powerpc/ps3/ps3-hvcall.S
  projects/arm_eabi/sys/powerpc/ps3/ps3-hvcall.h
  projects/arm_eabi/sys/powerpc/ps3/ps3-hvcall.master
  projects/arm_eabi/sys/powerpc/ps3/ps3_syscons.c
  projects/arm_eabi/sys/powerpc/ps3/ps3bus.c
  projects/arm_eabi/sys/powerpc/ps3/ps3pic.c
  projects/arm_eabi/sys/security/mac_biba/mac_biba.c
  projects/arm_eabi/sys/security/mac_lomac/mac_lomac.c
  projects/arm_eabi/sys/security/mac_mls/mac_mls.c
  projects/arm_eabi/sys/sparc64/conf/DEFAULTS
  projects/arm_eabi/sys/sparc64/conf/GENERIC
  projects/arm_eabi/sys/sparc64/include/bus_dma.h
  projects/arm_eabi/sys/sparc64/include/clock.h
  projects/arm_eabi/sys/sparc64/include/cpu.h
  projects/arm_eabi/sys/sparc64/include/endian.h
  projects/arm_eabi/sys/sparc64/include/float.h
  projects/arm_eabi/sys/sparc64/include/ofw_machdep.h
  projects/arm_eabi/sys/sparc64/include/vmparam.h
  projects/arm_eabi/sys/sparc64/pci/ofw_pcibus.c
  projects/arm_eabi/sys/sparc64/pci/schizo.c
  projects/arm_eabi/sys/sparc64/pci/schizovar.h
  projects/arm_eabi/sys/sparc64/sparc64/bus_machdep.c
  projects/arm_eabi/sys/sparc64/sparc64/cache.c
  projects/arm_eabi/sys/sparc64/sparc64/clock.c
  projects/arm_eabi/sys/sparc64/sparc64/machdep.c
  projects/arm_eabi/sys/sparc64/sparc64/ofw_machdep.c
  projects/arm_eabi/sys/sparc64/sparc64/pmap.c
  projects/arm_eabi/sys/sparc64/sparc64/support.S
  projects/arm_eabi/sys/sys/_null.h
  projects/arm_eabi/sys/sys/_umtx.h
  projects/arm_eabi/sys/sys/ata.h
  projects/arm_eabi/sys/sys/buf.h
  projects/arm_eabi/sys/sys/bus_dma.h
  projects/arm_eabi/sys/sys/cdefs.h
  projects/arm_eabi/sys/sys/cdrio.h
  projects/arm_eabi/sys/sys/conf.h
  projects/arm_eabi/sys/sys/cons.h
  projects/arm_eabi/sys/sys/consio.h
  projects/arm_eabi/sys/sys/copyright.h
  projects/arm_eabi/sys/sys/cpuset.h
  projects/arm_eabi/sys/sys/diskmbr.h
  projects/arm_eabi/sys/sys/dvdio.h
  projects/arm_eabi/sys/sys/elf_common.h
  projects/arm_eabi/sys/sys/imgact_elf.h
  projects/arm_eabi/sys/sys/jail.h
  projects/arm_eabi/sys/sys/libkern.h
  projects/arm_eabi/sys/sys/malloc.h
  projects/arm_eabi/sys/sys/mbuf.h
  projects/arm_eabi/sys/sys/mdioctl.h
  projects/arm_eabi/sys/sys/mount.h
  projects/arm_eabi/sys/sys/msgbuf.h
  projects/arm_eabi/sys/sys/namei.h
  projects/arm_eabi/sys/sys/param.h
  projects/arm_eabi/sys/sys/pipe.h
  projects/arm_eabi/sys/sys/pmc.h
  projects/arm_eabi/sys/sys/proc.h
  projects/arm_eabi/sys/sys/ptrace.h
  projects/arm_eabi/sys/sys/racct.h
  projects/arm_eabi/sys/sys/resourcevar.h
  projects/arm_eabi/sys/sys/rman.h
  projects/arm_eabi/sys/sys/sched.h
  projects/arm_eabi/sys/sys/signal.h
  projects/arm_eabi/sys/sys/socket.h
  projects/arm_eabi/sys/sys/sockio.h
  projects/arm_eabi/sys/sys/stdint.h
  projects/arm_eabi/sys/sys/sysctl.h
  projects/arm_eabi/sys/sys/systm.h
  projects/arm_eabi/sys/sys/taskqueue.h
  projects/arm_eabi/sys/sys/timeffc.h
  projects/arm_eabi/sys/sys/ttycom.h
  projects/arm_eabi/sys/sys/ttydefaults.h
  projects/arm_eabi/sys/sys/types.h
  projects/arm_eabi/sys/sys/ucontext.h
  projects/arm_eabi/sys/sys/umtx.h
  projects/arm_eabi/sys/sys/unistd.h
  projects/arm_eabi/sys/sys/vnode.h
  projects/arm_eabi/sys/tools/vnode_if.awk
  projects/arm_eabi/sys/ufs/ffs/ffs_alloc.c
  projects/arm_eabi/sys/ufs/ffs/ffs_extern.h
  projects/arm_eabi/sys/ufs/ffs/ffs_inode.c
  projects/arm_eabi/sys/ufs/ffs/ffs_snapshot.c
  projects/arm_eabi/sys/ufs/ffs/ffs_softdep.c
  projects/arm_eabi/sys/ufs/ffs/ffs_vfsops.c
  projects/arm_eabi/sys/ufs/ffs/ffs_vnops.c
  projects/arm_eabi/sys/ufs/ufs/inode.h
  projects/arm_eabi/sys/ufs/ufs/ufs_acl.c
  projects/arm_eabi/sys/ufs/ufs/ufs_dirhash.c
  projects/arm_eabi/sys/ufs/ufs/ufs_extattr.c
  projects/arm_eabi/sys/ufs/ufs/ufs_lookup.c
  projects/arm_eabi/sys/ufs/ufs/ufs_quota.c
  projects/arm_eabi/sys/ufs/ufs/ufs_vnops.c
  projects/arm_eabi/sys/vm/swap_pager.c
  projects/arm_eabi/sys/vm/uma.h
  projects/arm_eabi/sys/vm/uma_core.c
  projects/arm_eabi/sys/vm/vm_contig.c
  projects/arm_eabi/sys/vm/vm_glue.c
  projects/arm_eabi/sys/vm/vm_kern.c
  projects/arm_eabi/sys/vm/vm_map.c
  projects/arm_eabi/sys/vm/vm_map.h
  projects/arm_eabi/sys/vm/vm_mmap.c
  projects/arm_eabi/sys/vm/vm_object.c
  projects/arm_eabi/sys/vm/vm_object.h
  projects/arm_eabi/sys/vm/vm_page.c
  projects/arm_eabi/sys/vm/vm_page.h
  projects/arm_eabi/sys/vm/vm_pageout.c
  projects/arm_eabi/sys/vm/vnode_pager.c
  projects/arm_eabi/sys/vm/vnode_pager.h
  projects/arm_eabi/sys/x86/acpica/srat.c
  projects/arm_eabi/sys/x86/cpufreq/p4tcc.c
  projects/arm_eabi/sys/x86/x86/busdma_machdep.c
  projects/arm_eabi/sys/x86/x86/local_apic.c
  projects/arm_eabi/sys/xen/interface/io/blkif.h
  projects/arm_eabi/sys/xen/interface/io/netif.h
  projects/arm_eabi/sys/xen/xenbus/xenbusvar.h
  projects/arm_eabi/tools/KSE/ksetest/kse_threads_test.c
  projects/arm_eabi/tools/build/mk/OptionalObsoleteFiles.inc
  projects/arm_eabi/tools/build/options/WITHOUT_UTMPX
  projects/arm_eabi/tools/debugscripts/gdbinit.i386
  projects/arm_eabi/tools/debugscripts/kld_deb.py
  projects/arm_eabi/tools/kerneldoc/subsys/common-Doxyfile
  projects/arm_eabi/tools/regression/README
  projects/arm_eabi/tools/regression/bin/sh/builtins/cd1.0
  projects/arm_eabi/tools/regression/bin/sh/builtins/getopts1.0
  projects/arm_eabi/tools/regression/fifo/fifo_io/fifo_io.c
  projects/arm_eabi/tools/regression/fifo/fifo_misc/fifo_misc.c
  projects/arm_eabi/tools/regression/file/dup/dup.c
  projects/arm_eabi/tools/regression/kthread/kld/kthrdlk.c
  projects/arm_eabi/tools/regression/lib/libc/gen/Makefile
  projects/arm_eabi/tools/regression/lib/libc/nss/README
  projects/arm_eabi/tools/regression/lib/libc/stdio/test-printfloat.c
  projects/arm_eabi/tools/regression/lib/msun/test-next.c
  projects/arm_eabi/tools/regression/msdosfs/msdosfstest-3.sh
  projects/arm_eabi/tools/regression/msdosfs/msdosfstest-4.sh
  projects/arm_eabi/tools/regression/msdosfs/msdosfstest-5.sh
  projects/arm_eabi/tools/regression/msdosfs/msdosfstest-6.sh
  projects/arm_eabi/tools/regression/nfsmmap/Makefile
  projects/arm_eabi/tools/regression/nfsmmap/README
  projects/arm_eabi/tools/regression/pjdfstest/tests/chown/00.t
  projects/arm_eabi/tools/regression/priv/priv_cred.c
  projects/arm_eabi/tools/regression/pthread/mutex_isowned_np/mutex_isowned_np.c
  projects/arm_eabi/tools/regression/sbin/dhclient/fake.c
  projects/arm_eabi/tools/regression/security/cap_test/cap_test_capmode.c
  projects/arm_eabi/tools/regression/security/open_to_operation/open_to_operation.c
  projects/arm_eabi/tools/regression/usr.bin/env/regress-sb.rb
  projects/arm_eabi/tools/regression/usr.bin/make/README
  projects/arm_eabi/tools/regression/usr.bin/make/execution/joberr/expected.stdout.1
  projects/arm_eabi/tools/regression/usr.bin/make/variables/modifier_M/Makefile
  projects/arm_eabi/tools/regression/usr.bin/make/variables/modifier_M/expected.stdout.1
  projects/arm_eabi/tools/regression/usr.bin/sed/math.sed
  projects/arm_eabi/tools/regression/usr.sbin/newsyslog/regress.sh
  projects/arm_eabi/tools/test/README
  projects/arm_eabi/tools/test/posixshm/shm_test.c
  projects/arm_eabi/tools/test/testfloat/systemBugs.txt   (contents, props changed)
  projects/arm_eabi/tools/test/testfloat/testfloat-source.txt   (contents, props changed)
  projects/arm_eabi/tools/test/testfloat/testfloat.txt   (contents, props changed)
  projects/arm_eabi/tools/tools/ansify/ansify.pl
  projects/arm_eabi/tools/tools/ath/Makefile
  projects/arm_eabi/tools/tools/ath/ath_ee_v14_print/ath_ee_v14_print.c
  projects/arm_eabi/tools/tools/ath/athradar/athradar.c
  projects/arm_eabi/tools/tools/ath/athstats/statfoo.c
  projects/arm_eabi/tools/tools/ath/athstats/statfoo.h
  projects/arm_eabi/tools/tools/bus_autoconf/bus_autoconf.c
  projects/arm_eabi/tools/tools/cd2dvd/cd2dvd.sh
  projects/arm_eabi/tools/tools/cxgbetool/cxgbetool.c
  projects/arm_eabi/tools/tools/genericize/genericize.pl
  projects/arm_eabi/tools/tools/hcomp/hcomp.pl
  projects/arm_eabi/tools/tools/mtxstat/mtxstat.pl
  projects/arm_eabi/tools/tools/nanobsd/pcengines/Files/root/.cshrc
  projects/arm_eabi/tools/tools/net80211/wesside/wesside/wesside.c
  projects/arm_eabi/tools/tools/net80211/wlaninject/README
  projects/arm_eabi/tools/tools/net80211/wlanstats/wlanstats.c
  projects/arm_eabi/tools/tools/netmap/bridge.c
  projects/arm_eabi/tools/tools/netmap/pcap.c
  projects/arm_eabi/tools/tools/netmap/pkt-gen.c
  projects/arm_eabi/tools/tools/netrate/netreceive/netreceive.c
  projects/arm_eabi/tools/tools/netrate/tcpp/tcpp_client.c
  projects/arm_eabi/tools/tools/prstats/prstats.pl
  projects/arm_eabi/tools/tools/sysbuild/README
  projects/arm_eabi/tools/tools/tinybsd/README
  projects/arm_eabi/tools/tools/whereintheworld/whereintheworld.pl
  projects/arm_eabi/usr.bin/Makefile
  projects/arm_eabi/usr.bin/ar/ar.1
  projects/arm_eabi/usr.bin/ar/ar.c
  projects/arm_eabi/usr.bin/bc/bc.1
  projects/arm_eabi/usr.bin/brandelf/brandelf.c
  projects/arm_eabi/usr.bin/bsdiff/bsdiff/bsdiff.c
  projects/arm_eabi/usr.bin/calendar/Makefile
  projects/arm_eabi/usr.bin/calendar/calendars/calendar.birthday
  projects/arm_eabi/usr.bin/calendar/calendars/calendar.freebsd
  projects/arm_eabi/usr.bin/calendar/calendars/calendar.history
  projects/arm_eabi/usr.bin/calendar/calendars/calendar.music
  projects/arm_eabi/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.all
  projects/arm_eabi/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.praznici
  projects/arm_eabi/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.all
  projects/arm_eabi/usr.bin/chkey/chkey.c
  projects/arm_eabi/usr.bin/chpass/util.c
  projects/arm_eabi/usr.bin/cksum/cksum.c
  projects/arm_eabi/usr.bin/clang/Makefile
  projects/arm_eabi/usr.bin/clang/clang/Makefile
  projects/arm_eabi/usr.bin/compress/compress.c
  projects/arm_eabi/usr.bin/cpio/Makefile
  projects/arm_eabi/usr.bin/cpio/test/Makefile
  projects/arm_eabi/usr.bin/csup/Makefile
  projects/arm_eabi/usr.bin/csup/auth.c
  projects/arm_eabi/usr.bin/csup/fixups.c
  projects/arm_eabi/usr.bin/csup/misc.c
  projects/arm_eabi/usr.bin/csup/misc.h
  projects/arm_eabi/usr.bin/csup/mux.c
  projects/arm_eabi/usr.bin/csup/proto.c
  projects/arm_eabi/usr.bin/csup/rcsfile.c
  projects/arm_eabi/usr.bin/du/du.1
  projects/arm_eabi/usr.bin/du/du.c
  projects/arm_eabi/usr.bin/elfdump/elfdump.c
  projects/arm_eabi/usr.bin/enigma/enigma.c
  projects/arm_eabi/usr.bin/fetch/fetch.1
  projects/arm_eabi/usr.bin/fetch/fetch.c
  projects/arm_eabi/usr.bin/finger/finger.c
  projects/arm_eabi/usr.bin/fstat/fstat.c
  projects/arm_eabi/usr.bin/gencat/gencat.c
  projects/arm_eabi/usr.bin/gprof/aout.c
  projects/arm_eabi/usr.bin/gprof/arcs.c
  projects/arm_eabi/usr.bin/grep/grep.c
  projects/arm_eabi/usr.bin/hexdump/conv.c
  projects/arm_eabi/usr.bin/hexdump/display.c
  projects/arm_eabi/usr.bin/hexdump/hexdump.c
  projects/arm_eabi/usr.bin/hexdump/hexsyntax.c
  projects/arm_eabi/usr.bin/hexdump/od.1
  projects/arm_eabi/usr.bin/hexdump/parse.c
  projects/arm_eabi/usr.bin/indent/indent.1
  projects/arm_eabi/usr.bin/indent/indent.c
  projects/arm_eabi/usr.bin/indent/io.c
  projects/arm_eabi/usr.bin/ipcs/ipc.c
  projects/arm_eabi/usr.bin/ipcs/ipc.h
  projects/arm_eabi/usr.bin/kdump/kdump.c
  projects/arm_eabi/usr.bin/kdump/mksubr
  projects/arm_eabi/usr.bin/last/last.1
  projects/arm_eabi/usr.bin/last/last.c
  projects/arm_eabi/usr.bin/lex/NEWS
  projects/arm_eabi/usr.bin/lex/flexdef.h
  projects/arm_eabi/usr.bin/lex/tblcmp.c
  projects/arm_eabi/usr.bin/limits/limits.1
  projects/arm_eabi/usr.bin/limits/limits.c
  projects/arm_eabi/usr.bin/locate/locate/fastfind.c
  projects/arm_eabi/usr.bin/locate/locate/locate.c
  projects/arm_eabi/usr.bin/locate/locate/util.c
  projects/arm_eabi/usr.bin/lock/lock.c
  projects/arm_eabi/usr.bin/login/login_fbtab.c
  projects/arm_eabi/usr.bin/logins/logins.1
  projects/arm_eabi/usr.bin/logins/logins.c
  projects/arm_eabi/usr.bin/m4/Makefile
  projects/arm_eabi/usr.bin/m4/eval.c
  projects/arm_eabi/usr.bin/m4/lib/ohash_interval.3
  projects/arm_eabi/usr.bin/mail/cmd1.c
  projects/arm_eabi/usr.bin/mail/edit.c
  projects/arm_eabi/usr.bin/mail/head.c
  projects/arm_eabi/usr.bin/mail/main.c
  projects/arm_eabi/usr.bin/mail/util.c
  projects/arm_eabi/usr.bin/make/GNode.h
  projects/arm_eabi/usr.bin/make/arch.c
  projects/arm_eabi/usr.bin/make/buf.c
  projects/arm_eabi/usr.bin/make/for.c
  projects/arm_eabi/usr.bin/make/job.c
  projects/arm_eabi/usr.bin/make/main.c
  projects/arm_eabi/usr.bin/make/str.c
  projects/arm_eabi/usr.bin/make/var.c
  projects/arm_eabi/usr.bin/man/man.sh
  projects/arm_eabi/usr.bin/mkesdb/Makefile.inc
  projects/arm_eabi/usr.bin/mt/mt.c
  projects/arm_eabi/usr.bin/ncal/ncal.c
  projects/arm_eabi/usr.bin/ncplist/Makefile
  projects/arm_eabi/usr.bin/ncplist/ncplist.c
  projects/arm_eabi/usr.bin/ncplogin/ncplogin.c
  projects/arm_eabi/usr.bin/netstat/if.c
  projects/arm_eabi/usr.bin/netstat/inet.c
  projects/arm_eabi/usr.bin/netstat/inet6.c
  projects/arm_eabi/usr.bin/netstat/ipx.c
  projects/arm_eabi/usr.bin/netstat/netgraph.c
  projects/arm_eabi/usr.bin/netstat/route.c
  projects/arm_eabi/usr.bin/netstat/sctp.c
  projects/arm_eabi/usr.bin/newgrp/newgrp.c
  projects/arm_eabi/usr.bin/pr/pr.c
  projects/arm_eabi/usr.bin/printf/printf.c
  projects/arm_eabi/usr.bin/procstat/procstat.1
  projects/arm_eabi/usr.bin/procstat/procstat_auxv.c
  projects/arm_eabi/usr.bin/procstat/procstat_cred.c
  projects/arm_eabi/usr.bin/procstat/procstat_rlimit.c
  projects/arm_eabi/usr.bin/rctl/rctl.8
  projects/arm_eabi/usr.bin/rlogin/rlogin.c
  projects/arm_eabi/usr.bin/rpcgen/rpc_main.c
  projects/arm_eabi/usr.bin/rpcgen/rpc_svcout.c
  projects/arm_eabi/usr.bin/rpcgen/rpcgen.1
  projects/arm_eabi/usr.bin/rpcinfo/rpcinfo.c
  projects/arm_eabi/usr.bin/sockstat/sockstat.1
  projects/arm_eabi/usr.bin/sockstat/sockstat.c
  projects/arm_eabi/usr.bin/split/split.c
  projects/arm_eabi/usr.bin/systat/devs.c
  projects/arm_eabi/usr.bin/systat/icmp.c
  projects/arm_eabi/usr.bin/systat/icmp6.c
  projects/arm_eabi/usr.bin/systat/ifstat.c
  projects/arm_eabi/usr.bin/systat/iostat.c
  projects/arm_eabi/usr.bin/systat/ip.c
  projects/arm_eabi/usr.bin/systat/netcmds.c
  projects/arm_eabi/usr.bin/systat/netstat.c
  projects/arm_eabi/usr.bin/systat/pigs.c
  projects/arm_eabi/usr.bin/systat/tcp.c
  projects/arm_eabi/usr.bin/talk/ctl_transact.c
  projects/arm_eabi/usr.bin/talk/get_names.c
  projects/arm_eabi/usr.bin/talk/invite.c
  projects/arm_eabi/usr.bin/tar/Makefile
  projects/arm_eabi/usr.bin/tar/test/Makefile
  projects/arm_eabi/usr.bin/tftp/main.c
  projects/arm_eabi/usr.bin/tip/tip/tip.c
  projects/arm_eabi/usr.bin/tip/tip/tip.h
  projects/arm_eabi/usr.bin/tip/tip/tipout.c
  projects/arm_eabi/usr.bin/top/machine.c
  projects/arm_eabi/usr.bin/touch/touch.1
  projects/arm_eabi/usr.bin/touch/touch.c
  projects/arm_eabi/usr.bin/tr/str.c
  projects/arm_eabi/usr.bin/tset/map.c
  projects/arm_eabi/usr.bin/tset/term.c
  projects/arm_eabi/usr.bin/tset/wrterm.c
  projects/arm_eabi/usr.bin/unzip/unzip.1
  projects/arm_eabi/usr.bin/unzip/unzip.c
  projects/arm_eabi/usr.bin/vacation/Makefile
  projects/arm_eabi/usr.bin/vgrind/extern.h
  projects/arm_eabi/usr.bin/vgrind/vfontedpr.c
  projects/arm_eabi/usr.bin/vmstat/vmstat.c
  projects/arm_eabi/usr.bin/whereis/pathnames.h
  projects/arm_eabi/usr.bin/whereis/whereis.c
  projects/arm_eabi/usr.bin/who/who.1
  projects/arm_eabi/usr.bin/who/who.c
  projects/arm_eabi/usr.bin/write/write.1
  projects/arm_eabi/usr.bin/write/write.c
  projects/arm_eabi/usr.bin/xargs/xargs.c
  projects/arm_eabi/usr.bin/xlint/lint1/decl.c
  projects/arm_eabi/usr.bin/xlint/lint1/emit1.c
  projects/arm_eabi/usr.bin/xlint/lint1/func.c
  projects/arm_eabi/usr.bin/xlint/lint1/mem1.c
  projects/arm_eabi/usr.bin/xlint/lint2/chk.c
  projects/arm_eabi/usr.bin/xlint/lint2/read.c
  projects/arm_eabi/usr.bin/xlint/xlint/xlint.c
  projects/arm_eabi/usr.bin/yacc/NEW_FEATURES
  projects/arm_eabi/usr.bin/yacc/reader.c
  projects/arm_eabi/usr.sbin/IPXrouted/sap_input.c
  projects/arm_eabi/usr.sbin/IPXrouted/sap_tables.c
  projects/arm_eabi/usr.sbin/IPXrouted/tables.c
  projects/arm_eabi/usr.sbin/Makefile
  projects/arm_eabi/usr.sbin/Makefile.arm
  projects/arm_eabi/usr.sbin/Makefile.mips
  projects/arm_eabi/usr.sbin/acpi/Makefile.inc
  projects/arm_eabi/usr.sbin/acpi/acpiconf/acpiconf.8
  projects/arm_eabi/usr.sbin/acpi/acpidb/Makefile
  projects/arm_eabi/usr.sbin/acpi/iasl/Makefile
  projects/arm_eabi/usr.sbin/adduser/adduser.sh
  projects/arm_eabi/usr.sbin/amd/Makefile.inc
  projects/arm_eabi/usr.sbin/bluetooth/btpand/event.h
  projects/arm_eabi/usr.sbin/bluetooth/hccontrol/host_controller_baseband.c
  projects/arm_eabi/usr.sbin/bluetooth/sdpd/server.c
  projects/arm_eabi/usr.sbin/boot0cfg/Makefile
  projects/arm_eabi/usr.sbin/boot0cfg/boot0cfg.8
  projects/arm_eabi/usr.sbin/boot0cfg/boot0cfg.c
  projects/arm_eabi/usr.sbin/bootparamd/bootparamd/Makefile
  projects/arm_eabi/usr.sbin/bootparamd/bootparamd/README
  projects/arm_eabi/usr.sbin/bootparamd/bootparamd/bootparamd.c
  projects/arm_eabi/usr.sbin/bootparamd/callbootd/Makefile
  projects/arm_eabi/usr.sbin/bootparamd/callbootd/callbootd.c
  projects/arm_eabi/usr.sbin/bsdinstall/distextract/distextract.c
  projects/arm_eabi/usr.sbin/bsdinstall/distfetch/distfetch.c
  projects/arm_eabi/usr.sbin/bsdinstall/partedit/partedit.c
  projects/arm_eabi/usr.sbin/bsdinstall/partedit/partedit_powerpc.c
  projects/arm_eabi/usr.sbin/bsdinstall/scripts/auto
  projects/arm_eabi/usr.sbin/bsdinstall/scripts/netconfig_ipv4
  projects/arm_eabi/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_addrs.c
  projects/arm_eabi/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_if.c
  projects/arm_eabi/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_port.c
  projects/arm_eabi/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c
  projects/arm_eabi/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_device_tbl.c
  projects/arm_eabi/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_scalars.c
  projects/arm_eabi/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h
  projects/arm_eabi/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_storage_tbl.c
  projects/arm_eabi/usr.sbin/bsnmpd/modules/snmp_netgraph/snmp_netgraph.3
  projects/arm_eabi/usr.sbin/bsnmpd/modules/snmp_wlan/BEGEMOT-WIRELESS-MIB.txt
  projects/arm_eabi/usr.sbin/bsnmpd/modules/snmp_wlan/wlan_snmp.h
  projects/arm_eabi/usr.sbin/bsnmpd/modules/snmp_wlan/wlan_tree.def
  projects/arm_eabi/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.1
  projects/arm_eabi/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.c
  projects/arm_eabi/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmpmap.c
  projects/arm_eabi/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptools.c
  projects/arm_eabi/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptools.h
  projects/arm_eabi/usr.sbin/burncd/burncd.8
  projects/arm_eabi/usr.sbin/burncd/burncd.c
  projects/arm_eabi/usr.sbin/chkgrp/chkgrp.8
  projects/arm_eabi/usr.sbin/chkgrp/chkgrp.c
  projects/arm_eabi/usr.sbin/config/main.c
  projects/arm_eabi/usr.sbin/config/mkmakefile.c
  projects/arm_eabi/usr.sbin/cpucontrol/Makefile
  projects/arm_eabi/usr.sbin/cpucontrol/via.c
  projects/arm_eabi/usr.sbin/crashinfo/crashinfo.sh
  projects/arm_eabi/usr.sbin/cron/cron/do_command.c
  projects/arm_eabi/usr.sbin/cron/crontab/crontab.5
  projects/arm_eabi/usr.sbin/cron/crontab/crontab.c
  projects/arm_eabi/usr.sbin/cron/doc/CHANGES
  projects/arm_eabi/usr.sbin/cron/doc/MAIL
  projects/arm_eabi/usr.sbin/cron/lib/entry.c
  projects/arm_eabi/usr.sbin/crunch/crunchide/Makefile
  projects/arm_eabi/usr.sbin/ctm/ctm_dequeue/ctm_dequeue.c
  projects/arm_eabi/usr.sbin/daemon/daemon.8
  projects/arm_eabi/usr.sbin/daemon/daemon.c
  projects/arm_eabi/usr.sbin/diskinfo/diskinfo.c
  projects/arm_eabi/usr.sbin/edquota/edquota.c
  projects/arm_eabi/usr.sbin/faithd/prefix.c
  projects/arm_eabi/usr.sbin/fwcontrol/fwcontrol.c
  projects/arm_eabi/usr.sbin/fwcontrol/fwmpegts.c
  projects/arm_eabi/usr.sbin/gssd/Makefile
  projects/arm_eabi/usr.sbin/i2c/i2c.c
  projects/arm_eabi/usr.sbin/ifmcstat/ifmcstat.c
  projects/arm_eabi/usr.sbin/inetd/builtins.c
  projects/arm_eabi/usr.sbin/inetd/inetd.c
  projects/arm_eabi/usr.sbin/iostat/iostat.c
  projects/arm_eabi/usr.sbin/ipfwpcap/ipfwpcap.c
  projects/arm_eabi/usr.sbin/jail/jail.8
  projects/arm_eabi/usr.sbin/jail/jail.c
  projects/arm_eabi/usr.sbin/jls/jls.c
  projects/arm_eabi/usr.sbin/kbdcontrol/kbdcontrol.c
  projects/arm_eabi/usr.sbin/kbdcontrol/lex.h
  projects/arm_eabi/usr.sbin/kbdcontrol/lex.l
  projects/arm_eabi/usr.sbin/kbdmap/kbdmap.c
  projects/arm_eabi/usr.sbin/keyserv/Makefile
  projects/arm_eabi/usr.sbin/keyserv/crypt_server.c
  projects/arm_eabi/usr.sbin/keyserv/keyserv.c
  projects/arm_eabi/usr.sbin/kgmon/kgmon.c
  projects/arm_eabi/usr.sbin/kldxref/kldxref.8
  projects/arm_eabi/usr.sbin/lpr/common_source/rmjob.c
  projects/arm_eabi/usr.sbin/lpr/filters/lpf.c
  projects/arm_eabi/usr.sbin/lpr/lpc/cmds.c
  projects/arm_eabi/usr.sbin/lpr/lpc/lpc.c
  projects/arm_eabi/usr.sbin/lpr/lpd/printjob.c
  projects/arm_eabi/usr.sbin/lpr/pac/pac.c
  projects/arm_eabi/usr.sbin/makefs/cd9660.c
  projects/arm_eabi/usr.sbin/makefs/cd9660.h
  projects/arm_eabi/usr.sbin/makefs/cd9660/cd9660_eltorito.c
  projects/arm_eabi/usr.sbin/makefs/cd9660/cd9660_write.c
  projects/arm_eabi/usr.sbin/makefs/cd9660/iso9660_rrip.c
  projects/arm_eabi/usr.sbin/makefs/ffs.c
  projects/arm_eabi/usr.sbin/makefs/ffs/ffs_extern.h
  projects/arm_eabi/usr.sbin/makefs/ffs/ffs_subr.c
  projects/arm_eabi/usr.sbin/makefs/makefs.8
  projects/arm_eabi/usr.sbin/makefs/makefs.c
  projects/arm_eabi/usr.sbin/makefs/makefs.h
  projects/arm_eabi/usr.sbin/makefs/walk.c
  projects/arm_eabi/usr.sbin/mixer/mixer.c
  projects/arm_eabi/usr.sbin/mlxcontrol/interface.c
  projects/arm_eabi/usr.sbin/mount_portalfs/cred.c
  projects/arm_eabi/usr.sbin/mount_portalfs/mount_portalfs.c
  projects/arm_eabi/usr.sbin/mount_portalfs/pt_pipe.c
  projects/arm_eabi/usr.sbin/mount_portalfs/pt_tcplisten.c
  projects/arm_eabi/usr.sbin/mountd/mountd.c
  projects/arm_eabi/usr.sbin/moused/moused.c
  projects/arm_eabi/usr.sbin/mptable/mptable.c
  projects/arm_eabi/usr.sbin/mptutil/mpt_cam.c
  projects/arm_eabi/usr.sbin/mptutil/mpt_config.c
  projects/arm_eabi/usr.sbin/mtree/spec.c
  projects/arm_eabi/usr.sbin/ndiscvt/Makefile
  projects/arm_eabi/usr.sbin/ndiscvt/inf-token.l
  projects/arm_eabi/usr.sbin/newsyslog/newsyslog.c
  projects/arm_eabi/usr.sbin/nscd/protocol.h
  projects/arm_eabi/usr.sbin/ntp/doc/ntp.conf.5
  projects/arm_eabi/usr.sbin/pc-sysinstall/backend-partmanager/create-part.sh
  projects/arm_eabi/usr.sbin/pc-sysinstall/backend-partmanager/delete-part.sh
  projects/arm_eabi/usr.sbin/pc-sysinstall/backend-query/disk-list.sh
  projects/arm_eabi/usr.sbin/pc-sysinstall/backend-query/sys-mem.sh
  projects/arm_eabi/usr.sbin/pc-sysinstall/backend/functions-bsdlabel.sh
  projects/arm_eabi/usr.sbin/pc-sysinstall/backend/functions-cleanup.sh
  projects/arm_eabi/usr.sbin/pc-sysinstall/backend/functions-disk.sh
  projects/arm_eabi/usr.sbin/pc-sysinstall/backend/functions-mountdisk.sh
  projects/arm_eabi/usr.sbin/pc-sysinstall/backend/functions-networking.sh
  projects/arm_eabi/usr.sbin/pc-sysinstall/backend/functions-newfs.sh
  projects/arm_eabi/usr.sbin/pc-sysinstall/backend/functions-parse.sh
  projects/arm_eabi/usr.sbin/pc-sysinstall/backend/functions-unmount.sh
  projects/arm_eabi/usr.sbin/pc-sysinstall/backend/startautoinstall.sh
  projects/arm_eabi/usr.sbin/pciconf/pciconf.c
  projects/arm_eabi/usr.sbin/periodic/periodic.sh
  projects/arm_eabi/usr.sbin/pkg_install/README
  projects/arm_eabi/usr.sbin/pkg_install/add/add.h
  projects/arm_eabi/usr.sbin/pkg_install/add/extract.c
  projects/arm_eabi/usr.sbin/pkg_install/add/futil.c
  projects/arm_eabi/usr.sbin/pkg_install/add/main.c
  projects/arm_eabi/usr.sbin/pkg_install/add/perform.c
  projects/arm_eabi/usr.sbin/pkg_install/add/pkg_add.1
  projects/arm_eabi/usr.sbin/pkg_install/create/create.h
  projects/arm_eabi/usr.sbin/pkg_install/create/main.c
  projects/arm_eabi/usr.sbin/pkg_install/create/perform.c
  projects/arm_eabi/usr.sbin/pkg_install/create/pkg_create.1
  projects/arm_eabi/usr.sbin/pkg_install/create/pl.c
  projects/arm_eabi/usr.sbin/pkg_install/delete/delete.h
  projects/arm_eabi/usr.sbin/pkg_install/delete/main.c
  projects/arm_eabi/usr.sbin/pkg_install/delete/perform.c
  projects/arm_eabi/usr.sbin/pkg_install/delete/pkg_delete.1
  projects/arm_eabi/usr.sbin/pkg_install/info/info.h
  projects/arm_eabi/usr.sbin/pkg_install/info/main.c
  projects/arm_eabi/usr.sbin/pkg_install/info/perform.c
  projects/arm_eabi/usr.sbin/pkg_install/info/show.c
  projects/arm_eabi/usr.sbin/pkg_install/lib/deps.c
  projects/arm_eabi/usr.sbin/pkg_install/lib/exec.c
  projects/arm_eabi/usr.sbin/pkg_install/lib/file.c
  projects/arm_eabi/usr.sbin/pkg_install/lib/global.c
  projects/arm_eabi/usr.sbin/pkg_install/lib/lib.h
  projects/arm_eabi/usr.sbin/pkg_install/lib/match.c
  projects/arm_eabi/usr.sbin/pkg_install/lib/msg.c
  projects/arm_eabi/usr.sbin/pkg_install/lib/pen.c
  projects/arm_eabi/usr.sbin/pkg_install/lib/plist.c
  projects/arm_eabi/usr.sbin/pkg_install/lib/str.c
  projects/arm_eabi/usr.sbin/pkg_install/lib/url.c
  projects/arm_eabi/usr.sbin/pkg_install/updating/main.c
  projects/arm_eabi/usr.sbin/pkg_install/updating/pathnames.h
  projects/arm_eabi/usr.sbin/pkg_install/updating/pkg_updating.1
  projects/arm_eabi/usr.sbin/pkg_install/version/main.c
  projects/arm_eabi/usr.sbin/pkg_install/version/perform.c
  projects/arm_eabi/usr.sbin/pkg_install/version/version.h
  projects/arm_eabi/usr.sbin/pmccontrol/pmccontrol.c
  projects/arm_eabi/usr.sbin/pmcstat/pmcpl_calltree.c
  projects/arm_eabi/usr.sbin/pmcstat/pmcpl_gprof.c
  projects/arm_eabi/usr.sbin/pmcstat/pmcstat.c
  projects/arm_eabi/usr.sbin/pmcstat/pmcstat_log.c
  projects/arm_eabi/usr.sbin/ppp/auth.c
  projects/arm_eabi/usr.sbin/ppp/cbcp.c
  projects/arm_eabi/usr.sbin/ppp/chat.h
  projects/arm_eabi/usr.sbin/ppp/command.c
  projects/arm_eabi/usr.sbin/ppp/iface.c
  projects/arm_eabi/usr.sbin/ppp/lqr.c
  projects/arm_eabi/usr.sbin/ppp/mp.c
  projects/arm_eabi/usr.sbin/ppp/physical.c
  projects/arm_eabi/usr.sbin/ppp/ppp.8.m4
  projects/arm_eabi/usr.sbin/ppp/vjcomp.c
  projects/arm_eabi/usr.sbin/pw/cpdir.c
  projects/arm_eabi/usr.sbin/pw/pw.8
  projects/arm_eabi/usr.sbin/pw/pw_user.c
  projects/arm_eabi/usr.sbin/quotaon/quotaon.c
  projects/arm_eabi/usr.sbin/rarpd/rarpd.c
  projects/arm_eabi/usr.sbin/route6d/route6d.c
  projects/arm_eabi/usr.sbin/rpc.lockd/Makefile
  projects/arm_eabi/usr.sbin/rpc.lockd/kern.c
  projects/arm_eabi/usr.sbin/rpc.lockd/lockd_lock.c
  projects/arm_eabi/usr.sbin/rpc.statd/Makefile
  projects/arm_eabi/usr.sbin/rpc.yppasswdd/Makefile
  projects/arm_eabi/usr.sbin/rpc.yppasswdd/yppasswdd_server.c
  projects/arm_eabi/usr.sbin/rpc.ypupdated/Makefile
  projects/arm_eabi/usr.sbin/rpc.ypupdated/yp_dbupdate.c
  projects/arm_eabi/usr.sbin/rpc.ypxfrd/Makefile
  projects/arm_eabi/usr.sbin/rpcbind/check_bound.c
  projects/arm_eabi/usr.sbin/rpcbind/rpcbind.c
  projects/arm_eabi/usr.sbin/rtadvd/config.c
  projects/arm_eabi/usr.sbin/rtadvd/rtadvd.c
  projects/arm_eabi/usr.sbin/rtprio/rtprio.c
  projects/arm_eabi/usr.sbin/rtsold/rtsold.8
  projects/arm_eabi/usr.sbin/rtsold/rtsold.c
  projects/arm_eabi/usr.sbin/rwhod/rwhod.c
  projects/arm_eabi/usr.sbin/sa/db.c
  projects/arm_eabi/usr.sbin/sade/devices.c
  projects/arm_eabi/usr.sbin/sade/install.c
  projects/arm_eabi/usr.sbin/sade/label.c
  projects/arm_eabi/usr.sbin/sade/variable.c
  projects/arm_eabi/usr.sbin/sendmail/Makefile
  projects/arm_eabi/usr.sbin/tcpdump/tcpdump/tcpdump.1
  projects/arm_eabi/usr.sbin/timed/timed/CHANGES
  projects/arm_eabi/usr.sbin/timed/timed/correct.c
  projects/arm_eabi/usr.sbin/timed/timed/globals.h
  projects/arm_eabi/usr.sbin/timed/timed/networkdelta.c
  projects/arm_eabi/usr.sbin/timed/timed/readmsg.c
  projects/arm_eabi/usr.sbin/timed/timedc/cmds.c
  projects/arm_eabi/usr.sbin/timed/timedc/timedc.c
  projects/arm_eabi/usr.sbin/tzsetup/tzsetup.8
  projects/arm_eabi/usr.sbin/tzsetup/tzsetup.c
  projects/arm_eabi/usr.sbin/uhsoctl/uhsoctl.c
  projects/arm_eabi/usr.sbin/usbdump/usbdump.8
  projects/arm_eabi/usr.sbin/usbdump/usbdump.c
  projects/arm_eabi/usr.sbin/vidcontrol/decode.c
  projects/arm_eabi/usr.sbin/vidcontrol/vidcontrol.c
  projects/arm_eabi/usr.sbin/vipw/vipw.8
  projects/arm_eabi/usr.sbin/wake/wake.c
  projects/arm_eabi/usr.sbin/watch/watch.c
  projects/arm_eabi/usr.sbin/wpa/hostapd/driver_freebsd.c
  projects/arm_eabi/usr.sbin/wpa/hostapd/hostapd.8
  projects/arm_eabi/usr.sbin/wpa/wpa_supplicant/Makefile
  projects/arm_eabi/usr.sbin/yp_mkdb/yp_mkdb.c
  projects/arm_eabi/usr.sbin/yppush/Makefile
  projects/arm_eabi/usr.sbin/ypserv/Makefile
  projects/arm_eabi/usr.sbin/ypserv/yp_access.c
  projects/arm_eabi/usr.sbin/ypserv/yp_main.c
Directory Properties:
  projects/arm_eabi/   (props changed)
  projects/arm_eabi/cddl/contrib/opensolaris/   (props changed)
  projects/arm_eabi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PDESC_ZERO.badlib.exe   (props changed)
  projects/arm_eabi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_FUNC.badfunc.exe   (props changed)
  projects/arm_eabi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_LIB.libdash.exe   (props changed)
  projects/arm_eabi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.alldash.exe   (props changed)
  projects/arm_eabi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.badname.exe   (props changed)
  projects/arm_eabi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_NAME.globdash.exe   (props changed)
  projects/arm_eabi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/err.D_PROC_OFF.toobig.exe   (props changed)
  projects/arm_eabi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.coverage.exe   (props changed)
  projects/arm_eabi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.emptystack.exe   (props changed)
  projects/arm_eabi/contrib/bind9/   (props changed)
  projects/arm_eabi/contrib/binutils/   (props changed)
  projects/arm_eabi/contrib/bzip2/   (props changed)
  projects/arm_eabi/contrib/com_err/   (props changed)
  projects/arm_eabi/contrib/compiler-rt/   (props changed)
  projects/arm_eabi/contrib/dialog/   (props changed)
  projects/arm_eabi/contrib/ee/   (props changed)
  projects/arm_eabi/contrib/expat/   (props changed)
  projects/arm_eabi/contrib/file/   (props changed)
  projects/arm_eabi/contrib/gcc/   (props changed)
  projects/arm_eabi/contrib/gdb/   (props changed)
  projects/arm_eabi/contrib/gdtoa/   (props changed)
  projects/arm_eabi/contrib/gnu-sort/   (props changed)
  projects/arm_eabi/contrib/groff/   (props changed)
  projects/arm_eabi/contrib/less/   (props changed)
  projects/arm_eabi/contrib/libarchive/cpio/   (props changed)
  projects/arm_eabi/contrib/libarchive/libarchive/   (props changed)
  projects/arm_eabi/contrib/libarchive/libarchive_fe/   (props changed)
  projects/arm_eabi/contrib/libarchive/tar/   (props changed)
  projects/arm_eabi/contrib/libcxxrt/   (props changed)
  projects/arm_eabi/contrib/libpcap/   (props changed)
  projects/arm_eabi/contrib/libstdc++/   (props changed)
  projects/arm_eabi/contrib/llvm/   (props changed)
  projects/arm_eabi/contrib/llvm/tools/clang/   (props changed)
  projects/arm_eabi/contrib/ncurses/   (props changed)
  projects/arm_eabi/contrib/netcat/   (props changed)
  projects/arm_eabi/contrib/ntp/   (props changed)
  projects/arm_eabi/contrib/one-true-awk/   (props changed)
  projects/arm_eabi/contrib/openbsm/   (props changed)
  projects/arm_eabi/contrib/openpam/   (props changed)
  projects/arm_eabi/contrib/openresolv/   (props changed)
  projects/arm_eabi/contrib/pf/   (props changed)
  projects/arm_eabi/contrib/sendmail/   (props changed)
  projects/arm_eabi/contrib/tcpdump/   (props changed)
  projects/arm_eabi/contrib/tcsh/   (props changed)
  projects/arm_eabi/contrib/tcsh/nls/greek/set24   (props changed)
  projects/arm_eabi/contrib/tcsh/nls/ja/set24   (props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set21   (props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set24   (props changed)
  projects/arm_eabi/contrib/tcsh/nls/russian/set3   (props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set21   (props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set24   (props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set3   (props changed)
  projects/arm_eabi/contrib/tcsh/nls/ukrainian/set4   (props changed)
  projects/arm_eabi/contrib/tnftp/   (props changed)
  projects/arm_eabi/contrib/top/   (props changed)
  projects/arm_eabi/contrib/top/install-sh   (props changed)
  projects/arm_eabi/contrib/tzcode/stdtime/   (props changed)
  projects/arm_eabi/contrib/tzcode/zic/   (props changed)
  projects/arm_eabi/contrib/tzdata/   (props changed)
  projects/arm_eabi/contrib/wpa/   (props changed)
  projects/arm_eabi/contrib/xz/   (props changed)
  projects/arm_eabi/crypto/heimdal/   (props changed)
  projects/arm_eabi/crypto/openssh/   (props changed)
  projects/arm_eabi/crypto/openssl/   (props changed)
  projects/arm_eabi/gnu/lib/   (props changed)
  projects/arm_eabi/gnu/usr.bin/binutils/   (props changed)
  projects/arm_eabi/gnu/usr.bin/cc/cc_tools/   (props changed)
  projects/arm_eabi/gnu/usr.bin/gdb/   (props changed)
  projects/arm_eabi/lib/libc/   (props changed)
  projects/arm_eabi/lib/libc/stdtime/   (props changed)
  projects/arm_eabi/lib/libutil/   (props changed)
  projects/arm_eabi/lib/libz/   (props changed)
  projects/arm_eabi/sbin/   (props changed)
  projects/arm_eabi/sbin/dhclient/dhclient-script   (props changed)
  projects/arm_eabi/sbin/ipfw/   (props changed)
  projects/arm_eabi/share/man/man4/   (props changed)
  projects/arm_eabi/share/mk/bsd.arch.inc.mk   (props changed)
  projects/arm_eabi/share/zoneinfo/   (props changed)
  projects/arm_eabi/sys/   (props changed)
  projects/arm_eabi/sys/amd64/include/xen/   (props changed)
  projects/arm_eabi/sys/boot/   (props changed)
  projects/arm_eabi/sys/boot/i386/efi/   (props changed)
  projects/arm_eabi/sys/boot/ia64/efi/   (props changed)
  projects/arm_eabi/sys/boot/ia64/ski/   (props changed)
  projects/arm_eabi/sys/boot/powerpc/boot1.chrp/   (props changed)
  projects/arm_eabi/sys/boot/powerpc/ofw/   (props changed)
  projects/arm_eabi/sys/cddl/contrib/opensolaris/   (props changed)
  projects/arm_eabi/sys/conf/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/common/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/debugger/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/disassembler/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/dispatcher/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/events/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/executer/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/hardware/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/namespace/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/parser/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/resources/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/tables/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/utilities/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/include/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/os_specific/   (props changed)
  projects/arm_eabi/sys/contrib/octeon-sdk/   (props changed)
  projects/arm_eabi/sys/contrib/pf/   (props changed)
  projects/arm_eabi/sys/contrib/x86emu/   (props changed)
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_pci   (props changed)
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_sound   (props changed)
  projects/arm_eabi/tools/kerneldoc/subsys/Doxyfile-dev_usb   (props changed)
  projects/arm_eabi/tools/test/testfloat/testfloat-history.txt   (props changed)
  projects/arm_eabi/usr.bin/calendar/   (props changed)
  projects/arm_eabi/usr.bin/csup/   (props changed)
  projects/arm_eabi/usr.bin/procstat/   (props changed)
  projects/arm_eabi/usr.sbin/ndiscvt/   (props changed)
  projects/arm_eabi/usr.sbin/rtadvctl/   (props changed)
  projects/arm_eabi/usr.sbin/rtadvd/   (props changed)
  projects/arm_eabi/usr.sbin/rtsold/   (props changed)
  projects/arm_eabi/usr.sbin/zic/   (props changed)

Modified: projects/arm_eabi/COPYRIGHT
==============================================================================
--- projects/arm_eabi/COPYRIGHT	Wed Mar 14 00:54:37 2012	(r232953)
+++ projects/arm_eabi/COPYRIGHT	Wed Mar 14 06:42:12 2012	(r232954)
@@ -4,7 +4,7 @@
 The compilation of software known as FreeBSD is distributed under the
 following terms:
 
-Copyright (c) 1992-2011 The FreeBSD Project. All rights reserved.
+Copyright (c) 1992-2012 The FreeBSD Project. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions

Modified: projects/arm_eabi/MAINTAINERS
==============================================================================
--- projects/arm_eabi/MAINTAINERS	Wed Mar 14 00:54:37 2012	(r232953)
+++ projects/arm_eabi/MAINTAINERS	Wed Mar 14 06:42:12 2012	(r232954)
@@ -124,6 +124,7 @@ usr.sbin/zic		edwin   Heads-up appreciat
 lib/libc/stdtime	edwin   Heads-up appreciated, since parts of this code
 				is maintained by a third party source.
 sbin/routed	bms	Pre-commit review; notify vendor at rhyolite.com
+isci(4)		jimharris	Pre-commit review requested.
 
 Following are the entries from the Makefiles, and a few other sources.
 Please remove stale entries from both their origin, and this file.

Modified: projects/arm_eabi/Makefile
==============================================================================
--- projects/arm_eabi/Makefile	Wed Mar 14 00:54:37 2012	(r232953)
+++ projects/arm_eabi/Makefile	Wed Mar 14 06:42:12 2012	(r232954)
@@ -18,13 +18,14 @@
 # reinstallkernel.debug
 # kernel              - buildkernel + installkernel.
 # kernel-toolchain    - Builds the subset of world necessary to build a kernel
+# kernel-toolchains   - Build kernel-toolchain for all universe targets.
 # doxygen             - Build API documentation of the kernel, needs doxygen.
 # update              - Convenient way to update your source tree(s).
 # check-old           - List obsolete directories/files/libraries.
 # check-old-dirs      - List obsolete directories.
 # check-old-files     - List obsolete files.
 # check-old-libs      - List obsolete libraries.
-# delete-old          - Delete obsolete directories/files/libraries.
+# delete-old          - Delete obsolete directories/files.
 # delete-old-dirs     - Delete obsolete directories.
 # delete-old-files    - Delete obsolete files.
 # delete-old-libs     - Delete obsolete libraries.
@@ -317,6 +318,9 @@ tinderbox:
 toolchains:
 	@cd ${.CURDIR} && ${MAKE} UNIVERSE_TARGET=toolchain universe
 
+kernel-toolchains:
+	@cd ${.CURDIR} && ${MAKE} UNIVERSE_TARGET=kernel-toolchain universe
+
 #
 # universe
 #

Modified: projects/arm_eabi/Makefile.inc1
==============================================================================
--- projects/arm_eabi/Makefile.inc1	Wed Mar 14 00:54:37 2012	(r232953)
+++ projects/arm_eabi/Makefile.inc1	Wed Mar 14 06:42:12 2012	(r232954)
@@ -15,8 +15,11 @@
 #	-DNO_WWWUPDATE do not update www in ${MAKE} update
 #	-DNO_CTF do not run the DTrace CTF conversion tools on built objects
 #	LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list
+#	LOCAL_TOOL_DIRS="list of dirs" to add additional dirs to the build-tools
+#	    list
 #	TARGET="machine" to crossbuild world for a different machine type
 #	TARGET_ARCH= may be required when a TARGET supports multiple endians
+#	BUILDENV_SHELL= shell to launch for the buildenv target (def:/bin/sh)
 
 #
 # The intended user-driven targets are:
@@ -104,6 +107,10 @@ CLEANDIR=	clean cleandepend
 CLEANDIR=	cleandir
 .endif
 
+LOCAL_TOOL_DIRS?=
+
+BUILDENV_SHELL?=/bin/sh
+
 CVS?=		cvs
 CVSFLAGS?=	-A -P -d -I!
 SVN?=		svn
@@ -276,7 +283,6 @@ LIB32CPUFLAGS=	-march=i686 -mmmx -msse -
 .else
 LIB32CPUFLAGS=	-march=${TARGET_CPUTYPE}
 .endif
-LIB32CPUFLAGS+=	-mfancy-math-387
 LIB32WMAKEENV=	MACHINE=i386 MACHINE_ARCH=i386 \
 		MACHINE_CPU="i686 mmx sse sse2" \
 		LD="${LD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" \
@@ -555,7 +561,7 @@ buildenvvars:
 
 buildenv:
 	@echo Entering world for ${TARGET_ARCH}:${TARGET}
-	@cd ${.CURDIR} && env ${WMAKEENV} sh || true
+	@cd ${.CURDIR} && env ${WMAKEENV} ${BUILDENV_SHELL} || true
 
 TOOLCHAIN_TGTS=	${WMAKE_TGTS:N_depend:Neverything:Nbuild32}
 toolchain: ${TOOLCHAIN_TGTS}
@@ -829,6 +835,7 @@ buildkernel:
 	@echo ">>> stage 2.3: build tools"
 	@echo "--------------------------------------------------------------"
 	cd ${KRNLOBJDIR}/${_kernel}; \
+	    PATH=${BPATH}:${PATH} \
 	    MAKESRCPATH=${KERNSRCDIR}/dev/aic7xxx/aicasm \
 	    ${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF \
 	    -f ${KERNSRCDIR}/dev/aic7xxx/aicasm/Makefile
@@ -836,6 +843,7 @@ buildkernel:
 .if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists(${KERNSRCDIR}/modules)
 .for target in obj depend all
 	cd ${KERNSRCDIR}/modules/aic7xxx/aicasm; \
+	    PATH=${BPATH}:${PATH} \
 	    MAKEOBJDIRPREFIX=${KRNLOBJDIR}/${_kernel}/modules \
 	    ${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF ${target}
 .endfor
@@ -884,10 +892,21 @@ distributekernel distributekernel.debug:
 	    ${CROSSENV} PATH=${TMPPATH} ${MAKE} KERNEL=${INSTKERNNAME} \
 	    DESTDIR=${DESTDIR}/${DISTDIR}/kernel \
 	    ${.TARGET:S/distributekernel/install/}
+.for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//}
+	cd ${KRNLOBJDIR}/${_kernel}; \
+	    ${CROSSENV} PATH=${TMPPATH} ${MAKE} \
+	    KERNEL=${INSTKERNNAME}.${_kernel} \
+	    DESTDIR=${DESTDIR}/${DISTDIR}/kernel.${_kernel} \
+	    ${.TARGET:S/distributekernel/install/}
+.endfor
 
 packagekernel:
-	${_+_}cd ${DESTDIR}/${DISTDIR}/kernel; \
+	cd ${DESTDIR}/${DISTDIR}/kernel; \
 	    tar cvJf ${DESTDIR}/${DISTDIR}/kernel.txz .
+.for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//}
+	cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \
+	    tar cvJf ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz .
+.endfor
 
 #
 # doxygen
@@ -1089,6 +1108,10 @@ _aicasm= sys/modules/aic7xxx/aicasm
 _share=	share/syscons/scrnmaps
 .endif
 
+.if ${MK_GCC} != "no" && ${MK_CLANG_IS_CC} == "no"
+_gcc_tools= gnu/usr.bin/cc/cc_tools
+.endif
+
 .if ${MK_KERBEROS} != "no"
 _kerberos5_tools= kerberos5/tools
 .endif
@@ -1102,6 +1125,7 @@ build-tools:
     bin/csh \
     bin/sh \
     ${_rescue} \
+    ${LOCAL_TOOL_DIRS} \
     lib/ncurses/ncurses \
     lib/ncurses/ncursesw \
     ${_share} \
@@ -1116,7 +1140,7 @@ build-tools:
 		${MAKE} DIRPRFX=${_tool}/ build-tools
 .endfor
 .for _tool in \
-    gnu/usr.bin/cc/cc_tools \
+    ${_gcc_tools} \
     ${_kerberos5_tools}
 	${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all)"; \
 		cd ${.CURDIR}/${_tool}; \
@@ -1146,14 +1170,12 @@ _kgzip=		usr.sbin/kgzip
 _binutils=	gnu/usr.bin/binutils
 .endif
 
-.if ${MK_CLANG} != "no"
-.if ${CC:T:Mclang} == "clang"
+.if ${MK_CLANG} != "no" && (${MK_CLANG_IS_CC} != "no" || ${CC:T:Mclang} == "clang")
 _clang=		usr.bin/clang
 _clang_libs=	lib/clang
 .endif
-.endif
 
-.if ${MK_GCC} != "no"
+.if ${MK_GCC} != "no" && ${MK_CLANG_IS_CC} == "no"
 _cc=		gnu/usr.bin/cc
 .endif
 

Modified: projects/arm_eabi/ObsoleteFiles.inc
==============================================================================
--- projects/arm_eabi/ObsoleteFiles.inc	Wed Mar 14 00:54:37 2012	(r232953)
+++ projects/arm_eabi/ObsoleteFiles.inc	Wed Mar 14 06:42:12 2012	(r232954)
@@ -38,6 +38,33 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20120309: Remove fifofs header files.
+OLD_FILES+=usr/include/fs/fifofs/fifo.h
+OLD_DIRS+=usr/include/fs/fifofs
+# 20120225: libarchive 3.0.3
+OLD_FILES+=usr/share/man/man3/archive_read_data_into_buffer.3.gz \
+	usr/share/man/man3/archive_read_support_compression_all.3.gz \
+	usr/share/man/man3/archive_read_support_compression_bzip2.3.gz \
+	usr/share/man/man3/archive_read_support_compression_compress.3.gz \
+	usr/share/man/man3/archive_read_support_compression_gzip.3.gz \
+	usr/share/man/man3/archive_read_support_compression_lzma.3.gz \
+	usr/share/man/man3/archive_read_support_compression_none.3.gz \
+	usr/share/man/man3/archive_read_support_compression_program.3.gz \
+	usr/share/man/man3/archive_read_support_compression_program_signature.3.gz \
+	usr/share/man/man3/archive_read_support_compression_xz.3.gz \
+	usr/share/man/man3/archive_write_set_callbacks.3.gz \
+	usr/share/man/man3/archive_write_set_compression_bzip2.3.gz \
+	usr/share/man/man3/archive_write_set_compression_compress.3.gz \
+	usr/share/man/man3/archive_write_set_compression_gzip.3.gz \
+	usr/share/man/man3/archive_write_set_compression_none.3.gz \
+	usr/share/man/man3/archive_write_set_compression_program.3.gz
+OLD_LIBS+=usr/lib/libarchive.so.5
+.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
+OLD_LIBS+=usr/lib32/libarchive.so.5
+.endif
+# 20120113: removal of wtmpcvt(1)
+OLD_FILES+=usr/bin/wtmpcvt
+OLD_FILES+=usr/share/man/man1/wtmpcvt.1.gz
 # 20111214: eventtimers(7) moved to eventtimers(4)
 OLD_FILES+=usr/share/man/man7/eventtimers.7.gz
 # 20111125: amd(4) removed
@@ -393,6 +420,9 @@ OLD_FILES+=usr/share/man/man5/lastlog.5.
 OLD_FILES+=usr/share/man/man5/utmp.5.gz
 OLD_FILES+=usr/share/man/man5/wtmp.5.gz
 OLD_LIBS+=lib/libutil.so.8
+.if ${TARGET_ARCH} == "amd64"
+OLB_LIBS+=usr/lib32/libutil.so.8
+.endif
 # 20100105: new userland semaphore implementation
 OLD_FILES+=usr/include/sys/semaphore.h
 # 20100103: ntptrace(8) removed
@@ -704,6 +734,8 @@ OLD_LIBS+=usr/lib32/pam_unix.so.4
 .endif
 # 20090718: the gdm pam.d file is no longer required.
 OLD_FILES+=etc/pam.d/gdm
+# 20090714: net_add_domain(9) renamed to domain_add(9)
+OLD_FILES+=usr/share/man/man9/net_add_domain.9.gz
 # 20090713: vimage container structs removed.
 OLD_FILES+=usr/include/netinet/vinet.h
 OLD_FILES+=usr/include/netinet6/vinet6.h

Modified: projects/arm_eabi/UPDATING
==============================================================================
--- projects/arm_eabi/UPDATING	Wed Mar 14 00:54:37 2012	(r232953)
+++ projects/arm_eabi/UPDATING	Wed Mar 14 06:42:12 2012	(r232954)
@@ -22,6 +22,52 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10
 	machines to maximize performance.  (To disable malloc debugging, run
 	ln -s aj /etc/malloc.conf.)
 
+20120306:
+	Disable by default the option VFS_ALLOW_NONMPSAFE for all supported
+	platforms.
+
+20120229:
+	Now unix domain sockets behave "as expected" on	nullfs(5). Previously
+	nullfs(5) did not pass through all behaviours to the underlying layer,
+	as a result if we bound to a socket on the lower layer we could connect
+	only to the lower path; if we bound to the upper layer we could connect
+	only to	the upper path. The new behavior is one can connect to both the
+	lower and the upper paths regardless what layer path one binds to.
+
+20120211:
+	The getifaddrs upgrade path broken with 20111215 has been restored.
+	If you have upgraded in between 20111215 and 20120209 you need to
+	recompile libc again with your kernel.  You still need to recompile
+	world to be able to configure CARP but this restriction already
+	comes from 20111215.
+
+20120114:
+	The set_rcvar() function has been removed from /etc/rc.subr.  All
+	base and ports rc.d scripts have been updated, so if you have a
+	port installed with a script in /usr/local/etc/rc.d you can either
+	hand-edit the rcvar= line, or reinstall the port.
+
+	An easy way to handle the mass-update of /etc/rc.d:
+	rm /etc/rc.d/* && mergemaster -i
+
+20120109:
+	panic(9) now stops other CPUs in the SMP systems, disables interrupts
+	on the current CPU and prevents other threads from running.
+	This behavior can be reverted using the kern.stop_scheduler_on_panic
+	tunable/sysctl.
+	The new behavior can be incompatible with kern.sync_on_panic.
+
+20111215:
+	The carp(4) facility has been changed significantly. Configuration
+	of the CARP protocol via ifconfig(8) has changed, as well as format
+	of CARP events submitted to devd(8) has changed. See manual pages
+	for more information. The arpbalance feature of carp(4) is currently
+	not supported anymore.
+
+	Size of struct in_aliasreq, struct in6_aliasreq has changed. User
+	utilities using SIOCAIFADDR, SIOCAIFADDR_IN6, e.g. ifconfig(8),
+	need to be recompiled.
+
 20111122:
 	The acpi_wmi(4) status device /dev/wmistat has been renamed to
 	/dev/wmistat0.

Modified: projects/arm_eabi/bin/csh/Makefile
==============================================================================
--- projects/arm_eabi/bin/csh/Makefile	Wed Mar 14 00:54:37 2012	(r232953)
+++ projects/arm_eabi/bin/csh/Makefile	Wed Mar 14 06:42:12 2012	(r232954)
@@ -18,7 +18,7 @@ DFLAGS= -D_PATH_TCSHELL='"/rescue/${PROG
 DFLAGS= -D_PATH_TCSHELL='"/bin/${PROG}"'
 .endif
 CFLAGS+= -I. -I${.CURDIR} -I${TCSHDIR} ${DFLAGS}
-WARNS?=	0
+WARNS?=	1
 SRCS=	sh.c sh.dir.c sh.dol.c sh.err.c sh.exec.c sh.char.c \
 	sh.exp.c sh.file.c sh.func.c sh.glob.c sh.hist.c sh.init.c \
 	sh.lex.c sh.misc.c sh.parse.c sh.print.c sh.proc.c sh.sem.c \
@@ -116,10 +116,10 @@ gethost: gethost.c sh.err.h tc.const.h s
 	${CC} -o gethost ${LDFLAGS} ${CFLAGS:C/-DHAVE_ICONV//} \
 	    ${TCSHDIR}/gethost.c
 
-tc.defs.c: gethost ${.CURDIR}/host.defs
+tc.defs.c: gethost ${TCSHDIR}/host.defs
 	@rm -f ${.TARGET}
 	@echo "/* Do not edit this file, make creates it */" > ${.TARGET}
-	./gethost ${.CURDIR}/host.defs >> ${.TARGET}
+	./gethost ${TCSHDIR}/host.defs >> ${.TARGET}
 
 ed.defns.h: ed.defns.c
 	@rm -f ${.TARGET}

Modified: projects/arm_eabi/bin/csh/config.h
==============================================================================
--- projects/arm_eabi/bin/csh/config.h	Wed Mar 14 00:54:37 2012	(r232953)
+++ projects/arm_eabi/bin/csh/config.h	Wed Mar 14 06:42:12 2012	(r232954)
@@ -1,5 +1,5 @@
 /* $FreeBSD$ */
-/* config.h.  Generated by configure.  */
+/* config.h.  Generated from config.h.in by configure.  */
 /* config.h.in.  Generated from configure.in by autoheader.  */
 
 /* Define to the type of elements in the array set by `getgroups'. Usually
@@ -12,9 +12,6 @@
 /* Define to 1 if you have the <auth.h> header file. */
 /* #undef HAVE_AUTH_H */
 
-/* Define to 1 if you have the `catgets' function. */
-#define HAVE_CATGETS 1
-
 /* Define to 1 if you have the <crypt.h> header file. */
 /* #undef HAVE_CRYPT_H */
 
@@ -41,6 +38,9 @@
 /* Define to 1 if you have the `dup2' function. */
 #define HAVE_DUP2 1
 
+/* Define to 1 if you have the <features.h> header file. */
+/* #undef HAVE_FEATURES_H */
+
 /* Define to 1 if you have the `getauthid' function. */
 /* #undef HAVE_GETAUTHID */
 
@@ -54,9 +54,12 @@
 #define HAVE_GETPWENT 1
 
 /* Define to 1 if you have the `getutent' function. */
-#define HAVE_GETUTENT 1
+/* #undef HAVE_GETUTENT */
 
-/* Define if you have the iconv() function. */
+/* Define to 1 if you have the `getutxent' function. */
+#define HAVE_GETUTXENT 1
+
+/* Define if you have the iconv() function and it works. */
 /* #undef HAVE_ICONV */
 
 /* Define to 1 if you have the <inttypes.h> header file. */
@@ -65,6 +68,9 @@
 /* Define to 1 if the system has the type `long long'. */
 #define HAVE_LONG_LONG 1
 
+/* Define to 1 if you have the `mallinfo' function. */
+/* #undef HAVE_MALLINFO */
+
 /* Define to 1 if mbrtowc and mbstate_t are properly declared. */
 #define HAVE_MBRTOWC 1
 
@@ -77,6 +83,9 @@
 /* Define to 1 if you have the `memset' function. */
 #define HAVE_MEMSET 1
 
+/* Define to 1 if you have the `mkstemp' function. */
+#define HAVE_MKSTEMP 1
+
 /* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
 /* #undef HAVE_NDIR_H */
 
@@ -86,6 +95,9 @@
 /* Define to 1 if you have the `nl_langinfo' function. */
 #define HAVE_NL_LANGINFO 1
 
+/* Define to 1 if you have the <paths.h> header file. */
+#define HAVE_PATHS_H 1
+
 /* Define to 1 if you have the `sbrk' function. */
 #define HAVE_SBRK 1
 
@@ -120,22 +132,34 @@
 /* Define to 1 if you have the `strstr' function. */
 #define HAVE_STRSTR 1
 
-/* Define to 1 if `d_ino' is member of `struct dirent'. */
+/* Define to 1 if `d_ino' is a member of `struct dirent'. */
 #define HAVE_STRUCT_DIRENT_D_INO 1
 
-/* Define to 1 if `ss_family' is member of `struct sockaddr_storage'. */
+/* Define to 1 if `ss_family' is a member of `struct sockaddr_storage'. */
 #define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1
 
-/* Define to 1 if `ut_host' is member of `struct utmp'. */
+/* Define to 1 if `ut_host' is a member of `struct utmpx'. */
+#define HAVE_STRUCT_UTMPX_UT_HOST 1
+
+/* Define to 1 if `ut_tv' is a member of `struct utmpx'. */
+#define HAVE_STRUCT_UTMPX_UT_TV 1
+
+/* Define to 1 if `ut_user' is a member of `struct utmpx'. */
+#define HAVE_STRUCT_UTMPX_UT_USER 1
+
+/* Define to 1 if `ut_xtime' is a member of `struct utmpx'. */
+/* #undef HAVE_STRUCT_UTMPX_UT_XTIME */
+
+/* Define to 1 if `ut_host' is a member of `struct utmp'. */
 #define HAVE_STRUCT_UTMP_UT_HOST 1
 
-/* Define to 1 if `ut_tv' is member of `struct utmp'. */
+/* Define to 1 if `ut_tv' is a member of `struct utmp'. */
 #define HAVE_STRUCT_UTMP_UT_TV 1
 
-/* Define to 1 if `ut_user' is member of `struct utmp'. */
+/* Define to 1 if `ut_user' is a member of `struct utmp'. */
 #define HAVE_STRUCT_UTMP_UT_USER 1
 
-/* Define to 1 if `ut_xtime' is member of `struct utmp'. */
+/* Define to 1 if `ut_xtime' is a member of `struct utmp'. */
 /* #undef HAVE_STRUCT_UTMP_UT_XTIME */
 
 /* Define to 1 if you have the `sysconf' function. */
@@ -179,25 +203,31 @@
 /* Support NLS. */
 #define NLS 1
 
+/* Support NLS catalogs. */
+#define NLS_CATALOGS 1
+
 /* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT ""
+#define PACKAGE_BUGREPORT "http://bugs.gw.com/"
 
 /* Define to the full name of this package. */
-#define PACKAGE_NAME ""
+#define PACKAGE_NAME "tcsh"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING ""
+#define PACKAGE_STRING "tcsh 6.18.01"
 
 /* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME ""
+#define PACKAGE_TARNAME "tcsh"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION ""
+#define PACKAGE_VERSION "6.18.01"
 
 /* Define to 1 if the `setpgrp' function takes no argument. */
 /* #undef SETPGRP_VOID */
 
-/* The size of a `wchar_t', as computed by sizeof. */
+/* The size of `wchar_t', as computed by sizeof. */
 #define SIZEOF_WCHAR_T 4
 
 /* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
@@ -206,6 +236,11 @@
 /* Define to 1 if you have the ANSI C header files. */
 #define STDC_HEADERS 1
 
+/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
+   <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
+   #define below would cause a syntax error. */
+/* #undef _UINT32_T */
+
 /* Define to empty if `const' does not conform to ANSI C. */
 /* #undef const */
 
@@ -215,7 +250,7 @@
 /* Define to `int' if <sys/types.h> does not define. */
 /* #undef mode_t */
 
-/* Define to `unsigned' if <sys/types.h> does not define. */
+/* Define to `unsigned int' if <sys/types.h> does not define. */
 /* #undef size_t */
 
 /* Define to `int' if neither <sys/types.h> nor <sys/socket.h> define. */
@@ -227,6 +262,10 @@
 /* Define to `int' if <sys/types.h> doesn't define. */
 /* #undef uid_t */
 
+/* Define to the type of an unsigned integer type of width exactly 32 bits if
+   such a type exists and the standard includes do not define it. */
+/* #undef uint32_t */
+
 /* Define to empty if the keyword `volatile' does not work. Warning: valid
    code using `volatile' can become incorrect without. Disable with care. */
 /* #undef volatile */
@@ -234,9 +273,5 @@
 #include "config_p.h"
 #include "config_f.h"
 
-#ifndef NO_NLS_CATALOGS
-#define NLS_CATALOGS
-#endif
-
 /* Work around a vendor issue where config_f.h is #undef'ing this setting */
 #define SYSMALLOC

Modified: projects/arm_eabi/bin/csh/config_p.h
==============================================================================
--- projects/arm_eabi/bin/csh/config_p.h	Wed Mar 14 00:54:37 2012	(r232953)
+++ projects/arm_eabi/bin/csh/config_p.h	Wed Mar 14 06:42:12 2012	(r232954)
@@ -106,9 +106,6 @@
 
 #elif defined(__APPLE__)
 # define SYSMALLOC
-
-#else
-# define NLS_CATALOGS
 #endif
 
 #endif /* _h_config */

Modified: projects/arm_eabi/bin/df/df.1
==============================================================================
--- projects/arm_eabi/bin/df/df.1	Wed Mar 14 00:54:37 2012	(r232953)
+++ projects/arm_eabi/bin/df/df.1	Wed Mar 14 06:42:12 2012	(r232954)
@@ -29,7 +29,7 @@
 .\"     @(#)df.1	8.3 (Berkeley) 5/8/95
 .\" $FreeBSD$
 .\"
-.Dd October 18, 2011
+.Dd March 3, 2012
 .Dt DF 1
 .Os
 .Sh NAME
@@ -158,7 +158,9 @@ is set, the block counts will be display
 .El
 .Sh SEE ALSO
 .Xr lsvfs 1 ,
+.Xr pstat 1 ,
 .Xr quota 1 ,
+.Xr swapinfo 1 ,
 .Xr fstatfs 2 ,
 .Xr getfsstat 2 ,
 .Xr statfs 2 ,

Modified: projects/arm_eabi/bin/ed/io.c
==============================================================================
--- projects/arm_eabi/bin/ed/io.c	Wed Mar 14 00:54:37 2012	(r232953)
+++ projects/arm_eabi/bin/ed/io.c	Wed Mar 14 06:42:12 2012	(r232954)
@@ -53,7 +53,8 @@ read_file(char *fn, long n)
 		errmsg = "cannot close input file";
 		return ERR;
 	}
-	fprintf(stdout, !scripted ? "%lu\n" : "", size);
+	if (!scripted)
+		fprintf(stdout, "%lu\n", size);
 	return current_addr - n;
 }
 
@@ -161,7 +162,8 @@ write_file(char *fn, const char *mode, l
 		errmsg = "cannot close output file";
 		return ERR;
 	}
-	fprintf(stdout, !scripted ? "%lu\n" : "", size);
+	if (!scripted)
+		fprintf(stdout, "%lu\n", size);
 	return n ? m - n + 1 : 0;
 }
 

Modified: projects/arm_eabi/bin/ed/main.c
==============================================================================
--- projects/arm_eabi/bin/ed/main.c	Wed Mar 14 00:54:37 2012	(r232953)
+++ projects/arm_eabi/bin/ed/main.c	Wed Mar 14 06:42:12 2012	(r232954)
@@ -192,9 +192,10 @@ top:
 				fputs("?\n", stderr);
 				errmsg = "warning: file modified";
 				if (!isatty(0)) {
-					fprintf(stderr, garrulous ?
-					    "script, line %d: %s\n" :
-					    "", lineno, errmsg);
+					if (garrulous)
+						fprintf(stderr,
+						    "script, line %d: %s\n",
+						    lineno, errmsg);
 					quit(2);
 				}
 				clearerr(stdin);
@@ -225,27 +226,26 @@ top:
 			fputs("?\n", stderr);		/* give warning */
 			errmsg = "warning: file modified";
 			if (!isatty(0)) {
-				fprintf(stderr, garrulous ?
-				    "script, line %d: %s\n" :
-				    "", lineno, errmsg);
+				if (garrulous)
+					fprintf(stderr, "script, line %d: %s\n",
+					    lineno, errmsg);
 				quit(2);
 			}
 			break;
 		case FATAL:
-			if (!isatty(0))
-				fprintf(stderr, garrulous ?
-				    "script, line %d: %s\n" : "",
-				    lineno, errmsg);
-			else
-				fprintf(stderr, garrulous ? "%s\n" : "",
-				    errmsg);
+			if (!isatty(0)) {
+				if (garrulous)
+					fprintf(stderr, "script, line %d: %s\n",
+					    lineno, errmsg);
+			} else if (garrulous)
+				fprintf(stderr, "%s\n", errmsg);
 			quit(3);
 		default:
 			fputs("?\n", stderr);
 			if (!isatty(0)) {
-				fprintf(stderr, garrulous ?
-				    "script, line %d: %s\n" : "",
-				    lineno, errmsg);
+				if (garrulous)
+					fprintf(stderr, "script, line %d: %s\n",
+					    lineno, errmsg);
 				quit(2);
 			}
 			break;

Modified: projects/arm_eabi/bin/expr/expr.1
==============================================================================
--- projects/arm_eabi/bin/expr/expr.1	Wed Mar 14 00:54:37 2012	(r232953)
+++ projects/arm_eabi/bin/expr/expr.1	Wed Mar 14 06:42:12 2012	(r232954)
@@ -30,7 +30,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd September 9, 2010
+.Dd February 25, 2012
 .Dt EXPR 1
 .Os
 .Sh NAME
@@ -52,7 +52,7 @@ Several of the operators have special me
 and must therefore be quoted appropriately.
 All integer operands are interpreted in base 10 and must consist of only
 an optional leading minus sign followed by one or more digits (unless
-less strict parsing has been enabled for backwards compatibilty with
+less strict parsing has been enabled for backwards compatibility with
 prior versions of
 .Nm
 in
@@ -176,7 +176,8 @@ option, since this matches the historic 
 .Nm
 in
 .Fx . This option makes number parsing less strict and permits leading
-white space and an optional leading plus sign. In addition, empty operands
+white space and an optional leading plus sign.
+In addition, empty operands
 have an implied value of zero in numeric context.
 For historical reasons, defining the environment variable
 .Ev EXPR_COMPAT
@@ -284,7 +285,7 @@ An empty operand string is interpreted a
 .Bl -bullet
 .It
 Leading white space and/or a plus sign before an otherwise valid positive
-numberic operand are allowed and will be ignored.
+numeric operand are allowed and will be ignored.
 .El
 .Pp
 The extended arithmetic range and overflow checks do not conflict with
@@ -300,7 +301,8 @@ standard, the use of string arguments
 .Va index ,
 or
 .Va match
-produces undefined results. In this version of
+produces undefined results.
+In this version of
 .Nm ,
 these arguments are treated just as their respective string values.
 .Pp

Modified: projects/arm_eabi/bin/ps/print.c
==============================================================================
--- projects/arm_eabi/bin/ps/print.c	Wed Mar 14 00:54:37 2012	(r232953)
+++ projects/arm_eabi/bin/ps/print.c	Wed Mar 14 06:42:12 2012	(r232954)
@@ -99,10 +99,8 @@ printheader(void)
 char *
 arguments(KINFO *k, VARENT *ve)
 {
-	VAR *v;
 	char *vis_args;
 
-	v = ve->var;
 	if ((vis_args = malloc(strlen(k->ki_args) * 4 + 1)) == NULL)
 		errx(1, "malloc failed");
 	strvis(vis_args, k->ki_args, VIS_TAB | VIS_NL | VIS_NOSLASH);
@@ -116,10 +114,8 @@ arguments(KINFO *k, VARENT *ve)
 char *
 command(KINFO *k, VARENT *ve)
 {
-	VAR *v;
 	char *vis_args, *vis_env, *str;
 
-	v = ve->var;
 	if (cflag) {
 		/* If it is the last field, then don't pad */
 		if (STAILQ_NEXT(ve, next_ve) == NULL) {
@@ -172,10 +168,8 @@ command(KINFO *k, VARENT *ve)
 char *
 ucomm(KINFO *k, VARENT *ve)
 {
-	VAR *v;
 	char *str;
 
-	v = ve->var;
 	if (STAILQ_NEXT(ve, next_ve) == NULL) {	/* last field, don't pad */
 		asprintf(&str, "%s%s%s%s",
 		    k->ki_d.prefix ? k->ki_d.prefix : "",
@@ -192,12 +186,10 @@ ucomm(KINFO *k, VARENT *ve)
 }
 
 char *
-tdnam(KINFO *k, VARENT *ve)
+tdnam(KINFO *k, VARENT *ve __unused)
 {
-	VAR *v;
 	char *str;
 
-	v = ve->var;
 	if (showthreads && k->ki_p->ki_numthreads > 1)
 		str = strdup(k->ki_p->ki_tdname);
 	else
@@ -207,28 +199,24 @@ tdnam(KINFO *k, VARENT *ve)
 }
 
 char *
-logname(KINFO *k, VARENT *ve)
+logname(KINFO *k, VARENT *ve __unused)
 {
-	VAR *v;
 
-	v = ve->var;
 	if (*k->ki_p->ki_login == '\0')
 		return (NULL);
 	return (strdup(k->ki_p->ki_login));
 }
 
 char *
-state(KINFO *k, VARENT *ve)
+state(KINFO *k, VARENT *ve __unused)
 {
 	int flag, tdflags;
 	char *cp, *buf;
-	VAR *v;
 
 	buf = malloc(16);
 	if (buf == NULL)
 		errx(1, "malloc failed");
 
-	v = ve->var;
 	flag = k->ki_p->ki_flag;
 	tdflags = k->ki_p->ki_tdflags;	/* XXXKSE */
 	cp = buf;
@@ -294,72 +282,58 @@ state(KINFO *k, VARENT *ve)
 #define	scalepri(x)	((x) - PZERO)
 
 char *
-pri(KINFO *k, VARENT *ve)
+pri(KINFO *k, VARENT *ve __unused)
 {
-	VAR *v;
 	char *str;
 
-	v = ve->var;
 	asprintf(&str, "%d", scalepri(k->ki_p->ki_pri.pri_level));
 	return (str);
 }
 
 char *
-upr(KINFO *k, VARENT *ve)
+upr(KINFO *k, VARENT *ve __unused)
 {
-	VAR *v;
 	char *str;
 
-	v = ve->var;
 	asprintf(&str, "%d", scalepri(k->ki_p->ki_pri.pri_user));
 	return (str);
 }
 #undef scalepri
 
 char *
-uname(KINFO *k, VARENT *ve)
+uname(KINFO *k, VARENT *ve __unused)
 {
-	VAR *v;
 
-	v = ve->var;
 	return (strdup(user_from_uid(k->ki_p->ki_uid, 0)));
 }
 
 char *
-egroupname(KINFO *k, VARENT *ve)
+egroupname(KINFO *k, VARENT *ve __unused)
 {
-	VAR *v;
 
-	v = ve->var;
 	return (strdup(group_from_gid(k->ki_p->ki_groups[0], 0)));
 }
 
 char *
-rgroupname(KINFO *k, VARENT *ve)
+rgroupname(KINFO *k, VARENT *ve __unused)
 {
-	VAR *v;
 
-	v = ve->var;
 	return (strdup(group_from_gid(k->ki_p->ki_rgid, 0)));
 }
 
 char *
-runame(KINFO *k, VARENT *ve)
+runame(KINFO *k, VARENT *ve __unused)
 {
-	VAR *v;
 
-	v = ve->var;
 	return (strdup(user_from_uid(k->ki_p->ki_ruid, 0)));
 }
 
 char *
-tdev(KINFO *k, VARENT *ve)
+tdev(KINFO *k, VARENT *ve __unused)
 {
-	VAR *v;
 	dev_t dev;
 	char *str;
 
-	v = ve->var;
 	dev = k->ki_p->ki_tdev;
 	if (dev == NODEV)
 		str = strdup("-");
@@ -370,13 +344,11 @@ tdev(KINFO *k, VARENT *ve)
 }
 
 char *
-tname(KINFO *k, VARENT *ve)
+tname(KINFO *k, VARENT *ve __unused)
 {
-	VAR *v;
 	dev_t dev;
 	char *ttname, *str;
 
-	v = ve->var;
 	dev = k->ki_p->ki_tdev;
 	if (dev == NODEV || (ttname = devname(dev, S_IFCHR)) == NULL)
 		str = strdup("- ");
@@ -394,13 +366,11 @@ tname(KINFO *k, VARENT *ve)
 }
 
 char *
-longtname(KINFO *k, VARENT *ve)
+longtname(KINFO *k, VARENT *ve __unused)
 {
-	VAR *v;
 	dev_t dev;
 	const char *ttname;
 
-	v = ve->var;
 	dev = k->ki_p->ki_tdev;
 	if (dev == NODEV || (ttname = devname(dev, S_IFCHR)) == NULL)
 		ttname = "-";
@@ -409,9 +379,8 @@ longtname(KINFO *k, VARENT *ve)
 }
 
 char *
-started(KINFO *k, VARENT *ve)
+started(KINFO *k, VARENT *ve __unused)
 {
-	VAR *v;
 	time_t then;
 	struct tm *tp;
 	static int use_ampm = -1;
@@ -422,7 +391,6 @@ started(KINFO *k, VARENT *ve)
 	if (buf == NULL)
 		errx(1, "malloc failed");
 
-	v = ve->var;
 	if (!k->ki_valid)
 		return (NULL);
 	if (use_ampm < 0)
@@ -441,9 +409,8 @@ started(KINFO *k, VARENT *ve)
 }
 
 char *
-lstarted(KINFO *k, VARENT *ve)
+lstarted(KINFO *k, VARENT *ve __unused)
 {
-	VAR *v;
 	time_t then;
 	char *buf;
 	size_t buflen = 100;
@@ -452,7 +419,6 @@ lstarted(KINFO *k, VARENT *ve)
 	if (buf == NULL)
 		errx(1, "malloc failed");
 
-	v = ve->var;
 	if (!k->ki_valid)
 		return (NULL);
 	then = k->ki_p->ki_start.tv_sec;
@@ -461,12 +427,10 @@ lstarted(KINFO *k, VARENT *ve)
 }
 
 char *
-lockname(KINFO *k, VARENT *ve)
+lockname(KINFO *k, VARENT *ve __unused)
 {
-	VAR *v;
 	char *str;
 
-	v = ve->var;
 	if (k->ki_p->ki_kiflag & KI_LOCKBLOCK) {
 		if (k->ki_p->ki_lockname[0] != 0)
 			str = strdup(k->ki_p->ki_lockname);
@@ -479,12 +443,10 @@ lockname(KINFO *k, VARENT *ve)
 }
 
 char *
-wchan(KINFO *k, VARENT *ve)
+wchan(KINFO *k, VARENT *ve __unused)
 {
-	VAR *v;
 	char *str;
 
-	v = ve->var;
 	if (k->ki_p->ki_wchan) {
 		if (k->ki_p->ki_wmesg[0] != 0)
 			str = strdup(k->ki_p->ki_wmesg);
@@ -497,12 +459,10 @@ wchan(KINFO *k, VARENT *ve)
 }
 
 char *
-nwchan(KINFO *k, VARENT *ve)
+nwchan(KINFO *k, VARENT *ve __unused)
 {
-	VAR *v;
 	char *str;
 
-	v = ve->var;
 	if (k->ki_p->ki_wchan)
 		asprintf(&str, "%0lx", (long)k->ki_p->ki_wchan);
 	else
@@ -512,12 +472,10 @@ nwchan(KINFO *k, VARENT *ve)
 }
 
 char *
-mwchan(KINFO *k, VARENT *ve)
+mwchan(KINFO *k, VARENT *ve __unused)
 {
-	VAR *v;
 	char *str;
 
-	v = ve->var;
 	if (k->ki_p->ki_wchan) {
 		if (k->ki_p->ki_wmesg[0] != 0)
 			str = strdup(k->ki_p->ki_wmesg);
@@ -535,27 +493,23 @@ mwchan(KINFO *k, VARENT *ve)
 }
 
 char *
-vsize(KINFO *k, VARENT *ve)
+vsize(KINFO *k, VARENT *ve __unused)
 {
-	VAR *v;
 	char *str;
 
-	v = ve->var;
 	asprintf(&str, "%lu", (u_long)(k->ki_p->ki_size / 1024));
 	return (str);
 }
 
 static char *
-printtime(KINFO *k, VARENT *ve, long secs, long psecs)
+printtime(KINFO *k, VARENT *ve __unused, long secs, long psecs)
 /* psecs is "parts" of a second. first micro, then centi */
 {
-	VAR *v;
 	static char decimal_point;
 	char *str;
 
 	if (decimal_point == '\0')
 		decimal_point = localeconv()->decimal_point[0];
-	v = ve->var;
 	if (!k->ki_valid) {
 		secs = 0;
 		psecs = 0;
@@ -618,14 +572,12 @@ usertime(KINFO *k, VARENT *ve)
 }
 
 char *
-elapsed(KINFO *k, VARENT *ve)
+elapsed(KINFO *k, VARENT *ve __unused)
 {
-	VAR *v;
 	time_t val;
 	int days, hours, mins, secs;
 	char *str;
 
-	v = ve->var;
 	if (!k->ki_valid)
 		return (NULL);
 	val = now - k->ki_p->ki_start.tv_sec;
@@ -646,13 +598,11 @@ elapsed(KINFO *k, VARENT *ve)
 }
 
 char *
-elapseds(KINFO *k, VARENT *ve)
+elapseds(KINFO *k, VARENT *ve __unused)

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-projects@FreeBSD.ORG  Wed Mar 14 20:36:55 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 10D4C106566B;
	Wed, 14 Mar 2012 20:36:55 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id F42108FC0C;
	Wed, 14 Mar 2012 20:36:54 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2EKasuk030372;
	Wed, 14 Mar 2012 20:36:54 GMT (envelope-from bz@svn.freebsd.org)
Received: (from bz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2EKaspe030370;
	Wed, 14 Mar 2012 20:36:54 GMT (envelope-from bz@svn.freebsd.org)
Message-Id: <201203142036.q2EKaspe030370@svn.freebsd.org>
From: "Bjoern A. Zeeb" <bz@FreeBSD.org>
Date: Wed, 14 Mar 2012 20:36:54 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r232981 - projects/multi-fibv6/7/sys/netinet6
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Mar 2012 20:36:55 -0000

Author: bz
Date: Wed Mar 14 20:36:54 2012
New Revision: 232981
URL: http://svn.freebsd.org/changeset/base/232981

Log:
  Do not try to install the neighbor entry in all FIBs and just return the
  the rtentry of the FIB we are interested in.  If there is traffic the
  entries will be installed in other FIBs as well and stay 'R'eachable,
  in addition to the FIB we populate here.
  
  Further trying to install the route to 1..n FIBs is subject to races
  in the stable/7 network stack.
  
  Sponsored by:	Cisco Systems, Inc.

Modified:
  projects/multi-fibv6/7/sys/netinet6/nd6.c

Modified: projects/multi-fibv6/7/sys/netinet6/nd6.c
==============================================================================
--- projects/multi-fibv6/7/sys/netinet6/nd6.c	Wed Mar 14 20:19:49 2012	(r232980)
+++ projects/multi-fibv6/7/sys/netinet6/nd6.c	Wed Mar 14 20:36:54 2012	(r232981)
@@ -812,119 +812,103 @@ struct rtentry *
 nd6_lookup_fib(struct in6_addr *addr6, int create, struct ifnet *ifp,
     u_int fibnum)
 {
-	struct rtentry *rt, *rtfib;
+	struct rtentry *rt;
 	struct sockaddr_in6 sin6;
 	char ip6buf[INET6_ADDRSTRLEN];
-	u_int startfib, endfib, fib;
 
-	if (create) {
-		startfib = 0;
-		endfib = rt_numfibs - 1;
-	} else {
-		startfib = endfib = fibnum;
-	}
-
-	rtfib = NULL;
-	for (fib = startfib; fib <= endfib; fib++) {
-		bzero(&sin6, sizeof(sin6));
-		sin6.sin6_len = sizeof(struct sockaddr_in6);
-		sin6.sin6_family = AF_INET6;
-		sin6.sin6_addr = *addr6;
-		rt = in6_rtalloc1((struct sockaddr *)&sin6, create, 0UL, fib);
-		if (rt) {
-			if ((rt->rt_flags & RTF_LLINFO) == 0 && create) {
-				/*
-				 * This is the case for the default route.
-				 * If we want to create a neighbor cache for the
-				 * address, we should free the route for the
-				 * destination and allocate an interface route.
-				 */
-				RTFREE_LOCKED(rt);
-				rt = NULL;
-			}
+	bzero(&sin6, sizeof(sin6));
+	sin6.sin6_len = sizeof(struct sockaddr_in6);
+	sin6.sin6_family = AF_INET6;
+	sin6.sin6_addr = *addr6;
+	rt = in6_rtalloc1((struct sockaddr *)&sin6, create, 0UL, fibnum);
+	if (rt) {
+		if ((rt->rt_flags & RTF_LLINFO) == 0 && create) {
+			/*
+			 * This is the case for the default route.
+			 * If we want to create a neighbor cache for the
+			 * address, we should free the route for the
+			 * destination and allocate an interface route.
+			 */
+			RTFREE_LOCKED(rt);
+			rt = NULL;
 		}
-		if (rt == NULL) {
-			if (create && ifp) {
-				int e;
-
-				/*
-				 * If no route is available and create is set,
-				 * we allocate a host route for the destination
-				 * and treat it like an interface route.
-				 * This hack is necessary for a neighbor which
-				 * can't be covered by our own prefix.
-				 */
-				struct ifaddr *ifa = ifaof_ifpforaddr(
-				    (struct sockaddr *)&sin6, ifp);
-				if (ifa == NULL)
-					continue;
+	}
+	if (rt == NULL) {
+		if (create && ifp) {
+			int e;
 
-				/*
-				 * Create a new route.  RTF_LLINFO is necessary
-				 * to create a Neighbor Cache entry for the
-				 * destination in nd6_rtrequest which will be
-				 * called in rtrequest via ifa->ifa_rtrequest.
-				 */
-				e = in6_rtrequest(RTM_ADD,
-				    (struct sockaddr *)&sin6, ifa->ifa_addr,
-				    (struct sockaddr *)&all1_sa,
-				    (ifa->ifa_flags | RTF_HOST | RTF_LLINFO) &
-				    ~RTF_CLONING, &rt, fib);
-				if (e != 0) {
-					log(LOG_ERR,
-					    "%s: failed to add route for a "
-					    "neighbor(%s), errno=%d\n",__func__,
-					    ip6_sprintf(ip6buf, addr6), e);
-				}
-				if (rt == NULL)
-					continue;
-				RT_LOCK(rt);
-				if (rt->rt_llinfo) {
-					struct llinfo_nd6 *ln =
-					    (struct llinfo_nd6 *)rt->rt_llinfo;
-					ln->ln_state = ND6_LLINFO_NOSTATE;
-				}
-			} else
-				continue;
-		}
-		RT_LOCK_ASSERT(rt);
-		RT_REMREF(rt);
+			/*
+			 * If no route is available and create is set,
+			 * we allocate a host route for the destination
+			 * and treat it like an interface route.
+			 * This hack is necessary for a neighbor which can't
+			 * be covered by our own prefix.
+			 */
+			struct ifaddr *ifa =
+			    ifaof_ifpforaddr((struct sockaddr *)&sin6, ifp);
+			if (ifa == NULL)
+				return (NULL);
 
-		/*
-		 * Validation for the entry.
-		 * Note that the check for rt_llinfo is necessary because a
-		 * cloned route from a parent route that has the L flag (e.g.
-		 * the default route to a p2p interface) may have the flag, too,
-		 * while the destination is not actually a neighbor.
-		 * XXX: we can't use rt->rt_ifp to check for the interface,
-		 * since it might be the loopback interface if the entry is for
-		 * our own address on a non-loopback interface. Instead, we
-		 * should use rt->rt_ifa->ifa_ifp, which would specify the REAL
-		 * interface.
-		 * Note also that ifa_ifp and ifp may differ when we connect two
-		 * interfaces to a same link, install a link prefix to an
-		 * interface, and try to install a neighbor cache on an
-		 * interface that does not have a route to the prefix.
-		 */
-		if ((rt->rt_flags & RTF_GATEWAY) ||
-		    (rt->rt_flags & RTF_LLINFO) == 0 ||
-		    rt->rt_gateway->sa_family != AF_LINK ||
-		    rt->rt_llinfo == NULL ||
-		    (ifp && rt->rt_ifa->ifa_ifp != ifp)) {
-			if (create) {
-				nd6log((LOG_DEBUG,
-				    "%s: failed to lookup %s (if = %s)\n",
-				    __func__, ip6_sprintf(ip6buf, addr6),
-				    ifp ? if_name(ifp) : "unspec"));
+			/*
+			 * Create a new route.  RTF_LLINFO is necessary
+			 * to create a Neighbor Cache entry for the
+			 * destination in nd6_rtrequest which will be
+			 * called in rtrequest via ifa->ifa_rtrequest.
+			 */
+			e = in6_rtrequest(RTM_ADD,
+			    (struct sockaddr *)&sin6, ifa->ifa_addr,
+			    (struct sockaddr *)&all1_sa,
+			    (ifa->ifa_flags | RTF_HOST | RTF_LLINFO) &
+			    ~RTF_CLONING, &rt, fibnum);
+			if (e != 0) {
+				log(LOG_ERR,
+				    "%s: failed to add route for a "
+				    "neighbor(%s), errno=%d\n", __func__,
+				    ip6_sprintf(ip6buf, addr6), e);
 			}
-			RT_UNLOCK(rt);
-			continue;
+			if (rt == NULL)
+				return (NULL);
+			RT_LOCK(rt);
+			if (rt->rt_llinfo) {
+				struct llinfo_nd6 *ln =
+				    (struct llinfo_nd6 *)rt->rt_llinfo;
+				ln->ln_state = ND6_LLINFO_NOSTATE;
+			}
+		} else
+			return (NULL);
+	}
+	RT_LOCK_ASSERT(rt);
+	RT_REMREF(rt);
+	/*
+	 * Validation for the entry.
+	 * Note that the check for rt_llinfo is necessary because a cloned
+	 * route from a parent route that has the L flag (e.g. the default
+	 * route to a p2p interface) may have the flag, too, while the
+	 * destination is not actually a neighbor.
+	 * XXX: we can't use rt->rt_ifp to check for the interface, since
+	 *      it might be the loopback interface if the entry is for our
+	 *      own address on a non-loopback interface. Instead, we should
+	 *      use rt->rt_ifa->ifa_ifp, which would specify the REAL
+	 *	interface.
+	 * Note also that ifa_ifp and ifp may differ when we connect two
+	 * interfaces to a same link, install a link prefix to an interface,
+	 * and try to install a neighbor cache on an interface that does not
+	 * have a route to the prefix.
+	 */
+	if ((rt->rt_flags & RTF_GATEWAY) || (rt->rt_flags & RTF_LLINFO) == 0 ||
+	    rt->rt_gateway->sa_family != AF_LINK || rt->rt_llinfo == NULL ||
+	    (ifp && rt->rt_ifa->ifa_ifp != ifp)) {
+		if (create) {
+			nd6log((LOG_DEBUG,
+			    "%s: failed to lookup %s (if = %s)\n",
+			    __func__, ip6_sprintf(ip6buf, addr6),
+			    ifp ? if_name(ifp) : "unspec"));
 		}
-		RT_UNLOCK(rt);		/* XXX not ready to return rt locked */
-		if (fib == fibnum)
-			rtfib = rt;
+		RT_UNLOCK(rt);
+		return (NULL);
 	}
-	return (rtfib);
+	RT_UNLOCK(rt);		/* XXX not ready to return rt locked */
+	return (rt);
 }
 
 #ifndef BURN_BRIDGES

From owner-svn-src-projects@FreeBSD.ORG  Wed Mar 14 20:41:16 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id AB2E91065674;
	Wed, 14 Mar 2012 20:41:16 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 817828FC15;
	Wed, 14 Mar 2012 20:41:16 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2EKfG2a030574;
	Wed, 14 Mar 2012 20:41:16 GMT (envelope-from bz@svn.freebsd.org)
Received: (from bz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2EKfGhv030573;
	Wed, 14 Mar 2012 20:41:16 GMT (envelope-from bz@svn.freebsd.org)
Message-Id: <201203142041.q2EKfGhv030573@svn.freebsd.org>
From: "Bjoern A. Zeeb" <bz@FreeBSD.org>
Date: Wed, 14 Mar 2012 20:41:16 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r232982 -
	projects/multi-fibv6/7/tools/regression/sockets/so_setfib
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Mar 2012 20:41:16 -0000

Author: bz
Date: Wed Mar 14 20:41:16 2012
New Revision: 232982
URL: http://svn.freebsd.org/changeset/base/232982

Log:
  MFC r231855:
  
    Add regression tests for the setsockopt(2) SO_SETFIB socket option.
  
    Check that the expected domain(9) families all handle the socket option
    correctly and do proper bounds checks.
  
  Sponsored by:	Cisco Systems, Inc.

Added:
  projects/multi-fibv6/7/tools/regression/sockets/so_setfib/
     - copied from r231855, head/tools/regression/sockets/so_setfib/
Modified:
Directory Properties:
  projects/multi-fibv6/7/tools/regression/sockets/   (props changed)

From owner-svn-src-projects@FreeBSD.ORG  Wed Mar 14 20:44:21 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 226C7106566C;
	Wed, 14 Mar 2012 20:44:21 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 112A68FC14;
	Wed, 14 Mar 2012 20:44:21 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2EKiLdJ030760;
	Wed, 14 Mar 2012 20:44:21 GMT (envelope-from bz@svn.freebsd.org)
Received: (from bz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2EKiKIM030754;
	Wed, 14 Mar 2012 20:44:20 GMT (envelope-from bz@svn.freebsd.org)
Message-Id: <201203142044.q2EKiKIM030754@svn.freebsd.org>
From: "Bjoern A. Zeeb" <bz@FreeBSD.org>
Date: Wed, 14 Mar 2012 20:44:20 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r232983 - in projects/multi-fibv6/7/tools/test: .
	netfibs
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Mar 2012 20:44:21 -0000

Author: bz
Date: Wed Mar 14 20:44:20 2012
New Revision: 232983
URL: http://svn.freebsd.org/changeset/base/232983

Log:
  MFC r231858:
  
    Add regression tests scripts for multi-IP FIBs exercising the send,
    receive and forward path tagging packets with both the ifconfig fib
    option or using ipfw, running ICMP6, TCP/v6 and UDP/v6 tests and
    testing both setfib(2) as well as the SO_SETFIB socket option.
  
    At 16 FIBs a total of over 64k return codes/replies/stati are checked,
    sometimes multiple times (in different ways, e.g. the reflected request
    as well as ipfw counter values).
  
    The scripts need two or three machines to run and are thus not added
    to the tools/regression framework but only to tools/test.
  
  MFC r232114:
  
    Update scripts to work around two sh(1) bugs found in stable/8:
    1) _x=$((_x + 1)) does not work while x=$((x + 1)) does.
    2) Parameter Expansion, esp. "${x%%bar}" does not work if quoted.
  
    Correct typos and improve some details forwarding.sh already
    had in initiator, esp. related to ipfw accepting if the default
    is deny.
  
    Add an extra stat call to the "delay" function in addition to the
    touch which together is still a lot faster than sleep 1 but seems
    to help a lot more to mitigate the unrelated kernel race seen.
  
  MFC r232609:
  
    Use = rather than == for expressions to test(1) builtin(1) in sh(1) to
    comply with standards.
  
    On modern branches there is an undocumented alias (see r219084) but on
    stable/7 this is still an error.
  
  Sponsored by:	Cisco Systems, Inc.

Added:
  projects/multi-fibv6/7/tools/test/netfibs/
     - copied from r231858, head/tools/test/netfibs/
Modified:
  projects/multi-fibv6/7/tools/test/README
  projects/multi-fibv6/7/tools/test/netfibs/README
  projects/multi-fibv6/7/tools/test/netfibs/forwarding.sh
  projects/multi-fibv6/7/tools/test/netfibs/initiator.sh
  projects/multi-fibv6/7/tools/test/netfibs/reflector.sh
Directory Properties:
  projects/multi-fibv6/7/tools/test/   (props changed)

Modified: projects/multi-fibv6/7/tools/test/README
==============================================================================
--- projects/multi-fibv6/7/tools/test/README	Wed Mar 14 20:41:16 2012	(r232982)
+++ projects/multi-fibv6/7/tools/test/README	Wed Mar 14 20:44:20 2012	(r232983)
@@ -9,5 +9,6 @@ Please make a subdir per program, and ad
 
 devrandom	Programs to test /dev/*random.
 malloc		A program to test and benchmark malloc().
+netfibs		Programs to test multi-FIB network stacks.
 posixshm	A program to test POSIX shared memory.
 testfloat	Programs to test floating-point implementations

Modified: projects/multi-fibv6/7/tools/test/netfibs/README
==============================================================================
--- head/tools/test/netfibs/README	Fri Feb 17 04:26:24 2012	(r231858)
+++ projects/multi-fibv6/7/tools/test/netfibs/README	Wed Mar 14 20:44:20 2012	(r232983)
@@ -35,7 +35,7 @@ initiator.sh and reflector.sh
 	output.  A special value of 42 will enable sh(1) xtrace printing.
 
 	The output format is modeled after Test::Harness Perl as used in
-	tools/regression/ but not always complaint following the test case name.
+	tools/regression/ but not always compliant following the test case name.
 
 	NOTE: at the time of writing reflector.sh can trigger kernel races
 	unrelated to multi-FIB test leading to a panic(9).  "delay" calls

Modified: projects/multi-fibv6/7/tools/test/netfibs/forwarding.sh
==============================================================================
--- head/tools/test/netfibs/forwarding.sh	Fri Feb 17 04:26:24 2012	(r231858)
+++ projects/multi-fibv6/7/tools/test/netfibs/forwarding.sh	Wed Mar 14 20:44:20 2012	(r232983)
@@ -222,36 +222,36 @@ _reachability_check()
 
 reachability_check()
 {
-	local _i _rc
+	local _i rc
 
 	# Try to reach all control addresses on other nodes.
 	# We need to loop for a while as we cannot expect all to be up
 	# the very same moment.
 	i=1
-	_rc=42
-	while test ${_rc} -ne 0 -a ${i} -le ${WAITS}; do
+	rc=42
+	while test ${rc} -ne 0 -a ${i} -le ${WAITS}; do
 		print_debug "${i}/${WAITS} trying to ping6 control addresses."
-		_rc=0
+		rc=0
 		set +e
 		case ${node} in
 		left)	_reachability_check ${MIDDLELEFTADDR}
-			_rc=$((_rc + $?))
+			rc=$((rc + $?))
 			_reachability_check ${MIDDLERIGHTADDR}
-			_rc=$((_rc + $?))
+			rc=$((rc + $?))
 			_reachability_check ${RIGHTADDR}
-			_rc=$((_rc + $?))
+			rc=$((rc + $?))
 			;;
 		middle)	_reachability_check ${LEFTADDR}
-			_rc=$((_rc + $?))
+			rc=$((rc + $?))
 			_reachability_check ${RIGHTADDR}
-			_rc=$((_rc + $?))
+			rc=$((rc + $?))
 			;;
 		right)	_reachability_check ${MIDDLERIGHTADDR}
-			_rc=$((_rc + $?))
+			rc=$((rc + $?))
 			_reachability_check ${MIDDLELEFTADDR}
-			_rc=$((_rc + $?))
+			rc=$((rc + $?))
 			_reachability_check ${LEFTADDR}
-			_rc=$((_rc + $?))
+			rc=$((rc + $?))
 			;;
 		esac
 		set -e
@@ -390,14 +390,14 @@ test_icmp6()
 
 test_ulp_reflect_one()
 {
-	local _txt _opts _port _fib
+	local _txt _opts port fib
 	_txt="$1"
 	_opts="$2"
-	_port=$3
-	_fib=$4
+	port=$3
+	fib=$4
 
-	print_debug "./reflect -p $((_port + 1 + _fib)) -t ${_txt}" "${_opts}"
-	./reflect -p $((_port + 1 + _fib)) -t ${_txt} ${_opts}
+	print_debug "./reflect -p $((port + 1 + fib)) -t ${_txt}" "${_opts}"
+	./reflect -p $((port + 1 + fib)) -t ${_txt} ${_opts}
 	print_debug "reflect '${_txt}' terminated without error."
 }
 
@@ -463,19 +463,19 @@ nc_send_recv()
 
 test_ulp()
 {
-	local _maxfibs _msg _addr _port _fib i _txt testno _rc _reply
-	_maxfibs=$1
+	local maxfibs _msg _addr port fib i _txt testno _rc _reply
+	maxfibs=$1
 	_msg="$2"
 	_addr=$3
-	_port=$4
-	_fib=$5
+	port=$4
+	fib=$5
 
-	printf "1..%d\n" $((${_maxfibs} * 2))
+	printf "1..%d\n" $((${maxfibs} * 2))
 	testno=1
 	i=0
-	while test ${i} -lt ${_maxfibs}; do
+	while test ${i} -lt ${maxfibs}; do
 
-		if test ${i} -eq $((${_maxfibs} - 1)); then
+		if test ${i} -eq $((${maxfibs} - 1)); then
 			# Last one; signal DONE.
 			_txt="DONE ${_msg}_${i}"
 		else
@@ -485,18 +485,18 @@ test_ulp()
 		eval _rc="\${rc_${i}}"
 
 		# Test TCP.
-		nc_send_recv ${_maxfibs} "${_txt}" "${_txt}" ${_addr} \
-		    $((${_port} + 1 + _fib)) ""
+		nc_send_recv ${maxfibs} "${_txt}" "${_txt}" ${_addr} \
+		    $((${port} + 1 + fib)) ""
 		check_rc $? ${_rc} ${testno} "${_msg}_${i}_tcp" \
-		    "[${_addr}]:$((${_port} + 1 + _fib)) ${_reply}"
+		    "[${_addr}]:$((${port} + 1 + fib)) ${_reply}"
 		testno=$((testno + 1))
 		sleep 1
 
 		# Test UDP.
-		nc_send_recv ${_maxfibs} "${_txt}" "${_txt}" ${_addr} \
-		    $((${_port} + 1 + _fib)) "-u"
+		nc_send_recv ${maxfibs} "${_txt}" "${_txt}" ${_addr} \
+		    $((${port} + 1 + fib)) "-u"
 		check_rc $? ${_rc} ${testno} "${_msg}_${i}_udp" \
-		    "[${_addr}]:$((${_port} + 1 + _fib)) ${_reply}"
+		    "[${_addr}]:$((${port} + 1 + fib)) ${_reply}"
 		sleep 1
 
 		i=$((i + 1))
@@ -506,18 +506,18 @@ test_ulp()
 
 setup_ipfw_count()
 {
-	local i _port _maxfib _p _fib _ofib
-	_port=$1
-	_maxfib=$2
+	local i port maxfib _p _fib _ofib
+	port=$1
+	maxfib=$2
 	_fib=$3
 	_ofib=$4
 
 	i=0
-	while test ${i} -lt ${_maxfib}; do
+	while test ${i} -lt ${maxfib}; do
 
 		case ${_ofib} in
-		-1)	_p=$((_port + 1 + i)) ;;
-		*)	_p=$((_port + 1 + _maxfib - 1 - i)) ;;
+		-1)	_p=$((port + 1 + i)) ;;
+		*)	_p=$((port + 1 + maxfib - 1 - i)) ;;
 		esac
 
 		# Only count ICMP6 echo replies.
@@ -532,10 +532,10 @@ setup_ipfw_count()
 		ipfw add $((20000 + i)) count ipv6-icmp from any to any \
 		    icmp6types 128 fib ${i} via ${IFACEFAR} out > /dev/null
 		ipfw add $((20000 + i)) count tcp from any to any \
-		    dst-port $((${_port} + 1 + i)) fib ${i} \
+		    dst-port $((${port} + 1 + i)) fib ${i} \
 		    via ${IFACEFAR} out > /dev/null
 		ipfw add $((20000 + i)) count udp from any to any \
-		    dst-port $((${_port} + 1 + i)) fib ${i} \
+		    dst-port $((${port} + 1 + i)) fib ${i} \
 		    via ${IFACEFAR} out > /dev/null
 
 		i=$((i + 1))
@@ -544,7 +544,7 @@ setup_ipfw_count()
 
 report_ipfw_count()
 {
-	local _fib _o i _rstr _c _req _p _opts
+	local _fib _o i _rstr _c _req _p _opts base
 	_o="$2"
 
 	case ${DEBUG} in
@@ -553,9 +553,9 @@ report_ipfw_count()
 	esac
 
 	_rstr="RESULTS "
-	for _base in 10000 20000; do
+	for base in 10000 20000; do
 		for _o in i t u; do
-			case ${_base} in
+			case ${base} in
 			10000)	_rstr="${_rstr}\nLEFT " ;;
 			20000)	_rstr="${_rstr}\nRIGHT " ;;
 			esac
@@ -568,11 +568,11 @@ report_ipfw_count()
 			while test ${i} -lt ${RT_NUMFIBS}; do
 
 				case "${_o}" in
-				i)	_c=`ipfw show $((${_base} + i)) | \
+				i)	_c=`ipfw show $((${base} + i)) | \
 					    awk '/ ipv6-icmp / { print $2 }'` ;;
-				t)	_c=`ipfw show $((${_base} + i)) | \
+				t)	_c=`ipfw show $((${base} + i)) | \
 					    awk '/ tcp / { print $2 }'` ;;
-				u)	_c=`ipfw show $((${_base} + i)) | \
+				u)	_c=`ipfw show $((${base} + i)) | \
 					    awk '/ udp / { print $2 }'` ;;
 				esac
 				_rstr="${_rstr}${i} ${_c},"
@@ -582,7 +582,7 @@ report_ipfw_count()
 		done
 		i=0
 		while test ${i} -lt ${RT_NUMFIBS}; do
-			ipfw delete $((${_base} + i)) > /dev/null 2>&1 || true
+			ipfw delete $((${base} + i)) > /dev/null 2>&1 || true
 			i=$((i + 1))
 		done
 	done
@@ -994,18 +994,18 @@ fwd_fib_symmetric_ipfw()
 
 _fwd_fib_asymmetric_results()
 {
-	local _n _fib _maxfib i _edge _type _rc
+	local _n fib maxfib i _edge _type _rc
 	_n="$1"
-	_fib=$2
-	_maxfib=$3
+	fib=$2
+	maxfib=$3
 
 	i=0
-	while test ${i} -lt ${_maxfib}; do
+	while test ${i} -lt ${maxfib}; do
 		_edge="RIGHT"
 			for _type in "ICMP6" "TCP" "UDP"; do
 
 				case ${i} in
-				${_fib}) eval rc_${_n}_${_edge}_${_type}_${i}=1
+				${fib}) eval rc_${_n}_${_edge}_${_type}_${i}=1
 					#print_debug \
 					#   "rc_${_n}_${_edge}_${_type}_${i}=1"
 					;;
@@ -1018,14 +1018,14 @@ _fwd_fib_asymmetric_results()
 			done
 		i=$((i + 1))
 	done
-	_fib=$((_maxfib - 1 - _fib))
+	fib=$((maxfib - 1 - fib))
 	i=0
-	while test ${i} -lt ${_maxfib}; do
+	while test ${i} -lt ${maxfib}; do
 		_edge="LEFT"
 			for _type in "ICMP6" "TCP" "UDP"; do
 
 				case ${i} in
-				${_fib}) eval rc_${_n}_${_edge}_${_type}_${i}=1
+				${fib}) eval rc_${_n}_${_edge}_${_type}_${i}=1
 					#print_debug \
 					#   "rc_${_n}_${_edge}_${_type}_${i}=1"
 					;;
@@ -1073,16 +1073,16 @@ _fwd_fib_asymmetric_left()
 
 _fwd_fib_asymmetric_middle_ifconfig()
 {
-	local _n _maxfib i
+	local _n maxfib i
 	_n="$1"
-	_maxfib=$2
+	maxfib=$2
 
 	i=0
-	while test ${i} -lt ${_maxfib}; do
+	while test ${i} -lt ${maxfib}; do
 		ifconfig ${IFACE} fib ${i}
-		ifconfig ${IFACEFAR} fib $((${_maxfib} - 1 - ${i}))
-		setup_ipfw_count ${CTRLPORT} ${_maxfib} ${i} \
-		    $((${_maxfib} - 1 - ${i}))
+		ifconfig ${IFACEFAR} fib $((${maxfib} - 1 - ${i}))
+		setup_ipfw_count ${CTRLPORT} ${maxfib} ${i} \
+		    $((${maxfib} - 1 - ${i}))
 		wait_remote_ready "START_${_n}_${i}"
 		ipfw -q zero > /dev/null
 		# Nothing to do for the middle node testing the default.
@@ -1095,12 +1095,12 @@ _fwd_fib_asymmetric_middle_ifconfig()
 
 _fwd_fib_asymmetric_middle_ipfw()
 {
-	local _n _maxfib i j _port
+	local _n maxfib i j _port
 	_n="$1"
-	_maxfib=$2
+	maxfib=$2
 
 	i=0
-	while test ${i} -lt ${_maxfib}; do
+	while test ${i} -lt ${maxfib}; do
 
 		_port=$((CTRLPORT + 1 + i))
 		ipfw add 100 setfib ${i} ipv6-icmp from any to any \
@@ -1110,7 +1110,7 @@ _fwd_fib_asymmetric_middle_ipfw()
 		ipfw add 100 setfib ${i} udp from any to any \
 		    dst-port ${_port} via ${IFACE} in > /dev/null
 
-		j=$((${_maxfib} - 1 - ${i}))
+		j=$((${maxfib} - 1 - ${i}))
 		ipfw add 100 setfib ${j} ipv6-icmp from any to any \
 		    icmp6types 129 via ${IFACEFAR} in > /dev/null
 		ipfw add 100 setfib ${j} tcp from any to any \
@@ -1118,7 +1118,7 @@ _fwd_fib_asymmetric_middle_ipfw()
 		ipfw add 100 setfib ${j} udp from any to any \
 		    src-port ${_port} via ${IFACEFAR} in > /dev/null
 
-		setup_ipfw_count ${CTRLPORT} ${_maxfib} ${i} ${j}
+		setup_ipfw_count ${CTRLPORT} ${maxfib} ${i} ${j}
 		wait_remote_ready "START_${_n}_${i}"
 		ipfw -q zero > /dev/null
 		# Nothing to do for the middle node testing the default.

Modified: projects/multi-fibv6/7/tools/test/netfibs/initiator.sh
==============================================================================
--- head/tools/test/netfibs/initiator.sh	Fri Feb 17 04:26:24 2012	(r231858)
+++ projects/multi-fibv6/7/tools/test/netfibs/initiator.sh	Wed Mar 14 20:44:20 2012	(r232983)
@@ -219,6 +219,7 @@ send_greeting()
 	# The latter is needed to allow indvidiual less specific later rules
 	# from test cases to just disallow any IPv6 traffic on a matching FIB.
 	ipfw -f flush > /dev/null 2>&1
+	ipfw add 65000 permit ip from any to any > /dev/null 2>&1
 	ipfw add 5 permit ipv6-icmp from any to any icmp6types 135,136 fib 0 \
 	    via ${IFACE} out > /dev/null 2>&1
 
@@ -255,7 +256,7 @@ EOI
 	PEERLINKLOCAL=${_linklocal}
 
 	# Swap the zoneid to the local interface scope.
-	PEERLINKLOCAL="${PEERLINKLOCAL%%\%*}%${IFACE}"
+	PEERLINKLOCAL=${PEERLINKLOCAL%%\%*}"%${IFACE}"
 
 	print_debug "Successfully exchanged greeting. Peer at ${PEERLINKLOCAL}"
 }
@@ -409,7 +410,7 @@ testtx_ulp6_connected()
 	*) _f="SETFIB" ;;
 	esac
 
-	if test "${_o}" == "-i" -a "${_f}" == "SO_SETFIB"; then
+	if test "${_o}" = "-i" -a "${_f}" = "SO_SETFIB"; then
 		print_debug "Skipping icmp6 tests for SO_SETFIB."
 		return 0
 	fi
@@ -510,21 +511,21 @@ testtx_udp6_connected()
 #
 testtx_ulp6_connected_blackhole()
 {
-	local _fib i _n _o
+	local fib i _n _o
 	_n="$1"
 	_o="$2"
 
-	_fib=0
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
+	fib=0
+	while test ${fib} -lt ${RT_NUMFIBS}; do
 
-		print_debug "${_n} ${_fib}"
+		print_debug "${_n} ${fib}"
 
 		# Setup expected return values.
 		i=0
 		while test ${i} -lt ${RT_NUMFIBS}; do
 			ipfw delete $((100 + i)) > /dev/null 2>&1 || true
 			case ${i} in
-			${_fib})
+			${fib})
 				eval rc_${i}_l=0
 				eval rc_${i}_a=0
 				;;
@@ -538,17 +539,17 @@ testtx_ulp6_connected_blackhole()
 			i=$((i + 1))
 		done
 
-		testtx_ulp6_connected "${_n}${_fib}" "${_o}" ${_fib}
+		testtx_ulp6_connected "${_n}${fib}" "${_o}" ${fib}
 		case ${DEBUG} in
 		''|0)	;;
 		*)	ipfw show ;;
 		esac
-		_fib=$((_fib + 1))
+		fib=$((fib + 1))
 	done
-	_fib=0
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
-		ipfw delete $((100 + _fib)) > /dev/null 2>&1 || true
-		_fib=$((_fib + 1))
+	fib=0
+	while test ${fib} -lt ${RT_NUMFIBS}; do
+		ipfw delete $((100 + fib)) > /dev/null 2>&1 || true
+		fib=$((fib + 1))
 	done
 }
 
@@ -584,50 +585,50 @@ testtx_udp6_connected_blackhole()
 #
 testtx_ulp6_connected_transfernets()
 {
-	local _fib i _n _o _p
+	local fib i _n _o _p
 	_n="$1"
 	_o="$2"
 
 	# Setup transfer networks and firewall.
 	ipfw delete 10 > /dev/null 2>&1 || true
-	_fib=0
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
-		ifconfig ${IFACE} inet6 2001:2:${_fib}::1/64 -alias \
+	fib=0
+	while test ${fib} -lt ${RT_NUMFIBS}; do
+		ifconfig ${IFACE} inet6 2001:2:${fib}::1/64 -alias \
 		    > /dev/null 2>&1 || true
-		ifconfig ${IFACE} inet6 2001:2:${_fib}::1/64 alias
-		ipfw add 10 setfib ${_fib} ipv6-icmp from 2001:2:${_fib}::/64 \
+		ifconfig ${IFACE} inet6 2001:2:${fib}::1/64 alias
+		ipfw add 10 setfib ${fib} ipv6-icmp from 2001:2:${fib}::/64 \
 		    to any ip6 icmp6types 135,136 via ${IFACE} in \
 		    > /dev/null 2>&1
 		# Remove connected routes from all but matching FIB.
 		i=0
 		while test ${i} -lt ${RT_NUMFIBS}; do
 			case ${i} in
-			${_fib});;
+			${fib});;
 			*)	setfib -F${i} route delete -inet6 \
-				    -net 2001:2:${_fib}:: > /dev/null 2>&1
+				    -net 2001:2:${fib}:: > /dev/null 2>&1
 				;;
 			esac
 			i=$((i + 1))
 		done
-		_fib=$((_fib + 1))
+		fib=$((fib + 1))
 	done
 
 	# Save PEERADDR
 	_p=${PEERADDR}
 
 	# Run tests.
-	_fib=0
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
-		PEERADDR=2001:2:${_fib}::2
+	fib=0
+	while test ${fib} -lt ${RT_NUMFIBS}; do
+		PEERADDR=2001:2:${fib}::2
 
-		print_debug "${_n} ${_fib}"
+		print_debug "${_n} ${fib}"
 
 		# Setup expected return values.
 		i=0
 		while test ${i} -lt ${RT_NUMFIBS}; do
 			eval rc_${i}_l=0
 			case ${i} in
-			${_fib})
+			${fib})
 				eval rc_${i}_a=0
 				;;
 			*)	eval rc_${i}_a=1
@@ -636,18 +637,18 @@ testtx_ulp6_connected_transfernets()
 			i=$((i + 1))
 		done
 
-		testtx_ulp6_connected "${_n}${_fib}" "${_o}" ${_fib}
-		_fib=$((_fib + 1))
+		testtx_ulp6_connected "${_n}${fib}" "${_o}" ${fib}
+		fib=$((fib + 1))
 	done
 
 	# Restore PEERADDR
 	PEERADDR=${_p}
 
 	# Cleanup transfer networks and firewall.
-	_fib=0
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
-		ifconfig ${IFACE} inet6 2001:2:${_fib}::1/64 -alias
-		_fib=$((_fib + 1))
+	fib=0
+	while test ${fib} -lt ${RT_NUMFIBS}; do
+		ifconfig ${IFACE} inet6 2001:2:${fib}::1/64 -alias
+		fib=$((fib + 1))
 	done
 	ipfw delete 10 > /dev/null 2>&1
 }
@@ -684,46 +685,46 @@ testtx_udp6_connected_transfernets()
 #
 testtx_ulp6_connected_ifconfig_transfernets()
 {
-	local _fib i _n _o _p
+	local fib i _n _o _p
 	_n="$1"
 	_o="$2"
 
 	# Setup transfer networks.
-	_fib=0
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
-		ifconfig ${IFACE} inet6 2001:2:${_fib}::1/64 -alias \
+	fib=0
+	while test ${fib} -lt ${RT_NUMFIBS}; do
+		ifconfig ${IFACE} inet6 2001:2:${fib}::1/64 -alias \
 		    > /dev/null 2>&1 || true
-		ifconfig ${IFACE} inet6 2001:2:${_fib}::1/64 alias
+		ifconfig ${IFACE} inet6 2001:2:${fib}::1/64 alias
 		# Remove connected routes from all but matching FIB.
 		i=0
 		while test ${i} -lt ${RT_NUMFIBS}; do
 			case ${i} in
-			${_fib});;
+			${fib});;
 			*)	setfib -F${i} route delete -inet6 \
-				    -net 2001:2:${_fib}:: > /dev/null 2>&1
+				    -net 2001:2:${fib}:: > /dev/null 2>&1
 				;;
 			esac
 			i=$((i + 1))
 		done
-		_fib=$((_fib + 1))
+		fib=$((fib + 1))
 	done
 
 	# Save PEERADDR
 	_p=${PEERADDR}
 
 	# Run tests.
-	_fib=0
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
-		PEERADDR=2001:2:${_fib}::2
+	fib=0
+	while test ${fib} -lt ${RT_NUMFIBS}; do
+		PEERADDR=2001:2:${fib}::2
 
-		print_debug "${_n} ${_fib}"
+		print_debug "${_n} ${fib}"
 
 		# Setup expected return values.
 		i=0
 		while test ${i} -lt ${RT_NUMFIBS}; do
 			eval rc_${i}_l=0
 			case ${i} in
-			${_fib})
+			${fib})
 				eval rc_${i}_a=0
 				;;
 			*)	eval rc_${i}_a=1
@@ -732,20 +733,20 @@ testtx_ulp6_connected_ifconfig_transfern
 			i=$((i + 1))
 		done
 
-		ifconfig ${IFACE} fib ${_fib}
+		ifconfig ${IFACE} fib ${fib}
 
-		testtx_ulp6_connected "${_n}${_fib}" "${_o}" ${_fib}
-		_fib=$((_fib + 1))
+		testtx_ulp6_connected "${_n}${fib}" "${_o}" ${fib}
+		fib=$((fib + 1))
 	done
 
 	# Restore PEERADDR
 	PEERADDR=${_p}
 
 	# Cleanup transfer networks.
-	_fib=0
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
-		ifconfig ${IFACE} inet6 2001:2:${_fib}::1/64 -alias
-		_fib=$((_fib + 1))
+	fib=0
+	while test ${fib} -lt ${RT_NUMFIBS}; do
+		ifconfig ${IFACE} inet6 2001:2:${fib}::1/64 -alias
+		fib=$((fib + 1))
 	done
 	ifconfig ${IFACE} fib 0
 }
@@ -779,23 +780,23 @@ testtx_udp6_connected_ifconfig_transfern
 #
 testtx_ulp6_gateway()
 {
-	local _fib i _n _o _p
+	local fib i _n _o _p
 	_n="$1"
 	_o="$2"
 
 	# Setup default gateway and expected error codes.
-	_fib=0
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
-		setfib -F${_fib} route delete -inet6 -net default \
+	fib=0
+	while test ${fib} -lt ${RT_NUMFIBS}; do
+		setfib -F${fib} route delete -inet6 -net default \
 		    > /dev/null 2>&1 || true
-		setfib -F${_fib} route add -inet6 -net default ${PEERADDR} \
+		setfib -F${fib} route add -inet6 -net default ${PEERADDR} \
 		    > /dev/null 2>&1
 		case "${_o}" in
-		-i) eval rc_${_fib}_l=0 ;;	# ICMPv6 will succeed
-		*)  eval rc_${_fib}_l=1 ;;
+		-i) eval rc_${fib}_l=0 ;;	# ICMPv6 will succeed
+		*)  eval rc_${fib}_l=1 ;;
 		esac
-		eval rc_${_fib}_a=0
-		_fib=$((_fib + 1))
+		eval rc_${fib}_a=0
+		fib=$((fib + 1))
 	done
 
 	# Save PEERADDR
@@ -810,11 +811,11 @@ testtx_ulp6_gateway()
 	PEERADDR=${_p}
 
 	# Cleanup transfer networks.
-	_fib=0
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
-		setfib -F${_fib} route delete -inet6 -net default \
+	fib=0
+	while test ${fib} -lt ${RT_NUMFIBS}; do
+		setfib -F${fib} route delete -inet6 -net default \
 		    > /dev/null 2>&1
-		_fib=$((_fib + 1))
+		fib=$((fib + 1))
 	done
 }
 
@@ -851,38 +852,38 @@ testtx_udp6_gateway()
 #
 testtx_ulp6_transfernets_gateways()
 {
-	local _fib i _n _o _p
+	local fib i _n _o _p
 	_n="$1"
 	_o="$2"
 
 	# Setup transfer networks, default routes, and firewall.
-	_fib=0
+	fib=0
 	ipfw delete 10 > /dev/null 2>&1 || true
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
-		ifconfig ${IFACE} inet6 2001:2:${_fib}::1/64 -alias \
+	while test ${fib} -lt ${RT_NUMFIBS}; do
+		ifconfig ${IFACE} inet6 2001:2:${fib}::1/64 -alias \
 		    > /dev/null 2>&1 || true
-		ifconfig ${IFACE} inet6 2001:2:${_fib}::1/64 alias \
+		ifconfig ${IFACE} inet6 2001:2:${fib}::1/64 alias \
 		    > /dev/null 2>&1
-		ipfw add 10 setfib ${_fib} ipv6-icmp \
-		    from 2001:2:${_fib}::/64 to any ip6 icmp6types 135,136 \
+		ipfw add 10 setfib ${fib} ipv6-icmp \
+		    from 2001:2:${fib}::/64 to any ip6 icmp6types 135,136 \
 		    via ${IFACE} in > /dev/null 2>&1
 		# Remove connected routes from all but matching FIB.
 		i=0
 		while test ${i} -lt ${RT_NUMFIBS}; do
 			case ${i} in
-			${_fib});;
+			${fib});;
 			*)	setfib -F${i} route delete -inet6 \
-				    -net 2001:2:${_fib}:: > /dev/null 2>&1
+				    -net 2001:2:${fib}:: > /dev/null 2>&1
 				;;
 			esac
 			i=$((i + 1))
 		done
 		# Add default route.
-		setfib -F${_fib} route delete -inet6 -net default \
+		setfib -F${fib} route delete -inet6 -net default \
 		    > /dev/null 2>&1 || true
-		setfib -F${_fib} route add -inet6 -net default \
-		    2001:2:${_fib}::2 > /dev/null 2>&1
-		_fib=$((_fib + 1))
+		setfib -F${fib} route add -inet6 -net default \
+		    2001:2:${fib}::2 > /dev/null 2>&1
+		fib=$((fib + 1))
 	done
 
 	# Save PEERADDR
@@ -908,13 +909,13 @@ testtx_ulp6_transfernets_gateways()
 	PEERADDR=${_p}
 
 	# Cleanup default routes, transfer networks, and firewall.
-	_fib=0
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
-		setfib -F${_fib} route delete -inet6 -net default \
+	fib=0
+	while test ${fib} -lt ${RT_NUMFIBS}; do
+		setfib -F${fib} route delete -inet6 -net default \
 		    > /dev/null 2>&1
-		ifconfig ${IFACE} inet6 2001:2:${_fib}::1/64 -alias \
+		ifconfig ${IFACE} inet6 2001:2:${fib}::1/64 -alias \
 		    > /dev/null 2>&1
-		_fib=$((_fib + 1))
+		fib=$((fib + 1))
 	done
 	ipfw delete 10 > /dev/null 2>&1
 }
@@ -954,33 +955,33 @@ testtx_udp6_transfernets_gateways()
 #
 testtx_ulp6_transfernets_gateway()
 {
-	local _fib i _n _o _p
+	local fib i _n _o _p
 	_n="$1"
 	_o="$2"
 
 	# Setup transfer networks, default routes, and firewall.
-	_fib=0
+	fib=0
 	ipfw delete 10 > /dev/null 2>&1 || true
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
-		ifconfig ${IFACE} inet6 2001:2:${_fib}::1/64 -alias \
+	while test ${fib} -lt ${RT_NUMFIBS}; do
+		ifconfig ${IFACE} inet6 2001:2:${fib}::1/64 -alias \
 		    > /dev/null 2>&1 || true
-		ifconfig ${IFACE} inet6 2001:2:${_fib}::1/64 alias \
+		ifconfig ${IFACE} inet6 2001:2:${fib}::1/64 alias \
 		    > /dev/null 2>&1
-		ipfw add 10 setfib ${_fib} ipv6-icmp \
-		    from 2001:2:${_fib}::/64 to any ip6 icmp6types 135,136 \
+		ipfw add 10 setfib ${fib} ipv6-icmp \
+		    from 2001:2:${fib}::/64 to any ip6 icmp6types 135,136 \
 		    via ${IFACE} in > /dev/null 2>&1
 		# Remove connected routes from all but matching FIB.
 		i=0
 		while test ${i} -lt ${RT_NUMFIBS}; do
 			case ${i} in
-			${_fib});;
+			${fib});;
 			*)	setfib -F${i} route delete -inet6 \
-				    -net 2001:2:${_fib}:: > /dev/null 2>&1
+				    -net 2001:2:${fib}:: > /dev/null 2>&1
 				;;
 			esac
 			i=$((i + 1))
 		done
-		_fib=$((_fib + 1))
+		fib=$((fib + 1))
 	done
 
 	# Save PEERADDR
@@ -988,10 +989,10 @@ testtx_ulp6_transfernets_gateway()
 	PEERADDR="2001:2:ff01::2"
 
 	# Run tests.
-	_fib=0
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
+	fib=0
+	while test ${fib} -lt ${RT_NUMFIBS}; do
 
-		print_debug "${_n} ${_fib}"
+		print_debug "${_n} ${fib}"
 
 		# Setup expected return values.
 		i=0
@@ -1001,7 +1002,7 @@ testtx_ulp6_transfernets_gateway()
 			*)  eval rc_${i}_l=1 ;;
 			esac
 			case ${i} in
-			${_fib})
+			${fib})
 				eval rc_${i}_a=0
 				;;
 			*)	eval rc_${i}_a=1
@@ -1011,30 +1012,30 @@ testtx_ulp6_transfernets_gateway()
 		done
 
 		# Add default route.
-		setfib -F${_fib} route delete -inet6 -net default \
+		setfib -F${fib} route delete -inet6 -net default \
 		    > /dev/null 2>&1 || true
-		setfib -F${_fib} route add -inet6 -net default \
-		    2001:2:${_fib}::2 > /dev/null 2>&1
+		setfib -F${fib} route add -inet6 -net default \
+		    2001:2:${fib}::2 > /dev/null 2>&1
 
-		testtx_ulp6_connected "${_n}${_fib}" "${_o}" ${_fib}
+		testtx_ulp6_connected "${_n}${fib}" "${_o}" ${fib}
 
 		# Delete default route again.
-		setfib -F${_fib} route delete -inet6 -net default \
+		setfib -F${fib} route delete -inet6 -net default \
 		    > /dev/null 2>&1
-		_fib=$((_fib + 1))
+		fib=$((fib + 1))
 	done
 
 	# Restore PEERADDR
 	PEERADDR=${_p}
 
 	# Cleanup default routes, transfer networks, and firewall.
-	_fib=0
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
-		setfib -F${_fib} route delete -inet6 -net default \
+	fib=0
+	while test ${fib} -lt ${RT_NUMFIBS}; do
+		setfib -F${fib} route delete -inet6 -net default \
 		    > /dev/null 2>&1
-		ifconfig ${IFACE} inet6 2001:2:${_fib}::1/64 -alias \
+		ifconfig ${IFACE} inet6 2001:2:${fib}::1/64 -alias \
 		    > /dev/null 2>&1
-		_fib=$((_fib + 1))
+		fib=$((fib + 1))
 	done
 	ipfw delete 10 > /dev/null 2>&1
 }
@@ -1356,7 +1357,7 @@ testrx_main_setup_rc()
 
 testrx_main()
 {
-	local _n _o s t _fib _instances _destructive _transfer
+	local _n _o s t fib _instances _destructive _transfer
 	_n="$1"
 	_o="$2"
 	_instances=$3
@@ -1369,14 +1370,14 @@ testrx_main()
 			for t in ipfw ifconfig; do
 
 				print_debug "${_n}_${t}"
-				_fib=0
-				while test ${_fib} -lt ${RT_NUMFIBS}; do
+				fib=0
+				while test ${fib} -lt ${RT_NUMFIBS}; do
 
 					testrx_main_setup_rc "${_n}" "${t}" \
-					    ${_fib} "${_o}" ${_instances} \
+					    ${fib} "${_o}" ${_instances} \
 					    ${_destructive} ${_transfer}
 
-					_fib=$((_fib + 1))
+					fib=$((fib + 1))
 				done
 			done
 		done
@@ -1432,10 +1433,14 @@ testrx_udp6_same_addr_all_fibs_a_time()
 #
 # Prereqs.
 #
-kldload ipfw > /dev/null 2>&1 || kldstat -v | grep -q ipfw 
+if test `sysctl -n security.jail.jailed` -eq 0; then
+	kldload ipfw > /dev/null 2>&1 || kldstat -v | grep -q ipfw 
 
-# Reduce the time we wait in case of no reply to 2s.
-sysctl net.inet.tcp.keepinit=2000 > /dev/null 2>&1
+	# Reduce the time we wait in case of no reply to 2s.
+	sysctl net.inet.tcp.keepinit=2000 > /dev/null 2>&1
+fi
+ipfw -f flush > /dev/null 2>&1 || die "please load ipfw in base system"
+ipfw add 65000 permit ip from any to any > /dev/null 2>&1
 
 ################################################################################
 #
@@ -1491,7 +1496,7 @@ for uso in 0 1; do
 	testtx_udp6_transfernets_gateway && sleep 1
 done
 
-# Receiver testering.
+# Receiver testing.
 for uso in 0 1; do
 
 	USE_SOSETFIB=${uso}

Modified: projects/multi-fibv6/7/tools/test/netfibs/reflector.sh
==============================================================================
--- head/tools/test/netfibs/reflector.sh	Fri Feb 17 04:26:24 2012	(r231858)
+++ projects/multi-fibv6/7/tools/test/netfibs/reflector.sh	Wed Mar 14 20:44:20 2012	(r232983)
@@ -70,6 +70,7 @@ delay()
 
 	# sleep 1 is too long.
 	touch /tmp/foo || true
+	stat /tmp/foo > /dev/null 2>&1 || true
 }
 
 check_rc()
@@ -222,7 +223,7 @@ testtx_udp6_connected()
 #
 testtx_icmp6_connected_blackhole()
 {
-	local _opts _fib
+	local _opts fib
 
 	_opts=""
 	case ${DEBUG} in
@@ -231,20 +232,20 @@ testtx_icmp6_connected_blackhole()
 	*)	_opts="-d" ;;
 	esac
 
-	_fib=0
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
+	fib=0
+	while test ${fib} -lt ${RT_NUMFIBS}; do
 		print_debug "./reflect -p ${CTRLPORT} -T TCP6 " \
-		    "-t testtx_icmp6_connected_blackhole${_fib} ${_opts}"
+		    "-t testtx_icmp6_connected_blackhole${fib} ${_opts}"
 		./reflect -p ${CTRLPORT} -T TCP6 \
-		    -t testtx_icmp6_connected_blackhole${_fib} ${_opts}
+		    -t testtx_icmp6_connected_blackhole${fib} ${_opts}
 		print_debug "reflect terminated without error."
-		_fib=$((_fib + 1))
+		fib=$((fib + 1))
 	done
 }
 
 testtx_tcp6_connected_blackhole()
 {
-	local _opts _fib
+	local _opts fib
 
 	_opts=""
 	case ${DEBUG} in
@@ -253,20 +254,20 @@ testtx_tcp6_connected_blackhole()
 	*)	_opts="-d" ;;
 	esac
 
-	_fib=0
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
+	fib=0
+	while test ${fib} -lt ${RT_NUMFIBS}; do
 		print_debug "./reflect -p ${CTRLPORT} -T TCP6 " \
-		    "-t testtx_tcp6_connected_blackhole${_fib} ${_opts}"
+		    "-t testtx_tcp6_connected_blackhole${fib} ${_opts}"
 		./reflect -p ${CTRLPORT} -T TCP6 \
-		    -t testtx_tcp6_connected_blackhole${_fib} ${_opts}
+		    -t testtx_tcp6_connected_blackhole${fib} ${_opts}
 		print_debug "reflect terminated without error."
-		_fib=$((_fib + 1))
+		fib=$((fib + 1))
 	done
 }
 
 testtx_udp6_connected_blackhole()
 {
-	local _opts _fib
+	local _opts fib
 
 	_opts=""
 	case ${DEBUG} in
@@ -275,14 +276,14 @@ testtx_udp6_connected_blackhole()
 	*)	_opts="-d" ;;
 	esac
 
-	_fib=0
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
+	fib=0
+	while test ${fib} -lt ${RT_NUMFIBS}; do
 		print_debug "./reflect -p ${CTRLPORT} -T UDP6 " \
-		    "-t testtx_udp6_connected_blackhole${_fib} ${_opts}"
+		    "-t testtx_udp6_connected_blackhole${fib} ${_opts}"
 		./reflect -p ${CTRLPORT} -T UDP6 \
-		    -t testtx_udp6_connected_blackhole${_fib} ${_opts}
+		    -t testtx_udp6_connected_blackhole${fib} ${_opts}
 		print_debug "reflect terminated without error."
-		_fib=$((_fib + 1))
+		fib=$((fib + 1))
 	done
 }
 
@@ -290,7 +291,7 @@ testtx_udp6_connected_blackhole()
 #
 testtx_ulp6_connected_transfernets()
 {
-	local _opts _fib _n _o
+	local _opts fib _n _o
 	_n="$1"
 	_o="$2"
 
@@ -302,28 +303,28 @@ testtx_ulp6_connected_transfernets()
 	esac
 
 	# Setup transfer networks.
-	_fib=0
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
-		setfib -F${_fib} \
-		    ifconfig ${IFACE} inet6 2001:2:${_fib}::2/64 alias
-		_fib=$((_fib + 1))
+	fib=0
+	while test ${fib} -lt ${RT_NUMFIBS}; do
+		setfib -F${fib} \
+		    ifconfig ${IFACE} inet6 2001:2:${fib}::2/64 alias
+		fib=$((fib + 1))
 	done
 
-	_fib=0
-	while test ${_fib} -lt ${RT_NUMFIBS}; do
-		print_debug "./reflect -p ${CTRLPORT} -T ${_o} -t ${_n}${_fib} ${_opts}"
-		./reflect -p ${CTRLPORT} -T ${_o} -t ${_n}${_fib} ${_opts}
+	fib=0
+	while test ${fib} -lt ${RT_NUMFIBS}; do
+		print_debug "./reflect -p ${CTRLPORT} -T ${_o} -t ${_n}${fib} ${_opts}"
+		./reflect -p ${CTRLPORT} -T ${_o} -t ${_n}${fib} ${_opts}
 		print_debug "reflect terminated without error."
-		_fib=$((_fib + 1))
+		fib=$((fib + 1))
 	done
 
 	# Cleanup transfer networks.
-	_fib=0
-	while test ${_fib} -lt ${RT_NUMFIBS}; do

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-projects@FreeBSD.ORG  Wed Mar 14 20:59:45 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id C864D106566C;
	Wed, 14 Mar 2012 20:59:45 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id B6EFE8FC15;
	Wed, 14 Mar 2012 20:59:45 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2EKxjAv031352;
	Wed, 14 Mar 2012 20:59:45 GMT (envelope-from bz@svn.freebsd.org)
Received: (from bz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2EKxjeJ031347;
	Wed, 14 Mar 2012 20:59:45 GMT (envelope-from bz@svn.freebsd.org)
Message-Id: <201203142059.q2EKxjeJ031347@svn.freebsd.org>
From: "Bjoern A. Zeeb" <bz@FreeBSD.org>
Date: Wed, 14 Mar 2012 20:59:45 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r232985 - projects/multi-fibv6/7/tools/test/netfibs
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Mar 2012 20:59:45 -0000

Author: bz
Date: Wed Mar 14 20:59:45 2012
New Revision: 232985
URL: http://svn.freebsd.org/changeset/base/232985

Log:
  Add a test case for each FIB to properly populate on traffic, checking
  both netstat -rnf inet6 and ndp -an for the neighbor.
  
  Add a) longer delays and b) clear the neighbor table between each test
  case to make stable/7 testing a lot more deterministic and less exposed
  to network stack address list locking, etc. races.  It's very close to
  be deterministic in all cases with that.
  
  Adjust the expected return codes for the few cases that behave differently
  in 7 to 8 and later.
  
  Update documentation for the new test and correct some spelling errors.
  
  Sponsored by:	Cisco Systems, Inc.

Added:
  projects/multi-fibv6/7/tools/test/netfibs/checknd6.sh   (contents, props changed)
Modified:
  projects/multi-fibv6/7/tools/test/netfibs/README
  projects/multi-fibv6/7/tools/test/netfibs/initiator.sh
  projects/multi-fibv6/7/tools/test/netfibs/reflector.sh

Modified: projects/multi-fibv6/7/tools/test/netfibs/README
==============================================================================
--- projects/multi-fibv6/7/tools/test/netfibs/README	Wed Mar 14 20:57:48 2012	(r232984)
+++ projects/multi-fibv6/7/tools/test/netfibs/README	Wed Mar 14 20:59:45 2012	(r232985)
@@ -9,13 +9,12 @@ reflect.c
 	Makefile just builds reflect, a program to echo data on a TCP or UDP
 	socket in very simplistic ways.  It has a couple of options to provide
 	an address or port, a FIB to bind to or a FIB to add to a reflected
-	message as well as some "magic" keyword handling to let the intiators
+	message as well as some "magic" keyword handling to let the initiators
 	control it.
 
 initiator.sh and reflector.sh
 
-	intiator.sh runs two local test cases, one which shows a documented
-	limitation.
+	initiator.sh runs two local test cases.
 
 	All further tests are either exercising the sending or receiving of
 	ICMP6, TCP or UDP packets with multiple FIBs.  initiator.sh and
@@ -28,7 +27,7 @@ initiator.sh and reflector.sh
 	depend on ping6, netcat, awk, tr and ipfw.  The interface to use can
 	be set from the environment.  The commands can be run like:
 	
-	env IFACE=ifname sh intiator.sh
+	env IFACE=ifname sh initiator.sh
 	env IFACE=ifname sh reflector.sh
 	
 	Both scripts also support a DEBUG environment variable for additional
@@ -43,6 +42,17 @@ initiator.sh and reflector.sh
 	It is suggested to run one test case at a time manually disabling
 	the others in both scripts.
 
+checknd6.sh
+
+	Check seeding of neighbor table (netstat and ndp) for each FIB
+	individually by changing to that FIB ping6ing the reflector host
+	from initiator and in addition to checking the ping6 result code
+	grep the netstat -rnf inet6 and ndp -an output for the address.
+	Run as:
+
+	env IFACE=ifname sh checknd6.sh initiator
+	env IFACE=ifname sh checknd6.sh reflector
+
 forwarding.sh
 
 	forwarding.sh tests FIBs in the forwarding path, making sure that

Added: projects/multi-fibv6/7/tools/test/netfibs/checknd6.sh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/multi-fibv6/7/tools/test/netfibs/checknd6.sh	Wed Mar 14 20:59:45 2012	(r232985)
@@ -0,0 +1,350 @@
+#!/bin/sh
+#-
+# Copyright (c) 2012 Cisco Systems, Inc.
+# All rights reserved.
+#
+# This software was developed by Bjoern Zeeb under contract to
+# Cisco Systems, Inc..
+#
+# 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$
+#
+
+# We will use the RFC5180 (and Errata) benchmarking working group prefix
+# 2001:0002::/48 for testing.
+PREFIX="2001:2:"
+
+# Set IFACE to the real interface you want to run the test on.
+: ${IFACE:=lo0}
+
+# Number of seconds to wait for peer node to synchronize for test.
+: ${WAITS:=120}
+
+# Control port we use to exchange messages between nodes to sync. tests, etc.
+: ${CTRLPORT:=6666}
+
+# Get the number of FIBs from the kernel.
+RT_NUMFIBS=`sysctl -n net.fibs`
+
+OURADDR="2001:2:ff00::1"
+PEERADDR="2001:2:ff00::2"
+PEERLINKLOCAL=""
+
+# By default all commands must succeed.  Individual tests may disable this
+# temporary.
+set -e
+
+# Debug magic.
+case "${DEBUG}" in
+42)	set -x ;;
+esac
+
+
+################################################################################
+#
+# Input validation.
+#
+
+node=$1
+case ${node} in
+initiator)	;;
+reflector)	;;
+*)	echo "ERROR: invalid node name '${node}'. Must be initiator or" \
+	    " reflector" >&1
+	exit 1
+	;;
+esac
+
+################################################################################
+#
+# Helper functions.
+#
+check_rc()
+{
+	local _rc _exp _testno _testname _msg _r
+	_rc=$1
+	_exp=$2
+	_testno=$3
+	_testname="$4"
+	_msg="$5"
+
+	_r="not ok"
+	if test ${_rc} -eq ${_exp}; then
+		_r="ok"
+	fi
+	echo "${_r} ${_testno} ${_testname} # ${_msg} ${_rc} ${_exp}"
+}
+
+print_debug()
+{
+	local _msg
+	_msg="$*"
+
+	case ${DEBUG} in
+	''|0)	;;
+	*)	echo "DEBUG: ${_msg}" >&2 ;;
+	esac
+}
+
+die()
+{
+	local _msg
+	_msg="$*"
+
+	echo "ERROR: ${_msg}" >&2
+	exit 1
+}
+
+nc_send_recv()
+{
+	local _loops _msg _expreply _addr _port _opts i
+	_loops=$2
+	_msg="$3"
+	_expreply="$4"
+	_addr=$5
+	_port=$6
+	_opts="$7"
+
+	i=0
+	while test ${i} -lt ${_loops}; do
+		i=$((i + 1))
+		_reply=`echo "${_msg}" | nc -V 0 ${_opts} ${_addr} ${_port}`
+		if test "${_reply}" != "${_expreply}"; then
+			if test ${i} -lt ${_loops}; then
+				sleep 1
+			else
+			# Must let caller decide how to handle the error.
+			#	die "Got invalid reply from peer." \
+			#	    "Expected '${_expreply}', got '${_reply}'"
+				return 1
+			fi
+		else
+			break
+		fi
+	done
+	return 0
+}
+
+send_greeting()
+{
+        local _type _greeting _keyword _linklocal
+	_type="$1"
+
+	set +e
+	i=0
+	rc=-1
+	while test ${i} -lt ${WAITS} -a ${rc} -ne 0; do
+		print_debug "Sending greeting #${i} to peer"
+		_greeting=`echo "${_type}" | \
+		    nc -6 -w 1 ${PEERADDR} ${CTRLPORT}`
+		rc=$?
+		i=$((i + 1))
+		# Might sleep longer in total but better than to DoS
+		# and not get anywhere.
+		sleep 1
+	done
+	set -e
+
+	read _keyword _linklocal <<EOI
+${_greeting}
+EOI
+	print_debug "_keyword=${_keyword}"
+	print_debug "_linklocal=${_linklocal}"
+	case ${_keyword} in
+	${_type})	;;
+	*)	die "Got invalid keyword in greeting: ${_greeting}"
+	;;
+	esac
+	PEERLINKLOCAL=${_linklocal}
+
+	# Swap the zoneid to the local interface scope.
+	PEERLINKLOCAL=${PEERLINKLOCAL%%\%*}"%${IFACE}"
+
+	print_debug "Successfully exchanged greeting. Peer at ${PEERLINKLOCAL}"
+}
+
+# We are setup.  Wait for the initiator to tell us that it is ready.
+wait_remote_ready()
+{
+        local _case _msg _keyword
+	_case="$1"
+
+	# Wait for the remote to connect and start things.
+	# We tell it the magic keyword, and our number of FIBs.
+	_msg=`echo "${_case} ${PEERLINKLOCAL}" | nc -6 -l ${CTRLPORT}`
+
+	read _keyword <<EOI
+${_msg}
+EOI
+	print_debug "_keyword=${_keyword}"
+	case ${_keyword} in
+	${_case});;
+	*)	die "Got invalid keyword in control message: ${_msg}"
+		;;
+	esac
+
+	print_debug "Successfully received control message."
+}
+
+setup_addr_initiator()
+{
+	local i
+
+	print_debug "Setting up interface ${IFACE}"
+	ifconfig ${IFACE} inet6 ${OURADDR}/64 alias up
+	OURLINKLOCAL=`ifconfig ${IFACE} | awk '/inet6 fe80:/ { print $2 }'`
+
+	i=0
+	while test ${i} -lt ${RT_NUMFIBS}; do
+		setfib -F ${i} ndp -cn > /dev/null 2>&1
+		i=$((i + 1))
+	done
+
+	# Let things settle.
+	print_debug "Waiting 4 seconds for things to settle"
+	sleep 4
+}
+
+setup_addr_reflector()
+{
+	local i
+
+	print_debug "Setting up interface ${IFACE}"
+	ifconfig ${IFACE} inet6 ${PEERADDR}/64 alias up
+	PEERLINKLOCAL=`ifconfig ${IFACE} | awk '/inet6 fe80:/ { print $2 }'`
+
+	i=0
+	while test ${i} -lt ${RT_NUMFIBS}; do
+		setfib -F ${i} ndp -cn > /dev/null 2>&1
+		i=$((i + 1))
+	done
+
+	# Let things settle.
+	print_debug "Waiting 4 seconds for things to settle"
+	sleep 2
+}
+
+cleanup_addr()
+{
+	local addr
+	addr="$1"
+
+	print_debug "Removing address from interface ${IFACE}"
+	ifconfig ${IFACE} inet6 ${addr}/64 -alias
+}
+
+################################################################################
+
+check_netstat_rn()
+{
+	local testno fib addr ext c
+	testno=$1
+	fib=$2
+	addr="$3"
+	ext="$4"
+
+	c=`netstat -rnf inet6 | egrep "^${addr}[[:space:]]" | wc -l`
+	check_rc ${c} 1 ${testno} "check_netstat_addr_${fib}_${ext}" \
+	    "FIB ${fib} ${addr}"
+	if test ${c} -ne 1; then
+		print_debug "`netstat -rnf inet6`"
+	fi
+}
+
+check_ndp()
+{
+	local testno fib addr ext c
+	testno=$1
+	fib=$2
+	addr="$3"
+	ext="$4"
+
+	# Check that the entry is there and 'R'eachable still.
+	c=`ndp -an | egrep "^${addr}[[:space:]].*R" | wc -l`
+	check_rc ${c} 1 ${testno} "check_ndp_addr_${fib}_${ext}" \
+	    "FIB ${fib} ${addr}"
+	if test ${c} -ne 1; then
+		print_debug "`ndp -an`"
+	fi
+}
+
+check_nd6()
+{
+	local testno fib
+
+	printf "1..%d\n" `expr 6 \* ${RT_NUMFIBS}`
+	testno=1
+	fib=0
+	set +e
+	while test ${fib} -lt ${RT_NUMFIBS}; do
+		print_debug "Testing FIB ${fib}"
+
+		setfib -F${fib} ping6 -n -c3 ${PEERLINKLOCAL} > /dev/null 2>&1
+		check_rc $? 0 ${testno} "check_local_addr_${fib}_l" \
+		    "FIB ${fib} ${_l}"
+		testno=$((testno + 1))
+
+		check_netstat_rn ${testno} ${fib} ${PEERLINKLOCAL} "l"
+		testno=$((testno + 1))
+
+		check_ndp ${testno} ${fib} ${PEERLINKLOCAL} "l"
+		testno=$((testno + 1))
+
+		setfib -F${fib} ping6 -n -c3 ${PEERADDR} > /dev/null 2>&1
+		check_rc $? 0 ${testno} "check_local_addr_${fib}_a" \
+		    "FIB ${fib} ${OURADDR}"
+		testno=$((testno + 1))
+
+		check_netstat_rn ${testno} ${fib} ${PEERADDR} "a"
+		testno=$((testno + 1))
+
+		check_ndp ${testno} ${fib} ${PEERADDR} "a"
+		testno=$((testno + 1))
+
+		fib=$((fib + 1))
+	done
+	set -e
+}
+
+################################################################################
+#
+# MAIN
+#
+
+case ${node} in
+initiator)
+	setup_addr_initiator
+	send_greeting BEGIN
+	check_nd6
+	send_greeting END
+	cleanup_addr ${OURADDR}
+	;;
+reflector)
+	setup_addr_reflector
+	wait_remote_ready BEGIN
+	wait_remote_ready END
+	cleanup_addr ${PEERADDR}
+	;;
+esac
+
+# end

Modified: projects/multi-fibv6/7/tools/test/netfibs/initiator.sh
==============================================================================
--- projects/multi-fibv6/7/tools/test/netfibs/initiator.sh	Wed Mar 14 20:57:48 2012	(r232984)
+++ projects/multi-fibv6/7/tools/test/netfibs/initiator.sh	Wed Mar 14 20:59:45 2012	(r232985)
@@ -100,6 +100,18 @@ die()
 	exit 1
 }
 
+clean_ndp_cn()
+{
+	local cn
+
+	cn=0
+	while test ${cn} -lt ${RT_NUMFIBS}; do
+		setfib -F ${cn} ndp -cn > /dev/null 2>&1
+		cn=$((cn + 1))
+	done
+}
+
+
 #
 # Test functions.
 #
@@ -167,7 +179,8 @@ check_local_tun()
 		print_debug "Testing FIB ${i}"
 		if test ${i} -gt 0; then
 			# Flag the well known behaviour as such.
-			_msg="TODO "
+			# Is fine on 7.x
+			#_msg="TODO "
 		fi
 
 		setfib -F${i} ping6 -n -c1 ${_l} > /dev/null 2>&1
@@ -198,9 +211,6 @@ check_remote_up()
 	# Let things settle.
 	print_debug "Waiting 4 seconds for things to settle"
 	sleep 4
-
-
-
 }
 
 send_greeting()
@@ -382,14 +392,14 @@ testtx_tcp_udp()
 		eval _rc="\${rc_${i}_l}"
 		_fibtxt="${_n}_${i}_l ${_f} ${i} ${PEERLINKLOCAL}"
 		nc_send_recv ${i} 1 "${_fibtxt}" "${_fibtxt}" ${PEERLINKLOCAL} \
-		    ${CTRLPORT} "-6 ${_o} -w1"
+		    ${CTRLPORT} "-6 ${_o} -w2"
 		check_rc $? ${_rc} ${testno} "${_fibtxt}"
 		testno=$((testno + 1))
 
 		eval _rc="\${rc_${i}_a}"
 		_fibtxt="${_n}_${i}_a ${_f} ${i} ${PEERADDR}"
 		nc_send_recv ${i} 1 "${_fibtxt}" "${_fibtxt}" ${PEERADDR} \
-		    ${CTRLPORT} "-6 ${_o} -w1"
+		    ${CTRLPORT} "-6 ${_o} -w2"
 		check_rc $? ${_rc} ${testno} "${_fibtxt}"
 		testno=$((testno + 1))
 
@@ -427,7 +437,7 @@ testtx_ulp6_connected()
 	# Let peer know that we are about to start.
 	_msg="START ${_n}"
 	nc_send_recv ${_fib} ${WAITS} "${_msg}" "${_msg}" ${PEERADDR} \
-	    ${CTRLPORT} "-6 ${_opts} -w1"
+	    ${CTRLPORT} "-6 ${_opts} -w2"
 	case $? in
 	0)	;;
 	*)	die "Got invalid reply from peer." \
@@ -443,7 +453,7 @@ testtx_ulp6_connected()
 	# This must immediately succeed.
 	_msg="DONE ${_n}"
 	nc_send_recv ${_fib} ${WAITS} "${_msg}" "${_msg}" ${PEERADDR} \
-	    ${CTRLPORT} "-6 ${_opts} -w1"
+	    ${CTRLPORT} "-6 ${_opts} -w2"
 	case $? in
 	0)	;;
 	*)	die "Got invalid reply from peer." \
@@ -613,6 +623,9 @@ testtx_ulp6_connected_transfernets()
 		fib=$((fib + 1))
 	done
 
+	# Let things settle.
+	sleep 5
+
 	# Save PEERADDR
 	_p=${PEERADDR}
 
@@ -712,6 +725,9 @@ testtx_ulp6_connected_ifconfig_transfern
 	# Save PEERADDR
 	_p=${PEERADDR}
 
+	# Let things settle.
+	sleep 5
+
 	# Run tests.
 	fib=0
 	while test ${fib} -lt ${RT_NUMFIBS}; do
@@ -890,6 +906,9 @@ testtx_ulp6_transfernets_gateways()
 	_p=${PEERADDR}
 	PEERADDR="2001:2:ff01::2"
 
+	# Let things settle.
+	sleep 4
+
 	# Setup expected return values.
 	i=0
 	while test ${i} -lt ${RT_NUMFIBS}; do
@@ -988,6 +1007,9 @@ testtx_ulp6_transfernets_gateway()
 	_p=${PEERADDR}
 	PEERADDR="2001:2:ff01::2"
 
+	# Let things settle.
+	sleep 4
+
 	# Run tests.
 	fib=0
 	while test ${fib} -lt ${RT_NUMFIBS}; do
@@ -1200,6 +1222,9 @@ testrx_setup_transfer_networks()
 		ifconfig ${IFACE} inet6 2001:2:${i}::1/64 alias
 		i=$((i + 1))
 	done
+
+	# Let things settle.
+	sleep 4
 }
 
 testrx_cleanup_transfer_networks()
@@ -1218,6 +1243,7 @@ testrx_cleanup_transfer_networks()
 testrx_run_test()
 {
 	local _n _t _fib _o _txt _msg i _reply _instances _destructive _transfer
+	local cn
 	_n="$1"
 	_t="$2"
 	_fib=$3
@@ -1246,8 +1272,14 @@ testrx_run_test()
 	1)	testrx_setup_transfer_networks ;;
 	esac
 
+	cn=0
+	while test ${cn} -lt ${RT_NUMFIBS}; do
+		setfib -F ${cn} ndp -cn > /dev/null 2>&1
+		cn=$((cn + 1))
+	done
+
 	# Let the other side a chance to get ready as well.
-	sleep 1
+	sleep 2
 
 	set +e
 	# Let peer know that we are about to start.
@@ -1261,7 +1293,7 @@ testrx_run_test()
 	esac
 
 	# Let the other side a chance to get ready as well.
-	sleep 1
+	sleep 2
 
 	# Send probe.
 	case "${_o}" in
@@ -1282,10 +1314,10 @@ testrx_run_test()
 	esac
 
 	# Collect and validate the results.   Always use TCP.
-	sleep 1
+	sleep 2
 	set +e
 	nc_send_recv ${_fib} 1 "RESULT REQUEST" "" ${PEERADDR} \
-	    ${CTRLPORT} "-6 -w1"
+	    ${CTRLPORT} "-6 -w3"
 	case "${_reply}" in
 	RESULT\ *) testrx_results ${_fib} "${_txt}_" "${_reply}" ${_instances} \
 			${_transfer} "${_o}"
@@ -1332,14 +1364,32 @@ testrx_main_setup_rc()
 				case "${_o}" in
 				-i)	case ${_transfer} in
 					0) eval rc_${i}_a=0 ;;
-					1) eval rc_${i}_a=1 ;;
+					1) # 7.x always ok in this case
+					   if test ${_instances} -eq 1 -a \
+					      "${_t}" = "ifconfig"; then
+						eval rc_${i}_a=0
+					   elif test ${_fib} -eq 0 -a \
+					      "${_t}" = "ipfw" -a \
+					      "${_instances}" -eq 1; then
+						eval rc_${i}_a=0
+					   else
+						eval rc_${i}_a=1
+					   fi
+						;;
 					esac
 					;;
 				*)	if test ${_instances} -eq 1 -a \
 					    ${_transfer} -eq 0; then
 						eval rc_${i}_a=0
-					else
+					elif test ${_instances} -eq \
+					    ${RT_NUMFIBS} -a \
+					    ${i} -ne 0; then
+						# 7.x returns 0 for FIB0 and
+					        # the FIB-UT, 1 otherwise.
 						eval rc_${i}_a=1
+					else
+						# 7.x also returns 0 here.
+						eval rc_${i}_a=0
 					fi
 					;;
 				esac
@@ -1460,39 +1510,60 @@ for uso in 0 1; do
 
 	# Only run ICMP6 tests for the first loop.
 	# 160 cases at 16 FIBs.
+	clean_ndp_cn
 	test ${uso} -ne 0 || testtx_icmp6_connected && sleep 1
+	clean_ndp_cn
 	testtx_tcp6_connected && sleep 1
+	clean_ndp_cn
 	testtx_udp6_connected && sleep 1
 
 	# 2560 cases at 16 FIBs.
+	clean_ndp_cn
 	test ${uso} -ne 0 || testtx_icmp6_connected_blackhole && sleep 1
+	clean_ndp_cn
 	testtx_tcp6_connected_blackhole && sleep 1
+	clean_ndp_cn
 	testtx_udp6_connected_blackhole && sleep 1
 
 	# 2560 cases at 16 FIBs.
+	clean_ndp_cn
 	test ${uso} -ne 0 || testtx_icmp6_connected_transfernets && sleep 1
+	clean_ndp_cn
 	testtx_tcp6_connected_transfernets && sleep 1
+	clean_ndp_cn
 	testtx_udp6_connected_transfernets && sleep 1
 
 	# 2560 cases at 16 FIBs.
+	clean_ndp_cn
 	test ${uso} -ne 0 || \
 	    testtx_icmp6_connected_ifconfig_transfernets && sleep 1
+	clean_ndp_cn
 	testtx_tcp6_connected_ifconfig_transfernets && sleep 1
+	clean_ndp_cn
 	testtx_udp6_connected_ifconfig_transfernets && sleep 1
 
 	# 160 cases at 16 FIBs.
+	clean_ndp_cn
 	test ${uso} -ne 0 || testtx_icmp6_gateway && sleep 1
+	clean_ndp_cn
 	testtx_tcp6_gateway && sleep 1
+	clean_ndp_cn
 	testtx_udp6_gateway && sleep 1
 
 	# 160 cases at 16 FIBs.
+	clean_ndp_cn
 	test ${uso} -ne 0 || testtx_icmp6_transfernets_gateways && sleep 1
+	clean_ndp_cn
 	testtx_tcp6_transfernets_gateways && sleep 1
+	clean_ndp_cn
 	testtx_udp6_transfernets_gateways && sleep 1
 
 	# 2560 cases at 16 FIBs.
+	clean_ndp_cn
 	test ${uso} -ne 0 || testtx_icmp6_transfernets_gateway && sleep 1
+	clean_ndp_cn
 	testtx_tcp6_transfernets_gateway && sleep 1
+	clean_ndp_cn
 	testtx_udp6_transfernets_gateway && sleep 1
 done
 
@@ -1503,15 +1574,21 @@ for uso in 0 1; do
 
 	# Only expect ICMP6 tests for the first loop.
 	# 6144 cases at 16 FIBs.
+	clean_ndp_cn
 	test ${uso} -ne 0 || testrx_icmp6_same_addr_one_fib_a_time && sleep 1
+
 	# 12288 cases at 16 FIBs.
+	clean_ndp_cn
 	testrx_tcp6_same_addr_one_fib_a_time && sleep 1
 	# 12288 cases at 16 FIBs.
+	clean_ndp_cn
 	testrx_udp6_same_addr_one_fib_a_time && sleep 1
 
 	# 12288 cases at 16 FIBs.
+	clean_ndp_cn
 	testrx_tcp6_same_addr_all_fibs_a_time && sleep 1
 	# 12288 cases at 16 FIBs.
+	clean_ndp_cn
 	testrx_udp6_same_addr_all_fibs_a_time && sleep 1
 
 done

Modified: projects/multi-fibv6/7/tools/test/netfibs/reflector.sh
==============================================================================
--- projects/multi-fibv6/7/tools/test/netfibs/reflector.sh	Wed Mar 14 20:57:48 2012	(r232984)
+++ projects/multi-fibv6/7/tools/test/netfibs/reflector.sh	Wed Mar 14 20:59:45 2012	(r232985)
@@ -109,6 +109,17 @@ die()
 	exit 1
 }
 
+clean_ndp_cn()
+{
+	local cn
+
+	cn=0
+	while test ${cn} -lt ${RT_NUMFIBS}; do
+		setfib -F ${cn} ndp -cn > /dev/null 2>&1
+		cn=$((cn + 1))
+	done
+}
+
 #
 # Test functions.
 #
@@ -310,6 +321,12 @@ testtx_ulp6_connected_transfernets()
 		fib=$((fib + 1))
 	done
 
+	clean_ndp_cn
+
+	# Let things settle.
+	print_debug "Waiting 2 seconds for things to settle"
+	sleep 2
+
 	fib=0
 	while test ${fib} -lt ${RT_NUMFIBS}; do
 		print_debug "./reflect -p ${CTRLPORT} -T ${_o} -t ${_n}${fib} ${_opts}"
@@ -382,6 +399,12 @@ testtx_ulp6_gateway()
 	delay
 	ifconfig lo0 inet6 2001:2:ff01::2 alias
 
+	clean_ndp_cn
+
+	# Let things settle.
+	print_debug "Waiting 1 seconds for things to settle"
+	sleep 1
+
 	_opts=""
 	case ${DEBUG} in
 	''|0)	;;
@@ -445,6 +468,12 @@ testtx_ulp6_transfernets_gateways()
 	delay
 	ifconfig lo0 inet6 2001:2:ff01::2 alias
 
+	clean_ndp_cn
+
+	# Let things settle.
+	print_debug "Waiting 1 seconds for things to settle"
+	sleep 1
+
 	# Reflect requests.
 	print_debug "./reflect -p ${CTRLPORT} -T ${_o} " \
 	    "-t ${_n} ${_opts} -A 2001:2:ff01::2"
@@ -513,6 +542,12 @@ testtx_ulp6_transfernets_gateway()
 	delay
 	ifconfig lo0 inet6 2001:2:ff01::2 alias
 
+	clean_ndp_cn
+
+	# Let things settle.
+	print_debug "Waiting 1 seconds for things to settle"
+	sleep 1
+
 	# Reflect requests.
 	fib=0
 	while test ${fib} -lt ${RT_NUMFIBS}; do
@@ -586,6 +621,12 @@ textrx_ipfw_setup()
 	ipfw add 100 setfib ${_fib} ipv6-icmp \
 	    from ${PEERLINKLOCAL%\%*} to ${OURLINKLOCAL%\%*} \
 	    via ${IFACE} in > /dev/null 2>&1
+	ipfw add 100 setfib ${_fib} ipv6-icmp \
+	    from ${PEERLINKLOCAL%\%*} to ff02::/16 \
+	    via ${IFACE} in > /dev/null 2>&1
+	ipfw add 100 setfib ${_fib} ipv6-icmp \
+	    from :: to ff02::/16 \
+	    via ${IFACE} in > /dev/null 2>&1
 
 	# Always also do a setfib for the control port so that OOB
 	# signaling workes even if we remove connected subnets.
@@ -798,6 +839,12 @@ testrx_cleanup_connected()
 		delay
 		ifconfig ${IFACE} inet6 ${OURADDR}/64 alias up
 	fi
+
+	clean_ndp_cn
+
+	# Let things settle.
+	print_debug "Waiting 1 seconds for things to settle"
+	sleep 1
 }
 
 testrx_setup_transfer_networks()
@@ -812,6 +859,12 @@ testrx_setup_transfer_networks()
 		ifconfig ${IFACE} inet6 2001:2:${i}::2/64 alias
 		i=$((i + 1))
 	done
+
+	clean_ndp_cn
+
+	# Let things settle.
+	print_debug "Waiting 1 seconds for things to settle"
+	sleep 1
 }
 
 testrx_run_one()
@@ -881,6 +934,7 @@ testrx_run_multiple()
 testrx_run_test()
 {
 	local _n _t _fib _o _txt i _f _instance _destructive _transfer
+	local cn
 	_n="$1"
 	_t="$2"
 	_fib=$3
@@ -929,6 +983,8 @@ testrx_run_test()
 	1)	testrx_remove_connected ${_fib} ${_transfer} ;;
 	esac
 
+	clean_ndp_cn
+
 	# Setup to get result counts.
 	textrx_count_setup
 
@@ -1046,32 +1102,53 @@ wait_remote_ready
 for uso in 0 1; do
 
 	# Only run ICMP6 tests for the first loop.
+	clean_ndp_cn
 	test ${uso} -ne 0 || testtx_icmp6_connected
+	clean_ndp_cn
 	testtx_tcp6_connected
+	clean_ndp_cn
 	testtx_udp6_connected
 
+	clean_ndp_cn
 	test ${uso} -ne 0 || testtx_icmp6_connected_blackhole
+	clean_ndp_cn
 	testtx_tcp6_connected_blackhole
+	clean_ndp_cn
 	testtx_udp6_connected_blackhole
 
+	clean_ndp_cn
 	test ${uso} -ne 0 || testtx_icmp6_connected_transfernets
+	clean_ndp_cn
 	testtx_tcp6_connected_transfernets
+	clean_ndp_cn
 	testtx_udp6_connected_transfernets
 
+	clean_ndp_cn
 	test ${uso} -ne 0 || testtx_icmp6_connected_ifconfig_transfernets
+	clean_ndp_cn
 	testtx_tcp6_connected_ifconfig_transfernets
+	clean_ndp_cn
 	testtx_udp6_connected_ifconfig_transfernets
 
+	clean_ndp_cn
 	test ${uso} -ne 0 || testtx_icmp6_gateway
+	clean_ndp_cn
 	testtx_tcp6_gateway
+	clean_ndp_cn
 	testtx_udp6_gateway
 
+	clean_ndp_cn
 	test ${uso} -ne 0 || testtx_icmp6_transfernets_gateways
+	clean_ndp_cn
 	testtx_tcp6_transfernets_gateways
+	clean_ndp_cn
 	testtx_udp6_transfernets_gateways
 
+	clean_ndp_cn
 	test ${uso} -ne 0 || testtx_icmp6_transfernets_gateway
+	clean_ndp_cn
 	testtx_tcp6_transfernets_gateway
+	clean_ndp_cn
 	testtx_udp6_transfernets_gateway
 done
 
@@ -1084,13 +1161,17 @@ for uso in 0 1; do
 	USE_SOSETFIB=${uso}
 	
 	# Only expect ICMP6 tests for the first loop.
+	clean_ndp_cn
 	test ${uso} -ne 0 || testrx_icmp6_same_addr_one_fib_a_time
+	clean_ndp_cn
 	testrx_tcp6_same_addr_one_fib_a_time
+	clean_ndp_cn
 	testrx_udp6_same_addr_one_fib_a_time
 
+	clean_ndp_cn
 	testrx_tcp6_same_addr_all_fibs_a_time
+	clean_ndp_cn
 	testrx_udp6_same_addr_all_fibs_a_time
-
 done
 
 cleanup

From owner-svn-src-projects@FreeBSD.ORG  Wed Mar 14 23:55:26 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 2B15E106564A;
	Wed, 14 Mar 2012 23:55:26 +0000 (UTC) (envelope-from bz@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 17AED8FC0C;
	Wed, 14 Mar 2012 23:55:26 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2ENtQWJ037666;
	Wed, 14 Mar 2012 23:55:26 GMT (envelope-from bz@svn.freebsd.org)
Received: (from bz@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2ENtPYf037653;
	Wed, 14 Mar 2012 23:55:25 GMT (envelope-from bz@svn.freebsd.org)
Message-Id: <201203142355.q2ENtPYf037653@svn.freebsd.org>
From: "Bjoern A. Zeeb" <bz@FreeBSD.org>
Date: Wed, 14 Mar 2012 23:55:25 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r232993 - in projects/multi-fibv6/7: . bin/csh
	contrib/tcsh contrib/tcsh/config contrib/tcsh/nls
	contrib/tcsh/nls/C contrib/tcsh/nls/et
	contrib/tcsh/nls/finnish contrib/tcsh/nls/french ...
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Mar 2012 23:55:26 -0000

Author: bz
Date: Wed Mar 14 23:55:25 2012
New Revision: 232993
URL: http://svn.freebsd.org/changeset/base/232993

Log:
  IF7 @ r232985.
  
  Sponsored by:	Cisco Systems, Inc.

Added:
  projects/multi-fibv6/7/contrib/tcsh/nls/Makefile.in
     - copied unchanged from r232985, stable/7/contrib/tcsh/nls/Makefile.in
  projects/multi-fibv6/7/contrib/tcsh/nls/catgen
     - copied unchanged from r232985, stable/7/contrib/tcsh/nls/catgen
  projects/multi-fibv6/7/contrib/tcsh/svn
     - copied unchanged from r232985, stable/7/contrib/tcsh/svn
  projects/multi-fibv6/7/share/man/man7/sticky.7
     - copied unchanged from r232985, stable/7/share/man/man7/sticky.7
Deleted:
  projects/multi-fibv6/7/bin/csh/host.defs
  projects/multi-fibv6/7/contrib/tcsh/nls/Makefile
  projects/multi-fibv6/7/share/man/man8/sticky.8
Modified:
  projects/multi-fibv6/7/Makefile   (contents, props changed)
  projects/multi-fibv6/7/ObsoleteFiles.inc   (contents, props changed)
  projects/multi-fibv6/7/bin/csh/Makefile
  projects/multi-fibv6/7/bin/csh/config.h
  projects/multi-fibv6/7/bin/csh/config_p.h
  projects/multi-fibv6/7/contrib/tcsh/Fixes
  projects/multi-fibv6/7/contrib/tcsh/Imakefile
  projects/multi-fibv6/7/contrib/tcsh/Makefile.in
  projects/multi-fibv6/7/contrib/tcsh/Ported
  projects/multi-fibv6/7/contrib/tcsh/README
  projects/multi-fibv6/7/contrib/tcsh/WishList
  projects/multi-fibv6/7/contrib/tcsh/complete.tcsh
  projects/multi-fibv6/7/contrib/tcsh/config.guess
  projects/multi-fibv6/7/contrib/tcsh/config.h.in
  projects/multi-fibv6/7/contrib/tcsh/config.sub
  projects/multi-fibv6/7/contrib/tcsh/config/bsd4.4
  projects/multi-fibv6/7/contrib/tcsh/config_f.h
  projects/multi-fibv6/7/contrib/tcsh/configure
  projects/multi-fibv6/7/contrib/tcsh/configure.in
  projects/multi-fibv6/7/contrib/tcsh/ed.chared.c
  projects/multi-fibv6/7/contrib/tcsh/ed.inputl.c
  projects/multi-fibv6/7/contrib/tcsh/ed.refresh.c
  projects/multi-fibv6/7/contrib/tcsh/ed.screen.c
  projects/multi-fibv6/7/contrib/tcsh/ed.term.c
  projects/multi-fibv6/7/contrib/tcsh/gethost.c
  projects/multi-fibv6/7/contrib/tcsh/glob.c
  projects/multi-fibv6/7/contrib/tcsh/glob.h
  projects/multi-fibv6/7/contrib/tcsh/host.defs
  projects/multi-fibv6/7/contrib/tcsh/install-sh
  projects/multi-fibv6/7/contrib/tcsh/nls/C/charset
  projects/multi-fibv6/7/contrib/tcsh/nls/C/set19
  projects/multi-fibv6/7/contrib/tcsh/nls/et/charset
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set1
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set10
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set11
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set13
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set14
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set15
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set16
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set17
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set18
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set19
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set2
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set20
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set21
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set22
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set23
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set24
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set25
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set26
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set27
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set3
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set30
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set4
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set5
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set6
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set7
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set8
  projects/multi-fibv6/7/contrib/tcsh/nls/et/set9
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/charset
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set1
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set10
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set11
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set12
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set13
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set14
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set16
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set17
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set18
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set19
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set2
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set20
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set22
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set23
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set25
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set26
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set27
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set29
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set3
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set6
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set7
  projects/multi-fibv6/7/contrib/tcsh/nls/finnish/set9
  projects/multi-fibv6/7/contrib/tcsh/nls/french/charset
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set1
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set10
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set11
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set12
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set13
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set15
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set16
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set17
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set18
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set19
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set2
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set20
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set21
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set22
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set23
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set25
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set26
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set27
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set3
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set30
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set31
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set4
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set6
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set7
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set8
  projects/multi-fibv6/7/contrib/tcsh/nls/french/set9
  projects/multi-fibv6/7/contrib/tcsh/nls/german/charset
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set1
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set10
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set13
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set15
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set16
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set17
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set18
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set19
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set2
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set20
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set22
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set23
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set25
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set26
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set27
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set29
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set3
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set30
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set31
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set4
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set5
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set6
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set7
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set8
  projects/multi-fibv6/7/contrib/tcsh/nls/german/set9
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/charset
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set1   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set10   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set11   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set12   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set13   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set14   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set15   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set16   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set17   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set18   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set19   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set2   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set20   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set21   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set22   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set23   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set25   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set26   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set27   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set29   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set3   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set30   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set31   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set4   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set5   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set6   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set7   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set8   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set9   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/italian/charset
  projects/multi-fibv6/7/contrib/tcsh/nls/italian/set1
  projects/multi-fibv6/7/contrib/tcsh/nls/italian/set11
  projects/multi-fibv6/7/contrib/tcsh/nls/italian/set13
  projects/multi-fibv6/7/contrib/tcsh/nls/italian/set15
  projects/multi-fibv6/7/contrib/tcsh/nls/italian/set17
  projects/multi-fibv6/7/contrib/tcsh/nls/italian/set19
  projects/multi-fibv6/7/contrib/tcsh/nls/italian/set2
  projects/multi-fibv6/7/contrib/tcsh/nls/italian/set20
  projects/multi-fibv6/7/contrib/tcsh/nls/italian/set22
  projects/multi-fibv6/7/contrib/tcsh/nls/italian/set23
  projects/multi-fibv6/7/contrib/tcsh/nls/italian/set26
  projects/multi-fibv6/7/contrib/tcsh/nls/italian/set3
  projects/multi-fibv6/7/contrib/tcsh/nls/italian/set30
  projects/multi-fibv6/7/contrib/tcsh/nls/italian/set4
  projects/multi-fibv6/7/contrib/tcsh/nls/italian/set6
  projects/multi-fibv6/7/contrib/tcsh/nls/italian/set7
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/charset
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set1   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set10   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set11   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set12   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set13   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set15   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set16   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set17   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set18   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set2   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set21   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set29   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set3   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set30   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set4   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set5   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set6   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set7   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set8   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/charset
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set1   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set10   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set11   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set12   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set13   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set14   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set15   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set16   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set17   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set18   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set19   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set2   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set20   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set22   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set23   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set25   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set26   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set27   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set29   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set30   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set31   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set4   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set5   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set6   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set7   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set8   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set9   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/charset
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set1
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set10
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set13
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set14
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set15
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set16
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set17
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set18
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set19
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set2
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set20
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set22
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set23
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set25
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set26
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set27
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set3
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set30
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set4
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set5
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set6
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set7
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set8
  projects/multi-fibv6/7/contrib/tcsh/nls/spanish/set9
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/charset
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set1   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set10   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set11   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set12   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set13   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set14   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set15   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set16   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set17   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set18   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set19   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set2   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set20   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set22   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set23   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set25   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set26   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set27   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set29   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set30   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set31   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set5   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set6   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set7   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set8   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set9   (contents, props changed)
  projects/multi-fibv6/7/contrib/tcsh/patchlevel.h
  projects/multi-fibv6/7/contrib/tcsh/pathnames.h
  projects/multi-fibv6/7/contrib/tcsh/sh.c
  projects/multi-fibv6/7/contrib/tcsh/sh.char.c
  projects/multi-fibv6/7/contrib/tcsh/sh.char.h
  projects/multi-fibv6/7/contrib/tcsh/sh.decls.h
  projects/multi-fibv6/7/contrib/tcsh/sh.dir.c
  projects/multi-fibv6/7/contrib/tcsh/sh.dol.c
  projects/multi-fibv6/7/contrib/tcsh/sh.err.c
  projects/multi-fibv6/7/contrib/tcsh/sh.exec.c
  projects/multi-fibv6/7/contrib/tcsh/sh.exp.c
  projects/multi-fibv6/7/contrib/tcsh/sh.file.c
  projects/multi-fibv6/7/contrib/tcsh/sh.func.c
  projects/multi-fibv6/7/contrib/tcsh/sh.glob.c
  projects/multi-fibv6/7/contrib/tcsh/sh.h
  projects/multi-fibv6/7/contrib/tcsh/sh.hist.c
  projects/multi-fibv6/7/contrib/tcsh/sh.lex.c
  projects/multi-fibv6/7/contrib/tcsh/sh.misc.c
  projects/multi-fibv6/7/contrib/tcsh/sh.parse.c
  projects/multi-fibv6/7/contrib/tcsh/sh.print.c
  projects/multi-fibv6/7/contrib/tcsh/sh.proc.c
  projects/multi-fibv6/7/contrib/tcsh/sh.proc.h
  projects/multi-fibv6/7/contrib/tcsh/sh.sem.c
  projects/multi-fibv6/7/contrib/tcsh/sh.set.c
  projects/multi-fibv6/7/contrib/tcsh/sh.time.c
  projects/multi-fibv6/7/contrib/tcsh/tc.alloc.c
  projects/multi-fibv6/7/contrib/tcsh/tc.const.c
  projects/multi-fibv6/7/contrib/tcsh/tc.decls.h
  projects/multi-fibv6/7/contrib/tcsh/tc.disc.c
  projects/multi-fibv6/7/contrib/tcsh/tc.func.c
  projects/multi-fibv6/7/contrib/tcsh/tc.nls.c
  projects/multi-fibv6/7/contrib/tcsh/tc.nls.h
  projects/multi-fibv6/7/contrib/tcsh/tc.os.c
  projects/multi-fibv6/7/contrib/tcsh/tc.os.h
  projects/multi-fibv6/7/contrib/tcsh/tc.prompt.c
  projects/multi-fibv6/7/contrib/tcsh/tc.sig.c
  projects/multi-fibv6/7/contrib/tcsh/tc.sig.h
  projects/multi-fibv6/7/contrib/tcsh/tc.str.c
  projects/multi-fibv6/7/contrib/tcsh/tc.wait.h
  projects/multi-fibv6/7/contrib/tcsh/tc.who.c
  projects/multi-fibv6/7/contrib/tcsh/tcsh.man
  projects/multi-fibv6/7/contrib/tcsh/tcsh.man2html
  projects/multi-fibv6/7/contrib/tcsh/tw.color.c
  projects/multi-fibv6/7/contrib/tcsh/tw.init.c
  projects/multi-fibv6/7/contrib/tcsh/tw.parse.c
  projects/multi-fibv6/7/contrib/tcsh/vms.termcap.c
  projects/multi-fibv6/7/etc/defaults/rc.conf
  projects/multi-fibv6/7/lib/libc/uuid/uuid.3
  projects/multi-fibv6/7/share/man/man7/Makefile
  projects/multi-fibv6/7/share/man/man8/Makefile
  projects/multi-fibv6/7/sys/amd64/amd64/busdma_machdep.c
  projects/multi-fibv6/7/sys/boot/common/ufsread.c
  projects/multi-fibv6/7/sys/boot/i386/libi386/vidconsole.c
  projects/multi-fibv6/7/sys/dev/acpica/acpi_thermal.c
  projects/multi-fibv6/7/sys/dev/isci/isci.c
  projects/multi-fibv6/7/sys/dev/mii/brgphy.c
  projects/multi-fibv6/7/sys/dev/mii/miidevs
  projects/multi-fibv6/7/sys/dev/mii/nsphyter.c
  projects/multi-fibv6/7/sys/dev/mpt/mpt_pci.c
  projects/multi-fibv6/7/sys/dev/pci/pci.c
  projects/multi-fibv6/7/sys/dev/re/if_re.c
  projects/multi-fibv6/7/sys/i386/i386/busdma_machdep.c
  projects/multi-fibv6/7/usr.bin/indent/indent.1
  projects/multi-fibv6/7/usr.sbin/cron/cron/Makefile
  projects/multi-fibv6/7/usr.sbin/cron/cron/cron.c
  projects/multi-fibv6/7/usr.sbin/cron/cron/cron.h
  projects/multi-fibv6/7/usr.sbin/cron/cron/database.c
  projects/multi-fibv6/7/usr.sbin/cron/cron/do_command.c
  projects/multi-fibv6/7/usr.sbin/cron/cron/externs.h
  projects/multi-fibv6/7/usr.sbin/cron/crontab/Makefile
  projects/multi-fibv6/7/usr.sbin/cron/crontab/crontab.5
  projects/multi-fibv6/7/usr.sbin/cron/crontab/crontab.c
  projects/multi-fibv6/7/usr.sbin/cron/doc/CHANGES
  projects/multi-fibv6/7/usr.sbin/cron/doc/MAIL
  projects/multi-fibv6/7/usr.sbin/cron/lib/Makefile
  projects/multi-fibv6/7/usr.sbin/cron/lib/entry.c
  projects/multi-fibv6/7/usr.sbin/cron/lib/misc.c
Directory Properties:
  projects/multi-fibv6/7/   (props changed)
  projects/multi-fibv6/7/bin/   (props changed)
  projects/multi-fibv6/7/bin/csh/   (props changed)
  projects/multi-fibv6/7/contrib/   (props changed)
  projects/multi-fibv6/7/contrib/tcsh/   (props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/greek/set24   (props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ja/set24   (props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set21   (props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set24   (props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/russian/set3   (props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set21   (props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set24   (props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set3   (props changed)
  projects/multi-fibv6/7/contrib/tcsh/nls/ukrainian/set4   (props changed)
  projects/multi-fibv6/7/etc/   (props changed)
  projects/multi-fibv6/7/lib/   (props changed)
  projects/multi-fibv6/7/lib/libc/   (props changed)
  projects/multi-fibv6/7/lib/libc/uuid/   (props changed)
  projects/multi-fibv6/7/share/   (props changed)
  projects/multi-fibv6/7/share/man/   (props changed)
  projects/multi-fibv6/7/share/man/man7/   (props changed)
  projects/multi-fibv6/7/share/man/man8/   (props changed)
  projects/multi-fibv6/7/sys/   (props changed)
  projects/multi-fibv6/7/sys/cddl/contrib/opensolaris/   (props changed)
  projects/multi-fibv6/7/sys/contrib/dev/acpica/   (props changed)
  projects/multi-fibv6/7/sys/contrib/pf/   (props changed)
  projects/multi-fibv6/7/usr.bin/   (props changed)
  projects/multi-fibv6/7/usr.bin/indent/   (props changed)
  projects/multi-fibv6/7/usr.sbin/   (props changed)
  projects/multi-fibv6/7/usr.sbin/cron/   (props changed)
  projects/multi-fibv6/7/usr.sbin/cron/cron/   (props changed)
  projects/multi-fibv6/7/usr.sbin/cron/crontab/   (props changed)

Modified: projects/multi-fibv6/7/Makefile
==============================================================================
--- projects/multi-fibv6/7/Makefile	Wed Mar 14 23:46:07 2012	(r232992)
+++ projects/multi-fibv6/7/Makefile	Wed Mar 14 23:55:25 2012	(r232993)
@@ -21,7 +21,7 @@
 # check-old-dirs      - List obsolete directories.
 # check-old-files     - List obsolete files.
 # check-old-libs      - List obsolete libraries.
-# delete-old          - Delete obsolete directories/files/libraries.
+# delete-old          - Delete obsolete directories/files.
 # delete-old-dirs     - Delete obsolete directories.
 # delete-old-files    - Delete obsolete files.
 # delete-old-libs     - Delete obsolete libraries.

Modified: projects/multi-fibv6/7/ObsoleteFiles.inc
==============================================================================
--- projects/multi-fibv6/7/ObsoleteFiles.inc	Wed Mar 14 23:46:07 2012	(r232992)
+++ projects/multi-fibv6/7/ObsoleteFiles.inc	Wed Mar 14 23:55:25 2012	(r232993)
@@ -14,6 +14,8 @@
 # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last.
 #
 
+# 20110224: sticky.8 -> sticky.7
+OLD_FILES+=usr/share/man/man8/sticky.8.gz
 # 20101114: Remove long-obsolete MAKEDEV.8
 OLD_FILES+=usr/share/man/man8/MAKEDEV.8.gz
 # 20101112: vgonel(9) has gone to private API a while ago

Modified: projects/multi-fibv6/7/bin/csh/Makefile
==============================================================================
--- projects/multi-fibv6/7/bin/csh/Makefile	Wed Mar 14 23:46:07 2012	(r232992)
+++ projects/multi-fibv6/7/bin/csh/Makefile	Wed Mar 14 23:55:25 2012	(r232993)
@@ -18,7 +18,7 @@ DFLAGS= -D_PATH_TCSHELL='"/rescue/${PROG
 DFLAGS= -D_PATH_TCSHELL='"/bin/${PROG}"'
 .endif
 CFLAGS+= -I. -I${.CURDIR} -I${TCSHDIR} ${DFLAGS}
-WARNS?=	0
+WARNS?=	1
 SRCS=	sh.c sh.dir.c sh.dol.c sh.err.c sh.exec.c sh.char.c \
 	sh.exp.c sh.file.c sh.func.c sh.glob.c sh.hist.c sh.init.c \
 	sh.lex.c sh.misc.c sh.parse.c sh.print.c sh.proc.c sh.sem.c \
@@ -107,10 +107,10 @@ gethost: gethost.c sh.err.h tc.const.h s
 	@rm -f ${.TARGET}
 	${CC} -o gethost ${LDFLAGS} ${CFLAGS} ${TCSHDIR}/gethost.c
 
-tc.defs.c: gethost ${.CURDIR}/host.defs
+tc.defs.c: gethost ${TCSHDIR}/host.defs
 	@rm -f ${.TARGET}
 	@echo "/* Do not edit this file, make creates it */" > ${.TARGET}
-	./gethost ${.CURDIR}/host.defs >> ${.TARGET}
+	./gethost ${TCSHDIR}/host.defs >> ${.TARGET}
 
 ed.defns.h: ed.defns.c
 	@rm -f ${.TARGET}

Modified: projects/multi-fibv6/7/bin/csh/config.h
==============================================================================
--- projects/multi-fibv6/7/bin/csh/config.h	Wed Mar 14 23:46:07 2012	(r232992)
+++ projects/multi-fibv6/7/bin/csh/config.h	Wed Mar 14 23:55:25 2012	(r232993)
@@ -1,5 +1,5 @@
 /* $FreeBSD$ */
-/* config.h.  Generated by configure.  */
+/* config.h.  Generated from config.h.in by configure.  */
 /* config.h.in.  Generated from configure.in by autoheader.  */
 
 /* Define to the type of elements in the array set by `getgroups'. Usually
@@ -12,9 +12,6 @@
 /* Define to 1 if you have the <auth.h> header file. */
 /* #undef HAVE_AUTH_H */
 
-/* Define to 1 if you have the `catgets' function. */
-#define HAVE_CATGETS 1
-
 /* Define to 1 if you have the <crypt.h> header file. */
 /* #undef HAVE_CRYPT_H */
 
@@ -41,6 +38,9 @@
 /* Define to 1 if you have the `dup2' function. */
 #define HAVE_DUP2 1
 
+/* Define to 1 if you have the <features.h> header file. */
+/* #undef HAVE_FEATURES_H */
+
 /* Define to 1 if you have the `getauthid' function. */
 /* #undef HAVE_GETAUTHID */
 
@@ -56,7 +56,10 @@
 /* Define to 1 if you have the `getutent' function. */
 /* #undef HAVE_GETUTENT */
 
-/* Define if you have the iconv() function. */
+/* Define to 1 if you have the `getutxent' function. */
+/* #undef HAVE_GETUTXENT */
+
+/* Define if you have the iconv() function and it works. */
 /* #undef HAVE_ICONV */
 
 /* Define to 1 if you have the <inttypes.h> header file. */
@@ -65,6 +68,9 @@
 /* Define to 1 if the system has the type `long long'. */
 #define HAVE_LONG_LONG 1
 
+/* Define to 1 if you have the `mallinfo' function. */
+/* #undef HAVE_MALLINFO */
+
 /* Define to 1 if mbrtowc and mbstate_t are properly declared. */
 #define HAVE_MBRTOWC 1
 
@@ -77,6 +83,9 @@
 /* Define to 1 if you have the `memset' function. */
 #define HAVE_MEMSET 1
 
+/* Define to 1 if you have the `mkstemp' function. */
+#define HAVE_MKSTEMP 1
+
 /* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
 /* #undef HAVE_NDIR_H */
 
@@ -86,6 +95,9 @@
 /* Define to 1 if you have the `nl_langinfo' function. */
 #define HAVE_NL_LANGINFO 1
 
+/* Define to 1 if you have the <paths.h> header file. */
+#define HAVE_PATHS_H 1
+
 /* Define to 1 if you have the `sbrk' function. */
 #define HAVE_SBRK 1
 
@@ -120,22 +132,34 @@
 /* Define to 1 if you have the `strstr' function. */
 #define HAVE_STRSTR 1
 
-/* Define to 1 if `d_ino' is member of `struct dirent'. */
+/* Define to 1 if `d_ino' is a member of `struct dirent'. */
 #define HAVE_STRUCT_DIRENT_D_INO 1
 
-/* Define to 1 if `ss_family' is member of `struct sockaddr_storage'. */
+/* Define to 1 if `ss_family' is a member of `struct sockaddr_storage'. */
 #define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1
 
-/* Define to 1 if `ut_host' is member of `struct utmp'. */
+/* Define to 1 if `ut_host' is a member of `struct utmpx'. */
+/* #undef HAVE_STRUCT_UTMPX_UT_HOST */
+
+/* Define to 1 if `ut_tv' is a member of `struct utmpx'. */
+/* #undef HAVE_STRUCT_UTMPX_UT_TV */
+
+/* Define to 1 if `ut_user' is a member of `struct utmpx'. */
+/* #undef HAVE_STRUCT_UTMPX_UT_USER */
+
+/* Define to 1 if `ut_xtime' is a member of `struct utmpx'. */
+/* #undef HAVE_STRUCT_UTMPX_UT_XTIME */
+
+/* Define to 1 if `ut_host' is a member of `struct utmp'. */
 #define HAVE_STRUCT_UTMP_UT_HOST 1
 
-/* Define to 1 if `ut_tv' is member of `struct utmp'. */
+/* Define to 1 if `ut_tv' is a member of `struct utmp'. */
 /* #undef HAVE_STRUCT_UTMP_UT_TV */
 
-/* Define to 1 if `ut_user' is member of `struct utmp'. */
+/* Define to 1 if `ut_user' is a member of `struct utmp'. */
 /* #undef HAVE_STRUCT_UTMP_UT_USER */
 
-/* Define to 1 if `ut_xtime' is member of `struct utmp'. */
+/* Define to 1 if `ut_xtime' is a member of `struct utmp'. */
 /* #undef HAVE_STRUCT_UTMP_UT_XTIME */
 
 /* Define to 1 if you have the `sysconf' function. */
@@ -179,25 +203,31 @@
 /* Support NLS. */
 #define NLS 1
 
+/* Support NLS catalogs. */
+#define NLS_CATALOGS 1
+
 /* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT ""
+#define PACKAGE_BUGREPORT "http://bugs.gw.com/"
 
 /* Define to the full name of this package. */
-#define PACKAGE_NAME ""
+#define PACKAGE_NAME "tcsh"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING ""
+#define PACKAGE_STRING "tcsh 6.18.01"
 
 /* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME ""
+#define PACKAGE_TARNAME "tcsh"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION ""
+#define PACKAGE_VERSION "6.18.01"
 
 /* Define to 1 if the `setpgrp' function takes no argument. */
 /* #undef SETPGRP_VOID */
 
-/* The size of a `wchar_t', as computed by sizeof. */
+/* The size of `wchar_t', as computed by sizeof. */
 #define SIZEOF_WCHAR_T 4
 
 /* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
@@ -206,6 +236,11 @@
 /* Define to 1 if you have the ANSI C header files. */
 #define STDC_HEADERS 1
 
+/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
+   <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
+   #define below would cause a syntax error. */
+/* #undef _UINT32_T */
+
 /* Define to empty if `const' does not conform to ANSI C. */
 /* #undef const */
 
@@ -215,7 +250,7 @@
 /* Define to `int' if <sys/types.h> does not define. */
 /* #undef mode_t */
 
-/* Define to `unsigned' if <sys/types.h> does not define. */
+/* Define to `unsigned int' if <sys/types.h> does not define. */
 /* #undef size_t */
 
 /* Define to `int' if neither <sys/types.h> nor <sys/socket.h> define. */
@@ -227,6 +262,10 @@
 /* Define to `int' if <sys/types.h> doesn't define. */
 /* #undef uid_t */
 
+/* Define to the type of an unsigned integer type of width exactly 32 bits if
+   such a type exists and the standard includes do not define it. */
+/* #undef uint32_t */
+
 /* Define to empty if the keyword `volatile' does not work. Warning: valid
    code using `volatile' can become incorrect without. Disable with care. */
 /* #undef volatile */
@@ -234,9 +273,5 @@
 #include "config_p.h"
 #include "config_f.h"
 
-#ifndef NO_NLS_CATALOGS
-#define NLS_CATALOGS
-#endif
-
 /* Work around a vendor issue where config_f.h is #undef'ing this setting */
 #define SYSMALLOC

Modified: projects/multi-fibv6/7/bin/csh/config_p.h
==============================================================================
--- projects/multi-fibv6/7/bin/csh/config_p.h	Wed Mar 14 23:46:07 2012	(r232992)
+++ projects/multi-fibv6/7/bin/csh/config_p.h	Wed Mar 14 23:55:25 2012	(r232993)
@@ -105,9 +105,6 @@
 
 #elif defined(__APPLE__)
 # define SYSMALLOC
-
-#else
-# define NLS_CATALOGS
 #endif
 
 #endif /* _h_config */

Modified: projects/multi-fibv6/7/contrib/tcsh/Fixes
==============================================================================
--- projects/multi-fibv6/7/contrib/tcsh/Fixes	Wed Mar 14 23:46:07 2012	(r232992)
+++ projects/multi-fibv6/7/contrib/tcsh/Fixes	Wed Mar 14 23:55:25 2012	(r232993)
@@ -1,3 +1,147 @@
+  6. V6.18.01 - 20120214
+  5. fix interruptible wait again
+  4. ignore bogus compiler overflow message
+  3. cleanup ifdefs in utmp code, and provide default array entries
+  2. Ignore #machine entries in host.defs
+  1. Detect missing ) in gethost.c (Corinna Vinschen)
+
+104. V6.18.00 - 20120114
+103. remove unused variables.
+102. Make gethost use definitions for x __x__ and __x automatically.
+101. More utmp fixes
+100. V6.17.10 - 20120105
+ 99. Add more FreeBSD/NetBSD machines
+ 98. Add portability wrapper for gencat
+ 97. Fix warning for write in SYSMALLOC systems.
+ 96. V6.17.09 - 20120102
+ 95. revert gencat handling to pre-cygwin fixes (without the env settings)
+ 94. remove stray endutent()
+ 93. V6.17.08 - 20111230
+ 92. Remove - from gencat
+ 91. Provide support for malloc_usable_size() so that linux works again
+     without SYSMALLOC
+ 90. Add support for FreeBSD's utmpx.
+ 89. V6.17.07 - 20111227
+ 88. Fix debian bug #645238: tcsh segfaults when prompt includes %j and
+     there are more than 10 jobs.
+ 87. PR/155: Default $anyerror to set for backward compatibility
+ 86. PR/149: Don't print -1 in %j (Vojtech Vitek)
+ 85. handle -- on chdir commands as the end of options processing so that
+     they can process a directory like -x without resorting to ./-x
+     (Andrew Stevenson)
+ 84. Handle write(2) returning ENOENT from SoFS, thanks ++HAL (Robert Byrnes)
+ 83. PR/38: Null check for jobs (Kurt Miller)
+ 82. Fix spelling correction correcting ./foo -> ../foo2 (jean-luc leger)
+ 81. PR/120: string0 in filetest does not have enough space.
+ 80. V6.17.06 - 20110415
+ 79. PR/110: Add $anyerror to select behavior. Default to the new one.
+ 78. Don't try to spell commands that are correct (Rouben Rostamian)
+     [./tcsh -f; set path=($path 2); mkdir foo2; cd foo2; touch foo;
+      chmod +x foo; set correct=cmd; ./foo -> ../foo]
+ 77. Don't push the syntax struct on the cleanup stack, because on foo;bar
+     if foo fails, we will free bar prematurely (Ben Miller)
+ 76. Avoid infinite loop while trying to print the pid of a dying process
+     to a closed file (Bob Arendt)
+ 75. Handle completion of ${ variables (Anthony Mallet)
+ 74. Add --disable-nls-catalogs (Corinna Vinschen)
+ 73. convert message catalogs to UTF-8 (Werner Fink)
+ 72. check that the NLS path works before setting $NLSPATH.
+ 71. use SYSMALLOC for GLIBC (Werner Fink)
+ 70. use mallinfo for SYSMALLOC (Corinna Vinschen)
+ 69. V6.17.05 - 20110201
+ 68. Use mkstemp() if there for here docs (Werner Fink)
+ 67. Fix handling of errors and exit values in builtins (Werner Fink)
+ 66. Better pty name detection (Werner Fink)
+ 65. Enable NLS catalogs on Cygwin (Corinna Vinschen)
+ 64. NLSPATH handling fixes (Corinna Vinschen)
+ 63. Avoid infrequent exit when tcsh cd's into a non-existent directory
+     https://bugzilla.novell.com/show_bug.cgi?id=293395 (Werner Fink)
+ 62. Don't try to spell check full path binaries that are correct because
+     they can cause hangs when other nfs partitions are hung. (Werner Fink)
+ 61. Avoid nested interrupts when exiting causing history writing to fail
+     https://bugzilla.novell.com/show_bug.cgi?id=331627 (Werner Fink)
+ 60. Instead of giving an error or ignoring lines with missing eol at eof,
+     process them.
+ 59. Avoid leaking fd's in mail check (Werner Fink)
+ 58. Add cygwin_xcrypt() (Corinna Vinschen)
+ 57. Recognize i686 (Corinna Vinschen)
+ 56. Rename cygwin32 to cygwin and bring it up-to-date with modern cygwin
+     settings (Corinna Vinschen)
+ 55. Avoid double slashes in cdpath (Corinna Vinschen)
+ 54. V6.17.04 - 20110118
+ 53. Revert PR/110, breaks the test suite.
+ 52. V6.17.03 - 20110117
+ 51. PR/102: Complain on input files with missing trailing \n
+ 50. PR/104: If atime == mtime we don't have new mail.
+ 49. PR/113: Don't allow illegal variable names to be set.
+ 48. PR/112: don't set $REMOTEHOST on the local machine.
+ 47. PR/110: exit status of the pipeline should be the status of the last
+     command.
+ 46. Android support (Corinna Vinschen)
+ 45. Add AUTOSET_KANJI which works around the Shift-JIS encoding that
+     translates unshifted 7 bit ASCII (Werner Fink)
+ 44. Handle mb{r,}towc() returning 0 by setting the return value to NUL
+     (Jean-Luc Leger)
+ 43. PR/109: make wait interruptible (Vojtech Vitek)
+ 42. resource limit fixes: signed vs. unsigned, megabyte issue, doc issues
+     (Robert Byrnes)
+ 41. remove .bat and .cmd handling for executables on cygwin (Corinna Vinschen)
+ 40. Don't echo history while history -L or history -M
+ 39. Check for EOS before ** from Greg Dionne
+ 38. Don't fork in backeval from Bryan Mason
+ 37. Better globstar support from Greg Dionne
+ 36. Error out when processing the last incomplete line instead of silently
+     ignoring it (Anders Kaseorg)
+ 35. Fix SEGV from echo ``
+ 34. Better fixes for histchars and promptchars (nargs)
+ 33. Fix win32 issue calling fmalloc/ffree from non-thread-safe context.
+     (Fabio Fabbri)
+ 32. V6.17.02 - 20100512
+ 31. PR/79: nargs: Better handling for promptchars.
+ 30. PR/97: Add parseoctal to retain compatibility with previous versions (Jim
+     Zajkowski)
+ 29. PR/84: Performance fixes for large history merges (add
+     hashtable (Ted Anderson)
+ 28. Revert previous #23; people should use $histlit if they want this
+     feature.
+ 27. Don't kill "hup" background jobs when a child of the shell exits.
+     From Debian.
+ 26. Ignore \r\n in the command line options for OS's that don't strip
+     these from #!; from Debian
+ 25. Fix enhanced missing patch (Greg Dionne)
+ 24. Callers of rt_mbtowc don't grok -2 as a return. Return -1 for now.
+     (Corinna Vinschen)
+ 23. Turn HistLit on while recording history to avoid \!\! losing its \.
+     From Debian
+ 22. set autoexpand; set histchars="";\n<tab> crash. From Debian
+ 21. V6.17.01 - 20100506
+ 20. unset verbose while we are reading the history file to avoid echoing
+     to the terminal. (Jeffrey Bastian)
+ 19. globstar addition, Enhance addition, euid, euser, gid variables
+     (Greg Dionne)
+ 18. Make 'e' in vi mode work like 'b' - use wordchars (Alistair Crooks)
+ 17. Handle UTF-16 surrogates (Corinna Vinschen)
+ 16. Make tcsh work on systems where sizeof(wchar_t) == 2 (Corinna Vinschen)
+ 15. Better support for Solaris >= 2.9 (Thomas Uhle)
+ 14. Change internal expression calculations to long long so that we can
+     deal with > 32 bit time, inodes, uids, file sizes etc.
+ 13. Add new linux resource limits.
+ 12. Don't print 'Exit X' when printexitvalue is set in `` expressions
+     (Jeff Bastian)
+ 11. Add more LS_COLORS vars (M.H. Anderson)
+ 10. Reduce whitespace in Makefile (Don Estabrook)
+  9. Manual page fixes (Alan R. S. Bueno)
+  8. Remove history in loops bug from the documentation (Holger Weiss)
+  7. Add autorehash (Holger Weiss)
+  6. Add history.at (Ted Anderson)
+  5. Better NLSPATH handling (Norm Jacobs)
+  4. Fix hostname building from utmp (Cyrus Rahman)
+  3. Handle pending signals before flush so that the the history file does
+     not get truncated.  (Ted Anderson)
+  2. Fix AsciiOnly setting that broke 8 bit input. (Juergen Keil)
+  1. remember to closedir in mailchk (from Werner Fink, reported by
+     David Binderman)
+
  21. V6.17.00 - 20090710
  20. Fix dataroot autoconf issue.
  19. Fix directory stuff for unit tests.

Modified: projects/multi-fibv6/7/contrib/tcsh/Imakefile
==============================================================================
--- projects/multi-fibv6/7/contrib/tcsh/Imakefile	Wed Mar 14 23:46:07 2012	(r232992)
+++ projects/multi-fibv6/7/contrib/tcsh/Imakefile	Wed Mar 14 23:55:25 2012	(r232993)
@@ -1,5 +1,5 @@
 XCOMM
-XCOMM $tcsh: Imakefile,v 1.86 2007/03/19 23:25:02 christos Exp $
+XCOMM $tcsh: Imakefile,v 1.87 2010/01/28 19:01:05 christos Exp $
 XCOMM
 XCOMM Imakefile for tcsh 6.12
 XCOMM Marc Horowitz, MIT SIPB
@@ -93,7 +93,11 @@ ones.  Please send in your fixes and add
 #      if (OSMinorVersion < 6)
 #       define ConfigH sol24
 #      else
-#       define ConfigH sol26
+#       if (OSMinorVersion < 9)
+#        define ConfigH sol26
+#       else
+#        define ConfigH sol29
+#       endif
 #      endif
 #     endif
 #    endif

Modified: projects/multi-fibv6/7/contrib/tcsh/Makefile.in
==============================================================================
--- projects/multi-fibv6/7/contrib/tcsh/Makefile.in	Wed Mar 14 23:46:07 2012	(r232992)
+++ projects/multi-fibv6/7/contrib/tcsh/Makefile.in	Wed Mar 14 23:55:25 2012	(r232993)
@@ -1,4 +1,4 @@
-# $tcsh: Makefile.in,v 3.40 2009/06/24 22:09:05 christos Exp $
+# $tcsh: Makefile.in,v 3.49 2011/02/05 17:35:31 christos Exp $
 #	Makefile.in	4.3	6/11/83
 #
 # C Shell with process control; VM/UNIX VAX Makefile
@@ -26,22 +26,27 @@ CF=-c
 CPPFLAGS=-I. -I$(srcdir)
 
 LFLAGS=
-#LFLAGS= -Zn10000		# hpux lint
+# hpux lint
+#LFLAGS= -Zn10000
 
 
-CFLAGS = @CFLAGS@		# This is set by autoconf.
-#CFLAGS= -g			# debug
-#CFLAGS= -O			# production
-#CFLAGS= 			# Broken optimizers....
+# This is set by autoconf:
+CFLAGS = @CFLAGS@
+# debug:
+#CFLAGS= -g
+# production:
+#CFLAGS= -O
+# Broken optimizers....
+#CFLAGS=
 
 #CFLAGS= -g -pg -DPROF
 #CFLAGS= -O -pg -DPROF
 
 # gcc 1.00-1.37
-#CFLAGS= -O -finline-functions -fstrength-reduce 
+#CFLAGS= -O -finline-functions -fstrength-reduce
 
 # gcc 1.37-1.40
-#CFLAGS= -O -fcombine-regs -finline-functions -fstrength-reduce 
+#CFLAGS= -O -fcombine-regs -finline-functions -fstrength-reduce
 # add -msoft-float for 68881 machines.
 
 # gcc 2.0
@@ -67,8 +72,10 @@ CFLAGS = @CFLAGS@		# This is set by auto
 #CFLAGS= -O -Mnodebug -Mnoperfmon
 
 # DEC Alpha OSF/1
-#CFLAGS= -O2 -Olimit 2000	## Normal Optimization
-#CFLAGS= -O3 -Olimit 2000	## Full Optimization - may not work
+## Normal Optimization
+#CFLAGS= -O2 -Olimit 2000
+## Full Optimization - may not work
+#CFLAGS= -O3 -Olimit 2000
 #CF=-j
 #SUF=u
 #.SUFFIXES: .u
@@ -77,7 +84,8 @@ CFLAGS = @CFLAGS@		# This is set by auto
 # global optimizer! (-O3).
 # On SGI 4.0+ you need to add -D__STDC__ too.
 #CFLAGS= -O3
-#CFLAGS= -O3 -Olimit 2000	## Ultrix 4.2a
+## Ultrix 4.2a
+#CFLAGS= -O3 -Olimit 2000
 #CF=-j
 #SUF=u
 #.SUFFIXES: .u 				## Ultrix and gnu-make need that
@@ -110,14 +118,14 @@ CFLAGS = @CFLAGS@		# This is set by auto
 # CFLAGS= -O3
 
 # SINIX RMx00
-#CFLAGS= -O # -D_POSIX_SOURCE # -kansi
+#CFLAGS= -O# -D_POSIX_SOURCE# -kansi
 
 # Apollo's with cc [apollo builtins don't work with gcc]
 # and apollo should not define __STDC__ if it does not have
 # the standard header files. RT's (aos4.3) need that too;
 # you might want to skip the -O on the rt's... Not very wise.
 # AIX/ESA needs -D_IBMESA on command line (this may disappear by GA)
-#DFLAGS=-U__STDC__ 
+#DFLAGS=-U__STDC__
 #DFLAGS=-D_IBMESA
 # On aix2.2.1 we need more compiler space.
 #DFLAGS=-Nd4000 -Nn3000
@@ -142,17 +150,25 @@ DFLAGS = -D_PATH_TCSHELL='"${bindir}/tcs
 ################################################################
 ## LDFLAGS.  Define something here if you need to
 ################################################################
-LDFLAGS= @LDFLAGS@		## This is set by autoconf.
-#LDFLAGS= 			## The simplest, suitable for all.
-#LDFLAGS= -s			## Stripped. Takes less space on disk.
-#LDFLAGS= -s -n			## Pure executable. Spares paging over
-# 				## the network for machines with local
-#				## swap but external /usr/local/bin .
-#LDFLAGS= -s -n -Bstatic	## Without dynamic linking. (SunOS/cc)
-#LDFLAGS= -s -n -static		## Without dynamic linking. (SunOS/gcc)
-#LDFLAGS= -Wl,-s,-n		## Stripped, shared text (Unicos)
-#LDFLAGS= -s -static		## Link statically. (linux)
-#LDFLAGS= -s -N			## Impure executable (linux)
+## This is set by autoconf:
+LDFLAGS= @LDFLAGS@
+## The simplest, suitable for all.
+#LDFLAGS=
+## Stripped. Takes less space on disk.
+#LDFLAGS= -s
+## Pure executable.  Spares paging over the network for machines with
+## local swap but external /usr/local/bin .
+#LDFLAGS= -s -n
+## Without dynamic linking. (SunOS/cc)
+#LDFLAGS= -s -n -Bstatic
+## Without dynamic linking. (SunOS/gcc)
+#LDFLAGS= -s -n -static
+## Stripped, shared text (Unicos)
+#LDFLAGS= -Wl,-s,-n
+## Link statically. (linux)
+#LDFLAGS= -s -static
+## Impure executable (linux)
+#LDFLAGS= -s -N
 
 ################################################################
 ## SBINLDFLAGS.  Flags to build a tcsh suitable for installation in
@@ -164,53 +180,100 @@ SBINLDFLAGS=-Wl,-R/etc/lib,-I/etc/lib/ld
 ################################################################
 ## LIBES.  Pick one, or roll your own.
 ################################################################
-LIBES= @LIBS@	 			 ## This is set by autoconf.
-#LIBES= -ltermcap 			 ## BSD style things
-#LIBES= -ltermcap			 ## SunOS, HP-UX, pyramid
-#LIBES= -ltermcap			 ## Linux
-#LIBES= -ltermcap -lshadow		 ## Linux with PW_SHADOW
-#LIBES= -ltermcap -lsec			 ## Tek XD88/10 (UTekV) with PW_SHADOW
-#LIBES= -ltermcap -lsec			 ## Motorola MPC (sysV88) with PW_SHADOW
-#LIBES= -ltermcap -lcs			 ## Mach
-#LIBES= -ltermcap -lbsd			 ## DEC osf1 on the alpha
-#LIBES= -ltermcap -lbsd			 ## Intel paragon
-#LIBES= -ltermcap -lbsd			 ## Clipper intergraph
-#LIBES= -ltermcap -lseq			 ## Sequent's Dynix
-#LIBES= -ltermcap -lauth		 ## Ultrix with Enhanced Security
-#LIBES= -ltermcap -ldir -lx		 ## Xenix 386 style things
-#LIBES= -ltermcap -lndir -lsocket -ljobs ## masscomp RTU6.0
-#LIBES= -lcurses			 ## AIX on the rt
-#LIBES= -lcurses			 ## TitanOS on the stellar
-#LIBES= -ltermlib -lsocket -lnsl	 ## SysV4 w/o BSDTIMES or Solaris 2
-#LIBES= -lcurses			 ## SysV3 w/o networking
-#LIBES= -lcurses -lnet			 ## SysV3 with networking
-#LIBES= -lcurses -ldir			 ## SysV2 w/o networking & dirlib
-#LIBES= -lcurses -ldir -lnet		 ## SysV2 with networking & dirlib
-#LIBES= -lcurses -lbsd			 ## AIX on the IBM 370 or rs6000 or ps2
-#LIBES= -lcurses -lbsd			 ## ETA10
-#LIBES= -lcurses -lbsd			 ## Irix3.1 on the SGI-IRIS4D
-#LIBES= -lcurses -lbsd -lc_s		 ## Irix3.3 on the SGI-IRIS4D w/o yp
-#LIBES= -lcurses -lsun -lbsd -lc_s	 ## Irix3.3 on the SGI-IRIS4D with yp
-#LIBES= -lcurses -lsocket -lbsd		 ## Amdahl UTS 2.1
-#LIBES= -lcurses -lsocket		 ## Intel's hypercube.
-#LIBES= -lcurses -lsocket		 ## ns32000 based Opus.
-#LIBES= -lcurses -lcposix		 ## ISC 2.2 without networking
-#LIBES= -lcposix -lc_s -lcurses -linet	 ## ISC 2.2 with networking
-#LIBES= -lcurses -lsec -lc_s		 ## ISC 2.0.2 without networking
-#LIBES= -lcurses -linet -lsec -lc_s	 ## ISC 2.0.2 with networking
-#LIBES= -lcurses -lintl -lcrypt		 ## SCO SysVR3.2v2.0
-#LIBES= -lcurses -lintl -lsocket -lcrypt ## SCO+ODT1.1
-#LIBES= -lposix -ltermcap		 ## A/UX 2.0
-#LIBES= -lposix -ltermcap -lc_s		 ## A/UX 3.0
-#LIBES= -ldirent -lcurses		 ## att3b1 cc w/o shared lib & dirlib
-#LIBES= -shlib -ldirent -lcurses	 ## att3b1 gcc with shared lib & dirlib
-#LIBES= -ltermlib -lsocket -lnsl -lc /usr/ucblib/libucb.a ## SysV4 with BSDTIMES
-#LIBES= -lcurses -lnsl -lsocket -lc /usr/ucblib/libucb.a ## Stardent Vistra
-#LIBES= -ltermc				 ## emx under OS/2
-#LIBES=					 ## Minix, VMS_POSIX
-#LIBES= -ltermcap -lcrypt		 ## Multiflow
-#LIBES= -ltermcap -lcrypt		 ## NetBSD
-#LIBES= -lcurses 			 ## DDE Supermax
+## This is set by autoconf.
+LIBES= @LIBS@
+## BSD style things
+#LIBES= -ltermcap
+## SunOS, HP-UX, pyramid
+#LIBES= -ltermcap
+## Linux
+#LIBES= -ltermcap
+## Linux with PW_SHADOW
+#LIBES= -ltermcap -lshadow
+## Tek XD88/10 (UTekV) with PW_SHADOW
+#LIBES= -ltermcap -lsec
+## Motorola MPC (sysV88) with PW_SHADOW
+#LIBES= -ltermcap -lsec
+## Mach
+#LIBES= -ltermcap -lcs
+## DEC osf1 on the alpha
+#LIBES= -ltermcap -lbsd
+## Intel paragon
+#LIBES= -ltermcap -lbsd
+## Clipper intergraph
+#LIBES= -ltermcap -lbsd
+## Sequent's Dynix
+#LIBES= -ltermcap -lseq
+## Ultrix with Enhanced Security
+#LIBES= -ltermcap -lauth
+## Xenix 386 style things
+#LIBES= -ltermcap -ldir -lx
+## masscomp RTU6.0
+#LIBES= -ltermcap -lndir -lsocket -ljobs
+## AIX on the rt
+#LIBES= -lcurses
+## TitanOS on the stellar
+#LIBES= -lcurses
+## SysV4 w/o BSDTIMES or Solaris 2
+#LIBES= -ltermlib -lsocket -lnsl
+## SysV3 w/o networking
+#LIBES= -lcurses
+## SysV3 with networking
+#LIBES= -lcurses -lnet
+## SysV2 w/o networking & dirlib
+#LIBES= -lcurses -ldir
+## SysV2 with networking & dirlib
+#LIBES= -lcurses -ldir -lnet
+## AIX on the IBM 370 or rs6000 or ps2
+#LIBES= -lcurses -lbsd
+## ETA10
+#LIBES= -lcurses -lbsd
+## Irix3.1 on the SGI-IRIS4D
+#LIBES= -lcurses -lbsd
+## Irix3.3 on the SGI-IRIS4D w/o yp
+#LIBES= -lcurses -lbsd -lc_s
+## Irix3.3 on the SGI-IRIS4D with yp
+#LIBES= -lcurses -lsun -lbsd -lc_s
+## Amdahl UTS 2.1
+#LIBES= -lcurses -lsocket -lbsd
+## Intel's hypercube.
+#LIBES= -lcurses -lsocket
+## ns32000 based Opus.
+#LIBES= -lcurses -lsocket
+## ISC 2.2 without networking
+#LIBES= -lcurses -lcposix
+## ISC 2.2 with networking
+#LIBES= -lcposix -lc_s -lcurses -linet
+## ISC 2.0.2 without networking
+#LIBES= -lcurses -lsec -lc_s
+## ISC 2.0.2 with networking
+#LIBES= -lcurses -linet -lsec -lc_s
+## SCO SysVR3.2v2.0
+#LIBES= -lcurses -lintl -lcrypt
+## SCO+ODT1.1
+#LIBES= -lcurses -lintl -lsocket -lcrypt
+## A/UX 2.0
+#LIBES= -lposix -ltermcap
+## A/UX 3.0
+#LIBES= -lposix -ltermcap -lc_s
+## att3b1 cc w/o shared lib & dirlib
+#LIBES= -ldirent -lcurses
+## att3b1 gcc with shared lib & dirlib
+#LIBES= -shlib -ldirent -lcurses
+## SysV4 with BSDTIMES
+#LIBES= -ltermlib -lsocket -lnsl -lc /usr/ucblib/libucb.a
+## Stardent Vistra
+#LIBES= -lcurses -lnsl -lsocket -lc /usr/ucblib/libucb.a
+## emx under OS/2
+#LIBES= -ltermc
+## Minix, VMS_POSIX
+#LIBES=
+## Multiflow
+#LIBES= -ltermcap -lcrypt
+## NetBSD
+#LIBES= -ltermcap -lcrypt
+## DDE Supermax
+#LIBES= -lcurses
 
 ################################################################
 ## EXTRAFLAGS and EXTRALIBS
@@ -222,8 +285,10 @@ LIBES= @LIBS@	 			 ## This is set by aut
 #
 #Solaris and HPUX require the BSD libraries with AFS.
 #We use -lc to use only what we require.
-#AFSAUXLIB = -lsocket -lnsl -lc -lucb                    # Solaris
-#AFSAUXLIB = -lc -lBSD                                   # HPUX   
+# Solaris
+#AFSAUXLIB = -lsocket -lnsl -lc -lucb
+# HPUX   
+#AFSAUXLIB = -lc -lBSD
 #
 #AFSLIB = -L$(AFSLIBDIR) -L$(AFSLIBDIR)/afs -lkauth -lprot -lubik\
 #         -lauth -lrxkad -lsys -ldes -lrx -llwp -lcom_err\
@@ -244,26 +309,38 @@ EXTRALIBS = @HESLIB@ $(AFSLIB) @LIBICONV
 # will lose the editor and job control.
 
 # This is for setting your C preprocessor value.
-CPP = @CPP@ # This is set by autoconf.
+# This is set by autoconf.
+CPP = @CPP@
 # The -B tells gcc to use /bin/ld. This is to avoid using the gnu ld, which
 # on the suns does not know how to make dynamically linked binaries.
-CC = @CC@ # This is set by autoconf.
+# This is set by autoconf.
+CC = @CC@
 #CC= gcc -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Werror -Wmissing-declarations -Wredundant-decls -Wnested-externs -Wsign-compare -Wcast-qual -Wreturn-type -Wswitch -Wshadow -Wwrite-strings -Wextra
-#CC=	gcc -Wall -pipe -B/bin/	# -ansi -pedantic
-#CC=	gcc -m486 -pipe -Wall # Generate code for Intel 486 (linux)
-#CC=	shlicc 	# BSDI2.1 w/ shared libraries
+# -ansi -pedantic
+#CC=	gcc -Wall -pipe -B/bin/
+# Generate code for Intel 486 (linux)
+#CC=	gcc -m486 -pipe -Wall
+# BSDI2.1 w/ shared libraries
+#CC=	shlicc
 #CC=	cc
 #CC=	occ
 #CC=	acc
 #CC=	pcc
 #CC=	hc -w
-#CC=	c89	# For VMS/POSIX
-#CC=	/bin/cc	# For suns, w/o gcc and SVR4
-#CC=	/usr/lib/sun.compile/cc  # FPS 500 (+FPX) with Sun C compiler
-#CC=	/opt/SUNWspro/bin/cc	# Solaris 2.1
-#CC=	scc 	# Alliant fx2800
-#CC=	cc	-h0,ansi,novector,float0 # for NEC SX-4
+# For VMS/POSIX
+#CC=	c89
+# For suns, w/o gcc and SVR4
+#CC=	/bin/cc
+# FPS 500 (+FPX) with Sun C compiler
+#CC=	/usr/lib/sun.compile/cc
+# Solaris 2.1
+#CC=	/opt/SUNWspro/bin/cc
+# Alliant fx2800
+#CC=	scc
+# for NEC SX-4
+#CC=	cc	-h0,ansi,novector,float0
 #CC=	lcc	-wa 
+CC_FOR_GETHOST = @CC_FOR_GETHOST@
 ED=	ed
 AS=	as
 RM=	rm
@@ -272,8 +349,10 @@ VGRIND=	csh /usr/ucb/vgrind
 CTAGS=	/usr/ucb/ctags
 #XSTR= /usr/ucb/xstr
 SCCS=	/usr/local/sccs
-PARALLEL=12				# Make the multi-max run fast.
-#P=&					# Use Sequent's parallel make
+# Make the multi-max run fast.
+PARALLEL=12
+# Use Sequent's parallel make
+#P=&
 P=
 prefix=@prefix@
 exec_prefix=@exec_prefix@
@@ -282,12 +361,17 @@ mandir=@datarootdir@/man
 MANSECT=1
 DESTBIN=${DESTDIR}${bindir}
 DESTMAN=${DESTDIR}${mandir}/man${MANSECT}
-# DESTMAN=${DESTDIR}/catman/man${MANSECT}	 # A/UX
-# DESTMAN=${DESTDIR}/usr/share/man/man${MANSECT} # Stardent Vistra (SysVR4)
-# DESTMAN=/usr/catman/1l			 # Amiga unix (SysVR4)
+# A/UX
+# DESTMAN=${DESTDIR}/catman/man${MANSECT}
+# Stardent Vistra (SysVR4)
+# DESTMAN=${DESTDIR}/usr/share/man/man${MANSECT}
+# Amiga unix (SysVR4)
+# DESTMAN=/usr/catman/1l
 EXEEXT=@EXEEXT@
 FTPAREA=/usr/spool/ftp
 
+BUILD_CATALOGS = @BUILD_CATALOGS@
+
 ASSRCS=	sh.c sh.dir.c sh.dol.c sh.err.c sh.exec.c sh.char.c \
 	sh.exp.c sh.file.c sh.func.c sh.glob.c sh.hist.c sh.init.c \
 	sh.lex.c sh.misc.c sh.parse.c sh.print.c sh.proc.c sh.sem.c \
@@ -330,9 +414,9 @@ AVSRCS= Fixes MAKEDIFFS MAKESHAR NewThin
 	host.defs gethost.c tcsh.man2html configure.in configure config.h.in \
 	tests/testsuite.at
 TESTFILES= tests/aliases.at tests/arguments.at tests/commands.at \
-	tests/expr.at tests/lexical.at tests/mb-eucjp.at tests/mb-utf8.at \
-	tests/noexec.at tests/syntax.at tests/subst.at tests/variables.at \
-	tests/sh.dol.at
+	tests/expr.at tests/lexical.at tests/mb-eucjp.at \
+	tests/mb-utf8.at tests/noexec.at tests/syntax.at tests/subst.at \
+	tests/variables.at tests/sh.dol.at
 
 VHSRCS=${PVSRCS} ${AVSRCS}
 
@@ -345,7 +429,7 @@ DISTSRCS= ${PSSRCS} ${TWSRCS} ${EDSRCS} 
 OBJS= ${SHOBJS} ${TWOBJS} ${EDOBJS} ${TCOBJS}
 
 
-all: ${BUILD}
+all: ${BUILD} catalogs
 
 tcsh$(EXEEXT):$(P) ${OBJS} 
 	rm -f tcsh$(EXEEXT) core
@@ -365,7 +449,7 @@ pure:$(P) ${OBJS} 
 
 gethost:  gethost.c sh.err.h tc.const.h sh.h
 	rm -f gethost
-	${CC} -o gethost ${LDFLAGS} ${CFLAGS} ${CPPFLAGS} ${DFLAGS} $(srcdir)/gethost.c ${LIBES} ${EXTRALIBS}
+	${CC_FOR_GETHOST} -o gethost ${CPPFLAGS} $(srcdir)/gethost.c
 
 tc.defs.c:	gethost host.defs
 	@rm -f $@.tmp
@@ -463,7 +547,7 @@ $(srcdir)/tests/package.m4: $(srcdir)/co
 	  echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \
 	} >$(srcdir)/tests/package.m4
 
-$(srcdir)/tests/testsuite: $(srcdir)/tests/package.m4 $(srcdir}/tests/testsuite.at $(TESTFILES)
+$(srcdir)/tests/testsuite: $(srcdir)/tests/package.m4 $(srcdir)/tests/testsuite.at $(TESTFILES)
 	autom4te --language=autotest -I $(srcdir)/tests \
 		$(srcdir)/tests/testsuite.at -o $@.tmp
 	mv $@.tmp $@
@@ -511,20 +595,36 @@ vgrind:
 
 install-strip: install
 
-install: tcsh$(EXEEXT) 
+install: tcsh$(EXEEXT) install.catalogs install.man
 	-mkdir -p ${DESTBIN}
 	-mv -f ${DESTBIN}/tcsh$(EXEEXT)  ${DESTBIN}/tcsh.old
 	cp tcsh$(EXEEXT) ${DESTBIN}/tcsh$(EXEEXT)
 	-strip ${DESTBIN}/tcsh$(EXEEXT)
 	chmod 755 ${DESTBIN}/tcsh$(EXEEXT)
 
+install.catalogs:
+	@test "x${BUILD_CATALOGS}" = "xyes" && (cd nls; ${MAKE} install DESTDIR=${DESTDIR}) || exit 0
+
 install.man: tcsh.man
 	-mkdir -p ${DESTMAN}
 	-rm -f ${DESTMAN}/tcsh.${MANSECT}
 	cp $(srcdir)/tcsh.man ${DESTMAN}/tcsh.${MANSECT}
 	chmod 444 ${DESTMAN}/tcsh.${MANSECT}
 
-install.cygwin: install install.man
+# Amiga Unix
+#install.man: tcsh.man
+#        compress tcsh.man
+#	cp tcsh.man.Z ${DESTMAN}/tcsh.Z
+#	chmod 444 ${DESTMAN}/tcsh.Z
+
+# Apple A/UX
+#install.man: tcsh.man
+#	-rm -f ${DESTMAN}/tcsh.${MANSECT}.Z
+#	nroff -man tcsh.man | compress > ${DESTMAN}/tcsh.${MANSECT}.Z
+#	chmod 444 ${DESTMAN}/tcsh.${MANSECT}.Z
+
+install.cygwin: install
+	-gzip ${DESTMAN}/tcsh.${MANSECT}
 	-mkdir -p ${DESTDIR}${prefix}/share/doc/tcsh
 	cp ${srcdir}/FAQ ${srcdir}/Fixes ${DESTDIR}${prefix}/share/doc/tcsh
 	cp ${srcdir}/NewThings ${srcdir}/README ${DESTDIR}${prefix}/share/doc/tcsh
@@ -542,24 +642,15 @@ install.cygwin: install install.man
 	cp -p ${srcdir}/cygwin/postinstall.sh ${DESTDIR}/etc/postinstall/tcsh.sh
 	cp -p ${srcdir}/cygwin/preremove.sh ${DESTDIR}/etc/preremove/tcsh.sh
 
-# Amiga Unix
-#install.man: tcsh.man
-#        compress tcsh.man
-#	cp tcsh.man.Z ${DESTMAN}/tcsh.Z
-#	chmod 444 ${DESTMAN}/tcsh.Z
-
-# Apple A/UX
-#install.man: tcsh.man
-#	-rm -f ${DESTMAN}/tcsh.${MANSECT}.Z
-#	nroff -man tcsh.man | compress > ${DESTMAN}/tcsh.${MANSECT}.Z
-#	chmod 444 ${DESTMAN}/tcsh.${MANSECT}.Z
-
-clean:
+clean: clean.catalogs
 	${RM} -f a.out strings x.c xs.c tcsh$(EXEEXT) tcsh.a _MAKE_LOG gethost
 	${RM} -f *.${SUF} *.i *.s
 	${RM} -f sh.prof.c ed.defns.h tc.const.h sh.err.h tc.defs.c
 	${RM} -f tcsh.*.m tcsh.*.cat
 
+clean.catalogs:
+	@test "x${BUILD_CATALOGS}" = "xyes" && (cd nls; ${MAKE} clean) || exit 0
+
 veryclean: clean
 	${RM} -f Makefile config.h config_p.h
 	${RM} -f config.status config.cache config.log tcsh.ps
@@ -607,7 +698,7 @@ shar:
 	rm -rf tcsh-${VERSION}
 
 catalogs:
-	@(cd nls; make catalogs)
+	@test "x${BUILD_CATALOGS}" = "xyes" && (cd nls; ${MAKE} catalogs) || exit 0
 
 tcsh-${VERSION}.tar.Z:
 	rm -rf tcsh-${VERSION} 

Modified: projects/multi-fibv6/7/contrib/tcsh/Ported
==============================================================================
--- projects/multi-fibv6/7/contrib/tcsh/Ported	Wed Mar 14 23:46:07 2012	(r232992)
+++ projects/multi-fibv6/7/contrib/tcsh/Ported	Wed Mar 14 23:55:25 2012	(r232993)
@@ -7,7 +7,7 @@ find it out-of-date, or you have additio
 christos
 
 
-VENDOR	:	sun
+VENDOR	:	Sun
 MODELS	:	sun3, sun4, sun386i
 COMPILER:	cc, gcc, acc
 CFLAGS	:	normal
@@ -18,7 +18,7 @@ ENVIRON	:	n/a
 NOTES	:	Don't compile with /usr/5bin/cc
 VERSION	:	6.08
 
-VENDOR	:	sun
+VENDOR	:	Sun
 MODELS	:	sun4, ultra
 COMPILER:	cc, gcc
 CFLAGS	:	normal
@@ -34,18 +34,29 @@ NOTES	:	The sunpro compiler cannot compi
 	:	point failures of programs exec'ed from tcsh.
 VERSION	:	6.08
 
-VENDOR	:	sun
+VENDOR	:	Sun
 MODELS	:	ultra
 COMPILER:	WorkShop cc
 CFLAGS	:	normal
 LIBES	:	-lcurses -lsocket -lnsl
-OS	:	solaris 2.6
+OS	:	solaris 2.6, 2.7, 8
 CONFIG	:	sol26
 ENVIRON	:	n/a
 NOTES	:	none
 VERSION	:	6.08
 
-VENDOR	:	sun
+VENDOR	:	Sun
+MODELS	:	ultra, i686, x86_64
+COMPILER:	Sun Studio cc
+CFLAGS	:	normal
+LIBES	:	-lcurses -lsocket -lnsl
+OS	:	solaris 9, 10
+CONFIG	:	sol29
+ENVIRON	:	n/a
+NOTES	:	none
+VERSION	:	6.18
+
+VENDOR	:	Sun
 MODELS	:	i386
 COMPILER:	cc, gcc
 CFLAGS	:	-D__STDC__=0
@@ -56,7 +67,7 @@ ENVIRON	:	n/a
 NOTES	:	n/a
 VERSION	:	6.04.13
 
-VENDOR	:	sun
+VENDOR	:	Sun
 MODELS	:	sun4
 COMPILER:	gcc
 CFLAGS	:	normal

Modified: projects/multi-fibv6/7/contrib/tcsh/README
==============================================================================
--- projects/multi-fibv6/7/contrib/tcsh/README	Wed Mar 14 23:46:07 2012	(r232992)
+++ projects/multi-fibv6/7/contrib/tcsh/README	Wed Mar 14 23:55:25 2012	(r232993)
@@ -1,4 +1,4 @@
-This is tcsh version 6.17.00.  Tcsh is a version of the Berkeley
+This is tcsh version 6.18.01.  Tcsh is a version of the Berkeley
 C-Shell, with the addition of: a command line editor, command and file
 name completion, listing, etc. and a bunch of small additions to the
 shell itself.
@@ -87,7 +87,7 @@ To install tcsh:
 
 10) Enjoy.
 
-12) PLEASE file any bug reports (and fixes), code for new features at:
+11) PLEASE file any bug reports (and fixes), code for new features at:
 
 	http://bugs.gw.com/
 

Modified: projects/multi-fibv6/7/contrib/tcsh/WishList
==============================================================================
--- projects/multi-fibv6/7/contrib/tcsh/WishList	Wed Mar 14 23:46:07 2012	(r232992)
+++ projects/multi-fibv6/7/contrib/tcsh/WishList	Wed Mar 14 23:55:25 2012	(r232993)
@@ -52,17 +52,6 @@ ey )
    - bhooglan
      _________________________________________________________________
 
-   I'm a long-time faithful user of tcsh, and one thing has always bugged
-   me -- the need to type "rehash" at a prompt when adding a new command.
-   My  suggestions  is  to  change  tcsh  so before printing "Command not
-   found.",  it  first  searches  its  entire  path and rebuilds its hash
-   table.  Only  after doing this, and if the command is still not in the
-   path,  then  print  "Command  not  found.".  I  realize there are some
-   extreme  cases  in  which  this  is suboptimal, but in most cases with
-   normal  users  this  would  be  a big win, and simplify the manual and
-   perhaps even the code.
-     _________________________________________________________________
-

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-projects@FreeBSD.ORG  Thu Mar 15 22:28:19 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 312E21065670;
	Thu, 15 Mar 2012 22:28:19 +0000 (UTC)
	(envelope-from ambrisko@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id C04238FC08;
	Thu, 15 Mar 2012 22:28:18 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2FMSIa7086131;
	Thu, 15 Mar 2012 22:28:18 GMT
	(envelope-from ambrisko@svn.freebsd.org)
Received: (from ambrisko@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2FMSIEg086129;
	Thu, 15 Mar 2012 22:28:18 GMT
	(envelope-from ambrisko@svn.freebsd.org)
Message-Id: <201203152228.q2FMSIEg086129@svn.freebsd.org>
From: Doug Ambrisko <ambrisko@FreeBSD.org>
Date: Thu, 15 Mar 2012 22:28:18 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r233016 - projects/head_mfi/sys/dev/mfi
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Mar 2012 22:28:19 -0000

Author: ambrisko
Date: Thu Mar 15 22:28:18 2012
New Revision: 233016
URL: http://svn.freebsd.org/changeset/base/233016

Log:
  Release driver lock before taking Giant when deleting children.
  Use TAILQ_FOREACH_SAFE when items can be deleted.  Make code a
  little simplier to follow.  Fix a couple more style issues.
  
  This fixes some panics when reconfiguring drives.

Modified:
  projects/head_mfi/sys/dev/mfi/mfi.c

Modified: projects/head_mfi/sys/dev/mfi/mfi.c
==============================================================================
--- projects/head_mfi/sys/dev/mfi/mfi.c	Thu Mar 15 22:15:06 2012	(r233015)
+++ projects/head_mfi/sys/dev/mfi/mfi.c	Thu Mar 15 22:28:18 2012	(r233016)
@@ -1317,8 +1317,8 @@ mfi_syspdprobe(struct mfi_softc *sc)
 	struct mfi_frame_header *hdr;
 	struct mfi_command *cm = NULL;
 	struct mfi_pd_list *pdlist = NULL;
-	struct mfi_system_pd *syspd;
-	int error, i;
+	struct mfi_system_pd *syspd, *tmp;
+	int error, i, found;
 
 	sx_assert(&sc->mfi_config_lock, SA_XLOCKED);
 	mtx_assert(&sc->mfi_io_lock, MA_OWNED);
@@ -1352,24 +1352,30 @@ mfi_syspdprobe(struct mfi_softc *sc)
 	for (i = 0; i < pdlist->count; i++) {
 		if (pdlist->addr[i].device_id ==
 		    pdlist->addr[i].encl_device_id)
-			goto skip_sys_pd_add;
-		TAILQ_FOREACH(syspd, &sc->mfi_syspd_tqh,pd_link) {
+			continue;
+		found = 0;
+		TAILQ_FOREACH(syspd, &sc->mfi_syspd_tqh, pd_link) {
 			if (syspd->pd_id == pdlist->addr[i].device_id)
-				goto skip_sys_pd_add;
+				found = 1;
 		}
-		mfi_add_sys_pd(sc, pdlist->addr[i].device_id);
-skip_sys_pd_add:;
+		if (found == 0)
+			mfi_add_sys_pd(sc, pdlist->addr[i].device_id);
 	}
 	/* Delete SYSPD's whose state has been changed */
-	TAILQ_FOREACH(syspd, &sc->mfi_syspd_tqh,pd_link) {
+	TAILQ_FOREACH_SAFE(syspd, &sc->mfi_syspd_tqh, pd_link, tmp) {
+		found = 0;
 		for (i = 0; i < pdlist->count; i++) {
 			if (syspd->pd_id == pdlist->addr[i].device_id)
-				goto skip_sys_pd_delete;
+				found = 1;
+		}
+		if (found == 0) {
+			printf("DELETE\n");
+			mtx_unlock(&sc->mfi_io_lock);
+			mtx_lock(&Giant);
+			device_delete_child(sc->mfi_dev, syspd->pd_dev);
+			mtx_unlock(&Giant);
+			mtx_lock(&sc->mfi_io_lock);
 		}
-		mtx_lock(&Giant);
-		device_delete_child(sc->mfi_dev, syspd->pd_dev);
-		mtx_unlock(&Giant);
-skip_sys_pd_delete:;
 	}
 out:
 	if (pdlist)
@@ -1541,9 +1547,9 @@ mfi_decode_evt(struct mfi_softc *sc, str
 						device_delete_child(
 						    sc->mfi_dev,
 						    syspd->pd_dev);
-					mtx_unlock(&Giant);
-					break;
-				}
+						mtx_unlock(&Giant);
+						break;
+					}
 				}
 			}
 		}
@@ -2604,7 +2610,7 @@ mfi_check_command_pre(struct mfi_softc *
 		mbox = (uint16_t *) cm->cm_frame->dcmd.mbox;
 		syspd_id = mbox[0];
 		if (mbox[2] == MFI_PD_STATE_UNCONFIGURED_GOOD) {
-			TAILQ_FOREACH(syspd, &sc->mfi_syspd_tqh,pd_link) {
+			TAILQ_FOREACH(syspd, &sc->mfi_syspd_tqh, pd_link) {
 				if (syspd->pd_id == syspd_id)
 					break;
 			}

From owner-svn-src-projects@FreeBSD.ORG  Fri Mar 16 11:17:37 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 921111065670;
	Fri, 16 Mar 2012 11:17:37 +0000 (UTC)
	(envelope-from andrew@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 7DBC48FC1A;
	Fri, 16 Mar 2012 11:17:37 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2GBHbbU015486;
	Fri, 16 Mar 2012 11:17:37 GMT (envelope-from andrew@svn.freebsd.org)
Received: (from andrew@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2GBHbpW015484;
	Fri, 16 Mar 2012 11:17:37 GMT (envelope-from andrew@svn.freebsd.org)
Message-Id: <201203161117.q2GBHbpW015484@svn.freebsd.org>
From: Andrew Turner <andrew@FreeBSD.org>
Date: Fri, 16 Mar 2012 11:17:37 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r233030 - projects/arm_eabi/lib/libc/arm/gen
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Mar 2012 11:17:37 -0000

Author: andrew
Date: Fri Mar 16 11:17:36 2012
New Revision: 233030
URL: http://svn.freebsd.org/changeset/base/233030

Log:
  We use the compiler-rt softfloat library. It always rounds to nearest.

Modified:
  projects/arm_eabi/lib/libc/arm/gen/flt_rounds.c

Modified: projects/arm_eabi/lib/libc/arm/gen/flt_rounds.c
==============================================================================
--- projects/arm_eabi/lib/libc/arm/gen/flt_rounds.c	Fri Mar 16 11:00:55 2012	(r233029)
+++ projects/arm_eabi/lib/libc/arm/gen/flt_rounds.c	Fri Mar 16 11:17:36 2012	(r233030)
@@ -30,15 +30,22 @@ __FBSDID("$FreeBSD$");
 #include <fenv.h>
 #include <float.h>
 
+#ifndef __ARM_EABI__
 #include "softfloat-for-gcc.h"
 #include "milieu.h"
 #include "softfloat.h"
+#endif
 
 int
 __flt_rounds(void)
 {
 
-#ifndef ARM_HARD_FLOAT
+#ifdef __ARM_EABI__
+	/*
+	 * We use compiler-rt which uses round to nearest.
+	 */
+	return (1);
+#elif !defined(ARM_HARD_FLOAT)
 	/*
 	 * Translate our rounding modes to the unnamed
 	 * manifest constants required by C99 et. al.

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 00:39:40 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id EAECE1065673;
	Sat, 17 Mar 2012 00:39:40 +0000 (UTC)
	(envelope-from andrew@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id D6D118FC14;
	Sat, 17 Mar 2012 00:39:40 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2H0deq4042158;
	Sat, 17 Mar 2012 00:39:40 GMT (envelope-from andrew@svn.freebsd.org)
Received: (from andrew@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2H0des1042153;
	Sat, 17 Mar 2012 00:39:40 GMT (envelope-from andrew@svn.freebsd.org)
Message-Id: <201203170039.q2H0des1042153@svn.freebsd.org>
From: Andrew Turner <andrew@FreeBSD.org>
Date: Sat, 17 Mar 2012 00:39:40 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r233058 - in projects/arm_eabi: . contrib/gdb/gdb
	contrib/libc++/include contrib/libc++/include/ext
	contrib/libc++/src contrib/libcxxrt contrib/top etc include
	include/xlocale lib/csu/p...
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 00:39:41 -0000

Author: andrew
Date: Sat Mar 17 00:39:40 2012
New Revision: 233058
URL: http://svn.freebsd.org/changeset/base/233058

Log:
  IFC r233041

Added:
  projects/arm_eabi/contrib/libc++/include/__undef_min_max
     - copied unchanged from r233041, head/contrib/libc++/include/__undef_min_max
  projects/arm_eabi/lib/libc/locale/ctype_l.3
     - copied unchanged from r233041, head/lib/libc/locale/ctype_l.3
  projects/arm_eabi/sys/contrib/dev/ral/microcode.h
     - copied unchanged from r233041, head/sys/contrib/dev/ral/microcode.h
  projects/arm_eabi/sys/modules/acl_nfs4/
     - copied from r233041, head/sys/modules/acl_nfs4/
  projects/arm_eabi/sys/modules/acl_posix1e/
     - copied from r233041, head/sys/modules/acl_posix1e/
  projects/arm_eabi/sys/modules/ralfw/rt2860/
     - copied from r233041, head/sys/modules/ralfw/rt2860/
Deleted:
  projects/arm_eabi/sys/contrib/dev/ral/rt2661_ucode.h
Modified:
  projects/arm_eabi/ObsoleteFiles.inc
  projects/arm_eabi/contrib/gdb/gdb/target.c
  projects/arm_eabi/contrib/libc++/include/__bit_reference
  projects/arm_eabi/contrib/libc++/include/__config
  projects/arm_eabi/contrib/libc++/include/__debug
  projects/arm_eabi/contrib/libc++/include/__functional_03
  projects/arm_eabi/contrib/libc++/include/__functional_base
  projects/arm_eabi/contrib/libc++/include/__functional_base_03
  projects/arm_eabi/contrib/libc++/include/__hash_table
  projects/arm_eabi/contrib/libc++/include/__locale
  projects/arm_eabi/contrib/libc++/include/__mutex_base
  projects/arm_eabi/contrib/libc++/include/__split_buffer
  projects/arm_eabi/contrib/libc++/include/__sso_allocator
  projects/arm_eabi/contrib/libc++/include/__std_stream
  projects/arm_eabi/contrib/libc++/include/__tree
  projects/arm_eabi/contrib/libc++/include/__tuple
  projects/arm_eabi/contrib/libc++/include/algorithm
  projects/arm_eabi/contrib/libc++/include/atomic
  projects/arm_eabi/contrib/libc++/include/bitset
  projects/arm_eabi/contrib/libc++/include/chrono
  projects/arm_eabi/contrib/libc++/include/cmath
  projects/arm_eabi/contrib/libc++/include/complex
  projects/arm_eabi/contrib/libc++/include/cstddef
  projects/arm_eabi/contrib/libc++/include/cstdlib
  projects/arm_eabi/contrib/libc++/include/cstring
  projects/arm_eabi/contrib/libc++/include/deque
  projects/arm_eabi/contrib/libc++/include/exception
  projects/arm_eabi/contrib/libc++/include/ext/hash_map
  projects/arm_eabi/contrib/libc++/include/forward_list
  projects/arm_eabi/contrib/libc++/include/fstream
  projects/arm_eabi/contrib/libc++/include/functional
  projects/arm_eabi/contrib/libc++/include/future
  projects/arm_eabi/contrib/libc++/include/initializer_list
  projects/arm_eabi/contrib/libc++/include/iomanip
  projects/arm_eabi/contrib/libc++/include/ios
  projects/arm_eabi/contrib/libc++/include/istream
  projects/arm_eabi/contrib/libc++/include/iterator
  projects/arm_eabi/contrib/libc++/include/limits
  projects/arm_eabi/contrib/libc++/include/list
  projects/arm_eabi/contrib/libc++/include/locale
  projects/arm_eabi/contrib/libc++/include/map
  projects/arm_eabi/contrib/libc++/include/memory
  projects/arm_eabi/contrib/libc++/include/mutex
  projects/arm_eabi/contrib/libc++/include/ostream
  projects/arm_eabi/contrib/libc++/include/random
  projects/arm_eabi/contrib/libc++/include/ratio
  projects/arm_eabi/contrib/libc++/include/regex
  projects/arm_eabi/contrib/libc++/include/sstream
  projects/arm_eabi/contrib/libc++/include/streambuf
  projects/arm_eabi/contrib/libc++/include/string
  projects/arm_eabi/contrib/libc++/include/system_error
  projects/arm_eabi/contrib/libc++/include/thread
  projects/arm_eabi/contrib/libc++/include/tuple
  projects/arm_eabi/contrib/libc++/include/type_traits
  projects/arm_eabi/contrib/libc++/include/unordered_map
  projects/arm_eabi/contrib/libc++/include/utility
  projects/arm_eabi/contrib/libc++/include/valarray
  projects/arm_eabi/contrib/libc++/include/vector
  projects/arm_eabi/contrib/libc++/src/chrono.cpp
  projects/arm_eabi/contrib/libc++/src/condition_variable.cpp
  projects/arm_eabi/contrib/libc++/src/debug.cpp
  projects/arm_eabi/contrib/libc++/src/exception.cpp
  projects/arm_eabi/contrib/libc++/src/future.cpp
  projects/arm_eabi/contrib/libc++/src/hash.cpp
  projects/arm_eabi/contrib/libc++/src/locale.cpp
  projects/arm_eabi/contrib/libc++/src/memory.cpp
  projects/arm_eabi/contrib/libc++/src/mutex.cpp
  projects/arm_eabi/contrib/libc++/src/new.cpp
  projects/arm_eabi/contrib/libc++/src/random.cpp
  projects/arm_eabi/contrib/libc++/src/regex.cpp
  projects/arm_eabi/contrib/libc++/src/stdexcept.cpp
  projects/arm_eabi/contrib/libc++/src/string.cpp
  projects/arm_eabi/contrib/libc++/src/strstream.cpp
  projects/arm_eabi/contrib/libc++/src/thread.cpp
  projects/arm_eabi/contrib/libc++/src/typeinfo.cpp
  projects/arm_eabi/contrib/libcxxrt/auxhelper.cc
  projects/arm_eabi/contrib/libcxxrt/cxxabi.h
  projects/arm_eabi/contrib/libcxxrt/dwarf_eh.h
  projects/arm_eabi/contrib/libcxxrt/dynamic_cast.cc
  projects/arm_eabi/contrib/libcxxrt/exception.cc
  projects/arm_eabi/contrib/libcxxrt/guard.cc
  projects/arm_eabi/contrib/libcxxrt/memory.cc
  projects/arm_eabi/contrib/libcxxrt/stdexcept.cc
  projects/arm_eabi/contrib/libcxxrt/stdexcept.h
  projects/arm_eabi/contrib/libcxxrt/terminate.cc
  projects/arm_eabi/contrib/libcxxrt/typeinfo.cc
  projects/arm_eabi/contrib/libcxxrt/typeinfo.h
  projects/arm_eabi/contrib/libcxxrt/unwind-arm.h
  projects/arm_eabi/contrib/libcxxrt/unwind.h
  projects/arm_eabi/etc/newsyslog.conf
  projects/arm_eabi/etc/rc
  projects/arm_eabi/etc/rc.shutdown
  projects/arm_eabi/include/stdlib.h
  projects/arm_eabi/include/xlocale/_ctype.h
  projects/arm_eabi/lib/csu/powerpc64/Makefile
  projects/arm_eabi/lib/libc++/Makefile
  projects/arm_eabi/lib/libc/compat-43/killpg.2
  projects/arm_eabi/lib/libc/locale/Makefile.inc
  projects/arm_eabi/lib/libc/locale/btowc.3
  projects/arm_eabi/lib/libc/locale/ctype.3
  projects/arm_eabi/lib/libc/locale/digittoint.3
  projects/arm_eabi/lib/libc/locale/isalnum.3
  projects/arm_eabi/lib/libc/locale/isalpha.3
  projects/arm_eabi/lib/libc/locale/isblank.3
  projects/arm_eabi/lib/libc/locale/iscntrl.3
  projects/arm_eabi/lib/libc/locale/isdigit.3
  projects/arm_eabi/lib/libc/string/strerror.c
  projects/arm_eabi/lib/libc/sys/kill.2
  projects/arm_eabi/lib/libthr/thread/thr_barrier.c
  projects/arm_eabi/lib/libthr/thread/thr_private.h
  projects/arm_eabi/libexec/rtld-elf/libmap.c
  projects/arm_eabi/libexec/rtld-elf/map_object.c
  projects/arm_eabi/libexec/rtld-elf/rtld.c
  projects/arm_eabi/libexec/rtld-elf/rtld.h
  projects/arm_eabi/sbin/init/init.8
  projects/arm_eabi/sbin/init/init.c
  projects/arm_eabi/sbin/init/pathnames.h
  projects/arm_eabi/sbin/mdconfig/mdconfig.c
  projects/arm_eabi/share/man/man3/pthread_cond_destroy.3
  projects/arm_eabi/sys/arm/mv/common.c
  projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
  projects/arm_eabi/sys/conf/Makefile.mips
  projects/arm_eabi/sys/conf/files
  projects/arm_eabi/sys/conf/files.pc98
  projects/arm_eabi/sys/conf/kern.mk
  projects/arm_eabi/sys/conf/options
  projects/arm_eabi/sys/contrib/dev/ral/Makefile
  projects/arm_eabi/sys/contrib/dev/ral/rt2860.fw.uu
  projects/arm_eabi/sys/dev/fxp/if_fxp.c
  projects/arm_eabi/sys/dev/hwpmc/hwpmc_mips.c
  projects/arm_eabi/sys/dev/ofw/ofw_bus_if.m
  projects/arm_eabi/sys/dev/ofw/ofw_bus_subr.c
  projects/arm_eabi/sys/dev/ofw/ofw_iicbus.c
  projects/arm_eabi/sys/dev/pcf/pcf_ebus.c
  projects/arm_eabi/sys/dev/pci/pci.c
  projects/arm_eabi/sys/dev/uart/uart_bus_pci.c
  projects/arm_eabi/sys/dev/wtap/if_wtap.c
  projects/arm_eabi/sys/fs/tmpfs/tmpfs_subr.c
  projects/arm_eabi/sys/fs/tmpfs/tmpfs_vnops.c
  projects/arm_eabi/sys/geom/part/g_part.c
  projects/arm_eabi/sys/geom/part/g_part.h
  projects/arm_eabi/sys/i386/i386/machdep.c
  projects/arm_eabi/sys/i386/include/sysarch.h
  projects/arm_eabi/sys/kern/kern_exit.c
  projects/arm_eabi/sys/kern/kern_linker.c
  projects/arm_eabi/sys/kern/subr_acl_nfs4.c
  projects/arm_eabi/sys/kern/subr_acl_posix1e.c
  projects/arm_eabi/sys/kern/uipc_syscalls.c
  projects/arm_eabi/sys/mips/mips/machdep.c
  projects/arm_eabi/sys/modules/Makefile
  projects/arm_eabi/sys/modules/ralfw/Makefile
  projects/arm_eabi/sys/netinet/sctp_peeloff.c
  projects/arm_eabi/sys/netinet/sctp_usrreq.c
  projects/arm_eabi/sys/netinet6/sctp6_usrreq.c
  projects/arm_eabi/sys/ofed/drivers/infiniband/core/addr.c
  projects/arm_eabi/sys/ofed/drivers/infiniband/core/cma.c
  projects/arm_eabi/sys/pc98/pc98/machdep.c
  projects/arm_eabi/sys/powerpc/aim/mmu_oea.c
  projects/arm_eabi/sys/powerpc/aim/mmu_oea64.c
  projects/arm_eabi/sys/powerpc/ofw/ofw_pcib_pci.c
  projects/arm_eabi/sys/powerpc/ofw/ofw_pcibus.c
  projects/arm_eabi/sys/sparc64/pci/ofw_pcibus.c
  projects/arm_eabi/sys/ufs/ffs/ffs_softdep.c
  projects/arm_eabi/sys/ufs/ffs/ffs_vnops.c
  projects/arm_eabi/sys/vm/vm_phys.c
  projects/arm_eabi/sys/x86/isa/atpic.c
  projects/arm_eabi/sys/x86/isa/icu.h
  projects/arm_eabi/sys/x86/x86/busdma_machdep.c
  projects/arm_eabi/sys/x86/x86/intr_machdep.c
  projects/arm_eabi/tools/tools/wtap/vis_map/Makefile
  projects/arm_eabi/tools/tools/wtap/wtap/Makefile
  projects/arm_eabi/usr.bin/bc/bc.library
  projects/arm_eabi/usr.bin/bc/bc.y
  projects/arm_eabi/usr.bin/dc/bcode.c
  projects/arm_eabi/usr.bin/xargs/xargs.1
  projects/arm_eabi/usr.bin/xargs/xargs.c
  projects/arm_eabi/usr.sbin/syslogd/syslogd.8
  projects/arm_eabi/usr.sbin/usbdump/usbdump.c
Directory Properties:
  projects/arm_eabi/   (props changed)
  projects/arm_eabi/MAINTAINERS   (props changed)
  projects/arm_eabi/cddl/contrib/opensolaris/   (props changed)
  projects/arm_eabi/contrib/bind9/   (props changed)
  projects/arm_eabi/contrib/binutils/   (props changed)
  projects/arm_eabi/contrib/bzip2/   (props changed)
  projects/arm_eabi/contrib/com_err/   (props changed)
  projects/arm_eabi/contrib/compiler-rt/   (props changed)
  projects/arm_eabi/contrib/dialog/   (props changed)
  projects/arm_eabi/contrib/ee/   (props changed)
  projects/arm_eabi/contrib/expat/   (props changed)
  projects/arm_eabi/contrib/file/   (props changed)
  projects/arm_eabi/contrib/gcc/   (props changed)
  projects/arm_eabi/contrib/gdb/   (props changed)
  projects/arm_eabi/contrib/gdtoa/   (props changed)
  projects/arm_eabi/contrib/gnu-sort/   (props changed)
  projects/arm_eabi/contrib/groff/   (props changed)
  projects/arm_eabi/contrib/less/   (props changed)
  projects/arm_eabi/contrib/libarchive/   (props changed)
  projects/arm_eabi/contrib/libarchive/cpio/   (props changed)
  projects/arm_eabi/contrib/libarchive/libarchive/   (props changed)
  projects/arm_eabi/contrib/libarchive/libarchive_fe/   (props changed)
  projects/arm_eabi/contrib/libarchive/tar/   (props changed)
  projects/arm_eabi/contrib/libc++/   (props changed)
  projects/arm_eabi/contrib/libcxxrt/   (props changed)
  projects/arm_eabi/contrib/libpcap/   (props changed)
  projects/arm_eabi/contrib/libstdc++/   (props changed)
  projects/arm_eabi/contrib/llvm/   (props changed)
  projects/arm_eabi/contrib/llvm/tools/clang/   (props changed)
  projects/arm_eabi/contrib/ncurses/   (props changed)
  projects/arm_eabi/contrib/netcat/   (props changed)
  projects/arm_eabi/contrib/ntp/   (props changed)
  projects/arm_eabi/contrib/one-true-awk/   (props changed)
  projects/arm_eabi/contrib/openbsm/   (props changed)
  projects/arm_eabi/contrib/openpam/   (props changed)
  projects/arm_eabi/contrib/openresolv/   (props changed)
  projects/arm_eabi/contrib/pf/   (props changed)
  projects/arm_eabi/contrib/sendmail/   (props changed)
  projects/arm_eabi/contrib/tcpdump/   (props changed)
  projects/arm_eabi/contrib/tcsh/   (props changed)
  projects/arm_eabi/contrib/tnftp/   (props changed)
  projects/arm_eabi/contrib/top/   (props changed)
  projects/arm_eabi/contrib/top/install-sh   (props changed)
  projects/arm_eabi/contrib/tzcode/stdtime/   (props changed)
  projects/arm_eabi/contrib/tzcode/zic/   (props changed)
  projects/arm_eabi/contrib/tzdata/   (props changed)
  projects/arm_eabi/contrib/wpa/   (props changed)
  projects/arm_eabi/contrib/xz/   (props changed)
  projects/arm_eabi/crypto/heimdal/   (props changed)
  projects/arm_eabi/crypto/openssh/   (props changed)
  projects/arm_eabi/crypto/openssl/   (props changed)
  projects/arm_eabi/gnu/lib/   (props changed)
  projects/arm_eabi/gnu/usr.bin/binutils/   (props changed)
  projects/arm_eabi/gnu/usr.bin/cc/cc_tools/   (props changed)
  projects/arm_eabi/gnu/usr.bin/gdb/   (props changed)
  projects/arm_eabi/lib/libc/   (props changed)
  projects/arm_eabi/lib/libc/stdtime/   (props changed)
  projects/arm_eabi/lib/libutil/   (props changed)
  projects/arm_eabi/lib/libz/   (props changed)
  projects/arm_eabi/sbin/   (props changed)
  projects/arm_eabi/sbin/ipfw/   (props changed)
  projects/arm_eabi/share/man/man4/   (props changed)
  projects/arm_eabi/share/mk/bsd.arch.inc.mk   (props changed)
  projects/arm_eabi/share/zoneinfo/   (props changed)
  projects/arm_eabi/sys/   (props changed)
  projects/arm_eabi/sys/amd64/include/xen/   (props changed)
  projects/arm_eabi/sys/boot/   (props changed)
  projects/arm_eabi/sys/boot/i386/efi/   (props changed)
  projects/arm_eabi/sys/boot/ia64/efi/   (props changed)
  projects/arm_eabi/sys/boot/ia64/ski/   (props changed)
  projects/arm_eabi/sys/boot/powerpc/boot1.chrp/   (props changed)
  projects/arm_eabi/sys/boot/powerpc/ofw/   (props changed)
  projects/arm_eabi/sys/cddl/contrib/opensolaris/   (props changed)
  projects/arm_eabi/sys/conf/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/changes.txt   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/common/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/compiler/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/debugger/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/disassembler/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/dispatcher/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/events/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/executer/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/hardware/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/namespace/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/parser/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/resources/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/tables/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/components/utilities/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/include/   (props changed)
  projects/arm_eabi/sys/contrib/dev/acpica/os_specific/   (props changed)
  projects/arm_eabi/sys/contrib/octeon-sdk/   (props changed)
  projects/arm_eabi/sys/contrib/pf/   (props changed)
  projects/arm_eabi/sys/contrib/x86emu/   (props changed)
  projects/arm_eabi/usr.bin/calendar/   (props changed)
  projects/arm_eabi/usr.bin/csup/   (props changed)
  projects/arm_eabi/usr.bin/procstat/   (props changed)
  projects/arm_eabi/usr.sbin/ndiscvt/   (props changed)
  projects/arm_eabi/usr.sbin/rtadvctl/   (props changed)
  projects/arm_eabi/usr.sbin/rtadvd/   (props changed)
  projects/arm_eabi/usr.sbin/rtsold/   (props changed)
  projects/arm_eabi/usr.sbin/zic/   (props changed)

Modified: projects/arm_eabi/ObsoleteFiles.inc
==============================================================================
--- projects/arm_eabi/ObsoleteFiles.inc	Sat Mar 17 00:10:21 2012	(r233057)
+++ projects/arm_eabi/ObsoleteFiles.inc	Sat Mar 17 00:39:40 2012	(r233058)
@@ -59,9 +59,7 @@ OLD_FILES+=usr/share/man/man3/archive_re
 	usr/share/man/man3/archive_write_set_compression_none.3.gz \
 	usr/share/man/man3/archive_write_set_compression_program.3.gz
 OLD_LIBS+=usr/lib/libarchive.so.5
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
 OLD_LIBS+=usr/lib32/libarchive.so.5
-.endif
 # 20120113: removal of wtmpcvt(1)
 OLD_FILES+=usr/bin/wtmpcvt
 OLD_FILES+=usr/share/man/man1/wtmpcvt.1.gz
@@ -74,12 +72,10 @@ OLD_FILES+=usr/lib/libodialog.a
 OLD_FILES+=usr/lib/libodialog.so
 OLD_LIBS+=usr/lib/libodialog.so.7
 OLD_FILES+=usr/lib/libodialog_p.a
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
 OLD_FILES+=usr/lib32/libodialog.a
 OLD_FILES+=usr/lib32/libodialog.so
 OLD_LIBS+=usr/lib32/libodialog.so.7
 OLD_FILES+=usr/lib32/libodialog_p.a
-.endif
 # 20110930: sysinstall removed
 OLD_FILES+=usr/sbin/sysinstall
 OLD_FILES+=usr/share/man/man8/sysinstall.8.gz
@@ -87,12 +83,10 @@ OLD_FILES+=usr/lib/libftpio.a
 OLD_FILES+=usr/lib/libftpio.so
 OLD_LIBS+=usr/lib/libftpio.so.8
 OLD_FILES+=usr/lib/libftpio_p.a
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
 OLD_FILES+=usr/lib32/libftpio.a
 OLD_FILES+=usr/lib32/libftpio.so
 OLD_LIBS+=usr/lib32/libftpio.so.8
 OLD_FILES+=usr/lib32/libftpio_p.a
-.endif
 OLD_FILES+=usr/include/ftpio.h
 OLD_FILES+=usr/share/man/man3/ftpio.3.gz
 # 20110915: rename congestion control manpages
@@ -111,7 +105,6 @@ OLD_LIBS+=usr/lib/libdwarf.so.2
 OLD_LIBS+=usr/lib/libopie.so.6
 OLD_LIBS+=usr/lib/librtld_db.so.1
 OLD_LIBS+=usr/lib/libtacplus.so.4
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
 OLD_LIBS+=usr/lib32/libcam.so.5
 OLD_LIBS+=usr/lib32/libpcap.so.7
 OLD_LIBS+=usr/lib32/libufs.so.5
@@ -120,7 +113,6 @@ OLD_LIBS+=usr/lib32/libdwarf.so.2
 OLD_LIBS+=usr/lib32/libopie.so.6
 OLD_LIBS+=usr/lib32/librtld_db.so.1
 OLD_LIBS+=usr/lib32/libtacplus.so.4
-.endif
 # 20110817: no more acd.4, ad.4, afd.4 and ast.4
 OLD_FILES+=usr/share/man/man4/acd.4.gz
 OLD_FILES+=usr/share/man/man4/ad.4.gz
@@ -160,17 +152,13 @@ OLD_FILES+=usr/lib/libpkg.a
 OLD_FILES+=usr/lib/libpkg.so
 OLD_LIBS+=usr/lib/libpkg.so.0
 OLD_FILES+=usr/lib/libpkg_p.a
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
 OLD_FILES+=usr/lib32/libpkg.a
 OLD_FILES+=usr/lib32/libpkg.so
 OLD_LIBS+=usr/lib32/libpkg.so.0
 OLD_FILES+=usr/lib32/libpkg_p.a
-.endif
 # 20110517: libsbuf version bump
 OLD_LIBS+=lib/libsbuf.so.5
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
 OLD_LIBS+=usr/lib32/libsbuf.so.5
-.endif
 # 20110502: new clang import which bumps version from 2.9 to 3.0
 OLD_FILES+=usr/include/clang/2.9/emmintrin.h
 OLD_FILES+=usr/include/clang/2.9/mm_malloc.h
@@ -199,12 +187,10 @@ OLD_FILES+=usr/lib/libobjc_p.a
 OLD_FILES+=usr/libexec/cc1obj
 OLD_LIBS+=usr/lib/libobjc.so.4
 OLD_DIRS+=usr/include/objc
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
 OLD_FILES+=usr/lib32/libobjc.a
 OLD_FILES+=usr/lib32/libobjc.so
 OLD_FILES+=usr/lib32/libobjc_p.a
 OLD_LIBS+=usr/lib32/libobjc.so.4
-.endif
 # 20110331: firmware.img created at build time
 OLD_FILES+=usr/share/examples/kld/firmware/fwimage/firmware.img
 # 20110224: sticky.8 -> sticky.7
@@ -326,9 +312,7 @@ OLD_FILES+=usr/include/machine/intr.h
 .endif
 # 20100514: library version bump for versioned symbols for liblzma
 OLD_LIBS+=usr/lib/liblzma.so.0
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
 OLD_LIBS+=usr/lib32/liblzma.so.0
-.endif
 # 20100511: move GCC-specific headers to /usr/include/gcc
 .if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "i386"
 OLD_FILES+=usr/include/emmintrin.h
@@ -369,9 +353,7 @@ OLD_FILES+=usr/share/info/cpio.info.gz
 OLD_FILES+=usr/share/man/man1/gcpio.1.gz
 # 20100322: libz update
 OLD_LIBS+=lib/libz.so.5
-.if ${TARGET_ARCH} == "amd64"
 OLD_LIBS+=usr/lib32/libz.so.5
-.endif
 # 20100314: removal of regexp.h
 OLD_FILES+=usr/include/regexp.h
 OLD_FILES+=usr/share/man/man3/regexp.3.gz
@@ -420,9 +402,7 @@ OLD_FILES+=usr/share/man/man5/lastlog.5.
 OLD_FILES+=usr/share/man/man5/utmp.5.gz
 OLD_FILES+=usr/share/man/man5/wtmp.5.gz
 OLD_LIBS+=lib/libutil.so.8
-.if ${TARGET_ARCH} == "amd64"
 OLB_LIBS+=usr/lib32/libutil.so.8
-.endif
 # 20100105: new userland semaphore implementation
 OLD_FILES+=usr/include/sys/semaphore.h
 # 20100103: ntptrace(8) removed
@@ -630,7 +610,6 @@ OLD_LIBS+=usr/lib/snmp_hostres.so.5
 OLD_LIBS+=usr/lib/snmp_mibII.so.5
 OLD_LIBS+=usr/lib/snmp_netgraph.so.5
 OLD_LIBS+=usr/lib/snmp_pf.so.5
-.if ${TARGET_ARCH} == "amd64"
 OLD_LIBS+=usr/lib32/libalias.so.6
 OLD_LIBS+=usr/lib32/libarchive.so.4
 OLD_LIBS+=usr/lib32/libauditd.so.4
@@ -731,7 +710,6 @@ OLD_LIBS+=usr/lib32/pam_self.so.4
 OLD_LIBS+=usr/lib32/pam_ssh.so.4
 OLD_LIBS+=usr/lib32/pam_tacplus.so.4
 OLD_LIBS+=usr/lib32/pam_unix.so.4
-.endif
 # 20090718: the gdm pam.d file is no longer required.
 OLD_FILES+=etc/pam.d/gdm
 # 20090714: net_add_domain(9) renamed to domain_add(9)
@@ -918,9 +896,7 @@ OLD_FILES+=usr/share/man/man8/sliplogin.
 OLD_FILES+=usr/share/man/man8/slstat.8.gz
 # 20090321: libpcap upgraded to 1.0.0
 OLD_LIBS+=lib/libpcap.so.5
-.if ${TARGET_ARCH} == "amd64"
 OLD_LIBS+=usr/lib32/libpcap.so.5
-.endif
 # 20090319: uscanner(4) has been removed
 OLD_FILES+=usr/share/man/man4/uscanner.4.gz
 # 20090313: k8temp(4) renamed to amdtemp(4)
@@ -932,17 +908,13 @@ OLD_FILES+=usr/lib/libusb20.so
 OLD_FILES+=usr/lib/libusb20_p.a
 OLD_FILES+=usr/include/libusb20_compat01.h
 OLD_FILES+=usr/include/libusb20_compat10.h
-.if ${TARGET_ARCH} == "amd64"
 OLD_LIBS+=usr/lib32/libusb20.so.1
 OLD_FILES+=usr/lib32/libusb20.a
 OLD_FILES+=usr/lib32/libusb20.so
 OLD_FILES+=usr/lib32/libusb20_p.a
-.endif
 # 20090226: libmp(3) functions renamed
 OLD_LIBS+=usr/lib/libmp.so.6
-.if ${TARGET_ARCH} == "amd64"
 OLD_LIBS+=usr/lib32/libmp.so.6
-.endif
 # 20090223: changeover of USB stacks
 OLD_FILES+=usr/include/dev/usb2/include/ufm2_ioctl.h
 OLD_FILES+=usr/include/dev/usb2/include/urio2_ioctl.h
@@ -1245,9 +1217,7 @@ OLD_LIBS+=usr/lib/libkadm5srv.so.9
 OLD_LIBS+=usr/lib/libkafs5.so.9
 OLD_LIBS+=usr/lib/libkrb5.so.9
 OLD_LIBS+=usr/lib/libroken.so.9
-.if ${TARGET_ARCH} == "amd64"
 OLD_LIBS+=usr/lib32/libgssapi.so.9
-.endif
 # 20080420: Symbol card support dropped
 OLD_FILES+=usr/include/dev/wi/spectrum24t_cf.h
 # 20080420: awi removal
@@ -1274,10 +1244,8 @@ OLD_FILES+=usr/share/man/man2/kse_releas
 OLD_FILES+=usr/share/man/man2/kse_switchin.2.gz
 OLD_FILES+=usr/share/man/man2/kse_thr_interrupt.2.gz
 OLD_FILES+=usr/share/man/man2/kse_wakeup.2.gz
-.if ${TARGET_ARCH} == "amd64"
 OLD_FILES+=usr/lib32/libkse.so
 OLD_LIBS+=usr/lib32/libkse.so.3
-.endif
 # 20080220: geom_lvm rename to geom_linux_lvm
 OLD_FILES+=usr/share/man/man4/geom_lvm.4.gz
 # 20080126: oldcard.4 removal
@@ -1297,11 +1265,9 @@ OLD_FILES+=usr/include/sys/xrpuio.h
 OLD_FILES+=usr/lib/libkse.a
 OLD_FILES+=usr/lib/libkse_p.a
 OLD_FILES+=usr/lib/libkse_pic.a
-.if ${TARGET_ARCH} == "amd64"
 OLD_FILES+=usr/lib32/libkse.a
 OLD_FILES+=usr/lib32/libkse_p.a
 OLD_FILES+=usr/lib32/libkse_pic.a
-.endif
 # 20071129: Removed a Solaris compatibility header
 OLD_FILES+=usr/include/sys/_elf_solaris.h
 # 20071125: Renamed to pmc_get_msr()
@@ -1401,12 +1367,10 @@ OLD_DIRS+=usr/include/netatm/ipatm
 OLD_DIRS+=usr/include/netatm/uni
 OLD_DIRS+=usr/include/netatm
 OLD_DIRS+=usr/share/examples/atm
-.if ${TARGET_ARCH} == "amd64"
 OLD_FILES+=usr/lib32/libatm.a
 OLD_FILES+=usr/lib32/libatm.so
 OLD_LIBS+=usr/lib32/libatm.so.5
 OLD_FILES+=usr/lib32/libatm_p.a
-.endif
 # 20070705: I4B headers repo-copied to include/i4b/
 .if ${TARGET_ARCH} == "i386"
 OLD_FILES+=usr/include/machine/i4b_cause.h
@@ -1491,7 +1455,6 @@ OLD_LIBS+=usr/lib/snmp_hostres.so.4
 OLD_LIBS+=usr/lib/snmp_mibII.so.4
 OLD_LIBS+=usr/lib/snmp_netgraph.so.4
 OLD_LIBS+=usr/lib/snmp_pf.so.4
-.if ${TARGET_ARCH} == "amd64"
 OLD_LIBS+=usr/lib32/libalias.so.5
 OLD_LIBS+=usr/lib32/libbsnmp.so.3
 OLD_LIBS+=usr/lib32/libdialog.so.5
@@ -1526,7 +1489,6 @@ OLD_LIBS+=usr/lib32/pam_self.so.3
 OLD_LIBS+=usr/lib32/pam_ssh.so.3
 OLD_LIBS+=usr/lib32/pam_tacplus.so.3
 OLD_LIBS+=usr/lib32/pam_unix.so.3
-.endif
 # 20070613: IPX over IP tunnel removal
 OLD_FILES+=usr/include/netipx/ipx_ip.h
 # 20070605: sched_core removal
@@ -1596,7 +1558,6 @@ OLD_LIBS+=usr/lib/libwrap.so.4
 OLD_LIBS+=usr/lib/libypclnt.so.2
 OLD_LIBS+=usr/lib/snmp_bridge.so.3
 OLD_LIBS+=usr/lib/snmp_hostres.so.3
-.if ${TARGET_ARCH} == "amd64"
 OLD_LIBS+=usr/lib32/libatm.so.4
 OLD_LIBS+=usr/lib32/libbegemot.so.2
 OLD_LIBS+=usr/lib32/libbluetooth.so.2
@@ -1655,7 +1616,6 @@ OLD_LIBS+=usr/lib32/libvgl.so.4
 OLD_LIBS+=usr/lib32/libwrap.so.4
 OLD_LIBS+=usr/lib32/libypclnt.so.2
 OLD_LIBS+=usr/lib32/libz.so.3
-.endif
 # 20070519: GCC 4.2
 OLD_FILES+=usr/bin/f77
 OLD_FILES+=usr/bin/protoize
@@ -1902,9 +1862,7 @@ OLD_FILES+=usr/bin/uuidgen
 OLD_FILES+=usr/share/info/bzip2.info.gz
 # 20070303: libarchive 2.0
 OLD_LIBS+=usr/lib/libarchive.so.3
-.if ${TARGET_ARCH} == "amd64"
 OLD_LIBS+=usr/lib32/libarchive.so.3
-.endif
 # 20070301: remove addr2ascii and ascii2addr
 OLD_FILES+=usr/share/man/man3/addr2ascii.3.gz
 OLD_FILES+=usr/share/man/man3/ascii2addr.3.gz
@@ -1921,14 +1879,12 @@ OLD_FILES+=usr/lib/libmytinfo_p.a
 OLD_FILES+=usr/lib/libmytinfow.a
 OLD_FILES+=usr/lib/libmytinfow.so
 OLD_FILES+=usr/lib/libmytinfow_p.a
-.if ${TARGET_ARCH} == "amd64"
 OLD_FILES+=usr/lib32/libmytinfo.a
 OLD_FILES+=usr/lib32/libmytinfo.so
 OLD_FILES+=usr/lib32/libmytinfo_p.a
 OLD_FILES+=usr/lib32/libmytinfow.a
 OLD_FILES+=usr/lib32/libmytinfow.so
 OLD_FILES+=usr/lib32/libmytinfow_p.a
-.endif
 # 20070128: remove vnconfig
 OLD_FILES+=usr/sbin/vnconfig
 # 20070127: remove bpf_compat.h
@@ -5272,40 +5228,32 @@ OLD_LIBS+=usr/lib/libkadm5srv.so.8
 OLD_LIBS+=usr/lib/libkafs5.so.8
 OLD_LIBS+=usr/lib/libkrb5.so.8
 OLD_LIBS+=usr/lib/libobjc.so.2
-.if ${TARGET_ARCH} == "amd64"
 OLD_LIBS+=usr/lib32/libgssapi.so.8
 OLD_LIBS+=usr/lib32/libobjc.so.2
-.endif
 # 20070519: GCC 4.2
 OLD_LIBS+=usr/lib/libg2c.a
 OLD_LIBS+=usr/lib/libg2c.so
 OLD_LIBS+=usr/lib/libg2c.so.2
 OLD_LIBS+=usr/lib/libg2c_p.a
 OLD_LIBS+=usr/lib/libgcc_pic.a
-.if ${TARGET_ARCH} == "amd64"
 OLD_LIBS+=usr/lib32/libg2c.a
 OLD_LIBS+=usr/lib32/libg2c.so
 OLD_LIBS+=usr/lib32/libg2c.so.2
 OLD_LIBS+=usr/lib32/libg2c_p.a
 OLD_LIBS+=usr/lib32/libgcc_pic.a
-.endif
 # 20060729: OpenSSL 0.9.7e -> 0.9.8b upgrade
 OLD_LIBS+=lib/libcrypto.so.4
 OLD_LIBS+=usr/lib/libssl.so.4
-.if ${TARGET_ARCH} == "amd64"
 OLD_LIBS+=usr/lib32/libcrypto.so.4
 OLD_LIBS+=usr/lib32/libssl.so.4
-.endif
 # 20060521: gethostbyaddr(3) ABI change
 OLD_LIBS+=usr/lib/libroken.so.8
 OLD_LIBS+=lib/libatm.so.3
 OLD_LIBS+=lib/libc.so.6
 OLD_LIBS+=lib/libutil.so.5
-.if ${TARGET_ARCH} == "amd64"
 OLD_LIBS+=usr/lib32/libatm.so.3
 OLD_LIBS+=usr/lib32/libc.so.6
 OLD_LIBS+=usr/lib32/libutil.so.5
-.endif
 # 20060413: shared library moved to /usr/lib
 OLD_LIBS+=lib/libgpib.so.1
 # 20060413: libpcap.so.4 moved to /lib/
@@ -5319,12 +5267,10 @@ OLD_LIBS+=usr/lib/libc_r.a
 OLD_LIBS+=usr/lib/libc_r.so
 OLD_LIBS+=usr/lib/libc_r.so.7
 OLD_LIBS+=usr/lib/libc_r_p.a
-.if ${TARGET_ARCH} == "amd64"
 OLD_LIBS+=usr/lib32/libc_r.a
 OLD_LIBS+=usr/lib32/libc_r.so
 OLD_LIBS+=usr/lib32/libc_r.so.7
 OLD_LIBS+=usr/lib32/libc_r_p.a
-.endif
 # 20050722: bump for 6.0-RELEASE
 OLD_LIBS+=lib/libalias.so.4
 OLD_LIBS+=lib/libatm.so.2
@@ -5536,10 +5482,8 @@ OLD_LIBS+=usr/lib/libc_r.so.3
 OLD_LIBS+=usr/lib/libarchive.so.2
 OLD_LIBS+=usr/lib/libbsnmp.so.1
 OLD_LIBS+=usr/lib/libc_r.so.6
-.if ${TARGET_ARCH} == "amd64"
 OLD_LIBS+=usr/lib32/libarchive.so.2
 OLD_LIBS+=usr/lib32/libc_r.so.6
-.endif
 OLD_LIBS+=usr/lib/libcipher.so.2
 OLD_LIBS+=usr/lib/libgssapi.so.6
 OLD_LIBS+=usr/lib/libkse.so.1

Modified: projects/arm_eabi/contrib/gdb/gdb/target.c
==============================================================================
--- projects/arm_eabi/contrib/gdb/gdb/target.c	Sat Mar 17 00:10:21 2012	(r233057)
+++ projects/arm_eabi/contrib/gdb/gdb/target.c	Sat Mar 17 00:39:40 2012	(r233058)
@@ -1425,6 +1425,13 @@ target_resize_to_sections (struct target
 	      (*t)->to_sections_end = target->to_sections_end;
 	    }
 	}
+      /* There is a flattened view of the target stack in current_target,
+	 so its to_sections pointer might also need updating. */
+      if (current_target.to_sections == old_value)
+	{
+	  current_target.to_sections = target->to_sections;
+	  current_target.to_sections_end = target->to_sections_end;
+	}
     }
   
   return old_count;

Modified: projects/arm_eabi/contrib/libc++/include/__bit_reference
==============================================================================
--- projects/arm_eabi/contrib/libc++/include/__bit_reference	Sat Mar 17 00:10:21 2012	(r233057)
+++ projects/arm_eabi/contrib/libc++/include/__bit_reference	Sat Mar 17 00:39:40 2012	(r233058)
@@ -14,14 +14,16 @@
 #include <__config>
 #include <algorithm>
 
+#include <__undef_min_max>
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #pragma GCC system_header
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 
-template <class _C, bool _IsConst> class __bit_iterator;
-template <class _C> class __bit_const_reference;
+template <class _Cp, bool _IsConst> class __bit_iterator;
+template <class _Cp> class __bit_const_reference;
 
 template <class _Tp>
 struct __has_storage_type
@@ -29,22 +31,22 @@ struct __has_storage_type
     static const bool value = false;
 };
 
-template <class _C, bool = __has_storage_type<_C>::value>
+template <class _Cp, bool = __has_storage_type<_Cp>::value>
 class __bit_reference
 {
-    typedef typename _C::__storage_type    __storage_type;
-    typedef typename _C::__storage_pointer __storage_pointer;
+    typedef typename _Cp::__storage_type    __storage_type;
+    typedef typename _Cp::__storage_pointer __storage_pointer;
 
     __storage_pointer __seg_;
     __storage_type    __mask_;
 
 #if defined(__clang__)
-    friend typename _C::__self;
+    friend typename _Cp::__self;
 #else
-    friend class _C::__self;
+    friend class _Cp::__self;
 #endif
-    friend class __bit_const_reference<_C>;
-    friend class __bit_iterator<_C, false>;
+    friend class __bit_const_reference<_Cp>;
+    friend class __bit_iterator<_Cp, false>;
 public:
     _LIBCPP_INLINE_VISIBILITY operator bool() const _NOEXCEPT
         {return static_cast<bool>(*__seg_ & __mask_);}
@@ -66,74 +68,74 @@ public:
         {return operator=(static_cast<bool>(__x));}
 
     _LIBCPP_INLINE_VISIBILITY void flip() _NOEXCEPT {*__seg_ ^= __mask_;}
-    _LIBCPP_INLINE_VISIBILITY __bit_iterator<_C, false> operator&() const _NOEXCEPT
-        {return __bit_iterator<_C, false>(__seg_, static_cast<unsigned>(__ctz(__mask_)));}
+    _LIBCPP_INLINE_VISIBILITY __bit_iterator<_Cp, false> operator&() const _NOEXCEPT
+        {return __bit_iterator<_Cp, false>(__seg_, static_cast<unsigned>(__ctz(__mask_)));}
 private:
     _LIBCPP_INLINE_VISIBILITY
     __bit_reference(__storage_pointer __s, __storage_type __m) _NOEXCEPT
         : __seg_(__s), __mask_(__m) {}
 };
 
-template <class _C>
-class __bit_reference<_C, false>
+template <class _Cp>
+class __bit_reference<_Cp, false>
 {
 };
 
-template <class _C, class _D>
+template <class _Cp, class _Dp>
 _LIBCPP_INLINE_VISIBILITY inline
 void
-swap(__bit_reference<_C> __x, __bit_reference<_D> __y) _NOEXCEPT
+swap(__bit_reference<_Cp> __x, __bit_reference<_Dp> __y) _NOEXCEPT
 {
     bool __t = __x;
     __x = __y;
     __y = __t;
 }
 
-template <class _C>
+template <class _Cp>
 _LIBCPP_INLINE_VISIBILITY inline
 void
-swap(__bit_reference<_C> __x, bool& __y) _NOEXCEPT
+swap(__bit_reference<_Cp> __x, bool& __y) _NOEXCEPT
 {
     bool __t = __x;
     __x = __y;
     __y = __t;
 }
 
-template <class _C>
+template <class _Cp>
 _LIBCPP_INLINE_VISIBILITY inline
 void
-swap(bool& __x, __bit_reference<_C> __y) _NOEXCEPT
+swap(bool& __x, __bit_reference<_Cp> __y) _NOEXCEPT
 {
     bool __t = __x;
     __x = __y;
     __y = __t;
 }
 
-template <class _C>
+template <class _Cp>
 class __bit_const_reference
 {
-    typedef typename _C::__storage_type          __storage_type;
-    typedef typename _C::__const_storage_pointer __storage_pointer;
+    typedef typename _Cp::__storage_type          __storage_type;
+    typedef typename _Cp::__const_storage_pointer __storage_pointer;
 
     __storage_pointer        __seg_;
     __storage_type __mask_;
 
 #if defined(__clang__)
-    friend typename _C::__self;
+    friend typename _Cp::__self;
 #else
-    friend class _C::__self;
+    friend class _Cp::__self;
 #endif
-    friend class __bit_iterator<_C, true>;
+    friend class __bit_iterator<_Cp, true>;
 public:
     _LIBCPP_INLINE_VISIBILITY
-    __bit_const_reference(const __bit_reference<_C>& __x) _NOEXCEPT
+    __bit_const_reference(const __bit_reference<_Cp>& __x) _NOEXCEPT
         : __seg_(__x.__seg_), __mask_(__x.__mask_) {}
 
     _LIBCPP_INLINE_VISIBILITY operator bool() const _NOEXCEPT
         {return static_cast<bool>(*__seg_ & __mask_);}
 
-    _LIBCPP_INLINE_VISIBILITY __bit_iterator<_C, true> operator&() const _NOEXCEPT
-        {return __bit_iterator<_C, true>(__seg_, static_cast<unsigned>(__ctz(__mask_)));}
+    _LIBCPP_INLINE_VISIBILITY __bit_iterator<_Cp, true> operator&() const _NOEXCEPT
+        {return __bit_iterator<_Cp, true>(__seg_, static_cast<unsigned>(__ctz(__mask_)));}
 private:
     _LIBCPP_INLINE_VISIBILITY
     __bit_const_reference(__storage_pointer __s, __storage_type __m) _NOEXCEPT
@@ -144,11 +146,11 @@ private:
 
 // find
 
-template <class _C>
-__bit_iterator<_C, false>
-__find_bool_true(__bit_iterator<_C, false> __first, typename _C::size_type __n)
+template <class _Cp>
+__bit_iterator<_Cp, false>
+__find_bool_true(__bit_iterator<_Cp, false> __first, typename _Cp::size_type __n)
 {
-    typedef __bit_iterator<_C, false> _It;
+    typedef __bit_iterator<_Cp, false> _It;
     typedef typename _It::__storage_type __storage_type;
     static const unsigned __bits_per_word = _It::__bits_per_word;
     // do first partial word
@@ -178,11 +180,11 @@ __find_bool_true(__bit_iterator<_C, fals
     return _It(__first.__seg_, static_cast<unsigned>(__n));
 }
 
-template <class _C>
-__bit_iterator<_C, false>
-__find_bool_false(__bit_iterator<_C, false> __first, typename _C::size_type __n)
+template <class _Cp>
+__bit_iterator<_Cp, false>
+__find_bool_false(__bit_iterator<_Cp, false> __first, typename _Cp::size_type __n)
 {
-    typedef __bit_iterator<_C, false> _It;
+    typedef __bit_iterator<_Cp, false> _It;
     typedef typename _It::__storage_type __storage_type;
     static const unsigned __bits_per_word = _It::__bits_per_word;
     // do first partial word
@@ -215,23 +217,23 @@ __find_bool_false(__bit_iterator<_C, fal
     return _It(__first.__seg_, static_cast<unsigned>(__n));
 }
 
-template <class _C, class _Tp>
+template <class _Cp, class _Tp>
 inline _LIBCPP_INLINE_VISIBILITY
-__bit_iterator<_C, false>
-find(__bit_iterator<_C, false> __first, __bit_iterator<_C, false> __last, const _Tp& __value_)
+__bit_iterator<_Cp, false>
+find(__bit_iterator<_Cp, false> __first, __bit_iterator<_Cp, false> __last, const _Tp& __value_)
 {
     if (static_cast<bool>(__value_))
-        return __find_bool_true(__first, static_cast<typename _C::size_type>(__last - __first));
-    return __find_bool_false(__first, static_cast<typename _C::size_type>(__last - __first));
+        return __find_bool_true(__first, static_cast<typename _Cp::size_type>(__last - __first));
+    return __find_bool_false(__first, static_cast<typename _Cp::size_type>(__last - __first));
 }
 
 // count
 
-template <class _C>
-typename __bit_iterator<_C, false>::difference_type
-__count_bool_true(__bit_iterator<_C, false> __first, typename _C::size_type __n)
+template <class _Cp>
+typename __bit_iterator<_Cp, false>::difference_type
+__count_bool_true(__bit_iterator<_Cp, false> __first, typename _Cp::size_type __n)
 {
-    typedef __bit_iterator<_C, false> _It;
+    typedef __bit_iterator<_Cp, false> _It;
     typedef typename _It::__storage_type __storage_type;
     typedef typename _It::difference_type difference_type;
     static const unsigned __bits_per_word = _It::__bits_per_word;
@@ -258,11 +260,11 @@ __count_bool_true(__bit_iterator<_C, fal
     return __r;
 }
 
-template <class _C>
-typename __bit_iterator<_C, false>::difference_type
-__count_bool_false(__bit_iterator<_C, false> __first, typename _C::size_type __n)
+template <class _Cp>
+typename __bit_iterator<_Cp, false>::difference_type
+__count_bool_false(__bit_iterator<_Cp, false> __first, typename _Cp::size_type __n)
 {
-    typedef __bit_iterator<_C, false> _It;
+    typedef __bit_iterator<_Cp, false> _It;
     typedef typename _It::__storage_type __storage_type;
     typedef typename _It::difference_type difference_type;
     static const unsigned __bits_per_word = _It::__bits_per_word;
@@ -289,23 +291,23 @@ __count_bool_false(__bit_iterator<_C, fa
     return __r;
 }
 
-template <class _C, class _Tp>
+template <class _Cp, class _Tp>
 inline _LIBCPP_INLINE_VISIBILITY
-typename __bit_iterator<_C, false>::difference_type
-count(__bit_iterator<_C, false> __first, __bit_iterator<_C, false> __last, const _Tp& __value_)
+typename __bit_iterator<_Cp, false>::difference_type
+count(__bit_iterator<_Cp, false> __first, __bit_iterator<_Cp, false> __last, const _Tp& __value_)
 {
     if (static_cast<bool>(__value_))
-        return __count_bool_true(__first, static_cast<typename _C::size_type>(__last - __first));
-    return __count_bool_false(__first, static_cast<typename _C::size_type>(__last - __first));
+        return __count_bool_true(__first, static_cast<typename _Cp::size_type>(__last - __first));
+    return __count_bool_false(__first, static_cast<typename _Cp::size_type>(__last - __first));
 }
 
 // fill_n
 
-template <class _C>
+template <class _Cp>
 void
-__fill_n_false(__bit_iterator<_C, false> __first, typename _C::size_type __n)
+__fill_n_false(__bit_iterator<_Cp, false> __first, typename _Cp::size_type __n)
 {
-    typedef __bit_iterator<_C, false> _It;
+    typedef __bit_iterator<_Cp, false> _It;
     typedef typename _It::__storage_type __storage_type;
     static const unsigned __bits_per_word = _It::__bits_per_word;
     // do first partial word
@@ -331,11 +333,11 @@ __fill_n_false(__bit_iterator<_C, false>
     }
 }
 
-template <class _C>
+template <class _Cp>
 void
-__fill_n_true(__bit_iterator<_C, false> __first, typename _C::size_type __n)
+__fill_n_true(__bit_iterator<_Cp, false> __first, typename _Cp::size_type __n)
 {
-    typedef __bit_iterator<_C, false> _It;
+    typedef __bit_iterator<_Cp, false> _It;
     typedef typename _It::__storage_type __storage_type;
     static const unsigned __bits_per_word = _It::__bits_per_word;
     // do first partial word
@@ -361,10 +363,10 @@ __fill_n_true(__bit_iterator<_C, false> 
     }
 }
 
-template <class _C>
+template <class _Cp>
 _LIBCPP_INLINE_VISIBILITY inline
 void
-fill_n(__bit_iterator<_C, false> __first, typename _C::size_type __n, bool __value_)
+fill_n(__bit_iterator<_Cp, false> __first, typename _Cp::size_type __n, bool __value_)
 {
     if (__n > 0)
     {
@@ -377,22 +379,22 @@ fill_n(__bit_iterator<_C, false> __first
 
 // fill
 
-template <class _C>
+template <class _Cp>
 inline _LIBCPP_INLINE_VISIBILITY
 void
-fill(__bit_iterator<_C, false> __first, __bit_iterator<_C, false> __last, bool __value_)
+fill(__bit_iterator<_Cp, false> __first, __bit_iterator<_Cp, false> __last, bool __value_)
 {
-    _VSTD::fill_n(__first, static_cast<typename _C::size_type>(__last - __first), __value_);
+    _VSTD::fill_n(__first, static_cast<typename _Cp::size_type>(__last - __first), __value_);
 }
 
 // copy
 
-template <class _C, bool _IsConst>
-__bit_iterator<_C, false>
-__copy_aligned(__bit_iterator<_C, _IsConst> __first, __bit_iterator<_C, _IsConst> __last,
-                                                     __bit_iterator<_C, false> __result)
+template <class _Cp, bool _IsConst>
+__bit_iterator<_Cp, false>
+__copy_aligned(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last,
+                                                     __bit_iterator<_Cp, false> __result)
 {
-    typedef __bit_iterator<_C, _IsConst> _In;
+    typedef __bit_iterator<_Cp, _IsConst> _In;
     typedef  typename _In::difference_type difference_type;
     typedef typename _In::__storage_type __storage_type;
     static const unsigned __bits_per_word = _In::__bits_per_word;
@@ -434,12 +436,12 @@ __copy_aligned(__bit_iterator<_C, _IsCon
     return __result;
 }
 
-template <class _C, bool _IsConst>
-__bit_iterator<_C, false>
-__copy_unaligned(__bit_iterator<_C, _IsConst> __first, __bit_iterator<_C, _IsConst> __last,
-                                                       __bit_iterator<_C, false> __result)
+template <class _Cp, bool _IsConst>
+__bit_iterator<_Cp, false>
+__copy_unaligned(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last,
+                                                       __bit_iterator<_Cp, false> __result)
 {
-    typedef __bit_iterator<_C, _IsConst> _In;
+    typedef __bit_iterator<_Cp, _IsConst> _In;
     typedef  typename _In::difference_type difference_type;
     typedef typename _In::__storage_type __storage_type;
     static const unsigned __bits_per_word = _In::__bits_per_word;
@@ -512,10 +514,10 @@ __copy_unaligned(__bit_iterator<_C, _IsC
     return __result;
 }
 
-template <class _C, bool _IsConst>
+template <class _Cp, bool _IsConst>
 inline _LIBCPP_INLINE_VISIBILITY
-__bit_iterator<_C, false>
-copy(__bit_iterator<_C, _IsConst> __first, __bit_iterator<_C, _IsConst> __last, __bit_iterator<_C, false> __result)
+__bit_iterator<_Cp, false>
+copy(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result)
 {
     if (__first.__ctz_ == __result.__ctz_)
         return __copy_aligned(__first, __last, __result);
@@ -524,12 +526,12 @@ copy(__bit_iterator<_C, _IsConst> __firs
 
 // copy_backward
 
-template <class _C, bool _IsConst>
-__bit_iterator<_C, false>
-__copy_backward_aligned(__bit_iterator<_C, _IsConst> __first, __bit_iterator<_C, _IsConst> __last,
-                                                     __bit_iterator<_C, false> __result)
+template <class _Cp, bool _IsConst>
+__bit_iterator<_Cp, false>
+__copy_backward_aligned(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last,
+                                                     __bit_iterator<_Cp, false> __result)
 {
-    typedef __bit_iterator<_C, _IsConst> _In;
+    typedef __bit_iterator<_Cp, _IsConst> _In;
     typedef  typename _In::difference_type difference_type;
     typedef typename _In::__storage_type __storage_type;
     static const unsigned __bits_per_word = _In::__bits_per_word;
@@ -571,12 +573,12 @@ __copy_backward_aligned(__bit_iterator<_
     return __result;
 }
 
-template <class _C, bool _IsConst>
-__bit_iterator<_C, false>
-__copy_backward_unaligned(__bit_iterator<_C, _IsConst> __first, __bit_iterator<_C, _IsConst> __last,
-                                                       __bit_iterator<_C, false> __result)
+template <class _Cp, bool _IsConst>
+__bit_iterator<_Cp, false>
+__copy_backward_unaligned(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last,
+                                                       __bit_iterator<_Cp, false> __result)
 {
-    typedef __bit_iterator<_C, _IsConst> _In;
+    typedef __bit_iterator<_Cp, _IsConst> _In;
     typedef  typename _In::difference_type difference_type;
     typedef typename _In::__storage_type __storage_type;
     static const unsigned __bits_per_word = _In::__bits_per_word;
@@ -635,7 +637,7 @@ __copy_backward_unaligned(__bit_iterator
         {
             __m = ~__storage_type(0) << (__bits_per_word - __n);
             __storage_type __b = *--__last.__seg_ & __m;
-            unsigned __clz_r = __bits_per_word - __result.__ctz_;
+            __clz_r = __bits_per_word - __result.__ctz_;
             __storage_type __dn = _VSTD::min(__n, static_cast<difference_type>(__result.__ctz_));
             __m = (~__storage_type(0) << (__result.__ctz_ - __dn)) & (~__storage_type(0) >> __clz_r);
             *__result.__seg_ &= ~__m;
@@ -657,10 +659,10 @@ __copy_backward_unaligned(__bit_iterator
     return __result;
 }
 
-template <class _C, bool _IsConst>
+template <class _Cp, bool _IsConst>
 inline _LIBCPP_INLINE_VISIBILITY
-__bit_iterator<_C, false>
-copy_backward(__bit_iterator<_C, _IsConst> __first, __bit_iterator<_C, _IsConst> __last, __bit_iterator<_C, false> __result)
+__bit_iterator<_Cp, false>
+copy_backward(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result)
 {
     if (__last.__ctz_ == __result.__ctz_)
         return __copy_backward_aligned(__first, __last, __result);
@@ -669,20 +671,20 @@ copy_backward(__bit_iterator<_C, _IsCons
 
 // move
 
-template <class _C, bool _IsConst>
+template <class _Cp, bool _IsConst>
 inline _LIBCPP_INLINE_VISIBILITY
-__bit_iterator<_C, false>
-move(__bit_iterator<_C, _IsConst> __first, __bit_iterator<_C, _IsConst> __last, __bit_iterator<_C, false> __result)
+__bit_iterator<_Cp, false>
+move(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result)
 {
     return _VSTD::copy(__first, __last, __result);
 }
 
 // move_backward
 
-template <class _C, bool _IsConst>
+template <class _Cp, bool _IsConst>
 inline _LIBCPP_INLINE_VISIBILITY
-__bit_iterator<_C, false>
-move_backward(__bit_iterator<_C, _IsConst> __first, __bit_iterator<_C, _IsConst> __last, __bit_iterator<_C, false> __result)
+__bit_iterator<_Cp, false>
+move_backward(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result)
 {
     return _VSTD::copy(__first, __last, __result);
 }
@@ -852,34 +854,33 @@ swap_ranges(__bit_iterator<__C1, false> 
 
 // rotate
 
-template <class _C>
+template <class _Cp>
 struct __bit_array
 {
-    typedef typename _C::difference_type difference_type;
-    typedef typename _C::__storage_type  __storage_type;
-    typedef typename _C::iterator        iterator;
-    static const unsigned __bits_per_word = _C::__bits_per_word;
-    static const unsigned _N = 4;
+    typedef typename _Cp::difference_type difference_type;
+    typedef typename _Cp::__storage_type  __storage_type;
+    typedef typename _Cp::iterator        iterator;
+    static const unsigned __bits_per_word = _Cp::__bits_per_word;
+    static const unsigned _Np = 4;
 
     difference_type __size_;
-    __storage_type __word_[_N];
+    __storage_type __word_[_Np];
 
     _LIBCPP_INLINE_VISIBILITY static difference_type capacity()
-        {return static_cast<difference_type>(_N * __bits_per_word);}
+        {return static_cast<difference_type>(_Np * __bits_per_word);}
     _LIBCPP_INLINE_VISIBILITY explicit __bit_array(difference_type __s) : __size_(__s) {}
     _LIBCPP_INLINE_VISIBILITY iterator begin() {return iterator(__word_, 0);}
     _LIBCPP_INLINE_VISIBILITY iterator end()   {return iterator(__word_ + __size_ / __bits_per_word,
                                                   static_cast<unsigned>(__size_ % __bits_per_word));}
 };
 
-template <class _C>
-__bit_iterator<_C, false>
-rotate(__bit_iterator<_C, false> __first, __bit_iterator<_C, false> __middle, __bit_iterator<_C, false> __last)
+template <class _Cp>
+__bit_iterator<_Cp, false>
+rotate(__bit_iterator<_Cp, false> __first, __bit_iterator<_Cp, false> __middle, __bit_iterator<_Cp, false> __last)
 {
-    typedef __bit_iterator<_C, false> _I1;
+    typedef __bit_iterator<_Cp, false> _I1;
     typedef  typename _I1::difference_type difference_type;
     typedef typename _I1::__storage_type __storage_type;
-    static const unsigned __bits_per_word = _I1::__bits_per_word;
     difference_type __d1 = __middle - __first;
     difference_type __d2 = __last - __middle;
     _I1 __r = __first + __d2;
@@ -887,16 +888,16 @@ rotate(__bit_iterator<_C, false> __first
     {
         if (__d1 <= __d2)
         {
-            if (__d1 <= __bit_array<_C>::capacity())
+            if (__d1 <= __bit_array<_Cp>::capacity())
             {
-                __bit_array<_C> __b(__d1);
+                __bit_array<_Cp> __b(__d1);
                 _VSTD::copy(__first, __middle, __b.begin());
                 _VSTD::copy(__b.begin(), __b.end(), _VSTD::copy(__middle, __last, __first));
                 break;
             }
             else
             {
-                __bit_iterator<_C, false> __mp = _VSTD::swap_ranges(__first, __middle, __middle);
+                __bit_iterator<_Cp, false> __mp = _VSTD::swap_ranges(__first, __middle, __middle);
                 __first = __middle;
                 __middle = __mp;
                 __d2 -= __d1;
@@ -904,16 +905,16 @@ rotate(__bit_iterator<_C, false> __first
         }
         else
         {
-            if (__d2 <= __bit_array<_C>::capacity())
+            if (__d2 <= __bit_array<_Cp>::capacity())
             {
-                __bit_array<_C> __b(__d2);
+                __bit_array<_Cp> __b(__d2);
                 _VSTD::copy(__middle, __last, __b.begin());
                 _VSTD::copy_backward(__b.begin(), __b.end(), _VSTD::copy_backward(__first, __middle, __last));
                 break;
             }
             else
             {
-                __bit_iterator<_C, false> __mp = __first + __d2;
+                __bit_iterator<_Cp, false> __mp = __first + __d2;
                 _VSTD::swap_ranges(__first, __mp, __middle);
                 __first = __mp;
                 __d1 -= __d2;
@@ -925,12 +926,12 @@ rotate(__bit_iterator<_C, false> __first
 
 // equal
 
-template <class _C>
+template <class _Cp>
 bool
-__equal_unaligned(__bit_iterator<_C, true> __first1, __bit_iterator<_C, true> __last1,
-                  __bit_iterator<_C, true> __first2)
+__equal_unaligned(__bit_iterator<_Cp, true> __first1, __bit_iterator<_Cp, true> __last1,
+                  __bit_iterator<_Cp, true> __first2)
 {
-    typedef __bit_iterator<_C, true> _It;
+    typedef __bit_iterator<_Cp, true> _It;
     typedef  typename _It::difference_type difference_type;
     typedef typename _It::__storage_type __storage_type;
     static const unsigned __bits_per_word = _It::__bits_per_word;
@@ -1003,12 +1004,12 @@ __equal_unaligned(__bit_iterator<_C, tru
     return true;
 }
 
-template <class _C>
+template <class _Cp>
 bool
-__equal_aligned(__bit_iterator<_C, true> __first1, __bit_iterator<_C, true> __last1,
-                __bit_iterator<_C, true> __first2)
+__equal_aligned(__bit_iterator<_Cp, true> __first1, __bit_iterator<_Cp, true> __last1,
+                __bit_iterator<_Cp, true> __first2)
 {
-    typedef __bit_iterator<_C, true> _It;
+    typedef __bit_iterator<_Cp, true> _It;
     typedef  typename _It::difference_type difference_type;
     typedef typename _It::__storage_type __storage_type;
     static const unsigned __bits_per_word = _It::__bits_per_word;
@@ -1046,31 +1047,31 @@ __equal_aligned(__bit_iterator<_C, true>
     return true;
 }
 
-template <class _C, bool _IC1, bool _IC2>
+template <class _Cp, bool _IC1, bool _IC2>
 inline _LIBCPP_INLINE_VISIBILITY
 bool
-equal(__bit_iterator<_C, _IC1> __first1, __bit_iterator<_C, _IC1> __last1, __bit_iterator<_C, _IC2> __first2)
+equal(__bit_iterator<_Cp, _IC1> __first1, __bit_iterator<_Cp, _IC1> __last1, __bit_iterator<_Cp, _IC2> __first2)
 {
     if (__first1.__ctz_ == __first2.__ctz_)
         return __equal_aligned(__first1, __last1, __first2);
     return __equal_unaligned(__first1, __last1, __first2);
 }
 
-template <class _C, bool _IsConst>
+template <class _Cp, bool _IsConst>
 class __bit_iterator
 {
 public:
-    typedef typename _C::difference_type                                                          difference_type;
+    typedef typename _Cp::difference_type                                                          difference_type;
     typedef bool                                                                                  value_type;
     typedef __bit_iterator                                                                        pointer;
-    typedef typename conditional<_IsConst, __bit_const_reference<_C>, __bit_reference<_C> >::type reference;
+    typedef typename conditional<_IsConst, __bit_const_reference<_Cp>, __bit_reference<_Cp> >::type reference;
     typedef random_access_iterator_tag                                                            iterator_category;
 
 private:
-    typedef typename _C::__storage_type                                           __storage_type;
-    typedef typename conditional<_IsConst, typename _C::__const_storage_pointer,
-                                           typename _C::__storage_pointer>::type  __storage_pointer;
-    static const unsigned __bits_per_word = _C::__bits_per_word;
+    typedef typename _Cp::__storage_type                                           __storage_type;
+    typedef typename conditional<_IsConst, typename _Cp::__const_storage_pointer,
+                                           typename _Cp::__storage_pointer>::type  __storage_pointer;
+    static const unsigned __bits_per_word = _Cp::__bits_per_word;
 
     __storage_pointer __seg_;
     unsigned          __ctz_;
@@ -1079,7 +1080,7 @@ public:
     _LIBCPP_INLINE_VISIBILITY __bit_iterator() _NOEXCEPT {}
 
     _LIBCPP_INLINE_VISIBILITY
-    __bit_iterator(const __bit_iterator<_C, false>& __it) _NOEXCEPT
+    __bit_iterator(const __bit_iterator<_Cp, false>& __it) _NOEXCEPT
         : __seg_(__it.__seg_), __ctz_(__it.__ctz_) {}
 
     _LIBCPP_INLINE_VISIBILITY reference operator*() const _NOEXCEPT
@@ -1187,34 +1188,34 @@ private:
         : __seg_(__s), __ctz_(__ctz) {}
 
 #if defined(__clang__)
-    friend typename _C::__self;
+    friend typename _Cp::__self;
 #else
-    friend class _C::__self;
+    friend class _Cp::__self;
 #endif
-    friend class __bit_reference<_C>;
-    friend class __bit_const_reference<_C>;
-    friend class __bit_iterator<_C, true>;
-    template <class _D> friend struct __bit_array;
-    template <class _D> friend void __fill_n_false(__bit_iterator<_D, false> __first, typename _D::size_type __n);
-    template <class _D> friend void __fill_n_true(__bit_iterator<_D, false> __first, typename _D::size_type __n);
-    template <class _D, bool _IC> friend __bit_iterator<_D, false> __copy_aligned(__bit_iterator<_D, _IC> __first,
-                                                                                  __bit_iterator<_D, _IC> __last,
-                                                                                  __bit_iterator<_D, false> __result);
-    template <class _D, bool _IC> friend __bit_iterator<_D, false> __copy_unaligned(__bit_iterator<_D, _IC> __first,
-                                                                                    __bit_iterator<_D, _IC> __last,
-                                                                                    __bit_iterator<_D, false> __result);
-    template <class _D, bool _IC> friend __bit_iterator<_D, false> copy(__bit_iterator<_D, _IC> __first,
-                                                                        __bit_iterator<_D, _IC> __last,
-                                                                        __bit_iterator<_D, false> __result);
-    template <class _D, bool _IC> friend __bit_iterator<_D, false> __copy_backward_aligned(__bit_iterator<_D, _IC> __first,
-                                                                                           __bit_iterator<_D, _IC> __last,
-                                                                                           __bit_iterator<_D, false> __result);
-    template <class _D, bool _IC> friend __bit_iterator<_D, false> __copy_backward_unaligned(__bit_iterator<_D, _IC> __first,
-                                                                                             __bit_iterator<_D, _IC> __last,
-                                                                                             __bit_iterator<_D, false> __result);
-    template <class _D, bool _IC> friend __bit_iterator<_D, false> copy_backward(__bit_iterator<_D, _IC> __first,
-                                                                                 __bit_iterator<_D, _IC> __last,
-                                                                                 __bit_iterator<_D, false> __result);
+    friend class __bit_reference<_Cp>;
+    friend class __bit_const_reference<_Cp>;
+    friend class __bit_iterator<_Cp, true>;
+    template <class _Dp> friend struct __bit_array;
+    template <class _Dp> friend void __fill_n_false(__bit_iterator<_Dp, false> __first, typename _Dp::size_type __n);
+    template <class _Dp> friend void __fill_n_true(__bit_iterator<_Dp, false> __first, typename _Dp::size_type __n);
+    template <class _Dp, bool _IC> friend __bit_iterator<_Dp, false> __copy_aligned(__bit_iterator<_Dp, _IC> __first,
+                                                                                  __bit_iterator<_Dp, _IC> __last,
+                                                                                  __bit_iterator<_Dp, false> __result);
+    template <class _Dp, bool _IC> friend __bit_iterator<_Dp, false> __copy_unaligned(__bit_iterator<_Dp, _IC> __first,
+                                                                                    __bit_iterator<_Dp, _IC> __last,
+                                                                                    __bit_iterator<_Dp, false> __result);
+    template <class _Dp, bool _IC> friend __bit_iterator<_Dp, false> copy(__bit_iterator<_Dp, _IC> __first,
+                                                                        __bit_iterator<_Dp, _IC> __last,
+                                                                        __bit_iterator<_Dp, false> __result);
+    template <class _Dp, bool _IC> friend __bit_iterator<_Dp, false> __copy_backward_aligned(__bit_iterator<_Dp, _IC> __first,
+                                                                                           __bit_iterator<_Dp, _IC> __last,

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 02:39:20 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id BD8B0106564A;
	Sat, 17 Mar 2012 02:39:20 +0000 (UTC)
	(envelope-from gber@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id AB4FA8FC18;
	Sat, 17 Mar 2012 02:39:20 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2H2dKkP046224;
	Sat, 17 Mar 2012 02:39:20 GMT (envelope-from gber@svn.freebsd.org)
Received: (from gber@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2H2dKT8046216;
	Sat, 17 Mar 2012 02:39:20 GMT (envelope-from gber@svn.freebsd.org)
Message-Id: <201203170239.q2H2dKT8046216@svn.freebsd.org>
From: Grzegorz Bernacki <gber@FreeBSD.org>
Date: Sat, 17 Mar 2012 02:39:20 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r233068 - in projects/nand/sys: conf fs/nandfs
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 02:39:20 -0000

Author: gber
Date: Sat Mar 17 02:39:20 2012
New Revision: 233068
URL: http://svn.freebsd.org/changeset/base/233068

Log:
  Add NANDFS
  
  This patch add core functionality of NANDFS. NANDFS is FS targeted mainly for
  NAND chips. It is based on NilFS, LogFS and UFS.
  
  Obtained from: Semihalf
  Supported by:  FreeBSD Foundation, Juniper Networks

Added:
  projects/nand/sys/fs/nandfs/
  projects/nand/sys/fs/nandfs/bmap.c
  projects/nand/sys/fs/nandfs/bmap.h
  projects/nand/sys/fs/nandfs/nandfs.h
  projects/nand/sys/fs/nandfs/nandfs_alloc.c
  projects/nand/sys/fs/nandfs/nandfs_bmap.c
  projects/nand/sys/fs/nandfs/nandfs_buffer.c
  projects/nand/sys/fs/nandfs/nandfs_cpfile.c
  projects/nand/sys/fs/nandfs/nandfs_dat.c
  projects/nand/sys/fs/nandfs/nandfs_dir.c
  projects/nand/sys/fs/nandfs/nandfs_fs.h
  projects/nand/sys/fs/nandfs/nandfs_ifile.c
  projects/nand/sys/fs/nandfs/nandfs_mount.h
  projects/nand/sys/fs/nandfs/nandfs_segment.c
  projects/nand/sys/fs/nandfs/nandfs_subr.c
  projects/nand/sys/fs/nandfs/nandfs_subr.h
  projects/nand/sys/fs/nandfs/nandfs_sufile.c
  projects/nand/sys/fs/nandfs/nandfs_vfsops.c
  projects/nand/sys/fs/nandfs/nandfs_vnops.c
Modified:
  projects/nand/sys/conf/files
  projects/nand/sys/conf/options

Modified: projects/nand/sys/conf/files
==============================================================================
--- projects/nand/sys/conf/files	Sat Mar 17 02:05:33 2012	(r233067)
+++ projects/nand/sys/conf/files	Sat Mar 17 02:39:20 2012	(r233068)
@@ -2134,6 +2134,19 @@ fs/msdosfs/msdosfs_iconv.c	optional msdo
 fs/msdosfs/msdosfs_lookup.c	optional msdosfs
 fs/msdosfs/msdosfs_vfsops.c	optional msdosfs
 fs/msdosfs/msdosfs_vnops.c	optional msdosfs
+fs/nandfs/bmap.c		optional nandfs
+fs/nandfs/nandfs_alloc.c	optional nandfs
+fs/nandfs/nandfs_bmap.c		optional nandfs
+fs/nandfs/nandfs_buffer.c	optional nandfs
+fs/nandfs/nandfs_cpfile.c	optional nandfs
+fs/nandfs/nandfs_dat.c		optional nandfs
+fs/nandfs/nandfs_dir.c		optional nandfs
+fs/nandfs/nandfs_ifile.c	optional nandfs
+fs/nandfs/nandfs_segment.c	optional nandfs
+fs/nandfs/nandfs_subr.c		optional nandfs
+fs/nandfs/nandfs_sufile.c	optional nandfs
+fs/nandfs/nandfs_vfsops.c	optional nandfs
+fs/nandfs/nandfs_vnops.c	optional nandfs
 fs/nfs/nfs_commonkrpc.c		optional nfscl | nfsd
 fs/nfs/nfs_commonsubs.c		optional nfscl | nfsd
 fs/nfs/nfs_commonport.c		optional nfscl | nfsd

Modified: projects/nand/sys/conf/options
==============================================================================
--- projects/nand/sys/conf/options	Sat Mar 17 02:05:33 2012	(r233067)
+++ projects/nand/sys/conf/options	Sat Mar 17 02:39:20 2012	(r233068)
@@ -211,6 +211,7 @@ FDESCFS		opt_dontuse.h
 FFS		opt_dontuse.h
 HPFS		opt_dontuse.h
 MSDOSFS		opt_dontuse.h
+NANDFS		opt_dontuse.h
 NTFS		opt_dontuse.h
 NULLFS		opt_dontuse.h
 NWFS		opt_dontuse.h

Added: projects/nand/sys/fs/nandfs/bmap.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/nand/sys/fs/nandfs/bmap.c	Sat Mar 17 02:39:20 2012	(r233068)
@@ -0,0 +1,621 @@
+/*-
+ * Copyright (c) 2012 Semihalf
+ * 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.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/namei.h>
+#include <sys/kernel.h>
+#include <sys/stat.h>
+#include <sys/buf.h>
+#include <sys/bio.h>
+#include <sys/proc.h>
+#include <sys/mount.h>
+#include <sys/vnode.h>
+#include <sys/signalvar.h>
+#include <sys/malloc.h>
+#include <sys/dirent.h>
+#include <sys/lockf.h>
+#include <sys/ktr.h>
+#include <sys/kdb.h>
+
+#include <vm/vm.h>
+#include <vm/vm_extern.h>
+#include <vm/vm_object.h>
+#include <vm/vnode_pager.h>
+
+#include <machine/_inttypes.h>
+
+#include <vm/vm.h>
+#include <vm/vm_extern.h>
+#include <vm/vm_object.h>
+#include <vm/vnode_pager.h>
+
+#include "nandfs_mount.h"
+#include "nandfs.h"
+#include "nandfs_subr.h"
+#include "bmap.h"
+
+static int bmap_getlbns(struct nandfs_node *, nandfs_lbn_t,
+    struct nandfs_indir *, int *);
+
+int
+bmap_lookup(struct nandfs_node *node, nandfs_lbn_t lblk, nandfs_daddr_t *vblk)
+{
+	struct nandfs_inode *ip;
+	struct nandfs_indir a[NIADDR + 1], *ap;
+	nandfs_daddr_t daddr;
+	struct buf *bp;
+	int error;
+	int num, *nump;
+
+	DPRINTF(BMAP, ("%s: node %p lblk %jx enter\n", __func__, node, lblk));
+	ip = &node->nn_inode;
+
+	ap = a;
+	nump = &num;
+
+	error = bmap_getlbns(node, lblk, ap, nump);
+	if (error)
+		return (error);
+
+	if (num == 0) {
+		*vblk = ip->i_db[lblk];
+		return (0);
+	}
+
+	DPRINTF(BMAP, ("%s: node %p lblk=%jx trying ip->i_ib[%x]\n", __func__,
+	    node, lblk, ap->in_off));
+	daddr = ip->i_ib[ap->in_off];
+	for (bp = NULL, ++ap; --num; ap++) {
+		if (daddr == 0) {
+			DPRINTF(BMAP, ("%s: node %p lblk=%jx returning with "
+			    "vblk 0\n", __func__, node, lblk));
+			*vblk = 0;
+			return (0);
+		}
+		if (ap->in_lbn == lblk) {
+			DPRINTF(BMAP, ("%s: node %p lblk=%jx ap->in_lbn=%jx "
+			    "returning address of indirect block (%jx)\n",
+			    __func__, node, lblk, ap->in_lbn, daddr));
+			*vblk = daddr;
+			return (0);
+		}
+
+		DPRINTF(BMAP, ("%s: node %p lblk=%jx reading block "
+		    "ap->in_lbn=%jx\n", __func__, node, lblk, ap->in_lbn));
+
+		error = nandfs_bread_meta(node, ap->in_lbn, NOCRED, 0, &bp);
+		if (error) {
+			brelse(bp);
+			return (error);
+		}
+
+		daddr = ((nandfs_daddr_t *)bp->b_data)[ap->in_off];
+		brelse(bp);
+	}
+
+	DPRINTF(BMAP, ("%s: node %p lblk=%jx returning with %jx\n", __func__,
+	    node, lblk, daddr));
+	*vblk = daddr;
+
+	return (0);
+}
+
+int
+bmap_dirty_meta(struct nandfs_node *node, nandfs_lbn_t lblk, int force)
+{
+	struct nandfs_indir a[NIADDR+1], *ap;
+#ifdef DEBUG
+	nandfs_daddr_t daddr;
+#endif
+	struct buf *bp;
+	int error;
+	int num, *nump;
+
+	DPRINTF(BMAP, ("%s: node %p lblk=%jx\n", __func__, node, lblk));
+
+	ap = a;
+	nump = &num;
+
+	error = bmap_getlbns(node, lblk, ap, nump);
+	if (error)
+		return (error);
+
+	/*
+	 * Direct block, nothing to do
+	 */
+	if (num == 0)
+		return (0);
+
+	DPRINTF(BMAP, ("%s: node %p reading blocks\n", __func__, node));
+
+	for (bp = NULL, ++ap; --num; ap++) {
+		error = nandfs_bread_meta(node, ap->in_lbn, NOCRED, 0, &bp);
+		if (error) {
+			brelse(bp);
+			return (error);
+		}
+
+#ifdef DEBUG
+		daddr = ((nandfs_daddr_t *)bp->b_data)[ap->in_off];
+		MPASS(daddr != 0 || node->nn_ino == 3);
+#endif
+
+		error = nandfs_dirty_buf_meta(bp, force);
+		if (error)
+			return (error);
+	}
+
+	return (0);
+}
+
+int
+bmap_insert_block(struct nandfs_node *node, nandfs_lbn_t lblk,
+    nandfs_daddr_t vblk)
+{
+	struct nandfs_inode *ip;
+	struct nandfs_indir a[NIADDR+1], *ap;
+	struct buf *bp;
+	nandfs_daddr_t daddr;
+	int error;
+	int num, *nump, i;
+
+	DPRINTF(BMAP, ("%s: node %p lblk=%jx vblk=%jx\n", __func__, node, lblk,
+	    vblk));
+
+	ip = &node->nn_inode;
+
+	ap = a;
+	nump = &num;
+
+	error = bmap_getlbns(node, lblk, ap, nump);
+	if (error)
+		return (error);
+
+	DPRINTF(BMAP, ("%s: node %p lblk=%jx vblk=%jx got num=%d\n", __func__,
+	    node, lblk, vblk, num));
+
+	if (num == 0) {
+		DPRINTF(BMAP, ("%s: node %p lblk=%jx direct block\n", __func__,
+		    node, lblk));
+		ip->i_db[lblk] = vblk;
+		return (0);
+	}
+
+	DPRINTF(BMAP, ("%s: node %p lblk=%jx indirect block level %d\n",
+	    __func__, node, lblk, ap->in_off));
+
+	if (num == 1) {
+		DPRINTF(BMAP, ("%s: node %p lblk=%jx indirect block: inserting "
+		    "%jx as vblk for indirect block %d\n", __func__, node,
+		    lblk, vblk, ap->in_off));
+		ip->i_ib[ap->in_off] = vblk;
+		return (0);
+	}
+
+	bp = NULL;
+	daddr = ip->i_ib[a[0].in_off];
+	for (i = 1; i < num; i++) {
+		if (bp)
+			brelse(bp);
+		if (daddr == 0) {
+			DPRINTF(BMAP, ("%s: node %p lblk=%jx vblk=%jx create "
+			    "block %jx %d\n", __func__, node, lblk, vblk,
+			    a[i].in_lbn, a[i].in_off));
+			error = nandfs_bcreate_meta(node, a[i].in_lbn, NOCRED,
+			    0, &bp);
+			if (error)
+				return (error);
+		} else {
+			DPRINTF(BMAP, ("%s: node %p lblk=%jx vblk=%jx read "
+			    "block %jx %d\n", __func__, node, daddr, vblk,
+			    a[i].in_lbn, a[i].in_off));
+			error = nandfs_bread_meta(node, a[i].in_lbn, NOCRED, 0, &bp);
+			if (error) {
+				brelse(bp);
+				return (error);
+			}
+		}
+		daddr = ((nandfs_daddr_t *)bp->b_data)[a[i].in_off];
+	}
+	i--;
+
+	DPRINTF(BMAP,
+	    ("%s: bmap node %p lblk=%jx vblk=%jx inserting vblk level %d at "
+	    "offset %d at %jx\n", __func__, node, lblk, vblk, i, a[i].in_off,
+	    daddr));
+
+	if (!bp) {
+		nandfs_error("%s: cannot find indirect block\n", __func__);
+		return (-1);
+	}
+	((nandfs_daddr_t *)bp->b_data)[a[i].in_off] = vblk;
+
+	error = nandfs_dirty_buf_meta(bp, 0);
+	if (error) {
+		nandfs_warning("%s: dirty failed buf: %p\n", __func__, bp);
+		return (error);
+	}
+	DPRINTF(BMAP, ("%s: exiting node %p lblk=%jx vblk=%jx\n", __func__,
+	    node, lblk, vblk));
+
+	return (error);
+}
+
+CTASSERT(NIADDR <= 3);
+#define SINGLE	0	/* index of single indirect block */
+#define DOUBLE	1	/* index of double indirect block */
+#define TRIPLE	2	/* index of triple indirect block */
+
+static __inline nandfs_lbn_t
+lbn_offset(struct nandfs_device *fsdev, int level)
+{
+	nandfs_lbn_t res;
+
+	for (res = 1; level > 0; level--)
+		res *= MNINDIR(fsdev);
+	return (res);
+}
+
+static nandfs_lbn_t
+blocks_inside(struct nandfs_device *fsdev, int level, struct nandfs_indir *nip)
+{
+	nandfs_lbn_t blocks;
+
+	for (blocks = 1; level >= SINGLE; level--, nip++) {
+		MPASS(nip->in_off >= 0 && nip->in_off < MNINDIR(fsdev));
+		blocks += nip->in_off * lbn_offset(fsdev, level);
+	}
+
+	return (blocks);
+}
+
+static int
+bmap_truncate_indirect(struct nandfs_node *node, int level, nandfs_lbn_t *left,
+    int *cleaned, struct nandfs_indir *ap, struct nandfs_indir *fp,
+    nandfs_daddr_t *copy)
+{
+	struct buf *bp;
+	nandfs_lbn_t i, lbn, nlbn, factor, tosub;
+	struct nandfs_device *fsdev;
+	int error, lcleaned, modified;
+
+	DPRINTF(BMAP, ("%s: node %p level %d left %jx\n", __func__,
+	    node, level, *left));
+
+	fsdev = node->nn_nandfsdev;
+
+	MPASS(ap->in_off >= 0 && ap->in_off < MNINDIR(fsdev));
+
+	factor = lbn_offset(fsdev, level);
+	lbn = ap->in_lbn;
+
+	error = nandfs_bread_meta(node, lbn, NOCRED, 0, &bp);
+	if (error) {
+		brelse(bp);
+		return (error);
+	}
+
+	bcopy(bp->b_data, copy, fsdev->nd_blocksize);
+	bqrelse(bp);
+
+	modified = 0;
+
+	i = ap->in_off;
+
+	if (ap != fp)
+		ap++;
+	for (nlbn = lbn + 1 - i * factor; i >= 0 && *left > 0; i--,
+	    nlbn += factor) {
+		lcleaned = 0;
+
+		DPRINTF(BMAP,
+		    ("%s: node %p i=%jx nlbn=%jx left=%jx ap=%p vblk %jx\n",
+		    __func__, node, i, nlbn, *left, ap, copy[i]));
+
+		if (copy[i] == 0) {
+			tosub = blocks_inside(fsdev, level - 1, ap);
+			if (tosub > *left)
+				tosub = 0;
+
+			*left -= tosub;
+		} else {
+			if (level > SINGLE) {
+				if (ap == fp)
+					ap->in_lbn = nlbn;
+
+				error = bmap_truncate_indirect(node, level - 1,
+				    left, &lcleaned, ap, fp,
+				    copy + MNINDIR(fsdev));
+				if (error)
+					return (error);
+			} else {
+				error = nandfs_bdestroy(node, copy[i]);
+				if (error)
+					return (error);
+				lcleaned = 1;
+				*left -= 1;
+			}
+		}
+
+		if (lcleaned) {
+			if (level > SINGLE) {
+				error = nandfs_vblock_end(fsdev, copy[i]);
+				if (error)
+					return (error);
+			}
+			copy[i] = 0;
+			modified++;
+		}
+
+		ap = fp;
+	}
+
+	if (i == -1)
+		*cleaned = 1;
+
+	error = nandfs_bread_meta(node, lbn, NOCRED, 0, &bp);
+	if (error) {
+		brelse(bp);
+		return (error);
+	}
+	if (modified)
+		bcopy(copy, bp->b_data, fsdev->nd_blocksize);
+
+	error = nandfs_dirty_buf_meta(bp, 0);
+	if (error)
+		return (error);
+
+	return (error);
+}
+
+int
+bmap_truncate_mapping(struct nandfs_node *node, nandfs_lbn_t lastblk,
+    nandfs_lbn_t todo)
+{
+	struct nandfs_inode *ip;
+	struct nandfs_indir a[NIADDR + 1], f[NIADDR], *ap;
+	nandfs_daddr_t indir_lbn[NIADDR];
+	nandfs_daddr_t *copy;
+	int error, level;
+	nandfs_lbn_t left, tosub;
+	struct nandfs_device *fsdev;
+	int cleaned, i;
+	int num, *nump;
+
+	DPRINTF(BMAP, ("%s: node %p lastblk %jx truncating by %jx\n", __func__,
+	    node, lastblk, todo));
+
+	ip = &node->nn_inode;
+	fsdev = node->nn_nandfsdev;
+
+	ap = a;
+	nump = &num;
+
+	error = bmap_getlbns(node, lastblk, ap, nump);
+	if (error)
+		return (error);
+
+	indir_lbn[SINGLE] = -NDADDR;
+	indir_lbn[DOUBLE] = indir_lbn[SINGLE] - MNINDIR(fsdev) - 1;
+	indir_lbn[TRIPLE] = indir_lbn[DOUBLE] - MNINDIR(fsdev)
+	    * MNINDIR(fsdev) - 1;
+
+	for (i = 0; i < NIADDR; i++) {
+		f[i].in_off = MNINDIR(fsdev) - 1;
+		f[i].in_lbn = 0xdeadbeef;
+	}
+
+	left = todo;
+
+#ifdef DEBUG
+	a[num].in_off = -1;
+#endif
+
+	ap++;
+	num -= 2;
+
+	if (num < 0)
+		goto direct;
+
+	copy = malloc(MNINDIR(fsdev) * sizeof(nandfs_daddr_t) * (num + 1),
+	    M_NANDFSTEMP, M_WAITOK);
+
+	for (level = num; level >= SINGLE && left > 0; level--) {
+		cleaned = 0;
+
+		if (ip->i_ib[level] == 0) {
+			tosub = blocks_inside(fsdev, level, ap);
+			if (tosub > left)
+				left = 0;
+			else
+				left -= tosub;
+		} else {
+			if (ap == f)
+				ap->in_lbn = indir_lbn[level];
+			error = bmap_truncate_indirect(node, level, &left,
+			    &cleaned, ap, f, copy);
+			if (error) {
+				nandfs_error("%s: error %d when truncate "
+				    "at level %d\n", __func__, error, level);
+				return (error);
+			}
+		}
+
+		if (cleaned) {
+			nandfs_vblock_end(fsdev, ip->i_ib[level]);
+			ip->i_ib[level] = 0;
+		}
+
+		ap = f;
+	}
+
+	free(copy, M_NANDFSTEMP);
+
+direct:
+	if (num < 0)
+		i = lastblk;
+	else
+		i = NDADDR - 1;
+
+	for (; i >= 0 && left > 0; i--) {
+		if (ip->i_db[i] != 0) {
+			error = nandfs_bdestroy(node, ip->i_db[i]);
+			if (error) {
+				nandfs_error("%s: cannot destroy "
+				    "block %jx, error %d\n", __func__,
+				    (uintmax_t)ip->i_db[i], error);
+				    return (error);
+			}
+			ip->i_db[i] = 0;
+		}
+
+		left--;
+	}
+
+	KASSERT(left == 0,
+	    ("truncated wrong number of blocks (%jd should be 0)", left));
+
+	return (error);
+}
+
+nandfs_lbn_t
+get_maxfilesize(struct nandfs_device *fsdev)
+{
+	struct nandfs_indir f[NIADDR];
+	nandfs_lbn_t max;
+	int i;
+
+	max = NDADDR;
+
+	for (i = 0; i < NIADDR; i++) {
+		f[i].in_off = MNINDIR(fsdev) - 1;
+		max += blocks_inside(fsdev, i, f);
+	}
+
+	max *= fsdev->nd_blocksize;
+
+	return (max);
+}
+
+/*
+ * This is ufs_getlbns with minor modifications.
+ */
+/*
+ * Create an array of logical block number/offset pairs which represent the
+ * path of indirect blocks required to access a data block.  The first "pair"
+ * contains the logical block number of the appropriate single, double or
+ * triple indirect block and the offset into the inode indirect block array.
+ * Note, the logical block number of the inode single/double/triple indirect
+ * block appears twice in the array, once with the offset into the i_ib and
+ * once with the offset into the page itself.
+ */
+static int
+bmap_getlbns(struct nandfs_node *node, nandfs_lbn_t bn, struct nandfs_indir *ap, int *nump)
+{
+	nandfs_daddr_t blockcnt;
+	nandfs_lbn_t metalbn, realbn;
+	struct nandfs_device *fsdev;
+	int i, numlevels, off;
+
+	fsdev = node->nn_nandfsdev;
+
+	DPRINTF(BMAP, ("%s: node %p bn=%jx mnindir=%zd enter\n", __func__,
+	    node, bn, MNINDIR(fsdev)));
+
+	*nump = 0;
+	numlevels = 0;
+	realbn = bn;
+
+	if (bn < 0)
+		bn = -bn;
+
+	/* The first NDADDR blocks are direct blocks. */
+	if (bn < NDADDR)
+		return (0);
+
+	/*
+	 * Determine the number of levels of indirection.  After this loop
+	 * is done, blockcnt indicates the number of data blocks possible
+	 * at the previous level of indirection, and NIADDR - i is the number
+	 * of levels of indirection needed to locate the requested block.
+	 */
+	for (blockcnt = 1, i = NIADDR, bn -= NDADDR;; i--, bn -= blockcnt) {
+		DPRINTF(BMAP, ("%s: blockcnt=%jd i=%d bn=%jd\n", __func__,
+		    blockcnt, i, bn));
+		if (i == 0)
+			return (EFBIG);
+		blockcnt *= MNINDIR(fsdev);
+		if (bn < blockcnt)
+			break;
+	}
+
+	/* Calculate the address of the first meta-block. */
+	if (realbn >= 0)
+		metalbn = -(realbn - bn + NIADDR - i);
+	else
+		metalbn = -(-realbn - bn + NIADDR - i);
+
+	/*
+	 * At each iteration, off is the offset into the bap array which is
+	 * an array of disk addresses at the current level of indirection.
+	 * The logical block number and the offset in that block are stored
+	 * into the argument array.
+	 */
+	ap->in_lbn = metalbn;
+	ap->in_off = off = NIADDR - i;
+
+	DPRINTF(BMAP, ("%s: initial: ap->in_lbn=%jx ap->in_off=%d\n", __func__,
+	    metalbn, off));
+
+	ap++;
+	for (++numlevels; i <= NIADDR; i++) {
+		/* If searching for a meta-data block, quit when found. */
+		if (metalbn == realbn)
+			break;
+
+		blockcnt /= MNINDIR(fsdev);
+		off = (bn / blockcnt) % MNINDIR(fsdev);
+
+		++numlevels;
+		ap->in_lbn = metalbn;
+		ap->in_off = off;
+
+		DPRINTF(BMAP, ("%s: in_lbn=%jx in_off=%d\n", __func__,
+		    ap->in_lbn, ap->in_off));
+		++ap;
+
+		metalbn -= -1 + off * blockcnt;
+	}
+	if (nump)
+		*nump = numlevels;
+
+	DPRINTF(BMAP, ("%s: numlevels=%d\n", __func__, numlevels));
+
+	return (0);
+}

Added: projects/nand/sys/fs/nandfs/bmap.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/nand/sys/fs/nandfs/bmap.h	Sat Mar 17 02:39:20 2012	(r233068)
@@ -0,0 +1,40 @@
+/*-
+ * Copyright (c) 2012 Semihalf
+ * 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$
+ */
+
+#ifndef _BMAP_H
+#define _BMAP_H
+
+#include "nandfs_fs.h"
+
+int bmap_lookup(struct nandfs_node *, nandfs_lbn_t, nandfs_daddr_t *);
+int bmap_insert_block(struct nandfs_node *, nandfs_lbn_t, nandfs_daddr_t);
+int bmap_truncate_mapping(struct nandfs_node *, nandfs_lbn_t, nandfs_lbn_t);
+int bmap_dirty_meta(struct nandfs_node *, nandfs_lbn_t, int);
+
+nandfs_lbn_t get_maxfilesize(struct nandfs_device *);
+
+#endif /* _BMAP_H */

Added: projects/nand/sys/fs/nandfs/nandfs.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/nand/sys/fs/nandfs/nandfs.h	Sat Mar 17 02:39:20 2012	(r233068)
@@ -0,0 +1,283 @@
+/*-
+ * Copyright (c) 2010-2012 Semihalf
+ * Copyright (c) 2008, 2009 Reinoud Zandijk
+ * 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.
+ *
+ * From: NetBSD: nilfs.h,v 1.1 2009/07/18 16:31:42 reinoud
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _FS_NANDFS_NANDFS_H_
+#define _FS_NANDFS_NANDFS_H_
+
+#include <sys/param.h>
+#include <sys/proc.h>
+#include <sys/condvar.h>
+#include <sys/lock.h>
+#include <sys/mutex.h>
+
+#include <sys/queue.h>
+#include <sys/uio.h>
+#include <sys/mutex.h>
+
+#include <sys/disk.h>
+#include <sys/kthread.h>
+#include "nandfs_fs.h"
+
+MALLOC_DECLARE(M_NANDFSTEMP);
+
+/* Debug categories */
+#define	NANDFS_DEBUG_VOLUMES		0x000001
+#define	NANDFS_DEBUG_BLOCK		0x000004
+#define	NANDFS_DEBUG_LOCKING		0x000008
+#define	NANDFS_DEBUG_NODE		0x000010
+#define	NANDFS_DEBUG_LOOKUP		0x000020
+#define	NANDFS_DEBUG_READDIR		0x000040
+#define	NANDFS_DEBUG_TRANSLATE		0x000080
+#define	NANDFS_DEBUG_STRATEGY		0x000100
+#define	NANDFS_DEBUG_READ		0x000200
+#define	NANDFS_DEBUG_WRITE		0x000400
+#define	NANDFS_DEBUG_IFILE		0x000800
+#define	NANDFS_DEBUG_ATTR		0x001000
+#define	NANDFS_DEBUG_EXTATTR		0x002000
+#define	NANDFS_DEBUG_ALLOC		0x004000
+#define	NANDFS_DEBUG_CPFILE		0x008000
+#define	NANDFS_DEBUG_DIRHASH		0x010000
+#define	NANDFS_DEBUG_NOTIMPL		0x020000
+#define	NANDFS_DEBUG_SHEDULE		0x040000
+#define	NANDFS_DEBUG_SEG		0x080000
+#define	NANDFS_DEBUG_SYNC		0x100000
+#define	NANDFS_DEBUG_PARANOIA		0x200000
+#define	NANDFS_DEBUG_VNCALL		0x400000
+#define	NANDFS_DEBUG_BUF		0x1000000
+#define	NANDFS_DEBUG_BMAP		0x2000000
+#define	NANDFS_DEBUG_DAT		0x4000000
+#define	NANDFS_DEBUG_GENERIC		0x8000000
+#define	NANDFS_DEBUG_CLEAN		0x10000000
+
+extern int nandfs_verbose;
+
+#define	DPRINTF(name, arg) { \
+		if (nandfs_verbose & NANDFS_DEBUG_##name) {\
+			printf arg;\
+		};\
+	}
+#define	DPRINTFIF(name, cond, arg) { \
+		if (nandfs_verbose & NANDFS_DEBUG_##name) { \
+			if (cond) printf arg;\
+		};\
+	}
+
+#define	VFSTONANDFS(mp)    ((struct nandfsmount *)((mp)->mnt_data))
+#define	VTON(vp) ((struct nandfs_node *)(vp)->v_data)
+#define	NTOV(xp) ((xp)->nn_vnode)
+
+int nandfs_init(struct vfsconf *);
+int nandfs_uninit(struct vfsconf *);
+
+extern struct vop_vector nandfs_vnodeops;
+
+struct nandfs_node;
+
+/* Structure and derivatives */
+struct nandfs_mdt {
+	uint32_t	entries_per_block;
+	uint32_t	entries_per_group;
+	uint32_t	blocks_per_group;
+	uint32_t	groups_per_desc_block;	/* desc is super group */
+	uint32_t	blocks_per_desc_block;	/* desc is super group */
+};
+
+struct nandfs_segment {
+	LIST_ENTRY(nandfs_segment) seg_link;
+
+	struct nandfs_device	*fsdev;
+
+	TAILQ_HEAD(, buf)	 segsum;
+	TAILQ_HEAD(, buf)	 data;
+
+	uint64_t		 seg_num;
+	uint64_t		 seg_next;
+	uint64_t		 start_block;
+	uint32_t		 num_blocks;
+
+	uint32_t		 nfinfos;
+	uint32_t		 nblocks;
+	uint32_t		 segsum_blocks;
+	uint32_t		 segsum_bytes;
+	uint32_t		 bytes_left;
+	char			*current_off;
+};
+
+struct nandfs_seginfo {
+	LIST_HEAD( ,nandfs_segment)	seg_list;
+	struct nandfs_segment		*curseg;
+	struct nandfs_device		*fsdev;
+	uint32_t			blocks;
+	uint32_t			finfos;
+	uint8_t				reiterate;
+};
+
+#define	NANDFS_FSSTOR_FAILED	1
+struct nandfs_fsarea {
+	int	offset;
+	int	flags;
+	int	last_used;
+};
+
+struct nandfs_device {
+	struct vnode		*nd_devvp;
+	struct g_consumer	*nd_gconsumer;
+
+	int			nd_is_nand;
+
+	struct nandfs_fsarea	nd_fsarea[NANDFS_NFSAREAS];
+	int			nd_last_fsarea;
+
+	STAILQ_HEAD(nandfs_mnts, nandfsmount)	nd_mounts;
+	SLIST_ENTRY(nandfs_device)		nd_next_device;
+
+	/* FS structures */
+	struct nandfs_fsdata		nd_fsdata;
+	struct nandfs_super_block	nd_super;
+	struct nandfs_segment_summary	nd_last_segsum;
+	struct nandfs_super_root	nd_super_root;
+	struct nandfs_node	*nd_dat_node;
+	struct nandfs_node	*nd_cp_node;
+	struct nandfs_node	*nd_su_node;
+	struct nandfs_node	*nd_gc_node;
+
+	struct nandfs_mdt	nd_dat_mdt;
+	struct nandfs_mdt	nd_ifile_mdt;
+
+	struct timespec		nd_ts;
+
+	/* Synchronization */
+	struct mtx		nd_mutex;
+	struct mtx		nd_sync_mtx;
+	struct cv		nd_sync_cv;
+	struct lock		nd_seg_const;
+
+	struct nandfs_seginfo	*nd_seginfo;
+
+	int32_t			nd_cleanerd_pid;
+
+	/* FS geometry */
+	uint64_t		nd_devsize;
+	uint64_t		nd_maxfilesize;
+	uint32_t		nd_blocksize;
+	uint32_t		nd_erasesize;
+
+	uint32_t		nd_devblocksize;
+
+	/* Segment usage */
+	uint64_t		nd_clean_segs;
+	uint64_t		*nd_free_base;
+	uint64_t		nd_free_count;
+	uint64_t		nd_dirty_bufs;
+
+	/* Running values */
+	uint64_t		nd_seg_sequence;
+	uint64_t		nd_seg_num;
+	uint64_t		nd_next_seg_num;
+	uint64_t		nd_last_pseg;
+	uint64_t		nd_last_cno;
+	uint64_t		nd_last_ino;
+	uint64_t		nd_fakevblk;
+
+	int			nd_mount_state;
+	int			nd_refcnt;
+	int			nd_syncing;
+};
+
+extern SLIST_HEAD(_nandfs_devices, nandfs_device) nandfs_devices;
+
+#define	NANDFS_KILL_SYNCER	0x1
+#define	NANDFS_FORCE_SYNCER	0x2
+#define	NANDFS_NOLOCK_SYNCER	0x4
+#define	NANDFS_UMOUNT		0x8
+
+#define	SYNCER_UMOUNT		0x0
+#define	SYNCER_VFS_SYNC		0x1
+#define	SYNCER_BDFLUSH		0x2
+#define	SYNCER_FFORCE		0x3
+#define	SYNCER_FSYNC		0x4
+#define	SYNCER_ROUPD		0x5
+
+/* Specific mountpoint; head or a checkpoint/snapshot */
+struct nandfsmount {
+	STAILQ_ENTRY(nandfsmount) nm_next_mount;
+
+	struct mount		*nm_vfs_mountp;
+	struct nandfs_device	*nm_nandfsdev;
+	struct nandfs_args	nm_mount_args;
+	struct nandfs_node	*nm_ifile_node;
+	struct proc		*nm_syncer;
+	struct sysctl_oid	*nm_mountpoint_oid;
+
+	uint8_t			nm_flags;
+	int8_t			nm_ronly;
+};
+
+struct nandfs_indirect{
+	TAILQ_ENTRY(nandfs_indirect)	list_entry;
+	struct nandfs_indir		indices;
+	struct buf			*bp;
+};
+
+struct nandfs_node {
+	struct vnode			*nn_vnode;
+	struct nandfsmount		*nn_nmp;
+	struct nandfs_device		*nn_nandfsdev;
+	struct lockf			*nn_lockf;
+
+	uint64_t			nn_ino;
+	struct nandfs_inode		nn_inode;
+
+	uint64_t			nn_diroff;
+	uint32_t			nn_flags;
+};
+
+#define	IN_ACCESS	0x0001	/* Inode access time update request  */
+#define	IN_CHANGE	0x0002	/* Inode change time update request  */
+#define	IN_UPDATE	0x0004	/* Inode was written to; update mtime*/
+#define	IN_MODIFIED	0x0008	/* node has been modified */
+#define	IN_RENAME	0x0010	/* node is being renamed. */
+
+/* File permissions. */
+#define	IEXEC		0000100	/* Executable. */
+#define	IWRITE		0000200	/* Writeable. */
+#define	IREAD		0000400	/* Readable. */
+#define	ISVTX		0001000	/* Sticky bit. */
+#define	ISGID		0002000	/* Set-gid. */
+#define	ISUID		0004000	/* Set-uid. */
+
+#define	PRINT_NODE_FLAGS \
+	"\10\1IN_ACCESS\2IN_CHANGE\3IN_UPDATE\4IN_MODIFIED\5IN_RENAME"
+
+#define	NANDFS_GATHER(x) ((x)->b_flags |= B_00800000)
+#define	NANDFS_UNGATHER(x) ((x)->b_flags &= ~B_00800000)
+#define	NANDFS_ISGATHERED(x) ((x)->b_flags & B_00800000)
+
+#endif /* !_FS_NANDFS_NANDFS_H_ */

Added: projects/nand/sys/fs/nandfs/nandfs_alloc.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/nand/sys/fs/nandfs/nandfs_alloc.c	Sat Mar 17 02:39:20 2012	(r233068)
@@ -0,0 +1,363 @@
+/*-
+ * Copyright (c) 2010-2012 Semihalf.
+ * 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.

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 02:52:17 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id ADE73106564A;
	Sat, 17 Mar 2012 02:52:17 +0000 (UTC)
	(envelope-from gber@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 8EEFB8FC17;
	Sat, 17 Mar 2012 02:52:17 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2H2qHTx046662;
	Sat, 17 Mar 2012 02:52:17 GMT (envelope-from gber@svn.freebsd.org)
Received: (from gber@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2H2qHF9046647;
	Sat, 17 Mar 2012 02:52:17 GMT (envelope-from gber@svn.freebsd.org)
Message-Id: <201203170252.q2H2qHF9046647@svn.freebsd.org>
From: Grzegorz Bernacki <gber@FreeBSD.org>
Date: Sat, 17 Mar 2012 02:52:17 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r233069 - in projects/nand/sbin: . mount mount_nandfs
	nandfs newfs_nandfs
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 02:52:17 -0000

Author: gber
Date: Sat Mar 17 02:52:16 2012
New Revision: 233069
URL: http://svn.freebsd.org/changeset/base/233069

Log:
  Add tools required by NANDFS to mount/umount, create/remove/list
  snapshots.
  
  Obtained from: Semihalf
  Supported by:  FreeBSD Foundation, Juniper Networks

Added:
  projects/nand/sbin/mount_nandfs/
  projects/nand/sbin/mount_nandfs/Makefile
  projects/nand/sbin/mount_nandfs/mount_nandfs.8
  projects/nand/sbin/mount_nandfs/mount_nandfs.c
  projects/nand/sbin/nandfs/
  projects/nand/sbin/nandfs/Makefile
  projects/nand/sbin/nandfs/lssnap.c
  projects/nand/sbin/nandfs/mksnap.c
  projects/nand/sbin/nandfs/nandfs.8
  projects/nand/sbin/nandfs/nandfs.c
  projects/nand/sbin/nandfs/nandfs.h
  projects/nand/sbin/nandfs/rmsnap.c
  projects/nand/sbin/newfs_nandfs/
  projects/nand/sbin/newfs_nandfs/Makefile
  projects/nand/sbin/newfs_nandfs/newfs_nandfs.8
  projects/nand/sbin/newfs_nandfs/newfs_nandfs.c
Modified:
  projects/nand/sbin/Makefile
  projects/nand/sbin/mount/mntopts.h
  projects/nand/sbin/mount/mount.c

Modified: projects/nand/sbin/Makefile
==============================================================================
--- projects/nand/sbin/Makefile	Sat Mar 17 02:39:20 2012	(r233068)
+++ projects/nand/sbin/Makefile	Sat Mar 17 02:52:16 2012	(r233069)
@@ -91,6 +91,12 @@ SUBDIR+=	ipfw
 SUBDIR+=	natd
 .endif
 
+.if ${MK_NAND} != "no"
+SUBDIR+=	mount_nandfs
+SUBDIR+=	nandfs
+SUBDIR+=	newfs_nandfs
+.endif
+
 .if ${MK_PF} != "no"
 SUBDIR+=	pfctl
 SUBDIR+=	pflogd

Modified: projects/nand/sbin/mount/mntopts.h
==============================================================================
--- projects/nand/sbin/mount/mntopts.h	Sat Mar 17 02:39:20 2012	(r233068)
+++ projects/nand/sbin/mount/mntopts.h	Sat Mar 17 02:52:16 2012	(r233069)
@@ -62,6 +62,10 @@ struct mntopt {
 #define MOPT_RO			{ "ro",		0, MNT_RDONLY, 0 }
 #define MOPT_RW			{ "rw",		1, MNT_RDONLY, 0 }
 
+
+/* Cleaner daemon flags */
+#define	MOPT_NOCLEANER		{ "nocleaner",	0, 0, 0 }
+
 /* This is parsed by mount(8), but is ignored by specific mount_*(8)s. */
 #define MOPT_AUTO		{ "auto",	0, 0, 0 }
 

Modified: projects/nand/sbin/mount/mount.c
==============================================================================
--- projects/nand/sbin/mount/mount.c	Sat Mar 17 02:39:20 2012	(r233068)
+++ projects/nand/sbin/mount/mount.c	Sat Mar 17 02:52:16 2012	(r233069)
@@ -142,7 +142,7 @@ use_mountprog(const char *vfstype)
 	 */
 	unsigned int i;
 	const char *fs[] = {
-	"cd9660", "mfs", "msdosfs", "nfs", "ntfs",
+	"cd9660", "mfs", "msdosfs", "nandfs", "nfs", "ntfs",
 	"nwfs", "nullfs", "oldnfs", "portalfs", "smbfs", "udf", "unionfs",
 	NULL
 	};

Added: projects/nand/sbin/mount_nandfs/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/nand/sbin/mount_nandfs/Makefile	Sat Mar 17 02:52:16 2012	(r233069)
@@ -0,0 +1,15 @@
+PROG = mount_nandfs
+SRCS = mount_nandfs.c getmntopts.c
+MAN  = mount_nandfs.8
+
+LDADD = -lutil
+DPADD = ${LIBUTIL}
+
+# mount_nandfs needs mntopts.h and getmntopts.c from src/sbin/mount/
+MOUNT  ?= ${.CURDIR}/../mount
+CFLAGS += -I${MOUNT}
+WARNS ?= 6
+
+.PATH: ${MOUNT}
+
+.include <bsd.prog.mk>

Added: projects/nand/sbin/mount_nandfs/mount_nandfs.8
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/nand/sbin/mount_nandfs/mount_nandfs.8	Sat Mar 17 02:52:16 2012	(r233069)
@@ -0,0 +1,93 @@
+.\"
+.\" Copyright (c) 1993,1994 Christopher G. Demetriou
+.\" Copyright (c) 1999 Semen Ustimenko
+.\" Copyright (c) 2005 Jean-Sébastien Pédron
+.\" Copyright (c) 2010 Semihalf
+.\" 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.
+.\" 3. All advertising materials mentioning features or use of this software
+.\"    must display the following acknowledgment:
+.\"      This product includes software developed by Christopher G. Demetriou.
+.\" 3. The name of the author may not be used to endorse or promote products
+.\"    derived from this software without specific prior written permission
+.\"
+.\" 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 28, 2012
+.Dt MOUNT_NANDFS 8
+.Os
+.Sh NAME
+.Nm mount_nandfs
+.Nd "mount a NandFS file system"
+.Sh SYNOPSIS
+.Nm
+.Op Fl n
+.Op Fl f Ar cleanerd_config
+.Op Fl c Ar snapshot
+.Op Fl o Ar options
+.Ar special
+.Ar node
+.Sh DESCRIPTION
+The
+.Nm
+utility attaches the NandFS file system residing on the device
+.Ar special
+to the global file system namespace at the location
+indicated by
+.Ar node .
+.Pp
+This command is normally executed by
+.Xr mount 8
+at boot time, but can be used by any user to mount a
+NandFS file system on any directory that they own (provided,
+of course, that they have appropriate access to the device that
+contains the file system).
+.Pp
+The options are as follow:
+.Bl -tag -width indent
+.It Fl n
+Don't run
+.Xr cleanerd 8 .
+.It Fl f Ar cleanerd_config
+Run 
+.Xr cleanerd 8 
+with config
+.Ar cleanerd_config .
+.It Fl c Ar snapshot
+Mount specified snapshot.
+.It Fl o Ar options
+Options are specified by a comma separated string of options.  
+See the mount(8) man page for possible options and their meanings.
+.El
+.Sh EXAMPLES
+To mount a NandFS volume located in
+.Pa /dev/md0 :
+.Pp
+.Dl "mount_nandfs /dev/md0 /mnt"
+.Sh SEE ALSO
+.Xr mount 2 ,
+.Xr unmount 2 ,
+.Xr fstab 5 ,
+.Xr mount 8
+.Sh AUTHORS
+.An Grzegorz Bernacki
+.An Jakub Klama

Added: projects/nand/sbin/mount_nandfs/mount_nandfs.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/nand/sbin/mount_nandfs/mount_nandfs.c	Sat Mar 17 02:52:16 2012	(r233069)
@@ -0,0 +1,353 @@
+/*-
+ * Copyright (c) 2005 Jean-Sébastien Pédron
+ * Copyright (c) 2010 Semihalf
+ * 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.
+ *
+ * From FreeBSD: src/sbin/mount_reiserfs/mount_reiserfs.c,v 1.4.10.1 2009/08/03 08:13:06 kensmith Exp
+ */
+
+#include <sys/types.h>
+#include <sys/param.h>
+#include <sys/mount.h>
+#include <sys/uio.h>
+#include <sys/fcntl.h>
+#include <sys/stat.h>
+#include <sys/ipc.h>
+#include <sys/sem.h>
+#include <sys/sysctl.h>
+#include <fs/nandfs/nandfs_fs.h>
+
+#include <err.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <signal.h>
+#include <errno.h>
+#include <sysexits.h>
+#include <unistd.h>
+#include <libgen.h>
+#include <libutil.h>
+
+#include "mntopts.h"
+
+#define	CLEANERD_PATH	"/usr/sbin/cleanerd"
+#define	CLEANERD_CONFIG	"/etc/nandfs_cleanerd.conf"
+
+struct mntopt mopts[] = {
+	MOPT_STDOPTS,
+	MOPT_UPDATE,
+	MOPT_END
+};
+
+void	usage(void);
+
+static int
+nandfs_lookup_pid_mib(const char *dev, int *mibp, size_t *miblen)
+{
+	char *mibname;
+	char readpath[MAXPATHLEN+1];
+	size_t readlen;
+	int i;
+
+	*miblen = 5;
+
+	for (i = 0; i < NANDFS_MAX_MOUNTS; i++) {
+		asprintf(&mibname, "vfs.nandfs.mount.%d.dev", i);
+		readlen = MAXPATHLEN;
+
+		if (sysctlbyname(mibname, readpath, &readlen, NULL, 0)) {
+			free(mibname);
+
+			if (errno == ENOENT)
+				continue;
+
+			return (-1);
+		}
+
+		free(mibname);
+
+		if (strncmp(dev, readpath, readlen) != 0)
+			continue;
+
+		asprintf(&mibname, "vfs.nandfs.mount.%d.cleanerd_pid", i);
+
+		if (sysctlnametomib(mibname, mibp, miblen)) {
+			free(mibname);
+			return (-1);
+		}
+
+		free(mibname);
+		return (0);
+	}
+
+	errno = ENOENT;
+	return (-1);
+}
+
+
+int
+main(int argc, char *argv[])
+{
+	struct iovec *iov;
+	struct sembuf sbuf;
+	struct statfs sfs;
+	int ch, mntflags, iovlen, nocleanerd = 0;
+	int update_start_cleanerd = 0;
+	size_t miblen, pidlen;
+	int mib[5];
+	int64_t cpno = 0;
+	uint64_t oldmntflags;
+	char *dev, *dir, mntpath[MAXPATHLEN];
+	char *cleanerd_config = NULL;
+#if 0
+	char *cleanerd_args[6];
+#endif
+	char fstype[] = "nandfs";
+	time_t start;
+	pid_t cleanerd_pid;
+	key_t semkey;
+	int semid;
+	char *p, *val;
+
+	iov = NULL;
+	iovlen = 0;
+	mntflags = 0;
+	while ((ch = getopt(argc, argv, "o:c:f:n")) != -1) {
+		switch(ch) {
+		case 'c':
+			cpno = strtoll(optarg, NULL, 10);
+			if (cpno == 0 && errno == EINVAL)
+				usage();
+			break;
+		case 'f':
+			cleanerd_config = strdup(optarg);
+			break;
+		case 'n':
+			nocleanerd = 1;
+			break;
+		case 'o':
+			getmntopts(optarg, mopts, &mntflags, 0);
+			p = strchr(optarg, '=');
+			val = NULL;
+			if (p != NULL) {
+				*p = '\0';
+				val = p + 1;
+			}
+			build_iovec(&iov, &iovlen, optarg, val, (size_t)-1);
+			break;
+		case '?':
+		default:
+			usage();
+		}
+	}
+
+	argc -= optind;
+	argv += optind;
+
+	if (argc != 2)
+		usage();
+
+	dev = argv[0];
+	dir = argv[1];
+
+	/*
+	 * Resolve the mountpoint with realpath(3) and remove unnecessary
+	 * slashes from the devicename if there are any.
+	 */
+	(void)checkpath(dir, mntpath);
+	(void)rmslashes(dev, dev);
+
+	/* Prepare the options vector for nmount(). build_iovec() is declared
+	 * in mntopts.h. */
+	build_iovec(&iov, &iovlen, "fstype", fstype, (size_t)-1);
+	build_iovec(&iov, &iovlen, "fspath", mntpath, (size_t)-1);
+	build_iovec(&iov, &iovlen, "from", dev, (size_t)-1);
+	build_iovec(&iov, &iovlen, "cpno", &cpno, sizeof(int64_t));
+
+	if (mntflags & MNT_UPDATE) {
+		if (statfs(dir, &sfs) < 0) {
+			fprintf(stderr, "Cannot statfs(): %s\n",
+			    strerror(errno));
+			return (EXIT_FAILURE);
+		}
+
+		oldmntflags = sfs.f_flags;
+
+		/* Read cleanerd PID */
+		if (nandfs_lookup_pid_mib(dev, mib, &miblen)) {
+			fprintf(stderr, "Cannot lookup cleanerd PID: %s\n", strerror(errno));
+		}
+
+		pidlen = sizeof(pid_t);
+		if (sysctl(mib, miblen, &cleanerd_pid, &pidlen, NULL, 0) < 0) {
+			fprintf(stderr, "Cannot lookup cleanerd PID: %s\n",
+			    strerror(errno));
+		}
+
+		/* RW -> RO update, so kill cleanerd */
+		if (((oldmntflags & MNT_RDONLY) == 0) && (mntflags & MNT_RDONLY) &&
+		    (cleanerd_pid != -1)) {
+			semkey = ftok(dev, 'c');
+			semid = semget(semkey, 1, 0666 | IPC_CREAT);
+
+			if (semid < 0) {
+				fprintf(stderr, "Cannot obtain cleanerd semaphore: %s\n",
+				    strerror(errno));
+			} else {
+				sbuf.sem_num = 0;
+				sbuf.sem_op = 1;
+				sbuf.sem_flg = 0;
+
+				if (semop(semid, &sbuf, 1) < 0) {
+					fprintf(stderr, "Cannot access semaphore: %s\n",
+					    strerror(errno));
+				}
+			}
+
+			/* Kill cleanerd */
+			if (kill(cleanerd_pid, SIGTERM) < 0) {
+				fprintf(stderr, "Cannot kill cleanerd (pid %d): %s\n",
+				    cleanerd_pid, strerror(errno));
+			} else {
+				/* Make sure that cleanerd is killed. */
+				start = time(NULL);
+				do {
+					sbuf.sem_num = 0;
+					sbuf.sem_op = 0;
+					sbuf.sem_flg = IPC_NOWAIT;
+
+					if (semop(semid, &sbuf, 1) < 0) {
+						if (errno == EAGAIN)
+							continue;
+
+						fprintf(stderr, "Cannot access semaphore: %s\n",
+						    strerror(errno));
+					}
+
+					break;
+				} while (time(NULL) < (start + 5));
+			}
+
+			/* Destroy semaphore */
+			if (semctl(semid, 0, IPC_RMID, NULL) < 0) {
+				if (errno != EINVAL)
+					fprintf(stderr, "Cannot remove semaphore: %s\n",
+					    strerror(errno));
+			}
+		}
+
+		/* RO -> RW update, start cleanerd */
+		if ((oldmntflags & MNT_RDONLY) && ((mntflags & MNT_RDONLY) == 0)) {
+			update_start_cleanerd = 1;
+		}
+	}
+
+
+	if (nmount(iov, iovlen, mntflags) < 0)
+		err(EX_OSERR, "%s", dev);
+
+	return (0);
+#if 0
+
+	if (nocleanerd || (mntflags & MNT_RDONLY))
+		exit(0);
+
+	if ((mntflags & MNT_UPDATE) && (update_start_cleanerd == 0)) {
+		exit(0);
+	}
+
+	/* Create cleaner semaphore */
+	semkey = ftok(dev, 'c');
+	semid = semget(semkey, 1, 0666 | IPC_CREAT);
+
+	if (semid < 0) {
+		fprintf(stderr, "Cannot obtain semaphore: %s\n",
+		    strerror(errno));
+	} else {
+		sbuf.sem_num = 0;
+		sbuf.sem_op = 1;
+		sbuf.sem_flg = 0;
+
+		if (semop(semid, &sbuf, 1) < 0) {
+			fprintf(stderr, "Cannot access semaphore: %s\n",
+			    strerror(errno));
+		}
+	}
+
+	/* Start cleaner daemon */
+	cleanerd_pid = fork();
+	switch (cleanerd_pid) {
+	case 0:
+		if (cleanerd_config == NULL)
+			cleanerd_config = strdup(CLEANERD_CONFIG);
+
+		cleanerd_args[0] = strdup("cleanerd");
+		cleanerd_args[1] = strdup("-c");
+		cleanerd_args[2] = cleanerd_config;
+		cleanerd_args[3] = dir;
+		cleanerd_args[4] = NULL;
+		execv(CLEANERD_PATH, cleanerd_args);
+		break;
+	case -1:
+		fprintf(stderr, "Cannot spawn cleaner daemon: %s\n",
+		    strerror(errno));
+		exit(EXIT_FAILURE);
+	default:
+		start = time(NULL);
+		do {
+			sbuf.sem_num = 0;
+			sbuf.sem_op = 0;
+			sbuf.sem_flg = IPC_NOWAIT;
+
+			if (semop(semid, &sbuf, 1) < 0) {
+				if (errno == EAGAIN)
+					continue;
+
+				fprintf(stderr, "Cannot access semaphore: %s\n",
+				    strerror(errno));
+
+			}
+
+			break;
+		} while (time(NULL) < (start + 5));
+
+		/* Destroy semaphore */
+		if (semctl(semid, 0, IPC_RMID, NULL) < 0) {
+			fprintf(stderr, "Cannot remove semaphore: %s\n",
+			    strerror(errno));
+		}
+	}
+
+	exit(0);
+#endif
+}
+
+void
+usage(void)
+{
+	fprintf(stderr,
+	    "usage: mount_nandfs [-c cpno] [-f cleanerd_config] [-n] [-o options]"
+	    " special node\n");
+	exit(EX_USAGE);
+}

Added: projects/nand/sbin/nandfs/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/nand/sbin/nandfs/Makefile	Sat Mar 17 02:52:16 2012	(r233069)
@@ -0,0 +1,8 @@
+PROG=	nandfs
+SRCS=	nandfs.c lssnap.c mksnap.c rmsnap.c
+MAN=	nandfs.8
+
+DPADD=	${LIBNANDFS}
+LDADD=	-lnandfs
+
+.include <bsd.prog.mk>

Added: projects/nand/sbin/nandfs/lssnap.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/nand/sbin/nandfs/lssnap.c	Sat Mar 17 02:52:16 2012	(r233069)
@@ -0,0 +1,112 @@
+/*-
+ * Copyright (c) 2012 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ * This software was developed by Semihalf under sponsorship
+ * from the FreeBSD Foundation.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+#include <sys/types.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sysexits.h>
+#include <time.h>
+
+#include <fs/nandfs/nandfs_fs.h>
+#include <libnandfs.h>
+
+#include "nandfs.h"
+
+#define NCPINFO	512
+
+static void
+lssnap_usage(void)
+{
+
+	fprintf(stderr, "usage:\n");
+	fprintf(stderr, "\tlssnap node\n");
+}
+
+static void
+print_cpinfo(struct nandfs_cpinfo *cpinfo)
+{
+	struct tm tm;
+	time_t t;
+	char timebuf[128];
+
+	if (!(cpinfo->nci_nblk_inc) && !(cpinfo->nci_inodes_count))
+		return;
+
+	t = (time_t)cpinfo->nci_create;
+	localtime_r(&t, &tm);
+	strftime(timebuf, sizeof(timebuf), "%F %T", &tm);
+
+	printf("%20llu  %s\n", (unsigned long long)cpinfo->nci_cno, timebuf);
+}
+
+int
+nandfs_lssnap(int argc, char **argv)
+{
+	struct nandfs_cpinfo *cpinfos;
+	struct nandfs fs;
+	int nsnap, i;
+	int error;
+
+	if (argc != 1) {
+		lssnap_usage();
+		return (EX_USAGE);
+	}
+
+	cpinfos = malloc(sizeof(*cpinfos) * NCPINFO);
+	if (cpinfos == NULL) {
+		fprintf(stderr, "cannot allocate memory\n");
+		return (-1);
+	}
+
+	nandfs_init(&fs, argv[0]);
+	error = nandfs_open(&fs);
+	if (error == -1) {
+		fprintf(stderr, "nandfs_open: %s\n", nandfs_errmsg(&fs));
+		goto out;
+	}
+
+	nsnap = nandfs_get_snap(&fs, 1, cpinfos, NCPINFO);
+	if (nsnap == -1) {
+		fprintf(stderr, "nandfs_get_snap: %s\n", nandfs_errmsg(&fs));
+		goto out;
+	}
+
+	for (i = 0; i < nsnap; i++)
+		print_cpinfo(&cpinfos[i]);
+
+out:
+	nandfs_close(&fs);
+	nandfs_destroy(&fs);
+	free(cpinfos);
+	return (error);
+}

Added: projects/nand/sbin/nandfs/mksnap.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/nand/sbin/nandfs/mksnap.c	Sat Mar 17 02:52:16 2012	(r233069)
@@ -0,0 +1,91 @@
+/*-
+ * Copyright (c) 2012 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ * This software was developed by Semihalf under sponsorship
+ * from the FreeBSD Foundation.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+#include <sys/types.h>
+
+#include <stdio.h>
+#include <sysexits.h>
+
+#include <fs/nandfs/nandfs_fs.h>
+#include <libnandfs.h>
+
+#include "nandfs.h"
+
+static void
+mksnap_usage(void)
+{
+
+	fprintf(stderr, "usage:\n");
+	fprintf(stderr, "\tmksnap node\n");
+}
+
+int
+nandfs_mksnap(int argc, char **argv)
+{
+	struct nandfs fs;
+	uint64_t cpno;
+	int error;
+
+	if (argc != 1) {
+		mksnap_usage();
+		return (EX_USAGE);
+	}
+
+	nandfs_init(&fs, argv[0]);
+	error = nandfs_open_rw(&fs);
+	if (error == -1) {
+		fprintf(stderr, "nandfs_open: %s\n", nandfs_errmsg(&fs));
+		goto out;
+	}
+
+	error = nandfs_lock(&fs, 1);
+	if (error == -1) {
+		fprintf(stderr, "nandfs_lock: %s\n", nandfs_errmsg(&fs));
+		goto out;
+	}
+
+	error = nandfs_make_snap(&fs, &cpno);
+	if (error == -1)
+		fprintf(stderr, "nandfs_make_snap: %s\n", nandfs_errmsg(&fs));
+	else
+		printf("%jd\n", cpno);
+
+	error = nandfs_unlock(&fs);
+	if (error == -1) {
+		fprintf(stderr, "nandfs_unlock: %s\n", nandfs_errmsg(&fs));
+		goto out;
+	}
+out:
+	nandfs_close(&fs);
+	nandfs_destroy(&fs);
+	return (error);
+}

Added: projects/nand/sbin/nandfs/nandfs.8
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/nand/sbin/nandfs/nandfs.8	Sat Mar 17 02:52:16 2012	(r233069)
@@ -0,0 +1,75 @@
+.\"
+.\" Copyright (c) 2012 The FreeBSD Foundation
+.\" All rights reserved.
+.\"
+.\" This software was developed by Semihalf under sponsorship
+.\" from the FreeBSD Foundation.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\"
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd February 28, 2012
+.Dt NANDFS 8
+.Os
+.Sh NAME
+.Nm nandfs
+.Nd manage mounted NAND FS
+.Sh SYNOPSIS
+.Nm
+.Cm lssnap
+.Ar node
+.Nm
+.Cm mksnap
+.Ar node
+.Nm
+.Cm rmsnap
+.Ar snapshot node
+.Sh DESCRIPTION
+The
+.Nm
+utility allows to manage snapshots of a mounted NAND FS.
+.Sh EXAMPLES
+.Pp
+Create a snapshot of filesystem mounted on
+.Em /nand .
+.Bd -literal -offset 2n
+.Li # Ic nandfs mksnap /nand
+1
+.Ed
+.Pp
+List snapshots of filesystem mounted on
+.Em /nand .
+.Bd -literal -offset 2n
+.Li # Ic nandfs lssnap /nand
+1  2012-02-28 18:49:45   ss           138          2
+.Ed
+.Pp
+Remove snapshot 1 of filesystem mounted on
+.Em /nand .
+.Bd -literal -offset 2n
+.Li # Ic nandfs rmsnap 1 /nand
+.Ed
+.Sh AUTHORS
+This utility and manual page were written by
+.An Mateusz Guzik .

Added: projects/nand/sbin/nandfs/nandfs.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/nand/sbin/nandfs/nandfs.c	Sat Mar 17 02:52:16 2012	(r233069)
@@ -0,0 +1,74 @@
+/*-
+ * Copyright (c) 2012 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ * This software was developed by Semihalf under sponsorship
+ * from the FreeBSD Foundation.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <err.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sysexits.h>
+
+#include "nandfs.h"
+
+static void
+usage(void)
+{
+
+	fprintf(stderr, "usage: nandfs [lssnap | mksnap <snap> | rmsnap] "
+	    "node\n");
+	exit(EX_USAGE);
+}
+
+int
+main(int argc, char **argv)
+{
+	int error = 0;
+	char *cmd;
+
+	if (argc < 2)
+		usage();
+
+	cmd = argv[1];
+	argc -= 2;
+	argv += 2;
+
+	if (strcmp(cmd, "lssnap") == 0)
+		error = nandfs_lssnap(argc, argv);
+	else if (strcmp(cmd, "mksnap") == 0)
+		error = nandfs_mksnap(argc, argv);
+	else if (strcmp(cmd, "rmsnap") == 0)
+		error = nandfs_rmsnap(argc, argv);
+	else
+		usage();
+
+	return (error);
+}

Added: projects/nand/sbin/nandfs/nandfs.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/nand/sbin/nandfs/nandfs.h	Sat Mar 17 02:52:16 2012	(r233069)
@@ -0,0 +1,39 @@
+/*-
+ * Copyright (c) 2012 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ * This software was developed by Semihalf under sponsorship
+ * from the FreeBSD Foundation.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef NANDFS_H
+
+int nandfs_lssnap(int, char **);
+int nandfs_mksnap(int, char **);
+int nandfs_rmsnap(int, char **);
+
+#endif /* !NANDFS_H */

Added: projects/nand/sbin/nandfs/rmsnap.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/nand/sbin/nandfs/rmsnap.c	Sat Mar 17 02:52:16 2012	(r233069)
@@ -0,0 +1,98 @@
+/*-
+ * Copyright (c) 2012 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ * This software was developed by Semihalf under sponsorship
+ * from the FreeBSD Foundation.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+#include <sys/types.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <limits.h>
+#include <sysexits.h>
+
+#include <fs/nandfs/nandfs_fs.h>
+#include <libnandfs.h>
+
+#include "nandfs.h"
+
+static void
+rmsnap_usage(void)
+{
+
+	fprintf(stderr, "usage:\n");
+	fprintf(stderr, "\trmsnap snap node\n");
+}
+
+int
+nandfs_rmsnap(int argc, char **argv)
+{
+	struct nandfs fs;
+	uint64_t cpno;
+	int error;
+
+	if (argc != 2) {
+		rmsnap_usage();
+		return (EX_USAGE);
+	}
+
+	cpno = strtoll(argv[0], (char **)NULL, 10);
+	if (cpno == 0) {
+		fprintf(stderr, "%s must be a number greater than 0\n",
+		    argv[0]);
+		return (EX_USAGE);
+	}
+

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 03:00:52 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 7CFCC106564A;
	Sat, 17 Mar 2012 03:00:52 +0000 (UTC)
	(envelope-from gber@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 6B7E08FC14;
	Sat, 17 Mar 2012 03:00:52 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2H30qmP047030;
	Sat, 17 Mar 2012 03:00:52 GMT (envelope-from gber@svn.freebsd.org)
Received: (from gber@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2H30qf0047026;
	Sat, 17 Mar 2012 03:00:52 GMT (envelope-from gber@svn.freebsd.org)
Message-Id: <201203170300.q2H30qf0047026@svn.freebsd.org>
From: Grzegorz Bernacki <gber@FreeBSD.org>
Date: Sat, 17 Mar 2012 03:00:52 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r233070 - projects/nand/lib/libstand
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 03:00:52 -0000

Author: gber
Date: Sat Mar 17 03:00:51 2012
New Revision: 233070
URL: http://svn.freebsd.org/changeset/base/233070

Log:
  Add NANDFS support for boot loader.
  
  Obtained from: Semihalf
  Supported by:  FreeBSD Foundation, Juniper Networks

Added:
  projects/nand/lib/libstand/nandfs.c
Modified:
  projects/nand/lib/libstand/Makefile
  projects/nand/lib/libstand/stand.h

Modified: projects/nand/lib/libstand/Makefile
==============================================================================
--- projects/nand/lib/libstand/Makefile	Sat Mar 17 02:52:16 2012	(r233069)
+++ projects/nand/lib/libstand/Makefile	Sat Mar 17 03:00:51 2012	(r233070)
@@ -150,6 +150,9 @@ SRCS+=	bootp.c rarp.c bootparam.c
 SRCS+=	ufs.c nfs.c cd9660.c tftp.c gzipfs.c bzipfs.c
 SRCS+=	dosfs.c ext2fs.c
 SRCS+=	splitfs.c
+.if ${MK_NAND} != "no"
+SRCS+=	nandfs.c
+.endif
 
 .include <bsd.lib.mk>
 

Added: projects/nand/lib/libstand/nandfs.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/nand/lib/libstand/nandfs.c	Sat Mar 17 03:00:51 2012	(r233070)
@@ -0,0 +1,1075 @@
+/*-
+ * Copyright (c) 2010-2012 Semihalf.
+ * 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.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/queue.h>
+#include <sys/stdint.h>
+#include <ufs/ufs/dinode.h>
+#include <fs/nandfs/nandfs_fs.h>
+#include "stand.h"
+#include "string.h"
+
+#define DEBUG
+#undef DEBUG
+#ifdef DEBUG
+#define NANDFS_DEBUG(fmt, args...) do { \
+    printf("NANDFS_DEBUG:" fmt "\n", ##args); } while (0)
+#else
+#define NANDFS_DEBUG(fmt, args...)
+#endif
+
+struct nandfs_mdt {
+	uint32_t	entries_per_block;
+	uint32_t	entries_per_group;
+	uint32_t	blocks_per_group;
+	uint32_t	groups_per_desc_block;	/* desc is super group */
+	uint32_t	blocks_per_desc_block;	/* desc is super group */
+};
+
+struct bmap_buf {
+	LIST_ENTRY(bmap_buf) list;
+	nandfs_daddr_t blknr;
+	uint64_t *map;
+};
+
+struct nandfs_node {
+	struct nandfs_inode *inode;
+	LIST_HEAD(, bmap_buf) bmap_bufs;
+};
+struct nandfs {
+	int	nf_blocksize;
+	int	nf_sectorsize;
+	int	nf_cpno;
+
+	struct open_file	*nf_file;
+	struct nandfs_node	*nf_opened_node;
+	u_int			nf_offset;
+	uint8_t			*nf_buf;
+	int64_t			nf_buf_blknr;
+
+	struct nandfs_fsdata		*nf_fsdata;
+	struct nandfs_super_block	*nf_sb;
+	struct nandfs_segment_summary	nf_segsum;
+	struct nandfs_checkpoint	nf_checkpoint;
+	struct nandfs_super_root	nf_sroot;
+	struct nandfs_node		nf_ifile;
+	struct nandfs_node		nf_datfile;
+	struct nandfs_node		nf_cpfile;
+	struct nandfs_mdt		nf_datfile_mdt;
+	struct nandfs_mdt		nf_ifile_mdt;
+
+	int nf_nindir[NIADDR];
+};
+
+static int nandfs_open(const char *path, struct open_file *f);
+static int nandfs_close(struct open_file *f);
+static int nandfs_read(struct open_file *f, void *buf, size_t size,
+    size_t *resid);
+static off_t nandfs_seek(struct open_file *f, off_t offset, int where);
+static int nandfs_stat(struct open_file *f, struct stat *sb);
+static int nandfs_readdir(struct open_file *f, struct dirent *d);
+
+static int nandfs_buf_read(struct nandfs *fs, char **buf_p, size_t *size_p);
+static struct nandfs_node *nandfs_lookup_inode(struct nandfs *fs, nandfs_daddr_t ino);
+static struct nandfs_node *nandfs_lookup_path(struct nandfs *fs,
+    const char *path);
+static int nandfs_read_inode(struct nandfs *fs, struct nandfs_node *node,
+    nandfs_lbn_t blknr, u_int nblks, void *buf, int raw);
+static int nandfs_read_blk(struct nandfs *fs, nandfs_daddr_t blknr, void *buf,
+    int phys);
+static int nandfs_bmap_lookup(struct nandfs *fs, struct nandfs_node *ino,
+    nandfs_lbn_t lblknr, nandfs_daddr_t *vblknr, int phys);
+static int nandfs_get_checkpoint(struct nandfs *fs, uint64_t cpno,
+    struct nandfs_checkpoint *cp);
+static nandfs_daddr_t nandfs_vtop(struct nandfs *fs, nandfs_daddr_t vblocknr);
+static void nandfs_calc_mdt_consts(int blocksize, struct nandfs_mdt *mdt,
+    int entry_size);
+static void nandfs_mdt_trans(struct nandfs_mdt *mdt, uint64_t index,
+    nandfs_daddr_t *blocknr, uint32_t *entry_in_block);
+static int ioread(struct open_file *f, off_t pos, void *buf, u_int length);
+static int nandfs_probe_sectorsize(struct open_file *f);
+
+struct fs_ops nandfs_fsops = {
+	"nandfs",
+	nandfs_open,
+	nandfs_close,
+	nandfs_read,
+	null_write,
+	nandfs_seek,
+	nandfs_stat,
+	nandfs_readdir
+};
+
+#define NINDIR(fs)	((fs)->nf_blocksize / sizeof(nandfs_daddr_t))
+
+/* from NetBSD's src/sys/net/if_ethersubr.c */
+static uint32_t
+crc32_le(uint32_t crc, const uint8_t *buf, size_t len)
+{
+	static const uint32_t crctab[] = {
+		0x00000000, 0x1db71064, 0x3b6e20c8, 0x26d930ac,
+		0x76dc4190, 0x6b6b51f4, 0x4db26158, 0x5005713c,
+		0xedb88320, 0xf00f9344, 0xd6d6a3e8, 0xcb61b38c,
+		0x9b64c2b0, 0x86d3d2d4, 0xa00ae278, 0xbdbdf21c
+	};
+	size_t i;
+
+	for (i = 0; i < len; i++) {
+		crc ^= buf[i];
+		crc = (crc >> 4) ^ crctab[crc & 0xf];
+		crc = (crc >> 4) ^ crctab[crc & 0xf];
+	}
+
+	return (crc);
+}
+
+static int
+nandfs_check_fsdata_crc(struct nandfs_fsdata *fsdata)
+{
+	uint32_t fsdata_crc, comp_crc;
+
+	if (fsdata->f_magic != NANDFS_FSDATA_MAGIC)
+		return (0);
+
+	/* preserve crc */
+	fsdata_crc = fsdata->f_sum;
+
+	/* calculate */
+	fsdata->f_sum = (0);
+	comp_crc = crc32_le(fsdata->f_crc_seed, (uint8_t *) fsdata,
+	    fsdata->f_bytes);
+
+	/* restore */
+	fsdata->f_sum = fsdata_crc;
+
+	/* check CRC */
+	return (fsdata_crc == comp_crc);
+}
+
+static int
+nandfs_check_superblock_crc(struct nandfs_fsdata *fsdata,
+    struct nandfs_super_block *super)
+{
+	uint32_t super_crc, comp_crc;
+
+	/* check super block magic */
+	if (super->s_magic != NANDFS_SUPER_MAGIC)
+		return (0);
+
+	/* preserve crc */
+	super_crc = super->s_sum;
+
+	/* calculate */
+	super->s_sum = (0);
+	comp_crc = crc32_le(fsdata->f_crc_seed, (uint8_t *) super,
+	    fsdata->f_sbbytes);
+
+	/* restore */
+	super->s_sum = super_crc;
+
+	/* check CRC */
+	return (super_crc == comp_crc);
+}
+
+static int
+nandfs_find_super_block(struct nandfs *fs, struct open_file *f)
+{
+	struct nandfs_super_block *sb;
+	int i, j, n;
+	int sectors_to_read, error;
+
+	sb = malloc(fs->nf_sectorsize);
+	if (sb == NULL)
+		return (ENOMEM);
+
+	memset(fs->nf_sb, 0, sizeof(*fs->nf_sb));
+
+	sectors_to_read = (NANDFS_NFSAREAS * fs->nf_fsdata->f_erasesize) /
+	    fs->nf_sectorsize;
+	for (i = 0; i < sectors_to_read; i++) {
+		NANDFS_DEBUG("reading i %d offset %d\n", i,
+		    i * fs->nf_sectorsize);
+		error = ioread(f, i * fs->nf_sectorsize, (char *)sb,
+		    fs->nf_sectorsize);
+		if (error) {
+			NANDFS_DEBUG("error %d\n", error);
+			continue;
+		}
+		n = fs->nf_sectorsize / sizeof(struct nandfs_super_block);
+		if ((i * fs->nf_sectorsize) % fs->nf_fsdata->f_erasesize == 0) {
+			if (fs->nf_sectorsize == sizeof(struct nandfs_fsdata))
+				continue;
+			else {
+				sb += (sizeof(struct nandfs_fsdata) /
+				    sizeof(struct nandfs_super_block));
+				n -= (sizeof(struct nandfs_fsdata) /
+				    sizeof(struct nandfs_super_block));
+			}
+		}
+
+		for (j = 0; j < n; j++) {
+			if (!nandfs_check_superblock_crc(fs->nf_fsdata, &sb[j]))
+				continue;
+			NANDFS_DEBUG("magic %x wtime %jd\n", sb->s_magic,
+			    sb->s_wtime);
+			if (sb[j].s_wtime > fs->nf_sb->s_wtime)
+				memcpy(fs->nf_sb, &sb[j], sizeof(*fs->nf_sb));
+		}
+	}
+
+	free(sb);
+
+	return (fs->nf_sb->s_magic != 0 ? 0 : EINVAL);
+}
+
+static int
+nandfs_find_fsdata(struct nandfs *fs, struct open_file *f)
+{
+	int offset, error, i;
+
+	NANDFS_DEBUG("starting\n");
+
+	offset = 0;
+	for (i = 0; i < 64 * NANDFS_NFSAREAS; i++) {
+		error = ioread(f, offset, (char *)fs->nf_fsdata,
+		    sizeof(struct nandfs_fsdata));
+		if (error)
+			return (error);
+		if (fs->nf_fsdata->f_magic == NANDFS_FSDATA_MAGIC) {
+			NANDFS_DEBUG("found at %x, volume %s\n", offset,
+			    fs->nf_fsdata->f_volume_name);
+			if (nandfs_check_fsdata_crc(fs->nf_fsdata))
+				break;
+		}
+		offset += fs->nf_sectorsize;
+	}
+
+	return (error);
+}
+
+static int
+nandfs_read_structures(struct nandfs *fs, struct open_file *f)
+{
+	int error;
+
+	error = nandfs_find_fsdata(fs, f);
+	if (error)
+		return (error);
+
+	error = nandfs_find_super_block(fs, f);
+
+	if (error == 0)
+		NANDFS_DEBUG("selected sb with w_time %jd last_pseg %jx\n",
+		    fs->nf_sb->s_wtime, fs->nf_sb->s_last_pseg);
+
+	return (error);
+}
+
+static int
+nandfs_mount(struct nandfs *fs, struct open_file *f)
+{
+	int err = 0;
+	uint64_t last_pseg;
+
+	fs->nf_fsdata = malloc(sizeof(struct nandfs_fsdata));
+	fs->nf_sb = malloc(sizeof(struct nandfs_super_block));
+
+	err = nandfs_read_structures(fs, f);
+	if (err) {
+		free(fs->nf_fsdata);
+		free(fs->nf_sb);
+		return (err);
+	}
+
+	fs->nf_blocksize = 1 << (fs->nf_fsdata->f_log_block_size + 10);
+
+	NANDFS_DEBUG("using superblock with wtime %jd\n", fs->nf_sb->s_wtime);
+
+	fs->nf_cpno = fs->nf_sb->s_last_cno;
+	last_pseg = fs->nf_sb->s_last_pseg;
+
+	/*
+	 * Calculate indirect block levels.
+	 */
+	{
+		nandfs_daddr_t mult;
+		int level;
+
+		mult = 1;
+		for (level = 0; level < NIADDR; level++) {
+			mult *= NINDIR(fs);
+			fs->nf_nindir[level] = mult;
+		}
+	}
+
+	nandfs_calc_mdt_consts(fs->nf_blocksize, &fs->nf_datfile_mdt,
+	    fs->nf_fsdata->f_dat_entry_size);
+
+	nandfs_calc_mdt_consts(fs->nf_blocksize, &fs->nf_ifile_mdt,
+	    fs->nf_fsdata->f_inode_size);
+
+	err = ioread(f, last_pseg * fs->nf_blocksize, &fs->nf_segsum,
+	    sizeof(struct nandfs_segment_summary));
+	if (err) {
+		free(fs->nf_sb);
+		free(fs->nf_fsdata);
+		return (err);
+	}
+
+	err = ioread(f, (last_pseg + fs->nf_segsum.ss_nblocks - 1) *
+	    fs->nf_blocksize, &fs->nf_sroot, sizeof(struct nandfs_super_root));
+	if (err) {
+		free(fs->nf_sb);
+		free(fs->nf_fsdata);
+		return (err);
+	}
+
+	fs->nf_datfile.inode = &fs->nf_sroot.sr_dat;
+	LIST_INIT(&fs->nf_datfile.bmap_bufs);
+	fs->nf_cpfile.inode = &fs->nf_sroot.sr_cpfile;
+	LIST_INIT(&fs->nf_cpfile.bmap_bufs);
+
+	err = nandfs_get_checkpoint(fs, fs->nf_cpno, &fs->nf_checkpoint);
+	if (err) {
+		free(fs->nf_sb);
+		free(fs->nf_fsdata);
+		return (err);
+	}
+
+	NANDFS_DEBUG("checkpoint cp_cno=%lld\n", fs->nf_checkpoint.cp_cno);
+	NANDFS_DEBUG("checkpoint cp_inodes_count=%lld\n",
+	    fs->nf_checkpoint.cp_inodes_count);
+	NANDFS_DEBUG("checkpoint cp_ifile_inode.i_blocks=%lld\n",
+	    fs->nf_checkpoint.cp_ifile_inode.i_blocks);
+
+	fs->nf_ifile.inode = &fs->nf_checkpoint.cp_ifile_inode;
+	LIST_INIT(&fs->nf_ifile.bmap_bufs);
+	return (0);
+}
+
+#define NINDIR(fs)	((fs)->nf_blocksize / sizeof(nandfs_daddr_t))
+
+static int
+nandfs_open(const char *path, struct open_file *f)
+{
+	struct nandfs *fs;
+	struct nandfs_node *node;
+	int err, bsize;
+
+	NANDFS_DEBUG("nandfs_open('%s', %p)\n", path, f);
+
+	fs = malloc(sizeof(struct nandfs));
+	f->f_fsdata = fs;
+	fs->nf_file = f;
+
+	bsize = nandfs_probe_sectorsize(f);
+	if (bsize < 0) {
+		printf("Cannot probe medium sector size\n");
+		return (EINVAL);
+	}
+
+	fs->nf_sectorsize = bsize;
+
+	/*
+	 * Calculate indirect block levels.
+	 */
+	{
+		nandfs_daddr_t mult;
+		int level;
+
+		mult = 1;
+		for (level = 0; level < NIADDR; level++) {
+			mult *= NINDIR(fs);
+			fs->nf_nindir[level] = mult;
+		}
+	}
+
+	NANDFS_DEBUG("fs %p nf_sectorsize=%x\n", fs, fs->nf_sectorsize);
+
+	err = nandfs_mount(fs, f);
+	if (err) {
+		NANDFS_DEBUG("Cannot mount nandfs: %s\n", strerror(err));
+		return (err);
+	}
+
+	node = nandfs_lookup_path(fs, path);
+	if (node == NULL)
+		return (EINVAL);
+
+	fs->nf_offset = 0;
+	fs->nf_buf = NULL;
+	fs->nf_buf_blknr = -1;
+	fs->nf_opened_node = node;
+	LIST_INIT(&fs->nf_opened_node->bmap_bufs);
+	return (0);
+}
+
+static int
+nandfs_free_node(struct nandfs_node *node)
+{
+	struct bmap_buf *bmap, *tmp;
+
+	free(node->inode);
+	LIST_FOREACH_SAFE(bmap, &node->bmap_bufs, list, tmp) {
+		LIST_REMOVE(bmap, list);
+		free(bmap->map);
+		free(bmap);
+	}
+	free(node);
+
+}
+
+static int
+nandfs_close(struct open_file *f)
+{
+	struct nandfs *fs = f->f_fsdata;
+
+	NANDFS_DEBUG("nandfs_close(%p)\n", f);
+
+	if (fs->nf_buf != NULL)
+		free(fs->nf_buf);
+
+	nandfs_free_node(fs->nf_opened_node);
+	free(fs->nf_sb);
+	free(fs);
+}
+
+static int
+nandfs_read(struct open_file *f, void *addr, size_t size, size_t *resid)
+{
+	struct nandfs *fs = (struct nandfs *)f->f_fsdata;
+	size_t csize, buf_size;
+	uint8_t *buf;
+	int error = 0;
+
+	NANDFS_DEBUG("nandfs_read(file=%p, addr=%p, size=%d)\n", f, addr, size);
+
+	while (size != 0) {
+		if (fs->nf_offset >= fs->nf_opened_node->inode->i_size)
+			break;
+
+		error = nandfs_buf_read(fs, (void *)&buf, &buf_size);
+		if (error)
+			break;
+
+		csize = size;
+		if (csize > buf_size)
+			csize = buf_size;
+
+		bcopy(buf, addr, csize);
+
+		fs->nf_offset += csize;
+		addr = (char *)addr + csize;
+		size -= csize;
+	}
+
+	if (resid)
+		*resid = size;
+	return (error);
+}
+
+static off_t
+nandfs_seek(struct open_file *f, off_t offset, int where)
+{
+	struct nandfs *fs = f->f_fsdata;
+	off_t off;
+	u_int size;
+
+	NANDFS_DEBUG("nandfs_seek(file=%p, offset=%lld, where=%d)\n", f,
+	    offset, where);
+
+	size = fs->nf_opened_node->inode->i_size;
+
+	switch (where) {
+	case SEEK_SET:
+		off = 0;
+		break;
+	case SEEK_CUR:
+		off = fs->nf_offset;
+		break;
+	case SEEK_END:
+		off = size;
+		break;
+	default:
+		errno = EINVAL;
+		return (-1);
+	}
+
+	off += offset;
+	if (off < 0 || off > size) {
+		errno = EINVAL;
+		return(-1);
+	}
+
+	fs->nf_offset = (u_int)off;
+
+	return (off);
+}
+
+static int
+nandfs_stat(struct open_file *f, struct stat *sb)
+{
+	struct nandfs *fs = f->f_fsdata;
+
+	NANDFS_DEBUG("nandfs_stat(file=%p, stat=%p)\n", f, sb);
+
+	sb->st_size = fs->nf_opened_node->inode->i_size;
+	sb->st_mode = fs->nf_opened_node->inode->i_mode;
+	sb->st_uid = fs->nf_opened_node->inode->i_uid;
+	sb->st_gid = fs->nf_opened_node->inode->i_gid;
+	return (0);
+}
+
+static int
+nandfs_readdir(struct open_file *f, struct dirent *d)
+{
+	struct nandfs *fs = f->f_fsdata;
+	struct nandfs_dir_entry *dirent;
+	uint8_t *buf;
+	size_t buf_size;
+
+	NANDFS_DEBUG("nandfs_readdir(file=%p, dirent=%p)\n", f, d);
+
+	if (fs->nf_offset >= fs->nf_opened_node->inode->i_size) {
+		NANDFS_DEBUG("nandfs_readdir(file=%p, dirent=%p) ENOENT\n",
+		    f, d);
+		return (ENOENT);
+	}
+
+	if (nandfs_buf_read(fs, (void *)&buf, &buf_size)) {
+		NANDFS_DEBUG("nandfs_readdir(file=%p, dirent=%p)"
+		    "buf_read failed\n", f, d);
+		return (EIO);
+	}
+
+	NANDFS_DEBUG("nandfs_readdir(file=%p, dirent=%p) moving forward\n",
+	    f, d);
+
+	dirent = (struct nandfs_dir_entry *)buf;
+	fs->nf_offset += dirent->rec_len;
+	strncpy(d->d_name, dirent->name, dirent->name_len);
+	d->d_name[dirent->name_len] = '\0';
+	d->d_type = dirent->file_type;
+	return (0);
+}
+
+static int
+nandfs_buf_read(struct nandfs *fs, char **buf_p, size_t *size_p)
+{
+	nandfs_daddr_t blknr, blkoff;
+
+	blknr = fs->nf_offset / fs->nf_blocksize;
+	blkoff = fs->nf_offset % fs->nf_blocksize;
+
+	if (blknr != fs->nf_buf_blknr) {
+		if (fs->nf_buf == NULL)
+			fs->nf_buf = malloc(fs->nf_blocksize);
+
+		if (nandfs_read_inode(fs, fs->nf_opened_node, blknr, 1,
+		    fs->nf_buf, 0))
+			return (EIO);
+
+		fs->nf_buf_blknr = blknr;
+	}
+
+	*buf_p = fs->nf_buf + blkoff;
+	*size_p = fs->nf_blocksize - blkoff;
+
+	NANDFS_DEBUG("nandfs_buf_read buf_p=%p size_p=%d\n", *buf_p, *size_p);
+
+	if (*size_p > fs->nf_opened_node->inode->i_size - fs->nf_offset)
+		*size_p = fs->nf_opened_node->inode->i_size - fs->nf_offset;
+
+	return (0);
+}
+
+static struct nandfs_node *
+nandfs_lookup_node(struct nandfs *fs, uint64_t ino)
+{
+	uint64_t blocknr;
+	int entrynr;
+	struct nandfs_inode *buffer;
+	struct nandfs_node *node;
+	struct nandfs_inode *inode;
+
+	NANDFS_DEBUG("nandfs_lookup_node ino=%lld\n", ino);
+
+	if (ino == 0) {
+		printf("nandfs_lookup_node: invalid inode requested\n");
+		return (NULL);
+	}
+
+	buffer = malloc(fs->nf_blocksize);
+	inode = malloc(sizeof(struct nandfs_inode));
+	node = malloc(sizeof(struct nandfs_node));
+
+	nandfs_mdt_trans(&fs->nf_ifile_mdt, ino, &blocknr, &entrynr);
+
+	if (nandfs_read_inode(fs, &fs->nf_ifile, blocknr, 1, buffer, 0))
+		return (NULL);
+
+	memcpy(inode, &buffer[entrynr], sizeof(struct nandfs_inode));
+	node->inode = inode;
+	free(buffer);
+	return (node);
+}
+
+static struct nandfs_node *
+nandfs_lookup_path(struct nandfs *fs, const char *path)
+{
+	struct nandfs_node *node;
+	struct nandfs_dir_entry *dirent;
+	char *namebuf;
+	uint64_t i, j, done, counter, pinode, inode;
+	int nlinks = 0, len, link_len, nameidx;
+	uint8_t *buffer, *orig;
+	char *strp, *lpath;
+
+	buffer = malloc(fs->nf_blocksize);
+	orig = buffer;
+
+	namebuf = malloc(2 * MAXPATHLEN + 2);
+	strncpy(namebuf, path, MAXPATHLEN);
+	namebuf[MAXPATHLEN] = '\0';
+	done = nameidx = 0;
+	lpath = namebuf;
+
+	/* Get the root inode */
+	node = nandfs_lookup_node(fs, NANDFS_ROOT_INO);
+	inode = NANDFS_ROOT_INO;
+
+	while ((strp = strsep(&lpath, "/")) != NULL) {
+		if (*strp == '\0')
+			continue;
+		if ((node->inode->i_mode & IFMT) != IFDIR) {
+			nandfs_free_node(node);
+			node = NULL;
+			goto out;
+		}
+
+		len = strlen(strp);
+		NANDFS_DEBUG("%s: looking for %s\n", __func__, strp);
+		for (i = 0; i < node->inode->i_blocks; i++) {
+			if (nandfs_read_inode(fs, node, i, 1, orig, 0)) {
+				node = NULL;
+				goto out;
+			}
+
+			buffer = orig;
+			done = counter = 0;
+			while (1) {
+				dirent = (struct nandfs_dir_entry *)buffer;
+				NANDFS_DEBUG("%s: dirent.name = %s\n",
+				    __func__, dirent->name);
+				NANDFS_DEBUG("%s: dirent.rec_len = %d\n",
+				    __func__, dirent->rec_len);
+				NANDFS_DEBUG("%s: dirent.inode = %lld\n",
+				    __func__, dirent->inode);
+				if (len == dirent->name_len &&
+				    (strncmp(strp, dirent->name, len) == 0) &&
+				    dirent->inode != 0) {
+					nandfs_free_node(node);
+					node = nandfs_lookup_node(fs,
+					    dirent->inode);
+					pinode = inode;
+					inode = dirent->inode;
+					done = 1;
+					break;
+				}
+
+				counter += dirent->rec_len;
+				buffer += dirent->rec_len;
+
+				if (counter == fs->nf_blocksize)
+					break;
+			}
+
+			if (done)
+				break;
+		}
+
+		if (!done) {
+			node = NULL;
+			goto out;
+		}
+
+		NANDFS_DEBUG("%s: %.*s has mode %o\n",
+		    __func__, dirent->name_len, dirent->name,
+		    node->inode->i_mode);
+
+		if ((node->inode->i_mode & IFMT) == IFLNK) {
+			NANDFS_DEBUG("%s: %.*s is symlink\n",
+			    __func__, dirent->name_len, dirent->name);
+			link_len = node->inode->i_size;
+
+			if (++nlinks > MAXSYMLINKS) {
+				nandfs_free_node(node);
+				node = NULL;
+				goto out;
+			}
+
+			if (nandfs_read_inode(fs, node, 0, 1, orig, 0)) {
+				nandfs_free_node(node);
+				node = NULL;
+				goto out;
+			}
+
+			NANDFS_DEBUG("%s: symlink is  %.*s\n",
+			    __func__, link_len, (char *)orig);
+
+			nameidx = (nameidx == 0) ? MAXPATHLEN + 1 : 0;
+			bcopy((char *)orig, namebuf + nameidx,
+			    (unsigned)link_len);
+			if (lpath != NULL) {
+				namebuf[nameidx + link_len++] = '/';
+				strncpy(namebuf + nameidx + link_len, lpath,
+				    MAXPATHLEN - link_len);
+				namebuf[nameidx + MAXPATHLEN] = '\0';
+			} else
+				namebuf[nameidx + link_len] = '\0';
+
+			NANDFS_DEBUG("%s: strp=%s, lpath=%s, namebuf0=%s, "
+			    "namebuf1=%s, idx=%d\n", __func__, strp, lpath,
+			    namebuf + 0, namebuf + MAXPATHLEN + 1, nameidx);
+
+			lpath = namebuf + nameidx;
+
+			nandfs_free_node(node);
+
+			/*
+			 * If absolute pathname, restart at root. Otherwise
+			 * continue with out parent inode.
+			 */
+			inode = (orig[0] == '/') ? NANDFS_ROOT_INO : pinode;
+			node = nandfs_lookup_node(fs, inode);
+		}
+	}
+
+ out:
+	free(namebuf);
+	free(orig);
+	return (node);
+}
+
+static int
+nandfs_read_inode(struct nandfs *fs, struct nandfs_node *node,
+    nandfs_daddr_t blknr, u_int nblks, void *buf, int raw)
+{
+	int i;
+	uint64_t *pblks;
+	uint64_t *vblks;
+	int error;
+
+	pblks = malloc(nblks * sizeof(uint64_t));
+	vblks = malloc(nblks * sizeof(uint64_t));
+
+	NANDFS_DEBUG("nandfs_read_inode fs=%p node=%p blknr=%lld nblks=%d\n",
+	    fs, node, blknr, nblks);
+	for (i = 0; i < nblks; i++) {
+		error = nandfs_bmap_lookup(fs, node, blknr + i, &vblks[i], raw);
+		if (error) {
+			free(pblks);
+			free(vblks);
+			return (error);
+		}
+		if (raw == 0)
+			pblks[i] = nandfs_vtop(fs, vblks[i]);
+		else
+			pblks[i] = vblks[i];
+	}
+
+	for (i = 0; i < nblks; i++) {
+		if (ioread(fs->nf_file, pblks[i] * fs->nf_blocksize, buf,
+		    fs->nf_blocksize)) {
+			free(pblks);
+			free(vblks);
+			return (EIO);
+		}
+
+		buf += fs->nf_blocksize;
+	}
+
+	free(pblks);
+	free(vblks);
+	return (0);
+}
+
+static int
+nandfs_read_blk(struct nandfs *fs, nandfs_daddr_t blknr, void *buf, int phys)
+{
+	uint64_t pblknr;
+
+	pblknr = (phys ? blknr : nandfs_vtop(fs, blknr));
+
+	return (ioread(fs->nf_file, pblknr * fs->nf_blocksize, buf,
+	    fs->nf_blocksize));
+}
+
+static int
+nandfs_get_checkpoint(struct nandfs *fs, uint64_t cpno,
+    struct nandfs_checkpoint *cp)
+{
+	uint64_t blocknr;
+	int blockoff, cp_per_block, dlen;
+	uint8_t *buf;
+
+	NANDFS_DEBUG("nandfs_get_checkpoint(fs=%p cpno=%lld)\n", fs, cpno);
+
+	buf = malloc(fs->nf_blocksize);
+
+	cpno += NANDFS_CPFILE_FIRST_CHECKPOINT_OFFSET - 1;
+	dlen = fs->nf_fsdata->f_checkpoint_size;
+	cp_per_block = fs->nf_blocksize / dlen;
+	blocknr = cpno / cp_per_block;
+	blockoff = (cpno % cp_per_block) * dlen;
+
+	if (nandfs_read_inode(fs, &fs->nf_cpfile, blocknr, 1, buf, 0)) {
+		free(buf);
+		return (EINVAL);
+	}
+
+	memcpy(cp, buf + blockoff, sizeof(struct nandfs_checkpoint));
+	free(buf);
+
+	return (0);
+}
+
+static uint64_t *
+nandfs_get_map(struct nandfs *fs, struct nandfs_node *node, nandfs_daddr_t blknr,
+    int phys)
+{
+	struct bmap_buf *bmap;
+	uint64_t *map;
+
+	LIST_FOREACH(bmap, &node->bmap_bufs, list) {
+		if (bmap->blknr == blknr)
+			return (bmap->map);
+	}
+
+	map = malloc(fs->nf_blocksize);
+	if (nandfs_read_blk(fs, blknr, map, phys)) {
+		free(map);
+		return (NULL);
+	}
+
+	bmap = malloc(sizeof(struct bmap_buf));
+	bmap->blknr = blknr;
+	bmap->map = map;
+
+	LIST_INSERT_HEAD(&node->bmap_bufs, bmap, list);
+
+	NANDFS_DEBUG("%s:(node=%p, map=%p)\n", __func__, node, map);
+	return (map);
+}
+
+static int
+nandfs_bmap_lookup(struct nandfs *fs, struct nandfs_node *node,
+    nandfs_lbn_t lblknr, nandfs_daddr_t *vblknr, int phys)
+{
+	struct nandfs_inode *ino;
+	nandfs_daddr_t ind_block_num;
+	uint64_t *map, *indir;
+	uint64_t idx0, idx1, vblk, tmp;
+	int idx;
+	int level;
+
+	ino = node->inode;
+
+	if (lblknr < NDADDR) {
+		*vblknr = ino->i_db[lblknr];
+		return (0);
+	}
+
+	lblknr -= NDADDR;
+
+	/*
+	 * nindir[0] = NINDIR
+	 * nindir[1] = NINDIR**2
+	 * nindir[2] = NINDIR**3
+	 *	etc
+	 */
+	for (level = 0; level < NIADDR; level++) {
+		NANDFS_DEBUG("lblknr=%jx fs->nf_nindir[%d]=%d\n", lblknr, level, fs->nf_nindir[level]);
+		if (lblknr < fs->nf_nindir[level])
+			break;
+		lblknr -= fs->nf_nindir[level];
+	}
+
+	if (level == NIADDR) {
+		/* Block number too high */
+		NANDFS_DEBUG("lblknr %jx too high\n", lblknr);
+		return (EFBIG);
+	}
+
+	ind_block_num = ino->i_ib[level];
+
+	for (; level >= 0; level--) {
+		if (ind_block_num == 0) {
+			*vblknr = 0;	/* missing */
+			return (0);
+		}
+
+		twiddle();
+		NANDFS_DEBUG("calling get_map with %jx\n", ind_block_num);
+		map = nandfs_get_map(fs, node, ind_block_num, phys);
+		if (map == NULL)
+			return (EIO);
+
+		if (level > 0) {
+			idx = lblknr / fs->nf_nindir[level - 1];
+			lblknr %= fs->nf_nindir[level - 1];
+		} else
+			idx = lblknr;
+
+		ind_block_num = ((nandfs_daddr_t *)map)[idx];
+	}
+
+	*vblknr = ind_block_num;
+
+	return (0);
+}
+
+static nandfs_daddr_t
+nandfs_vtop(struct nandfs *fs, nandfs_daddr_t vblocknr)
+{
+	nandfs_lbn_t blocknr;
+	nandfs_daddr_t pblocknr;
+	int entrynr;
+	struct nandfs_dat_entry *dat;
+
+	dat = malloc(fs->nf_blocksize);
+	nandfs_mdt_trans(&fs->nf_datfile_mdt, vblocknr, &blocknr, &entrynr);
+
+	if (nandfs_read_inode(fs, &fs->nf_datfile, blocknr, 1, dat, 1)) {
+		free(dat);
+		return (0);
+	}
+
+	NANDFS_DEBUG("nandfs_vtop entrynr=%d vblocknr=%lld pblocknr=%lld\n",
+	    entrynr, vblocknr, dat[entrynr].de_blocknr);
+
+	pblocknr = dat[entrynr].de_blocknr;
+	free(dat);
+	return (pblocknr);
+}
+
+static void
+nandfs_calc_mdt_consts(int blocksize, struct nandfs_mdt *mdt, int entry_size)
+{
+

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 03:02:11 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 525D7106564A;
	Sat, 17 Mar 2012 03:02:11 +0000 (UTC)
	(envelope-from gber@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 408058FC0A;
	Sat, 17 Mar 2012 03:02:11 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2H32BgE047237;
	Sat, 17 Mar 2012 03:02:11 GMT (envelope-from gber@svn.freebsd.org)
Received: (from gber@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2H32BJ1047232;
	Sat, 17 Mar 2012 03:02:11 GMT (envelope-from gber@svn.freebsd.org)
Message-Id: <201203170302.q2H32BJ1047232@svn.freebsd.org>
From: Grzegorz Bernacki <gber@FreeBSD.org>
Date: Sat, 17 Mar 2012 03:02:10 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r233071 - in projects/nand/lib: . libnandfs
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 03:02:11 -0000

Author: gber
Date: Sat Mar 17 03:02:10 2012
New Revision: 233071
URL: http://svn.freebsd.org/changeset/base/233071

Log:
  Add NANDFS library.
  
  Obtained from: Semihalf
  Supported by:  FreeBSD Foundation, Juniper Networks

Added:
  projects/nand/lib/libnandfs/
  projects/nand/lib/libnandfs/Makefile
  projects/nand/lib/libnandfs/libnandfs.h
  projects/nand/lib/libnandfs/nandfs.c
Modified:
  projects/nand/lib/Makefile

Modified: projects/nand/lib/Makefile
==============================================================================
--- projects/nand/lib/Makefile	Sat Mar 17 03:00:51 2012	(r233070)
+++ projects/nand/lib/Makefile	Sat Mar 17 03:02:10 2012	(r233071)
@@ -85,6 +85,7 @@ SUBDIR=	${SUBDIR_ORDERED} \
 	libmemstat \
 	${_libmilter} \
 	${_libmp} \
+	${_libnandfs} \
 	${_libncp} \
 	${_libngatm} \
 	libopie \
@@ -171,6 +172,10 @@ _libipx=	libipx
 _libthr=	libthr
 .endif
 
+.if ${MK_NAND} != "no"
+_libnandfs=	libnandfs
+.endif
+
 .if ${MK_NETGRAPH} != "no"
 _libnetgraph=	libnetgraph
 .endif

Added: projects/nand/lib/libnandfs/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/nand/lib/libnandfs/Makefile	Sat Mar 17 03:02:10 2012	(r233071)
@@ -0,0 +1,7 @@
+LIB=	nandfs
+SRCS+=	nandfs.c
+INCS=	libnandfs.h
+
+CFLAGS += -I${.CURDIR}
+
+.include <bsd.lib.mk>

Added: projects/nand/lib/libnandfs/libnandfs.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/nand/lib/libnandfs/libnandfs.h	Sat Mar 17 03:02:10 2012	(r233071)
@@ -0,0 +1,72 @@
+/*-
+ * Copyright (c) 2010-2012 Semihalf.
+ * 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$
+ */
+
+#ifndef	_LIBNANDFS_NANDFS_H
+#define	_LIBNANDFS_NANDFS_H
+
+struct nandfs {
+	struct nandfs_fsdata		n_fsdata;
+	struct nandfs_super_block	n_sb;
+	char				n_ioc[MNAMELEN];
+	char				n_dev[MNAMELEN];
+	int				n_iocfd;
+	int				n_devfd;
+	int				n_flags;
+	char				n_errmsg[120];
+};
+
+int nandfs_iserror(struct nandfs *);
+const char *nandfs_errmsg(struct nandfs *);
+
+void nandfs_init(struct nandfs *, const char *);
+void nandfs_destroy(struct nandfs *);
+
+int nandfs_cleanerd_set(struct nandfs *);
+int nandfs_cleanerd_unset(struct nandfs *);
+
+const char *nandfs_dev(struct nandfs *);
+
+int nandfs_open(struct nandfs *);
+int nandfs_open_rw(struct nandfs *);
+int nandfs_open_dev(struct nandfs *);
+void nandfs_close(struct nandfs *);
+void nandfs_close_dev(struct nandfs *);
+
+int nandfs_lock(struct nandfs *, int write);
+int nandfs_unlock(struct nandfs *);
+
+ssize_t nandfs_get_cp(struct nandfs *, uint64_t,
+    struct nandfs_cpinfo *, size_t);
+
+ssize_t nandfs_get_snap(struct nandfs *, uint64_t,
+    struct nandfs_cpinfo *, size_t);
+
+int nandfs_make_snap(struct nandfs *, uint64_t *);
+int nandfs_delete_snap(struct nandfs *, uint64_t);
+
+#endif	/* _LIBNANDFS_NANDFS_H */

Added: projects/nand/lib/libnandfs/nandfs.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/nand/lib/libnandfs/nandfs.c	Sat Mar 17 03:02:10 2012	(r233071)
@@ -0,0 +1,379 @@
+/*-
+ * Copyright (c) 2010-2012 Semihalf.
+ * 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.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <assert.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <sys/param.h>
+#include <sys/stdint.h>
+#include <sys/ucred.h>
+#include <sys/disk.h>
+#include <sys/mount.h>
+
+#include <fs/nandfs/nandfs_fs.h>
+#include <libnandfs.h>
+
+#define	NANDFS_IS_VALID		0x1
+#define	NANDFS_IS_OPENED	0x2
+#define	NANDFS_IS_OPENED_DEV	0x4
+#define	NANDFS_IS_ERROR		0x8
+#define	NANDFS_IS_LOCKED	0x10
+#define	NANDFS_IS_READONLY	0x20
+
+#define DEBUG
+#undef DEBUG
+#ifdef DEBUG
+#define NANDFS_DEBUG(fmt, args...) do { \
+    printf("libnandfs:" fmt "\n", ##args); } while (0)
+#else
+#define NANDFS_DEBUG(fmt, args...)
+#endif
+
+#define	NANDFS_ASSERT_VALID(fs)		assert((fs)->n_flags & NANDFS_IS_VALID)
+#define	NANDFS_ASSERT_VALID_DEV(fs)	\
+	assert(((fs)->n_flags & (NANDFS_IS_VALID | NANDFS_IS_OPENED_DEV)) == \
+	    (NANDFS_IS_VALID | NANDFS_IS_OPENED_DEV))
+#define NANDFS_ASSERT_RDWR(fs)		\
+	assert(!((fs)->n_flags & NANDFS_IS_READONLY))
+#define NANDFS_ASSERT_LOCKED(fs)	\
+	assert((fs)->n_flags & NANDFS_IS_LOCKED)
+#define NANDFS_ASSERT_UNLOCKED(fs)	\
+	assert(!((fs)->n_flags & NANDFS_IS_LOCKED))
+
+int
+nandfs_iserror(struct nandfs *fs)
+{
+
+	NANDFS_ASSERT_VALID(fs);
+
+	return (fs->n_flags & NANDFS_IS_ERROR);
+}
+
+const char *
+nandfs_errmsg(struct nandfs *fs)
+{
+
+	NANDFS_ASSERT_VALID(fs);
+
+	assert(nandfs_iserror(fs));
+	assert(fs->n_errmsg);
+	return (fs->n_errmsg);
+}
+
+static void
+nandfs_seterr(struct nandfs *fs, const char *fmt, ...)
+{
+	va_list ap;
+
+	va_start(ap, fmt);
+	vsnprintf(fs->n_errmsg, sizeof(fs->n_errmsg), fmt, ap);
+	va_end(ap);
+	fs->n_flags |= NANDFS_IS_ERROR;
+}
+
+int
+nandfs_cleanerd_set(struct nandfs *fs)
+{
+
+	NANDFS_ASSERT_VALID_DEV(fs);
+
+	if (ioctl(fs->n_iocfd, NANDFS_IOCTL_CLEANERD_SET) == -1) {
+		nandfs_seterr(fs, "%s", strerror(errno));
+		return (-1);
+	}
+
+	return (0);
+}
+
+int
+nandfs_cleanerd_unset(struct nandfs *fs)
+{
+
+	NANDFS_ASSERT_VALID_DEV(fs);
+
+	if (ioctl(fs->n_iocfd, NANDFS_IOCTL_CLEANERD_UNSET) == -1) {
+		nandfs_seterr(fs, "%s", strerror(errno));
+		return (-1);
+	}
+
+	return (0);
+}
+
+int
+nandfs_lock(struct nandfs *fs, int rdwr)
+{
+	struct flock lck;
+	int error;
+
+	NANDFS_ASSERT_VALID(fs);
+	NANDFS_ASSERT_RDWR(fs);
+	NANDFS_ASSERT_UNLOCKED(fs);
+
+	lck.l_type = (rdwr ? F_WRLCK : F_RDLCK);
+	lck.l_start = 0;
+	lck.l_whence = SEEK_SET;
+	lck.l_len = 1;
+
+	error = fcntl(fs->n_iocfd, F_SETLKW, &lck);
+	if (error == -1) {
+		nandfs_seterr(fs, "couldn't lock %s: %s", fs->n_ioc,
+		    strerror(errno));
+		return (-1);
+	}
+
+	fs->n_flags |= NANDFS_IS_LOCKED;
+
+	return (0);
+}
+
+int
+nandfs_unlock(struct nandfs *fs)
+{
+	struct flock lck;
+	int error;
+
+	NANDFS_ASSERT_VALID(fs);
+	NANDFS_ASSERT_RDWR(fs);
+	NANDFS_ASSERT_LOCKED(fs);
+
+	lck.l_type = F_UNLCK;
+	lck.l_start = 0;
+	lck.l_whence = SEEK_SET;
+	lck.l_len = 1;
+
+	error = fcntl(fs->n_iocfd, F_SETLK, &lck);
+	if (error == -1) {
+		nandfs_seterr(fs, "couldn't unlock %s: %s", fs->n_ioc,
+		    strerror(errno));
+		return (-1);
+	}
+
+	fs->n_flags &= ~NANDFS_IS_LOCKED;
+
+	return (0);
+}
+
+const char *
+nandfs_dev(struct nandfs *fs)
+{
+
+	NANDFS_ASSERT_VALID(fs);
+	return (fs->n_dev);
+}
+
+void
+nandfs_init(struct nandfs *fs, const char *dir)
+{
+
+	snprintf(fs->n_ioc, sizeof(fs->n_ioc), "%s/%s", dir, ".nandfs");
+	fs->n_iocfd = -1;
+	fs->n_flags = NANDFS_IS_VALID;
+}
+
+void
+nandfs_destroy(struct nandfs *fs)
+{
+
+	assert(fs->n_iocfd == -1);
+	fs->n_flags &=
+	    ~(NANDFS_IS_ERROR | NANDFS_IS_VALID | NANDFS_IS_READONLY);
+	assert(fs->n_flags == 0);
+}
+
+static int
+_nandfs_open(struct nandfs *fs, int rdwr)
+{
+	struct nandfs_fsinfo fsinfo;
+	int flags;
+
+	fs->n_flags |= NANDFS_IS_OPENED;
+
+	if (rdwr)
+		flags = O_RDWR;
+	else {
+		fs->n_flags |= NANDFS_IS_READONLY;
+		flags = O_RDONLY;
+	}
+
+	fs->n_iocfd = open(fs->n_ioc, flags, S_IRUSR | S_IWUSR | S_IRGRP |
+	    S_IWGRP | S_IROTH | S_IWOTH);
+	if (fs->n_iocfd == -1) {
+		nandfs_seterr(fs, "couldn't open %s: %s", fs->n_ioc,
+		    strerror(errno));
+		return (-1);
+	}
+
+	if (ioctl(fs->n_iocfd, NANDFS_IOCTL_GET_FSINFO, &fsinfo) == -1) {
+		nandfs_seterr(fs, "couldn't fetch fsinfo: %s",
+		    strerror(errno));
+		return (-1);
+	}
+
+	memcpy(&fs->n_fsdata, &fsinfo.fs_fsdata, sizeof(fs->n_fsdata));
+	memcpy(&fs->n_sb, &fsinfo.fs_super, sizeof(fs->n_sb));
+	snprintf(fs->n_dev, sizeof(fs->n_dev), fsinfo.fs_dev);
+
+	return (0);
+}
+
+int
+nandfs_open(struct nandfs *fs)
+{
+
+	return (_nandfs_open(fs, 0));
+}
+
+int
+nandfs_open_rw(struct nandfs *fs)
+{
+
+	return (_nandfs_open(fs, 1));
+}
+
+int
+nandfs_open_dev(struct nandfs *fs)
+{
+
+	fs->n_flags |= NANDFS_IS_OPENED_DEV;
+
+	if (nandfs_open_rw(fs) == -1)
+		return (-1);
+
+	fs->n_devfd = open(fs->n_dev, O_RDONLY);
+	if (fs->n_devfd == -1) {
+		nandfs_seterr(fs, "couldn't open %s: %s", fs->n_dev,
+		    strerror(errno));
+		return (-1);
+	}
+
+	return (0);
+}
+
+void
+nandfs_close(struct nandfs *fs)
+{
+
+	NANDFS_ASSERT_VALID(fs);
+	assert(fs->n_flags & NANDFS_IS_OPENED);
+
+	close(fs->n_iocfd);
+	fs->n_iocfd = -1;
+	fs->n_flags &= ~NANDFS_IS_OPENED;
+}
+
+void
+nandfs_close_dev(struct nandfs *fs)
+{
+
+	assert(fs->n_flags & NANDFS_IS_OPENED_DEV);
+
+	close(fs->n_devfd);
+	fs->n_devfd = -1;
+	fs->n_flags &= ~NANDFS_IS_OPENED_DEV;
+	nandfs_close(fs);
+}
+
+static ssize_t
+nandfs_get_cpinfo(struct nandfs *fs, uint64_t cno, int mode,
+    struct nandfs_cpinfo *cpinfo, size_t nci)
+{
+	struct nandfs_argv args;
+
+	NANDFS_ASSERT_VALID(fs);
+
+	args.nv_base = (u_long)cpinfo;
+	args.nv_nmembs = nci;
+	args.nv_index = cno;
+	args.nv_flags = mode;
+
+	if (ioctl(fs->n_iocfd, NANDFS_IOCTL_GET_CPINFO, &args) == -1) {
+		nandfs_seterr(fs, "ioctl NANDFS_IOCTL_GET_CPINFO: %s",
+		    strerror(errno));
+		return (-1);
+	}
+
+	return (args.nv_nmembs);
+}
+
+ssize_t
+nandfs_get_cp(struct nandfs *fs, uint64_t cno, struct nandfs_cpinfo *cpinfo,
+    size_t nci)
+{
+
+	return (nandfs_get_cpinfo(fs, cno, NANDFS_CHECKPOINT, cpinfo, nci));
+}
+
+ssize_t
+nandfs_get_snap(struct nandfs *fs, uint64_t cno, struct nandfs_cpinfo *cpinfo,
+    size_t nci)
+{
+
+	return (nandfs_get_cpinfo(fs, cno, NANDFS_SNAPSHOT, cpinfo, nci));
+}
+
+int
+nandfs_make_snap(struct nandfs *fs, uint64_t *cno)
+{
+
+	NANDFS_ASSERT_VALID(fs);
+	NANDFS_ASSERT_RDWR(fs);
+	NANDFS_ASSERT_LOCKED(fs);
+
+	if (ioctl(fs->n_iocfd, NANDFS_IOCTL_MAKE_SNAP, cno) == -1) {
+		nandfs_seterr(fs, "ioctl NANDFS_IOCTL_MAKE_SNAP: %s",
+		    strerror(errno));
+		return (-1);
+	}
+
+	return (0);
+}
+
+int
+nandfs_delete_snap(struct nandfs *fs, uint64_t cno)
+{
+
+	NANDFS_ASSERT_VALID(fs);
+	NANDFS_ASSERT_RDWR(fs);
+	NANDFS_ASSERT_LOCKED(fs);
+
+	if (ioctl(fs->n_iocfd, NANDFS_IOCTL_DELETE_SNAP, &cno) == -1) {
+		nandfs_seterr(fs, "ioctl NANDFS_IOCTL_DELETE_SNAP: %s",
+		    strerror(errno));
+		return (-1);
+	}
+
+	return (0);
+}

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 03:18:29 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id B9655106566C;
	Sat, 17 Mar 2012 03:18:29 +0000 (UTC)
	(envelope-from gber@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 8FE0F8FC0A;
	Sat, 17 Mar 2012 03:18:29 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2H3ITiT047897;
	Sat, 17 Mar 2012 03:18:29 GMT (envelope-from gber@svn.freebsd.org)
Received: (from gber@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2H3ITdI047893;
	Sat, 17 Mar 2012 03:18:29 GMT (envelope-from gber@svn.freebsd.org)
Message-Id: <201203170318.q2H3ITdI047893@svn.freebsd.org>
From: Grzegorz Bernacki <gber@FreeBSD.org>
Date: Sat, 17 Mar 2012 03:18:29 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r233072 - projects/nand/sys/kern
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 03:18:29 -0000

Author: gber
Date: Sat Mar 17 03:18:28 2012
New Revision: 233072
URL: http://svn.freebsd.org/changeset/base/233072

Log:
  Add VFS changes necessary for NANDFS to work.
  
  Ignore B_MANAGED buffer by syncer and ignore signal when msleep as it
  can cause file system inconsistency.
  
  Obtained from: Semihalf
  Supported by:  FreeBSD Foundation, Juniper Networks

Modified:
  projects/nand/sys/kern/vfs_bio.c
  projects/nand/sys/kern/vfs_subr.c
  projects/nand/sys/kern/vfs_vnops.c

Modified: projects/nand/sys/kern/vfs_bio.c
==============================================================================
--- projects/nand/sys/kern/vfs_bio.c	Sat Mar 17 03:02:10 2012	(r233071)
+++ projects/nand/sys/kern/vfs_bio.c	Sat Mar 17 03:18:28 2012	(r233072)
@@ -2672,7 +2672,8 @@ loop:
 		else if ((bp->b_flags & (B_VMIO | B_INVAL)) == 0)
 			bp->b_flags |= B_CACHE;
 		BO_LOCK(bo);
-		bremfree(bp);
+		if (!(bp->b_flags & B_MANAGED))
+			bremfree(bp);
 		BO_UNLOCK(bo);
 
 		/*

Modified: projects/nand/sys/kern/vfs_subr.c
==============================================================================
--- projects/nand/sys/kern/vfs_subr.c	Sat Mar 17 03:02:10 2012	(r233071)
+++ projects/nand/sys/kern/vfs_subr.c	Sat Mar 17 03:18:28 2012	(r233072)
@@ -2018,7 +2018,8 @@ reassignbuf(struct buf *bp)
 	 * of clean buffers.
 	 */
 	if (bp->b_flags & B_DELWRI) {
-		if ((bo->bo_flag & BO_ONWORKLST) == 0) {
+		if (!(bp->b_flags & B_MANAGED) &&
+		    (bo->bo_flag & BO_ONWORKLST) == 0) {
 			switch (vp->v_type) {
 			case VDIR:
 				delay = dirdelay;
@@ -2034,13 +2035,15 @@ reassignbuf(struct buf *bp)
 		buf_vlist_add(bp, bo, BX_VNDIRTY);
 	} else {
 		buf_vlist_add(bp, bo, BX_VNCLEAN);
-
-		if ((bo->bo_flag & BO_ONWORKLST) && bo->bo_dirty.bv_cnt == 0) {
-			mtx_lock(&sync_mtx);
-			LIST_REMOVE(bo, bo_synclist);
-			syncer_worklist_len--;
-			mtx_unlock(&sync_mtx);
-			bo->bo_flag &= ~BO_ONWORKLST;
+		if (!(bp->b_flags & B_MANAGED)) {
+			if ((bo->bo_flag & BO_ONWORKLST) &&
+			    bo->bo_dirty.bv_cnt == 0) {
+				mtx_lock(&sync_mtx);
+				LIST_REMOVE(bo, bo_synclist);
+				syncer_worklist_len--;
+				mtx_unlock(&sync_mtx);
+				bo->bo_flag &= ~BO_ONWORKLST;
+			}
 		}
 	}
 #ifdef INVARIANTS

Modified: projects/nand/sys/kern/vfs_vnops.c
==============================================================================
--- projects/nand/sys/kern/vfs_vnops.c	Sat Mar 17 03:02:10 2012	(r233071)
+++ projects/nand/sys/kern/vfs_vnops.c	Sat Mar 17 03:18:28 2012	(r233072)
@@ -1055,6 +1055,8 @@ vn_start_write(vp, mpp, flags)
 				error = EWOULDBLOCK;
 				goto unlock;
 			}
+			if (strcmp(mp->mnt_stat.f_fstypename, "nandfs") == 0)
+				flags &= ~PCATCH;
 			error = msleep(&mp->mnt_flag, MNT_MTX(mp),
 			    (PUSER - 1) | (flags & PCATCH), "suspfs", 0);
 			if (error)

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 03:23:15 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 1AF31106566C;
	Sat, 17 Mar 2012 03:23:13 +0000 (UTC)
	(envelope-from gber@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id C2D308FC12;
	Sat, 17 Mar 2012 03:23:13 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2H3NDDd048080;
	Sat, 17 Mar 2012 03:23:13 GMT (envelope-from gber@svn.freebsd.org)
Received: (from gber@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2H3NDCs048073;
	Sat, 17 Mar 2012 03:23:13 GMT (envelope-from gber@svn.freebsd.org)
Message-Id: <201203170323.q2H3NDCs048073@svn.freebsd.org>
From: Grzegorz Bernacki <gber@FreeBSD.org>
Date: Sat, 17 Mar 2012 03:23:13 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r233073 - projects/nand/sys/geom
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 03:23:15 -0000

Author: gber
Date: Sat Mar 17 03:23:13 2012
New Revision: 233073
URL: http://svn.freebsd.org/changeset/base/233073

Log:
  Add changes required for proper working of NAND chip geom devices.
  
  Obtained from: Semihalf
  Supported by:  FreeBSD Foundation, Juniper Networks

Modified:
  projects/nand/sys/geom/geom.h
  projects/nand/sys/geom/geom_dev.c
  projects/nand/sys/geom/geom_disk.c
  projects/nand/sys/geom/geom_disk.h
  projects/nand/sys/geom/geom_io.c
  projects/nand/sys/geom/geom_slice.c

Modified: projects/nand/sys/geom/geom.h
==============================================================================
--- projects/nand/sys/geom/geom.h	Sat Mar 17 03:18:28 2012	(r233072)
+++ projects/nand/sys/geom/geom.h	Sat Mar 17 03:23:13 2012	(r233073)
@@ -309,6 +309,8 @@ struct bio *g_alloc_bio(void);
 void * g_read_data(struct g_consumer *cp, off_t offset, off_t length, int *error);
 int g_write_data(struct g_consumer *cp, off_t offset, void *ptr, off_t length);
 int g_delete_data(struct g_consumer *cp, off_t offset, off_t length);
+void *g_read_oob(struct g_consumer *cp, off_t offset, off_t length, int *error);
+int g_write_oob(struct g_consumer *cp, off_t offset, void *ptr, off_t length);
 void g_print_bio(struct bio *bp);
 
 /* geom_kern.c / geom_kernsim.c */

Modified: projects/nand/sys/geom/geom_dev.c
==============================================================================
--- projects/nand/sys/geom/geom_dev.c	Sat Mar 17 03:18:28 2012	(r233072)
+++ projects/nand/sys/geom/geom_dev.c	Sat Mar 17 03:23:13 2012	(r233073)
@@ -311,8 +311,10 @@ g_dev_ioctl(struct cdev *dev, u_long cmd
 	struct g_consumer *cp;
 	struct g_provider *pp;
 	struct g_kerneldump kd;
+	struct nand_oob_request *nand_req;
 	off_t offset, length, chunk;
 	int i, error;
+	void *buf;
 	u_int u;
 
 	gp = dev->si_drv1;
@@ -345,6 +347,16 @@ g_dev_ioctl(struct cdev *dev, u_long cmd
 		if (error == 0 && *(u_int *)data == 0)
 			error = ENOENT;
 		break;
+	case DIOCNOOBSIZE:
+		error = g_io_getattr("NAND::oobsize", cp, &i, data);
+		if (error == 0 && *(u_int *)data == 0)
+			error = ENOENT;
+		break;
+	case DIOCNBLKSIZE:
+		error = g_io_getattr("NAND::blocksize", cp, &i, data);
+		if (error == 0 && *(u_int *)data == 0)
+			error = ENOENT;
+		break;
 	case DIOCGFRONTSTUFF:
 		error = g_io_getattr("GEOM::frontstuff", cp, &i, data);
 		break;
@@ -396,6 +408,28 @@ g_dev_ioctl(struct cdev *dev, u_long cmd
 				break;
 		}
 		break;
+	case DIOCNREADOOB:
+		nand_req = (struct nand_oob_request *)data;
+
+		buf = g_read_oob(cp, nand_req->offset, nand_req->length,
+		    &error);
+		if (error)
+			break;
+
+		error = copyout(buf, nand_req->ubuf, nand_req->length);
+		break;
+	case DIOCNWRITEOOB:
+		nand_req = (struct nand_oob_request *)data;
+
+		buf = g_malloc(nand_req->length, M_WAITOK);
+		error = copyin(nand_req->ubuf, buf, nand_req->length);
+
+		if (error)
+			break;
+
+		error = g_write_oob(cp, nand_req->offset, buf,
+		    nand_req->length);
+		break;
 	case DIOCGIDENT:
 		error = g_io_getattr("GEOM::ident", cp, &i, data);
 		break;

Modified: projects/nand/sys/geom/geom_disk.c
==============================================================================
--- projects/nand/sys/geom/geom_disk.c	Sat Mar 17 03:18:28 2012	(r233072)
+++ projects/nand/sys/geom/geom_disk.c	Sat Mar 17 03:23:13 2012	(r233073)
@@ -368,6 +368,10 @@ g_disk_start(struct bio *bp)
 			break;
 		else if (g_handleattr_int(bp, "GEOM::fwheads", dp->d_fwheads))
 			break;
+		else if (g_handleattr_int(bp, "NAND::oobsize", dp->n_oobsize))
+			break;
+		else if (g_handleattr_int(bp, "NAND::pagesize", dp->n_pagesize))
+			break;
 		else if (g_handleattr_off_t(bp, "GEOM::frontstuff", 0))
 			break;
 		else if (g_handleattr_str(bp, "GEOM::ident", dp->d_ident))

Modified: projects/nand/sys/geom/geom_disk.h
==============================================================================
--- projects/nand/sys/geom/geom_disk.h	Sat Mar 17 03:18:28 2012	(r233072)
+++ projects/nand/sys/geom/geom_disk.h	Sat Mar 17 03:23:13 2012	(r233073)
@@ -86,6 +86,8 @@ struct disk {
 	u_int			d_maxsize;
 	u_int			d_stripeoffset;
 	u_int			d_stripesize;
+	u_int			n_oobsize;
+	u_int			n_pagesize;
 	char			d_ident[DISK_IDENT_SIZE];
 	char			d_descr[DISK_IDENT_SIZE];
 	uint16_t		d_hba_vendor;

Modified: projects/nand/sys/geom/geom_io.c
==============================================================================
--- projects/nand/sys/geom/geom_io.c	Sat Mar 17 03:18:28 2012	(r233072)
+++ projects/nand/sys/geom/geom_io.c	Sat Mar 17 03:23:13 2012	(r233073)
@@ -289,11 +289,13 @@ g_io_check(struct bio *bp)
 	/* Fail if access counters dont allow the operation */
 	switch(bp->bio_cmd) {
 	case BIO_READ:
+	case BIO_READOOB:
 	case BIO_GETATTR:
 		if (cp->acr == 0)
 			return (EPERM);
 		break;
 	case BIO_WRITE:
+	case BIO_WRITEOOB:
 	case BIO_DELETE:
 	case BIO_FLUSH:
 		if (cp->acw == 0)
@@ -759,6 +761,52 @@ g_delete_data(struct g_consumer *cp, off
 	return (error);
 }
 
+void *
+g_read_oob(struct g_consumer *cp, off_t offset, off_t length, int *error)
+{
+	struct bio *bp;
+	void *ptr;
+	int errorc;
+
+	bp = g_alloc_bio();
+	bp->bio_cmd = BIO_READOOB;
+	bp->bio_done = NULL;
+	bp->bio_offset = offset;
+	bp->bio_length = length;
+	ptr = g_malloc(length, M_WAITOK);
+	bp->bio_data = ptr;
+	g_io_request(bp, cp);
+	errorc = biowait(bp, "groob");
+	if (error != NULL)
+		*error = errorc;
+
+	g_destroy_bio(bp);
+	if (errorc) {
+		g_free(ptr);
+		ptr = NULL;
+	}
+
+	return (ptr);
+}
+
+int
+g_write_oob(struct g_consumer *cp, off_t offset, void *ptr, off_t length)
+{
+	struct bio *bp;
+	int error;
+
+	bp = g_alloc_bio();
+	bp->bio_cmd = BIO_WRITEOOB;
+	bp->bio_done = NULL;
+	bp->bio_offset = offset;
+	bp->bio_length = length;
+	bp->bio_data = ptr;
+	g_io_request(bp, cp);
+	error = biowait(bp, "gwoob");
+	g_destroy_bio(bp);
+	return (error);
+}
+
 void
 g_print_bio(struct bio *bp)
 {

Modified: projects/nand/sys/geom/geom_slice.c
==============================================================================
--- projects/nand/sys/geom/geom_slice.c	Sat Mar 17 03:18:28 2012	(r233072)
+++ projects/nand/sys/geom/geom_slice.c	Sat Mar 17 03:23:13 2012	(r233073)
@@ -215,7 +215,9 @@ g_slice_start(struct bio *bp)
 	gsl = &gsp->slices[idx];
 	switch(bp->bio_cmd) {
 	case BIO_READ:
+	case BIO_READOOB:
 	case BIO_WRITE:
+	case BIO_WRITEOOB:
 	case BIO_DELETE:
 		if (bp->bio_offset > gsl->length) {
 			g_io_deliver(bp, EINVAL); /* XXX: EWHAT ? */
@@ -233,8 +235,10 @@ g_slice_start(struct bio *bp)
 			if (t + bp->bio_length <= ghp->offset)
 				continue;
 			switch(bp->bio_cmd) {
-			case BIO_READ:		idx = ghp->ract; break;
-			case BIO_WRITE:		idx = ghp->wact; break;
+			case BIO_READ:
+			case BIO_READOOB:	idx = ghp->ract; break;
+			case BIO_WRITE:
+			case BIO_WRITEOOB:	idx = ghp->wact; break;
 			case BIO_DELETE:	idx = ghp->dact; break;
 			}
 			switch(idx) {

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 03:28:37 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id EBDB5106566B;
	Sat, 17 Mar 2012 03:28:37 +0000 (UTC)
	(envelope-from gber@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id D15AA8FC16;
	Sat, 17 Mar 2012 03:28:37 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2H3SbEV048269;
	Sat, 17 Mar 2012 03:28:37 GMT (envelope-from gber@svn.freebsd.org)
Received: (from gber@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2H3SbfX048266;
	Sat, 17 Mar 2012 03:28:37 GMT (envelope-from gber@svn.freebsd.org)
Message-Id: <201203170328.q2H3SbfX048266@svn.freebsd.org>
From: Grzegorz Bernacki <gber@FreeBSD.org>
Date: Sat, 17 Mar 2012 03:28:37 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r233074 - projects/nand/share/man/man5
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 03:28:38 -0000

Author: gber
Date: Sat Mar 17 03:28:37 2012
New Revision: 233074
URL: http://svn.freebsd.org/changeset/base/233074

Log:
  Add manual pages for NANDFS.
  
  Obtained from: Semihalf
  Supported by:  FreeBSD Foundation, Juniper Networks

Added:
  projects/nand/share/man/man5/nandfs.5
Modified:
  projects/nand/share/man/man5/Makefile

Modified: projects/nand/share/man/man5/Makefile
==============================================================================
--- projects/nand/share/man/man5/Makefile	Sat Mar 17 03:23:13 2012	(r233073)
+++ projects/nand/share/man/man5/Makefile	Sat Mar 17 03:28:37 2012	(r233074)
@@ -85,6 +85,10 @@ MLINKS+=resolver.5 resolv.conf.5
 MAN+=	hesiod.conf.5 
 .endif
 
+.if ${MK_NAND} != "no"
+MAN+=	nandfs.5
+.endif
+
 .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
 _boot.config.5=	boot.config.5
 .endif

Added: projects/nand/share/man/man5/nandfs.5
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/nand/share/man/man5/nandfs.5	Sat Mar 17 03:28:37 2012	(r233074)
@@ -0,0 +1,131 @@
+.\"
+.\" Copyright (c) 2010 Semihalf
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd Nov 11, 2010
+.Dt NANDFS 5
+.Os
+.Sh NAME
+.Nm nandfs
+.Nd NAND Flash file system
+.Sh SYNOPSIS
+To compile support for the
+.Nm ,
+place the following in your kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "options NANDFS"
+.Ed
+.Pp
+Even though the NAND FS can be used with any storage media, it has been
+optimized and designed towards NAND Flash devices, so typically the following
+driver is used:
+.Bd -ragged -offset indent
+.Cd "device nand"
+.Ed
+.Sh DESCRIPTION
+The
+.Nm
+driver enables
+.Fx
+with support for NAND-oriented file system.
+.Pp
+It is a log-structured style file system with the following major features and
+characteristics:
+.Bl -bullet
+.It
+Hard links, symbolic links support
+.It
+Block journaling
+.It
+Copy-On-Write
+.It
+Snapshots (continuous, taken automatically, simultaneously mountable)
+.It
+Quick crash recovery at mount time
+.It
+64-bit data structures; supports many files, large files and volumes
+.It
+POSIX file permissions
+.It
+Checksum / ECC
+.El
+.Sh EXAMPLES
+The most common usage is mounting the file system:
+.Pp
+.Dl "mount -t nandfs /dev/<gnandN> /mnt"
+.Pp
+or:
+.Dl "mount_nandfs /dev/<gnandN> /mnt"
+.Pp
+where
+.Ar gnandN
+is the GEOM device representing a Flash partition (slice) containing the
+.Nm
+structure, and
+.Pa /mnt
+is a mount point.
+.Pp
+.Pp
+It is possible to define an entry in
+.Pa /etc/fstab
+for the
+.Nm :
+.Bd -literal
+/dev/gnand0		/flash	nandfs		rw	0	0
+.Ed
+.Pp
+This will mount a
+.Nm
+partition at the specified mount point during system boot.
+.Sh SEE ALSO
+.Xr gnand 4 ,
+.Xr nand 4 ,
+.Xr nandfs_cleanerd.conf 5 ,
+.Xr cleanerd 8 ,
+.Xr mount_nandfs 8 ,
+.Xr nandfs 8 ,
+.Xr nandsim 8 ,
+.Xr nandtool 8 ,
+.Xr umount_nandfs 8
+.Sh HISTORY
+The NAND FS concepts are based on NILFS principles and initial implementation
+was derived from early NILFS NetBSD code (read only). Since then the NAND FS
+code diverged significantly and is by no means compatible with NILFS.
+.Pp
+The NAND Flash file system first appeared in
+.Fx 10.0 .
+.Sh AUTHOR
+The NAND FS was written by
+.An Grzegorz Bernacki with the help of
+.An Mateusz Guzik ,
+based on the NetBSD code created by
+.An Reinoud Zandijk .
+Additional help and support by
+.An Lukasz Plachno ,
+.An Jan Sieka and
+.An Lukasz Wojcik .
+This manual page was written by
+.An Rafal Jaworowski .

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 03:31:11 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id F013D106566C;
	Sat, 17 Mar 2012 03:31:11 +0000 (UTC)
	(envelope-from gber@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id C6C4E8FC0A;
	Sat, 17 Mar 2012 03:31:11 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2H3VBFW048386;
	Sat, 17 Mar 2012 03:31:11 GMT (envelope-from gber@svn.freebsd.org)
Received: (from gber@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2H3VBou048384;
	Sat, 17 Mar 2012 03:31:11 GMT (envelope-from gber@svn.freebsd.org)
Message-Id: <201203170331.q2H3VBou048384@svn.freebsd.org>
From: Grzegorz Bernacki <gber@FreeBSD.org>
Date: Sat, 17 Mar 2012 03:31:11 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r233075 - projects/nand/include
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 03:31:12 -0000

Author: gber
Date: Sat Mar 17 03:31:11 2012
New Revision: 233075
URL: http://svn.freebsd.org/changeset/base/233075

Log:
  Install header files required by NANDFS
  
  Obtained from: Semihalf
  Supported by:  FreeBSD Foundation, Juniper Networks

Modified:
  projects/nand/include/Makefile

Modified: projects/nand/include/Makefile
==============================================================================
--- projects/nand/include/Makefile	Sat Mar 17 03:28:37 2012	(r233074)
+++ projects/nand/include/Makefile	Sat Mar 17 03:31:11 2012	(r233075)
@@ -43,7 +43,7 @@ LSUBDIRS=	cam/ata cam/scsi \
 	dev/ic dev/iicbus ${_dev_ieee488} dev/io dev/lmc dev/mfi dev/ofw \
 	dev/pbio ${_dev_powermac_nvram} dev/ppbus dev/smbus \
 	dev/speaker dev/usb dev/utopia dev/vkbd dev/wi \
-	fs/devfs fs/fdescfs fs/fifofs fs/msdosfs fs/nfs fs/ntfs fs/nullfs \
+	fs/devfs fs/fdescfs fs/msdosfs fs/nandfs fs/nfs fs/ntfs fs/nullfs \
 	${_fs_nwfs} fs/portalfs fs/procfs fs/smbfs fs/udf fs/unionfs \
 	geom/cache geom/concat geom/eli geom/gate geom/journal geom/label \
 	geom/mirror geom/mountver geom/multipath geom/nop \
@@ -157,7 +157,7 @@ copies:
 	done
 .endif
 .endfor
-.for i in ${LDIRS} ${LSUBDIRS:Ndev/acpica:Ndev/bktr} ${LSUBSUBDIRS}
+.for i in ${LDIRS} ${LSUBDIRS:Ndev/acpica:Ndev/bktr:Ndev/nand} ${LSUBSUBDIRS}
 	cd ${.CURDIR}/../sys; \
 	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 $i/*.h \
 	    ${DESTDIR}${INCLUDEDIR}/$i
@@ -168,6 +168,13 @@ copies:
 	cd ${.CURDIR}/../sys/dev/bktr; \
 	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ioctl_*.h \
 	    ${DESTDIR}${INCLUDEDIR}/dev/bktr
+.if ${MK_NAND} != "no"
+	cd ${.CURDIR}/../sys/dev/nand; \
+	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 nandsim.h \
+	    ${DESTDIR}${INCLUDEDIR}/dev/nand; \
+	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 nand_cdev.h \
+	    ${DESTDIR}${INCLUDEDIR}/dev/nand
+.endif
 	cd ${.CURDIR}/../sys/contrib/altq/altq; \
 	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
 	    ${DESTDIR}${INCLUDEDIR}/altq
@@ -224,7 +231,7 @@ symlinks:
 		ln -fs ../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
 	done
 .endfor
-.for i in ${LSUBDIRS:Ndev/acpica:Ndev/bktr}
+.for i in ${LSUBDIRS:Ndev/acpica:Ndev/bktr:Ndev/nand}
 	cd ${.CURDIR}/../sys/$i; \
 	for h in *.h; do \
 		ln -fs ../../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
@@ -240,6 +247,13 @@ symlinks:
 		ln -fs ../../../../sys/dev/bktr/$$h \
 		    ${DESTDIR}${INCLUDEDIR}/dev/bktr; \
 	done
+.if ${MK_NAND} != "no"
+	cd ${.CURDIR}/../sys/dev/nand; \
+	for h in nandsim.h nand_cdev.h; do \
+		ln -fs ../../../../sys/dev/nand/$$h \
+		    ${DESTDIR}${INCLUDEDIR}/dev/nand; \
+	done
+.endif
 .for i in ${LSUBSUBDIRS}
 	cd ${.CURDIR}/../sys/$i; \
 	for h in *.h; do \

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 06:49:57 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 87D0E1065673;
	Sat, 17 Mar 2012 06:49:57 +0000 (UTC)
	(envelope-from gber@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 77BBD8FC08;
	Sat, 17 Mar 2012 06:49:57 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2H6nv97054917;
	Sat, 17 Mar 2012 06:49:57 GMT (envelope-from gber@svn.freebsd.org)
Received: (from gber@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2H6nvdg054915;
	Sat, 17 Mar 2012 06:49:57 GMT (envelope-from gber@svn.freebsd.org)
Message-Id: <201203170649.q2H6nvdg054915@svn.freebsd.org>
From: Grzegorz Bernacki <gber@FreeBSD.org>
Date: Sat, 17 Mar 2012 06:49:57 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r233079 - projects/nand/etc/mtree
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 06:49:57 -0000

Author: gber
Date: Sat Mar 17 06:49:56 2012
New Revision: 233079
URL: http://svn.freebsd.org/changeset/base/233079

Log:
  Add creation of directories under include/ for header files related to nand and NANDFS.
  
  Obtained from: Semihalf
  Supported by:  FreeBSD Foundation, Juniper Networks

Modified:
  projects/nand/etc/mtree/BSD.include.dist

Modified: projects/nand/etc/mtree/BSD.include.dist
==============================================================================
--- projects/nand/etc/mtree/BSD.include.dist	Sat Mar 17 06:49:53 2012	(r233078)
+++ projects/nand/etc/mtree/BSD.include.dist	Sat Mar 17 06:49:56 2012	(r233079)
@@ -122,6 +122,8 @@
             mpilib
             ..
         ..
+        nand
+        ..
         ofw
         ..
         pbio
@@ -156,6 +158,8 @@
         ..
         msdosfs
         ..
+        nandfs
+        ..
         nfs
         ..
         ntfs

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 06:54:42 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 9CEB71065670;
	Sat, 17 Mar 2012 06:54:42 +0000 (UTC)
	(envelope-from gber@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 8CC368FC0A;
	Sat, 17 Mar 2012 06:54:42 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2H6sgTe055108;
	Sat, 17 Mar 2012 06:54:42 GMT (envelope-from gber@svn.freebsd.org)
Received: (from gber@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2H6sgCi055106;
	Sat, 17 Mar 2012 06:54:42 GMT (envelope-from gber@svn.freebsd.org)
Message-Id: <201203170654.q2H6sgCi055106@svn.freebsd.org>
From: Grzegorz Bernacki <gber@FreeBSD.org>
Date: Sat, 17 Mar 2012 06:54:42 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r233080 - projects/nand/sbin/newfs_nandfs
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 06:54:42 -0000

Author: gber
Date: Sat Mar 17 06:54:42 2012
New Revision: 233080
URL: http://svn.freebsd.org/changeset/base/233080

Log:
  Disable debugs for newfs_nandfs.
  
  Obtained from: Semihalf
  Supported by:  FreeBSD Foundation, Juniper Networks

Modified:
  projects/nand/sbin/newfs_nandfs/newfs_nandfs.c

Modified: projects/nand/sbin/newfs_nandfs/newfs_nandfs.c
==============================================================================
--- projects/nand/sbin/newfs_nandfs/newfs_nandfs.c	Sat Mar 17 06:49:56 2012	(r233079)
+++ projects/nand/sbin/newfs_nandfs/newfs_nandfs.c	Sat Mar 17 06:54:42 2012	(r233080)
@@ -56,7 +56,7 @@ __FBSDID("$FreeBSD$");
 #include <fs/nandfs/nandfs_fs.h>
 
 #define DEBUG
-//#undef DEBUG
+#undef DEBUG
 #ifdef DEBUG
 #define debug(fmt, args...) do { \
 	printf("nandfs:" fmt "\n", ##args); } while (0)

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 08:52:53 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 2ECB9106564A;
	Sat, 17 Mar 2012 08:52:53 +0000 (UTC)
	(envelope-from pawel@dawidek.net)
Received: from mail.dawidek.net (60.wheelsystems.com [83.12.187.60])
	by mx1.freebsd.org (Postfix) with ESMTP id 958DA8FC08;
	Sat, 17 Mar 2012 08:52:49 +0000 (UTC)
Received: from localhost (89-73-195-149.dynamic.chello.pl [89.73.195.149])
	by mail.dawidek.net (Postfix) with ESMTPSA id 36007377;
	Sat, 17 Mar 2012 09:52:40 +0100 (CET)
Date: Sat, 17 Mar 2012 09:51:16 +0100
From: Pawel Jakub Dawidek <pjd@FreeBSD.org>
To: Grzegorz Bernacki <gber@FreeBSD.org>
Message-ID: <20120317085116.GC1340@garage.freebsd.pl>
References: <201203170318.q2H3ITdI047893@svn.freebsd.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="W5WqUoFLvi1M7tJE"
Content-Disposition: inline
In-Reply-To: <201203170318.q2H3ITdI047893@svn.freebsd.org>
X-OS: FreeBSD 10.0-CURRENT amd64
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org, kib@FreeBSD.org
Subject: Re: svn commit: r233072 - projects/nand/sys/kern
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 08:52:53 -0000


--W5WqUoFLvi1M7tJE
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Mar 17, 2012 at 03:18:29AM +0000, Grzegorz Bernacki wrote:
> Author: gber
> Date: Sat Mar 17 03:18:28 2012
> New Revision: 233072
> URL: http://svn.freebsd.org/changeset/base/233072
>=20
> Log:
>   Add VFS changes necessary for NANDFS to work.
>  =20
>   Ignore B_MANAGED buffer by syncer and ignore signal when msleep as it
>   can cause file system inconsistency.

I'd suggest running these changes through kib@. Especially vn_start_write()
change below looks ugly, but maybe it is only temporary?

>   Obtained from: Semihalf
>   Supported by:  FreeBSD Foundation, Juniper Networks
>=20
> Modified:
>   projects/nand/sys/kern/vfs_bio.c
>   projects/nand/sys/kern/vfs_subr.c
>   projects/nand/sys/kern/vfs_vnops.c
>=20
> Modified: projects/nand/sys/kern/vfs_bio.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- projects/nand/sys/kern/vfs_bio.c	Sat Mar 17 03:02:10 2012	(r233071)
> +++ projects/nand/sys/kern/vfs_bio.c	Sat Mar 17 03:18:28 2012	(r233072)
> @@ -2672,7 +2672,8 @@ loop:
>  		else if ((bp->b_flags & (B_VMIO | B_INVAL)) =3D=3D 0)
>  			bp->b_flags |=3D B_CACHE;
>  		BO_LOCK(bo);
> -		bremfree(bp);
> +		if (!(bp->b_flags & B_MANAGED))
> +			bremfree(bp);
>  		BO_UNLOCK(bo);
> =20
>  		/*
>=20
> Modified: projects/nand/sys/kern/vfs_subr.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- projects/nand/sys/kern/vfs_subr.c	Sat Mar 17 03:02:10 2012	(r233071)
> +++ projects/nand/sys/kern/vfs_subr.c	Sat Mar 17 03:18:28 2012	(r233072)
> @@ -2018,7 +2018,8 @@ reassignbuf(struct buf *bp)
>  	 * of clean buffers.
>  	 */
>  	if (bp->b_flags & B_DELWRI) {
> -		if ((bo->bo_flag & BO_ONWORKLST) =3D=3D 0) {
> +		if (!(bp->b_flags & B_MANAGED) &&
> +		    (bo->bo_flag & BO_ONWORKLST) =3D=3D 0) {
>  			switch (vp->v_type) {
>  			case VDIR:
>  				delay =3D dirdelay;
> @@ -2034,13 +2035,15 @@ reassignbuf(struct buf *bp)
>  		buf_vlist_add(bp, bo, BX_VNDIRTY);
>  	} else {
>  		buf_vlist_add(bp, bo, BX_VNCLEAN);
> -
> -		if ((bo->bo_flag & BO_ONWORKLST) && bo->bo_dirty.bv_cnt =3D=3D 0) {
> -			mtx_lock(&sync_mtx);
> -			LIST_REMOVE(bo, bo_synclist);
> -			syncer_worklist_len--;
> -			mtx_unlock(&sync_mtx);
> -			bo->bo_flag &=3D ~BO_ONWORKLST;
> +		if (!(bp->b_flags & B_MANAGED)) {
> +			if ((bo->bo_flag & BO_ONWORKLST) &&
> +			    bo->bo_dirty.bv_cnt =3D=3D 0) {
> +				mtx_lock(&sync_mtx);
> +				LIST_REMOVE(bo, bo_synclist);
> +				syncer_worklist_len--;
> +				mtx_unlock(&sync_mtx);
> +				bo->bo_flag &=3D ~BO_ONWORKLST;
> +			}
>  		}
>  	}
>  #ifdef INVARIANTS
>=20
> Modified: projects/nand/sys/kern/vfs_vnops.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- projects/nand/sys/kern/vfs_vnops.c	Sat Mar 17 03:02:10 2012	(r233071)
> +++ projects/nand/sys/kern/vfs_vnops.c	Sat Mar 17 03:18:28 2012	(r233072)
> @@ -1055,6 +1055,8 @@ vn_start_write(vp, mpp, flags)
>  				error =3D EWOULDBLOCK;
>  				goto unlock;
>  			}
> +			if (strcmp(mp->mnt_stat.f_fstypename, "nandfs") =3D=3D 0)
> +				flags &=3D ~PCATCH;
>  			error =3D msleep(&mp->mnt_flag, MNT_MTX(mp),
>  			    (PUSER - 1) | (flags & PCATCH), "suspfs", 0);
>  			if (error)

--=20
Pawel Jakub Dawidek                       http://www.wheelsystems.com
FreeBSD committer                         http://www.FreeBSD.org
Am I Evil? Yes, I Am!                     http://tupytaj.pl

--W5WqUoFLvi1M7tJE
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (FreeBSD)

iEYEARECAAYFAk9kUIQACgkQForvXbEpPzR2ywCgtRN9JkI1s81xZ0AI5BpXTR6c
0LgAoOtNObRl132B1bHxIlZ2Am/AGRGU
=TEzT
-----END PGP SIGNATURE-----

--W5WqUoFLvi1M7tJE--

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 08:57:36 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 0B3C31065670;
	Sat, 17 Mar 2012 08:57:36 +0000 (UTC)
	(envelope-from pawel@dawidek.net)
Received: from mail.dawidek.net (60.wheelsystems.com [83.12.187.60])
	by mx1.freebsd.org (Postfix) with ESMTP id 358558FC15;
	Sat, 17 Mar 2012 08:57:34 +0000 (UTC)
Received: from localhost (89-73-195-149.dynamic.chello.pl [89.73.195.149])
	by mail.dawidek.net (Postfix) with ESMTPSA id 0FFBE37B;
	Sat, 17 Mar 2012 09:57:32 +0100 (CET)
Date: Sat, 17 Mar 2012 09:56:10 +0100
From: Pawel Jakub Dawidek <pjd@FreeBSD.org>
To: Grzegorz Bernacki <gber@FreeBSD.org>
Message-ID: <20120317085609.GD1340@garage.freebsd.pl>
References: <201203170323.q2H3NDCs048073@svn.freebsd.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="lkTb+7nhmha7W+c3"
Content-Disposition: inline
In-Reply-To: <201203170323.q2H3NDCs048073@svn.freebsd.org>
X-OS: FreeBSD 10.0-CURRENT amd64
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org
Subject: Re: svn commit: r233073 - projects/nand/sys/geom
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 08:57:36 -0000


--lkTb+7nhmha7W+c3
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Mar 17, 2012 at 03:23:13AM +0000, Grzegorz Bernacki wrote:
> Author: gber
> Date: Sat Mar 17 03:23:13 2012
> New Revision: 233073
> URL: http://svn.freebsd.org/changeset/base/233073
>=20
> Log:
>   Add changes required for proper working of NAND chip geom devices.

Hmm, adding two new BIO types is a big deal. Is there an ongoing
discussion somewhere about this that I'm not aware of?
What's the difference between BIO_READOOB/BIO_WRITEOOB and
BIO_READ/BIO_WRITE exactly?

Also, instead of adding nand-specific ioctls why not to create dedicated
GEOM NAND class and use class ioctl method to implement those?

>   Obtained from: Semihalf
>   Supported by:  FreeBSD Foundation, Juniper Networks
>=20
> Modified:
>   projects/nand/sys/geom/geom.h
>   projects/nand/sys/geom/geom_dev.c
>   projects/nand/sys/geom/geom_disk.c
>   projects/nand/sys/geom/geom_disk.h
>   projects/nand/sys/geom/geom_io.c
>   projects/nand/sys/geom/geom_slice.c
>=20
> Modified: projects/nand/sys/geom/geom.h
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- projects/nand/sys/geom/geom.h	Sat Mar 17 03:18:28 2012	(r233072)
> +++ projects/nand/sys/geom/geom.h	Sat Mar 17 03:23:13 2012	(r233073)
> @@ -309,6 +309,8 @@ struct bio *g_alloc_bio(void);
>  void * g_read_data(struct g_consumer *cp, off_t offset, off_t length, in=
t *error);
>  int g_write_data(struct g_consumer *cp, off_t offset, void *ptr, off_t l=
ength);
>  int g_delete_data(struct g_consumer *cp, off_t offset, off_t length);
> +void *g_read_oob(struct g_consumer *cp, off_t offset, off_t length, int =
*error);
> +int g_write_oob(struct g_consumer *cp, off_t offset, void *ptr, off_t le=
ngth);
>  void g_print_bio(struct bio *bp);
> =20
>  /* geom_kern.c / geom_kernsim.c */
>=20
> Modified: projects/nand/sys/geom/geom_dev.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- projects/nand/sys/geom/geom_dev.c	Sat Mar 17 03:18:28 2012	(r233072)
> +++ projects/nand/sys/geom/geom_dev.c	Sat Mar 17 03:23:13 2012	(r233073)
> @@ -311,8 +311,10 @@ g_dev_ioctl(struct cdev *dev, u_long cmd
>  	struct g_consumer *cp;
>  	struct g_provider *pp;
>  	struct g_kerneldump kd;
> +	struct nand_oob_request *nand_req;
>  	off_t offset, length, chunk;
>  	int i, error;
> +	void *buf;
>  	u_int u;
> =20
>  	gp =3D dev->si_drv1;
> @@ -345,6 +347,16 @@ g_dev_ioctl(struct cdev *dev, u_long cmd
>  		if (error =3D=3D 0 && *(u_int *)data =3D=3D 0)
>  			error =3D ENOENT;
>  		break;
> +	case DIOCNOOBSIZE:
> +		error =3D g_io_getattr("NAND::oobsize", cp, &i, data);
> +		if (error =3D=3D 0 && *(u_int *)data =3D=3D 0)
> +			error =3D ENOENT;
> +		break;
> +	case DIOCNBLKSIZE:
> +		error =3D g_io_getattr("NAND::blocksize", cp, &i, data);
> +		if (error =3D=3D 0 && *(u_int *)data =3D=3D 0)
> +			error =3D ENOENT;
> +		break;
>  	case DIOCGFRONTSTUFF:
>  		error =3D g_io_getattr("GEOM::frontstuff", cp, &i, data);
>  		break;
> @@ -396,6 +408,28 @@ g_dev_ioctl(struct cdev *dev, u_long cmd
>  				break;
>  		}
>  		break;
> +	case DIOCNREADOOB:
> +		nand_req =3D (struct nand_oob_request *)data;
> +
> +		buf =3D g_read_oob(cp, nand_req->offset, nand_req->length,
> +		    &error);
> +		if (error)
> +			break;
> +
> +		error =3D copyout(buf, nand_req->ubuf, nand_req->length);
> +		break;
> +	case DIOCNWRITEOOB:
> +		nand_req =3D (struct nand_oob_request *)data;
> +
> +		buf =3D g_malloc(nand_req->length, M_WAITOK);
> +		error =3D copyin(nand_req->ubuf, buf, nand_req->length);
> +
> +		if (error)
> +			break;
> +
> +		error =3D g_write_oob(cp, nand_req->offset, buf,
> +		    nand_req->length);
> +		break;
>  	case DIOCGIDENT:
>  		error =3D g_io_getattr("GEOM::ident", cp, &i, data);
>  		break;
>=20
> Modified: projects/nand/sys/geom/geom_disk.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- projects/nand/sys/geom/geom_disk.c	Sat Mar 17 03:18:28 2012	(r233072)
> +++ projects/nand/sys/geom/geom_disk.c	Sat Mar 17 03:23:13 2012	(r233073)
> @@ -368,6 +368,10 @@ g_disk_start(struct bio *bp)
>  			break;
>  		else if (g_handleattr_int(bp, "GEOM::fwheads", dp->d_fwheads))
>  			break;
> +		else if (g_handleattr_int(bp, "NAND::oobsize", dp->n_oobsize))
> +			break;
> +		else if (g_handleattr_int(bp, "NAND::pagesize", dp->n_pagesize))
> +			break;
>  		else if (g_handleattr_off_t(bp, "GEOM::frontstuff", 0))
>  			break;
>  		else if (g_handleattr_str(bp, "GEOM::ident", dp->d_ident))
>=20
> Modified: projects/nand/sys/geom/geom_disk.h
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- projects/nand/sys/geom/geom_disk.h	Sat Mar 17 03:18:28 2012	(r233072)
> +++ projects/nand/sys/geom/geom_disk.h	Sat Mar 17 03:23:13 2012	(r233073)
> @@ -86,6 +86,8 @@ struct disk {
>  	u_int			d_maxsize;
>  	u_int			d_stripeoffset;
>  	u_int			d_stripesize;
> +	u_int			n_oobsize;
> +	u_int			n_pagesize;
>  	char			d_ident[DISK_IDENT_SIZE];
>  	char			d_descr[DISK_IDENT_SIZE];
>  	uint16_t		d_hba_vendor;
>=20
> Modified: projects/nand/sys/geom/geom_io.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- projects/nand/sys/geom/geom_io.c	Sat Mar 17 03:18:28 2012	(r233072)
> +++ projects/nand/sys/geom/geom_io.c	Sat Mar 17 03:23:13 2012	(r233073)
> @@ -289,11 +289,13 @@ g_io_check(struct bio *bp)
>  	/* Fail if access counters dont allow the operation */
>  	switch(bp->bio_cmd) {
>  	case BIO_READ:
> +	case BIO_READOOB:
>  	case BIO_GETATTR:
>  		if (cp->acr =3D=3D 0)
>  			return (EPERM);
>  		break;
>  	case BIO_WRITE:
> +	case BIO_WRITEOOB:
>  	case BIO_DELETE:
>  	case BIO_FLUSH:
>  		if (cp->acw =3D=3D 0)
> @@ -759,6 +761,52 @@ g_delete_data(struct g_consumer *cp, off
>  	return (error);
>  }
> =20
> +void *
> +g_read_oob(struct g_consumer *cp, off_t offset, off_t length, int *error)
> +{
> +	struct bio *bp;
> +	void *ptr;
> +	int errorc;
> +
> +	bp =3D g_alloc_bio();
> +	bp->bio_cmd =3D BIO_READOOB;
> +	bp->bio_done =3D NULL;
> +	bp->bio_offset =3D offset;
> +	bp->bio_length =3D length;
> +	ptr =3D g_malloc(length, M_WAITOK);
> +	bp->bio_data =3D ptr;
> +	g_io_request(bp, cp);
> +	errorc =3D biowait(bp, "groob");
> +	if (error !=3D NULL)
> +		*error =3D errorc;
> +
> +	g_destroy_bio(bp);
> +	if (errorc) {
> +		g_free(ptr);
> +		ptr =3D NULL;
> +	}
> +
> +	return (ptr);
> +}
> +
> +int
> +g_write_oob(struct g_consumer *cp, off_t offset, void *ptr, off_t length)
> +{
> +	struct bio *bp;
> +	int error;
> +
> +	bp =3D g_alloc_bio();
> +	bp->bio_cmd =3D BIO_WRITEOOB;
> +	bp->bio_done =3D NULL;
> +	bp->bio_offset =3D offset;
> +	bp->bio_length =3D length;
> +	bp->bio_data =3D ptr;
> +	g_io_request(bp, cp);
> +	error =3D biowait(bp, "gwoob");
> +	g_destroy_bio(bp);
> +	return (error);
> +}
> +
>  void
>  g_print_bio(struct bio *bp)
>  {
>=20
> Modified: projects/nand/sys/geom/geom_slice.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- projects/nand/sys/geom/geom_slice.c	Sat Mar 17 03:18:28 2012	(r233072)
> +++ projects/nand/sys/geom/geom_slice.c	Sat Mar 17 03:23:13 2012	(r233073)
> @@ -215,7 +215,9 @@ g_slice_start(struct bio *bp)
>  	gsl =3D &gsp->slices[idx];
>  	switch(bp->bio_cmd) {
>  	case BIO_READ:
> +	case BIO_READOOB:
>  	case BIO_WRITE:
> +	case BIO_WRITEOOB:
>  	case BIO_DELETE:
>  		if (bp->bio_offset > gsl->length) {
>  			g_io_deliver(bp, EINVAL); /* XXX: EWHAT ? */
> @@ -233,8 +235,10 @@ g_slice_start(struct bio *bp)
>  			if (t + bp->bio_length <=3D ghp->offset)
>  				continue;
>  			switch(bp->bio_cmd) {
> -			case BIO_READ:		idx =3D ghp->ract; break;
> -			case BIO_WRITE:		idx =3D ghp->wact; break;
> +			case BIO_READ:
> +			case BIO_READOOB:	idx =3D ghp->ract; break;
> +			case BIO_WRITE:
> +			case BIO_WRITEOOB:	idx =3D ghp->wact; break;
>  			case BIO_DELETE:	idx =3D ghp->dact; break;
>  			}
>  			switch(idx) {

--=20
Pawel Jakub Dawidek                       http://www.wheelsystems.com
FreeBSD committer                         http://www.FreeBSD.org
Am I Evil? Yes, I Am!                     http://tupytaj.pl

--lkTb+7nhmha7W+c3
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (FreeBSD)

iEYEARECAAYFAk9kUagACgkQForvXbEpPzROdACfaRjm9/rLouEW1w78GdX0rmYi
XGEAn1+5Y4v3qTZnsItnV3o5SdQqX8P0
=UCjp
-----END PGP SIGNATURE-----

--lkTb+7nhmha7W+c3--

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 09:00:52 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 613A1106566B;
	Sat, 17 Mar 2012 09:00:52 +0000 (UTC)
	(envelope-from pawel@dawidek.net)
Received: from mail.dawidek.net (60.wheelsystems.com [83.12.187.60])
	by mx1.freebsd.org (Postfix) with ESMTP id CAB2B8FC1B;
	Sat, 17 Mar 2012 09:00:51 +0000 (UTC)
Received: from localhost (89-73-195-149.dynamic.chello.pl [89.73.195.149])
	by mail.dawidek.net (Postfix) with ESMTPSA id 4761C37E;
	Sat, 17 Mar 2012 10:00:50 +0100 (CET)
Date: Sat, 17 Mar 2012 09:59:26 +0100
From: Pawel Jakub Dawidek <pjd@FreeBSD.org>
To: Grzegorz Bernacki <gber@FreeBSD.org>
Message-ID: <20120317085926.GE1340@garage.freebsd.pl>
References: <201203170331.q2H3VBou048384@svn.freebsd.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="JcvBIhDvR6w3jUPA"
Content-Disposition: inline
In-Reply-To: <201203170331.q2H3VBou048384@svn.freebsd.org>
X-OS: FreeBSD 10.0-CURRENT amd64
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org
Subject: Re: svn commit: r233075 - projects/nand/include
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 09:00:52 -0000


--JcvBIhDvR6w3jUPA
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Mar 17, 2012 at 03:31:11AM +0000, Grzegorz Bernacki wrote:
> Author: gber
> Date: Sat Mar 17 03:31:11 2012
> New Revision: 233075
> URL: http://svn.freebsd.org/changeset/base/233075
>=20
> Log:
>   Install header files required by NANDFS
>  =20
>   Obtained from: Semihalf
>   Supported by:  FreeBSD Foundation, Juniper Networks
>=20
> Modified:
>   projects/nand/include/Makefile
>=20
> Modified: projects/nand/include/Makefile
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- projects/nand/include/Makefile	Sat Mar 17 03:28:37 2012	(r233074)
> +++ projects/nand/include/Makefile	Sat Mar 17 03:31:11 2012	(r233075)
> @@ -43,7 +43,7 @@ LSUBDIRS=3D	cam/ata cam/scsi \
>  	dev/ic dev/iicbus ${_dev_ieee488} dev/io dev/lmc dev/mfi dev/ofw \
>  	dev/pbio ${_dev_powermac_nvram} dev/ppbus dev/smbus \
>  	dev/speaker dev/usb dev/utopia dev/vkbd dev/wi \
> -	fs/devfs fs/fdescfs fs/fifofs fs/msdosfs fs/nfs fs/ntfs fs/nullfs \
> +	fs/devfs fs/fdescfs fs/msdosfs fs/nandfs fs/nfs fs/ntfs fs/nullfs \

You added nandfs, but removed fifofs.

>  	${_fs_nwfs} fs/portalfs fs/procfs fs/smbfs fs/udf fs/unionfs \
>  	geom/cache geom/concat geom/eli geom/gate geom/journal geom/label \
>  	geom/mirror geom/mountver geom/multipath geom/nop \
> @@ -157,7 +157,7 @@ copies:
>  	done
>  .endif
>  .endfor
> -.for i in ${LDIRS} ${LSUBDIRS:Ndev/acpica:Ndev/bktr} ${LSUBSUBDIRS}
> +.for i in ${LDIRS} ${LSUBDIRS:Ndev/acpica:Ndev/bktr:Ndev/nand} ${LSUBSUB=
DIRS}
>  	cd ${.CURDIR}/../sys; \
>  	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 $i/*.h \
>  	    ${DESTDIR}${INCLUDEDIR}/$i
> @@ -168,6 +168,13 @@ copies:
>  	cd ${.CURDIR}/../sys/dev/bktr; \
>  	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 ioctl_*.h \
>  	    ${DESTDIR}${INCLUDEDIR}/dev/bktr
> +.if ${MK_NAND} !=3D "no"
> +	cd ${.CURDIR}/../sys/dev/nand; \
> +	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 nandsim.h \
> +	    ${DESTDIR}${INCLUDEDIR}/dev/nand; \
> +	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 nand_cdev.h \
> +	    ${DESTDIR}${INCLUDEDIR}/dev/nand
> +.endif
>  	cd ${.CURDIR}/../sys/contrib/altq/altq; \
>  	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \
>  	    ${DESTDIR}${INCLUDEDIR}/altq
> @@ -224,7 +231,7 @@ symlinks:
>  		ln -fs ../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
>  	done
>  .endfor
> -.for i in ${LSUBDIRS:Ndev/acpica:Ndev/bktr}
> +.for i in ${LSUBDIRS:Ndev/acpica:Ndev/bktr:Ndev/nand}
>  	cd ${.CURDIR}/../sys/$i; \
>  	for h in *.h; do \
>  		ln -fs ../../../../sys/$i/$$h ${DESTDIR}${INCLUDEDIR}/$i; \
> @@ -240,6 +247,13 @@ symlinks:
>  		ln -fs ../../../../sys/dev/bktr/$$h \
>  		    ${DESTDIR}${INCLUDEDIR}/dev/bktr; \
>  	done
> +.if ${MK_NAND} !=3D "no"
> +	cd ${.CURDIR}/../sys/dev/nand; \
> +	for h in nandsim.h nand_cdev.h; do \
> +		ln -fs ../../../../sys/dev/nand/$$h \
> +		    ${DESTDIR}${INCLUDEDIR}/dev/nand; \
> +	done
> +.endif
>  .for i in ${LSUBSUBDIRS}
>  	cd ${.CURDIR}/../sys/$i; \
>  	for h in *.h; do \

--=20
Pawel Jakub Dawidek                       http://www.wheelsystems.com
FreeBSD committer                         http://www.FreeBSD.org
Am I Evil? Yes, I Am!                     http://tupytaj.pl

--JcvBIhDvR6w3jUPA
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (FreeBSD)

iEYEARECAAYFAk9kUm4ACgkQForvXbEpPzSEbgCfX1O993JGTrvDqxYwoX3xacOM
ONsAn0LVF+wuWI3DX+nzoX100gOM7DNT
=p46t
-----END PGP SIGNATURE-----

--JcvBIhDvR6w3jUPA--

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 12:40:09 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 0FEA5106566C;
	Sat, 17 Mar 2012 12:40:09 +0000 (UTC)
	(envelope-from alexander@leidinger.net)
Received: from mail.ebusiness-leidinger.de (mail.ebusiness-leidinger.de
	[217.11.53.44])
	by mx1.freebsd.org (Postfix) with ESMTP id BA0098FC0C;
	Sat, 17 Mar 2012 12:40:08 +0000 (UTC)
Received: from outgoing.leidinger.net (p5796C32E.dip.t-dialin.net
	[87.150.195.46])
	by mail.ebusiness-leidinger.de (Postfix) with ESMTPSA id EF0C18444D7;
	Sat, 17 Mar 2012 13:39:48 +0100 (CET)
Received: from unknown (IO.Leidinger.net [192.168.1.12])
	by outgoing.leidinger.net (Postfix) with ESMTPS id 34A4B20E8;
	Sat, 17 Mar 2012 13:39:46 +0100 (CET)
Date: Sat, 17 Mar 2012 13:39:45 +0100
From: Alexander Leidinger <Alexander@Leidinger.net>
To: Grzegorz Bernacki <gber@FreeBSD.org>
Message-ID: <20120317133945.000046ec@unknown>
In-Reply-To: <201203170252.q2H2qHF9046647@svn.freebsd.org>
References: <201203170252.q2H2qHF9046647@svn.freebsd.org>
X-Mailer: Claws Mail 3.7.10cvs42 (GTK+ 2.16.6; i586-pc-mingw32msvc)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-EBL-MailScanner-Information: Please contact the ISP for more information
X-EBL-MailScanner-ID: EF0C18444D7.A43FE
X-EBL-MailScanner: Found to be clean
X-EBL-MailScanner-SpamCheck: not spam, spamhaus-ZEN,
	SpamAssassin (not cached, score=-0.918, required 6,
	autolearn=disabled, ALL_TRUSTED -1.00, AWL 0.01, TW_SV 0.08,
	T_RP_MATCHES_RCVD -0.01)
X-EBL-MailScanner-From: alexander@leidinger.net
X-EBL-MailScanner-Watermark: 1332592790.35057@clPzVQgk8Q9xOBbCNkLzoQ
X-EBL-Spam-Status: No
Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org
Subject: Re: svn commit: r233069 - in projects/nand/sbin: . mount
 mount_nandfs nandfs newfs_nandfs
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 12:40:09 -0000

On Sat, 17 Mar 2012 02:52:17 +0000 (UTC) Grzegorz Bernacki
<gber@FreeBSD.org> wrote:

> Log:
>   Add tools required by NANDFS to mount/umount, create/remove/list
>   snapshots.

> Added:
>   projects/nand/sbin/mount_nandfs/
>   projects/nand/sbin/mount_nandfs/Makefile
>   projects/nand/sbin/mount_nandfs/mount_nandfs.8
>   projects/nand/sbin/mount_nandfs/mount_nandfs.c

It's not possible to use nmount(2) for this, we really need a new mount
command for this?

Bye,
Alexander.

-- 
http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID = 72077137

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 16:10:57 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 6EFED10656D9;
	Sat, 17 Mar 2012 16:10:57 +0000 (UTC)
	(envelope-from kostikbel@gmail.com)
Received: from mail.zoral.com.ua (mx0.zoral.com.ua [91.193.166.200])
	by mx1.freebsd.org (Postfix) with ESMTP id B65DE8FC0C;
	Sat, 17 Mar 2012 16:10:56 +0000 (UTC)
Received: from skuns.kiev.zoral.com.ua (localhost [127.0.0.1])
	by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id q2HGApS5068796;
	Sat, 17 Mar 2012 18:10:51 +0200 (EET)
	(envelope-from kostikbel@gmail.com)
Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1])
	by deviant.kiev.zoral.com.ua (8.14.5/8.14.5) with ESMTP id
	q2HGApOY002451; Sat, 17 Mar 2012 18:10:51 +0200 (EET)
	(envelope-from kostikbel@gmail.com)
Received: (from kostik@localhost)
	by deviant.kiev.zoral.com.ua (8.14.5/8.14.5/Submit) id q2HGAphX002450; 
	Sat, 17 Mar 2012 18:10:51 +0200 (EET)
	(envelope-from kostikbel@gmail.com)
X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to
	kostikbel@gmail.com using -f
Date: Sat, 17 Mar 2012 18:10:50 +0200
From: Konstantin Belousov <kostikbel@gmail.com>
To: Pawel Jakub Dawidek <pjd@FreeBSD.org>
Message-ID: <20120317161050.GI75778@deviant.kiev.zoral.com.ua>
References: <201203170318.q2H3ITdI047893@svn.freebsd.org>
	<20120317085116.GC1340@garage.freebsd.pl>
Mime-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="Rrd1FBYt5NX8iyQT"
Content-Disposition: inline
In-Reply-To: <20120317085116.GC1340@garage.freebsd.pl>
User-Agent: Mutt/1.4.2.3i
X-Virus-Scanned: clamav-milter 0.95.2 at skuns.kiev.zoral.com.ua
X-Virus-Status: Clean
X-Spam-Status: No, score=-4.0 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00
	autolearn=ham version=3.2.5
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on
	skuns.kiev.zoral.com.ua
Cc: svn-src-projects@FreeBSD.org, Grzegorz Bernacki <gber@FreeBSD.org>,
	src-committers@FreeBSD.org
Subject: Re: svn commit: r233072 - projects/nand/sys/kern
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 16:10:57 -0000


--Rrd1FBYt5NX8iyQT
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Mar 17, 2012 at 09:51:16AM +0100, Pawel Jakub Dawidek wrote:
> On Sat, Mar 17, 2012 at 03:18:29AM +0000, Grzegorz Bernacki wrote:
> > Author: gber
> > Date: Sat Mar 17 03:18:28 2012
> > New Revision: 233072
> > URL: http://svn.freebsd.org/changeset/base/233072
> >=20
> > Log:
> >   Add VFS changes necessary for NANDFS to work.
> >  =20
> >   Ignore B_MANAGED buffer by syncer and ignore signal when msleep as it
> >   can cause file system inconsistency.
>=20
> I'd suggest running these changes through kib@. Especially vn_start_write=
()
> change below looks ugly, but maybe it is only temporary?
It is not only ugly (and  object against it).

If the change makes any difference for the filesystem, then I just argue
that the filesystem is broken. The vn_start_write() is done on the
VFS entry peripheral, long before filesystem code is hit.

I did not looked at the managed changes, you would need to describe=20
what is wrong with current code and what is the purpose of the changes.
B_MANAGED came from xfs, it seems, or at least xfs is the only current
consumer of B_MANAGED buffers.

--Rrd1FBYt5NX8iyQT
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (FreeBSD)

iEYEARECAAYFAk9kt4oACgkQC3+MBN1Mb4imjwCbBfhIB+x7m08MpjbfoQTxO3vB
GlIAniz96PXFYEynZ2RDiIkxJaJKvzXO
=karN
-----END PGP SIGNATURE-----

--Rrd1FBYt5NX8iyQT--

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 16:53:58 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 7F426106564A;
	Sat, 17 Mar 2012 16:53:58 +0000 (UTC)
	(envelope-from kostikbel@gmail.com)
Received: from mail.zoral.com.ua (mx0.zoral.com.ua [91.193.166.200])
	by mx1.freebsd.org (Postfix) with ESMTP id E2AF18FC14;
	Sat, 17 Mar 2012 16:53:57 +0000 (UTC)
Received: from skuns.kiev.zoral.com.ua (localhost [127.0.0.1])
	by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id q2HGrrVw072231;
	Sat, 17 Mar 2012 18:53:53 +0200 (EET)
	(envelope-from kostikbel@gmail.com)
Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1])
	by deviant.kiev.zoral.com.ua (8.14.5/8.14.5) with ESMTP id
	q2HGrrvp002653; Sat, 17 Mar 2012 18:53:53 +0200 (EET)
	(envelope-from kostikbel@gmail.com)
Received: (from kostik@localhost)
	by deviant.kiev.zoral.com.ua (8.14.5/8.14.5/Submit) id q2HGrr22002651; 
	Sat, 17 Mar 2012 18:53:53 +0200 (EET)
	(envelope-from kostikbel@gmail.com)
X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to
	kostikbel@gmail.com using -f
Date: Sat, 17 Mar 2012 18:53:53 +0200
From: Konstantin Belousov <kostikbel@gmail.com>
To: Pawel Jakub Dawidek <pjd@freebsd.org>
Message-ID: <20120317165353.GK75778@deviant.kiev.zoral.com.ua>
References: <201203170331.q2H3VBou048384@svn.freebsd.org>
	<20120317085926.GE1340@garage.freebsd.pl>
Mime-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="7ECvgF33sQm7Ey2+"
Content-Disposition: inline
In-Reply-To: <20120317085926.GE1340@garage.freebsd.pl>
User-Agent: Mutt/1.4.2.3i
X-Virus-Scanned: clamav-milter 0.95.2 at skuns.kiev.zoral.com.ua
X-Virus-Status: Clean
X-Spam-Status: No, score=-4.0 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00
	autolearn=ham version=3.2.5
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on
	skuns.kiev.zoral.com.ua
Cc: svn-src-projects@freebsd.org, Grzegorz Bernacki <gber@freebsd.org>,
	src-committers@freebsd.org
Subject: Re: svn commit: r233075 - projects/nand/include
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 16:53:58 -0000


--7ECvgF33sQm7Ey2+
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Mar 17, 2012 at 09:59:26AM +0100, Pawel Jakub Dawidek wrote:
> On Sat, Mar 17, 2012 at 03:31:11AM +0000, Grzegorz Bernacki wrote:
> > Author: gber
> > Date: Sat Mar 17 03:31:11 2012
> > New Revision: 233075
> > URL: http://svn.freebsd.org/changeset/base/233075
> >=20
> > Log:
> >   Install header files required by NANDFS
> >  =20
> >   Obtained from: Semihalf
> >   Supported by:  FreeBSD Foundation, Juniper Networks
> >=20
> > Modified:
> >   projects/nand/include/Makefile
> >=20
> > Modified: projects/nand/include/Makefile
> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
> > --- projects/nand/include/Makefile	Sat Mar 17 03:28:37 2012	(r233074)
> > +++ projects/nand/include/Makefile	Sat Mar 17 03:31:11 2012	(r233075)
> > @@ -43,7 +43,7 @@ LSUBDIRS=3D	cam/ata cam/scsi \
> >  	dev/ic dev/iicbus ${_dev_ieee488} dev/io dev/lmc dev/mfi dev/ofw \
> >  	dev/pbio ${_dev_powermac_nvram} dev/ppbus dev/smbus \
> >  	dev/speaker dev/usb dev/utopia dev/vkbd dev/wi \
> > -	fs/devfs fs/fdescfs fs/fifofs fs/msdosfs fs/nfs fs/ntfs fs/nullfs \
> > +	fs/devfs fs/fdescfs fs/msdosfs fs/nandfs fs/nfs fs/ntfs fs/nullfs \
>=20
> You added nandfs, but removed fifofs.
fifofs was removed earlier in head.

I think this is badly done merge, and suggest inspecting the whole
diff for unwanted changes.

--7ECvgF33sQm7Ey2+
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (FreeBSD)

iEYEARECAAYFAk9kwaAACgkQC3+MBN1Mb4hJ7gCght0e+36wmRVwnTKJl8Skhn66
cEsAmQHKPB/TMmOUuMP0z8nbrlDxMPqy
=Eked
-----END PGP SIGNATURE-----

--7ECvgF33sQm7Ey2+--

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 17:10:15 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 78E6E106564A;
	Sat, 17 Mar 2012 17:10:15 +0000 (UTC)
	(envelope-from gber@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 4B35D8FC12;
	Sat, 17 Mar 2012 17:10:15 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2HHAFEW079654;
	Sat, 17 Mar 2012 17:10:15 GMT (envelope-from gber@svn.freebsd.org)
Received: (from gber@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2HHAFiq079651;
	Sat, 17 Mar 2012 17:10:15 GMT (envelope-from gber@svn.freebsd.org)
Message-Id: <201203171710.q2HHAFiq079651@svn.freebsd.org>
From: Grzegorz Bernacki <gber@FreeBSD.org>
Date: Sat, 17 Mar 2012 17:10:15 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r233091 - in projects/nand: sbin/fdisk sys/sys
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 17:10:15 -0000

Author: gber
Date: Sat Mar 17 17:10:14 2012
New Revision: 233091
URL: http://svn.freebsd.org/changeset/base/233091

Log:
  Add ioctl and structures for accessing nand disk devices.
  
  Obtained from: Semihalf
  Supported by:  FreeBSD Foundation, Juniper Networks

Modified:
  projects/nand/sbin/fdisk/fdisk.c
  projects/nand/sys/sys/disk.h

Modified: projects/nand/sbin/fdisk/fdisk.c
==============================================================================
--- projects/nand/sbin/fdisk/fdisk.c	Sat Mar 17 16:40:15 2012	(r233090)
+++ projects/nand/sbin/fdisk/fdisk.c	Sat Mar 17 17:10:14 2012	(r233091)
@@ -27,11 +27,11 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
+#include <sys/param.h>
 #include <sys/disk.h>
 #include <sys/disklabel.h>
 #include <sys/diskmbr.h>
 #include <sys/endian.h>
-#include <sys/param.h>
 #include <sys/stat.h>
 #include <sys/mount.h>
 #include <ctype.h>

Modified: projects/nand/sys/sys/disk.h
==============================================================================
--- projects/nand/sys/sys/disk.h	Sat Mar 17 16:40:15 2012	(r233090)
+++ projects/nand/sys/sys/disk.h	Sat Mar 17 17:10:14 2012	(r233091)
@@ -116,6 +116,32 @@ void disk_err(struct bio *bp, const char
 	 * This should be a multiple of the sector size.
 	 */
 
+#define DIOCNOOBSIZE	_IOR('d', 141, u_int)	/* Get oob size */
+	/*-
+	 * Get the OOB area size of NAND flash device.
+	 */
+
+#define DIOCNBLKSIZE	_IOR('d', 142, u_int)	/* Get block size */
+	/* -
+	 * Get the block size of NAND flash device.
+	 */
+
+struct nand_oob_request {
+	off_t		offset;		/* offset in bytes, page-aligned */
+	off_t		length;		/* length */
+	void *		ubuf;		/* buffer supplied by user */
+};
+
+#define	DIOCNREADOOB	_IOW('d', 143, struct nand_oob_request)	/* Read OOB area */
+	/*-
+	 * Read page OOB area from NAND flash device.
+	 */
+
+#define	DIOCNWRITEOOB	_IOW('d', 144, struct nand_oob_request)	/* Write OOB area */
+	/*-
+	 * Write page OOB area to NAND flash device.
+	 */
+
 #define	DIOCGPHYSPATH _IOR('d', 141, char[MAXPATHLEN])
 	/*
 	 * Get a string defining the physical path for a given provider.

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 17:14:07 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 9A4141065670;
	Sat, 17 Mar 2012 17:14:07 +0000 (UTC)
	(envelope-from gber@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 867BC8FC1D;
	Sat, 17 Mar 2012 17:14:07 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2HHE7k8079809;
	Sat, 17 Mar 2012 17:14:07 GMT (envelope-from gber@svn.freebsd.org)
Received: (from gber@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2HHE7sl079807;
	Sat, 17 Mar 2012 17:14:07 GMT (envelope-from gber@svn.freebsd.org)
Message-Id: <201203171714.q2HHE7sl079807@svn.freebsd.org>
From: Grzegorz Bernacki <gber@FreeBSD.org>
Date: Sat, 17 Mar 2012 17:14:07 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r233092 - projects/nand/sys/sys
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 17:14:07 -0000

Author: gber
Date: Sat Mar 17 17:14:06 2012
New Revision: 233092
URL: http://svn.freebsd.org/changeset/base/233092

Log:
  Define NO_TLS for arm.
  
  Obtained from: Semihalf
  Supported by:  FreeBSD Foundation, Juniper Networks

Modified:
  projects/nand/sys/sys/cdefs.h

Modified: projects/nand/sys/sys/cdefs.h
==============================================================================
--- projects/nand/sys/sys/cdefs.h	Sat Mar 17 17:10:14 2012	(r233091)
+++ projects/nand/sys/sys/cdefs.h	Sat Mar 17 17:14:06 2012	(r233092)
@@ -657,7 +657,7 @@
 #define	__has_builtin(x) 0
 #endif
 
-#if defined(__mips) || defined(__powerpc64__)
+#if defined(__mips) || defined(__powerpc64__) || defined(__arm__)
 #define __NO_TLS 1
 #endif
 

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 17:55:49 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 5DBCB1065674;
	Sat, 17 Mar 2012 17:55:49 +0000 (UTC)
	(envelope-from gjb@semihalf.com)
Received: from smtp.semihalf.com (smtp.semihalf.com [213.17.239.109])
	by mx1.freebsd.org (Postfix) with ESMTP id 075A28FC08;
	Sat, 17 Mar 2012 17:55:48 +0000 (UTC)
Received: from localhost (unknown [213.17.239.109])
	by smtp.semihalf.com (Postfix) with ESMTP id 8233AEC2EB;
	Sat, 17 Mar 2012 18:55:34 +0100 (CET)
X-Virus-Scanned: by amavisd-new at semihalf.com
Received: from smtp.semihalf.com ([213.17.239.109])
	by localhost (smtp.semihalf.com [213.17.239.109]) (amavisd-new,
	port 10024)
	with ESMTP id qxlDX2Nd3lNX; Sat, 17 Mar 2012 18:55:33 +0100 (CET)
Received: from [172.17.136.194] (adsl-64-175-228-30.dsl.sntc01.pacbell.net
	[64.175.228.30])
	by smtp.semihalf.com (Postfix) with ESMTPSA id DD7FEEC2E9;
	Sat, 17 Mar 2012 18:55:31 +0100 (CET)
Message-ID: <4F64D01A.8070100@semihalf.com>
Date: Sat, 17 Mar 2012 18:55:38 +0100
From: Grzegorz Bernacki <gjb@semihalf.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
MIME-Version: 1.0
To: Konstantin Belousov <kostikbel@gmail.com>
References: <201203170331.q2H3VBou048384@svn.freebsd.org>
	<20120317085926.GE1340@garage.freebsd.pl>
	<20120317165353.GK75778@deviant.kiev.zoral.com.ua>
In-Reply-To: <20120317165353.GK75778@deviant.kiev.zoral.com.ua>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Cc: svn-src-projects@freebsd.org, Grzegorz Bernacki <gber@freebsd.org>,
	Pawel Jakub Dawidek <pjd@freebsd.org>, src-committers@freebsd.org
Subject: Re: svn commit: r233075 - projects/nand/include
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 17:55:49 -0000

W dniu 2012-03-17 17:53, Konstantin Belousov pisze:
> On Sat, Mar 17, 2012 at 09:59:26AM +0100, Pawel Jakub Dawidek wrote:
>> On Sat, Mar 17, 2012 at 03:31:11AM +0000, Grzegorz Bernacki wrote:
>>> Author: gber
>>> Date: Sat Mar 17 03:31:11 2012
>>> New Revision: 233075
>>> URL: http://svn.freebsd.org/changeset/base/233075
>>>
>>> Log:
>>>    Install header files required by NANDFS
>>>
>>>    Obtained from: Semihalf
>>>    Supported by:  FreeBSD Foundation, Juniper Networks
>>>
>>> Modified:
>>>    projects/nand/include/Makefile
>>>
>>> Modified: projects/nand/include/Makefile
>>> ==============================================================================
>>> --- projects/nand/include/Makefile	Sat Mar 17 03:28:37 2012	(r233074)
>>> +++ projects/nand/include/Makefile	Sat Mar 17 03:31:11 2012	(r233075)
>>> @@ -43,7 +43,7 @@ LSUBDIRS=	cam/ata cam/scsi \
>>>   	dev/ic dev/iicbus ${_dev_ieee488} dev/io dev/lmc dev/mfi dev/ofw \
>>>   	dev/pbio ${_dev_powermac_nvram} dev/ppbus dev/smbus \
>>>   	dev/speaker dev/usb dev/utopia dev/vkbd dev/wi \
>>> -	fs/devfs fs/fdescfs fs/fifofs fs/msdosfs fs/nfs fs/ntfs fs/nullfs \
>>> +	fs/devfs fs/fdescfs fs/fix msdosfs fs/nandfs fs/nfs fs/ntfs fs/nullfs \
>> You added nandfs, but removed fifofs.
> fifofs was removed earlier in head.
>
> I think this is badly done merge, and suggest inspecting the whole
> diff for unwanted changes.
Yes, I did few things wrong.  Really sorry about it. Let me go through 
all the changes and fix them.

grzesiek


From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 18:09:33 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id D38E11065690;
	Sat, 17 Mar 2012 18:09:33 +0000 (UTC)
	(envelope-from gjb@semihalf.com)
Received: from smtp.semihalf.com (smtp.semihalf.com [213.17.239.109])
	by mx1.freebsd.org (Postfix) with ESMTP id 0F2DF8FC0A;
	Sat, 17 Mar 2012 18:09:32 +0000 (UTC)
Received: from localhost (unknown [213.17.239.109])
	by smtp.semihalf.com (Postfix) with ESMTP id C21D8EC2EB;
	Sat, 17 Mar 2012 19:09:24 +0100 (CET)
X-Virus-Scanned: by amavisd-new at semihalf.com
Received: from smtp.semihalf.com ([213.17.239.109])
	by localhost (smtp.semihalf.com [213.17.239.109]) (amavisd-new,
	port 10024)
	with ESMTP id Ipr6bJufogAm; Sat, 17 Mar 2012 19:09:23 +0100 (CET)
Received: from [172.17.136.194] (adsl-64-175-228-30.dsl.sntc01.pacbell.net
	[64.175.228.30])
	by smtp.semihalf.com (Postfix) with ESMTPSA id 9ED81EC2E9;
	Sat, 17 Mar 2012 19:09:21 +0100 (CET)
Message-ID: <4F64D357.6080104@semihalf.com>
Date: Sat, 17 Mar 2012 19:09:27 +0100
From: Grzegorz Bernacki <gjb@semihalf.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1;
	rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
MIME-Version: 1.0
To: Pawel Jakub Dawidek <pjd@FreeBSD.org>
References: <201203170323.q2H3NDCs048073@svn.freebsd.org>
	<20120317085609.GD1340@garage.freebsd.pl>
In-Reply-To: <20120317085609.GD1340@garage.freebsd.pl>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Cc: svn-src-projects@freebsd.org, Grzegorz Bernacki <gber@FreeBSD.org>,
	src-committers@freebsd.org
Subject: Re: svn commit: r233073 - projects/nand/sys/geom
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 18:09:33 -0000

W dniu 2012-03-17 09:56, Pawel Jakub Dawidek pisze:
> On Sat, Mar 17, 2012 at 03:23:13AM +0000, Grzegorz Bernacki wrote:
>> Author: gber
>> Date: Sat Mar 17 03:23:13 2012
>> New Revision: 233073
>> URL: http://svn.freebsd.org/changeset/base/233073
>>
>> Log:
>>    Add changes required for proper working of NAND chip geom devices.
> Hmm, adding two new BIO types is a big deal. Is there an ongoing
> discussion somewhere about this that I'm not aware of?
> What's the difference between BIO_READOOB/BIO_WRITEOOB and
> BIO_READ/BIO_WRITE exactly?

  BIO_READOOB/BIO_WRITEOOB to read from areas of chip which are not 
supposed to store
  regular data. Our purpose is to have BIO_READ/BIO_WRITE to access data 
on the chip and
   BIO_READOOB/BIO_WRITEOOB to access metadata.

grzesiek
>
> Also, instead of adding nand-specific ioctls why not to create dedicated
> GEOM NAND class and use class ioctl method to implement those?
>
>>    Obtained from: Semihalf
>>    Supported by:  FreeBSD Foundation, Juniper Networks
>>
>> Modified:
>>    projects/nand/sys/geom/geom.h
>>    projects/nand/sys/geom/geom_dev.c
>>    projects/nand/sys/geom/geom_disk.c
>>    projects/nand/sys/geom/geom_disk.h
>>    projects/nand/sys/geom/geom_io.c
>>    projects/nand/sys/geom/geom_slice.c
>>
>> Modified: projects/nand/sys/geom/geom.h
>> ==============================================================================
>> --- projects/nand/sys/geom/geom.h	Sat Mar 17 03:18:28 2012	(r233072)
>> +++ projects/nand/sys/geom/geom.h	Sat Mar 17 03:23:13 2012	(r233073)
>> @@ -309,6 +309,8 @@ struct bio *g_alloc_bio(void);
>>   void * g_read_data(struct g_consumer *cp, off_t offset, off_t length, int *error);
>>   int g_write_data(struct g_consumer *cp, off_t offset, void *ptr, off_t length);
>>   int g_delete_data(struct g_consumer *cp, off_t offset, off_t length);
>> +void *g_read_oob(struct g_consumer *cp, off_t offset, off_t length, int *error);
>> +int g_write_oob(struct g_consumer *cp, off_t offset, void *ptr, off_t length);
>>   void g_print_bio(struct bio *bp);
>>
>>   /* geom_kern.c / geom_kernsim.c */
>>
>> Modified: projects/nand/sys/geom/geom_dev.c
>> ==============================================================================
>> --- projects/nand/sys/geom/geom_dev.c	Sat Mar 17 03:18:28 2012	(r233072)
>> +++ projects/nand/sys/geom/geom_dev.c	Sat Mar 17 03:23:13 2012	(r233073)
>> @@ -311,8 +311,10 @@ g_dev_ioctl(struct cdev *dev, u_long cmd
>>   	struct g_consumer *cp;
>>   	struct g_provider *pp;
>>   	struct g_kerneldump kd;
>> +	struct nand_oob_request *nand_req;
>>   	off_t offset, length, chunk;
>>   	int i, error;
>> +	void *buf;
>>   	u_int u;
>>
>>   	gp = dev->si_drv1;
>> @@ -345,6 +347,16 @@ g_dev_ioctl(struct cdev *dev, u_long cmd
>>   		if (error == 0&&  *(u_int *)data == 0)
>>   			error = ENOENT;
>>   		break;
>> +	case DIOCNOOBSIZE:
>> +		error = g_io_getattr("NAND::oobsize", cp,&i, data);
>> +		if (error == 0&&  *(u_int *)data == 0)
>> +			error = ENOENT;
>> +		break;
>> +	case DIOCNBLKSIZE:
>> +		error = g_io_getattr("NAND::blocksize", cp,&i, data);
>> +		if (error == 0&&  *(u_int *)data == 0)
>> +			error = ENOENT;
>> +		break;
>>   	case DIOCGFRONTSTUFF:
>>   		error = g_io_getattr("GEOM::frontstuff", cp,&i, data);
>>   		break;
>> @@ -396,6 +408,28 @@ g_dev_ioctl(struct cdev *dev, u_long cmd
>>   				break;
>>   		}
>>   		break;
>> +	case DIOCNREADOOB:
>> +		nand_req = (struct nand_oob_request *)data;
>> +
>> +		buf = g_read_oob(cp, nand_req->offset, nand_req->length,
>> +		&error);
>> +		if (error)
>> +			break;
>> +
>> +		error = copyout(buf, nand_req->ubuf, nand_req->length);
>> +		break;
>> +	case DIOCNWRITEOOB:
>> +		nand_req = (struct nand_oob_request *)data;
>> +
>> +		buf = g_malloc(nand_req->length, M_WAITOK);
>> +		error = copyin(nand_req->ubuf, buf, nand_req->length);
>> +
>> +		if (error)
>> +			break;
>> +
>> +		error = g_write_oob(cp, nand_req->offset, buf,
>> +		    nand_req->length);
>> +		break;
>>   	case DIOCGIDENT:
>>   		error = g_io_getattr("GEOM::ident", cp,&i, data);
>>   		break;
>>
>> Modified: projects/nand/sys/geom/geom_disk.c
>> ==============================================================================
>> --- projects/nand/sys/geom/geom_disk.c	Sat Mar 17 03:18:28 2012	(r233072)
>> +++ projects/nand/sys/geom/geom_disk.c	Sat Mar 17 03:23:13 2012	(r233073)
>> @@ -368,6 +368,10 @@ g_disk_start(struct bio *bp)
>>   			break;
>>   		else if (g_handleattr_int(bp, "GEOM::fwheads", dp->d_fwheads))
>>   			break;
>> +		else if (g_handleattr_int(bp, "NAND::oobsize", dp->n_oobsize))
>> +			break;
>> +		else if (g_handleattr_int(bp, "NAND::pagesize", dp->n_pagesize))
>> +			break;
>>   		else if (g_handleattr_off_t(bp, "GEOM::frontstuff", 0))
>>   			break;
>>   		else if (g_handleattr_str(bp, "GEOM::ident", dp->d_ident))
>>
>> Modified: projects/nand/sys/geom/geom_disk.h
>> ==============================================================================
>> --- projects/nand/sys/geom/geom_disk.h	Sat Mar 17 03:18:28 2012	(r233072)
>> +++ projects/nand/sys/geom/geom_disk.h	Sat Mar 17 03:23:13 2012	(r233073)
>> @@ -86,6 +86,8 @@ struct disk {
>>   	u_int			d_maxsize;
>>   	u_int			d_stripeoffset;
>>   	u_int			d_stripesize;
>> +	u_int			n_oobsize;
>> +	u_int			n_pagesize;
>>   	char			d_ident[DISK_IDENT_SIZE];
>>   	char			d_descr[DISK_IDENT_SIZE];
>>   	uint16_t		d_hba_vendor;
>>
>> Modified: projects/nand/sys/geom/geom_io.c
>> ==============================================================================
>> --- projects/nand/sys/geom/geom_io.c	Sat Mar 17 03:18:28 2012	(r233072)
>> +++ projects/nand/sys/geom/geom_io.c	Sat Mar 17 03:23:13 2012	(r233073)
>> @@ -289,11 +289,13 @@ g_io_check(struct bio *bp)
>>   	/* Fail if access counters dont allow the operation */
>>   	switch(bp->bio_cmd) {
>>   	case BIO_READ:
>> +	case BIO_READOOB:
>>   	case BIO_GETATTR:
>>   		if (cp->acr == 0)
>>   			return (EPERM);
>>   		break;
>>   	case BIO_WRITE:
>> +	case BIO_WRITEOOB:
>>   	case BIO_DELETE:
>>   	case BIO_FLUSH:
>>   		if (cp->acw == 0)
>> @@ -759,6 +761,52 @@ g_delete_data(struct g_consumer *cp, off
>>   	return (error);
>>   }
>>
>> +void *
>> +g_read_oob(struct g_consumer *cp, off_t offset, off_t length, int *error)
>> +{
>> +	struct bio *bp;
>> +	void *ptr;
>> +	int errorc;
>> +
>> +	bp = g_alloc_bio();
>> +	bp->bio_cmd = BIO_READOOB;
>> +	bp->bio_done = NULL;
>> +	bp->bio_offset = offset;
>> +	bp->bio_length = length;
>> +	ptr = g_malloc(length, M_WAITOK);
>> +	bp->bio_data = ptr;
>> +	g_io_request(bp, cp);
>> +	errorc = biowait(bp, "groob");
>> +	if (error != NULL)
>> +		*error = errorc;
>> +
>> +	g_destroy_bio(bp);
>> +	if (errorc) {
>> +		g_free(ptr);
>> +		ptr = NULL;
>> +	}
>> +
>> +	return (ptr);
>> +}
>> +
>> +int
>> +g_write_oob(struct g_consumer *cp, off_t offset, void *ptr, off_t length)
>> +{
>> +	struct bio *bp;
>> +	int error;
>> +
>> +	bp = g_alloc_bio();
>> +	bp->bio_cmd = BIO_WRITEOOB;
>> +	bp->bio_done = NULL;
>> +	bp->bio_offset = offset;
>> +	bp->bio_length = length;
>> +	bp->bio_data = ptr;
>> +	g_io_request(bp, cp);
>> +	error = biowait(bp, "gwoob");
>> +	g_destroy_bio(bp);
>> +	return (error);
>> +}
>> +
>>   void
>>   g_print_bio(struct bio *bp)
>>   {
>>
>> Modified: projects/nand/sys/geom/geom_slice.c
>> ==============================================================================
>> --- projects/nand/sys/geom/geom_slice.c	Sat Mar 17 03:18:28 2012	(r233072)
>> +++ projects/nand/sys/geom/geom_slice.c	Sat Mar 17 03:23:13 2012	(r233073)
>> @@ -215,7 +215,9 @@ g_slice_start(struct bio *bp)
>>   	gsl =&gsp->slices[idx];
>>   	switch(bp->bio_cmd) {
>>   	case BIO_READ:
>> +	case BIO_READOOB:
>>   	case BIO_WRITE:
>> +	case BIO_WRITEOOB:
>>   	case BIO_DELETE:
>>   		if (bp->bio_offset>  gsl->length) {
>>   			g_io_deliver(bp, EINVAL); /* XXX: EWHAT ? */
>> @@ -233,8 +235,10 @@ g_slice_start(struct bio *bp)
>>   			if (t + bp->bio_length<= ghp->offset)
>>   				continue;
>>   			switch(bp->bio_cmd) {
>> -			case BIO_READ:		idx = ghp->ract; break;
>> -			case BIO_WRITE:		idx = ghp->wact; break;
>> +			case BIO_READ:
>> +			case BIO_READOOB:	idx = ghp->ract; break;
>> +			case BIO_WRITE:
>> +			case BIO_WRITEOOB:	idx = ghp->wact; break;
>>   			case BIO_DELETE:	idx = ghp->dact; break;
>>   			}
>>   			switch(idx) {


From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 19:29:57 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 7A85E1065674;
	Sat, 17 Mar 2012 19:29:57 +0000 (UTC)
	(envelope-from adrian@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 4CD4C8FC0A;
	Sat, 17 Mar 2012 19:29:57 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2HJTvmB084055;
	Sat, 17 Mar 2012 19:29:57 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2HJTvWg084054;
	Sat, 17 Mar 2012 19:29:57 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201203171929.q2HJTvWg084054@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Sat, 17 Mar 2012 19:29:57 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r233093 - projects/net80211_testsuite
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 19:29:57 -0000

Author: adrian
Date: Sat Mar 17 19:29:56 2012
New Revision: 233093
URL: http://svn.freebsd.org/changeset/base/233093

Log:
  Begin a project to flesh out 802.11 regression and test suite routines.
  
  The eventual plan is to merge these back into -HEAD in a suitable location.

Added:
  projects/net80211_testsuite/

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 19:35:46 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id A07EE106566C;
	Sat, 17 Mar 2012 19:35:46 +0000 (UTC)
	(envelope-from adrian@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 735B78FC14;
	Sat, 17 Mar 2012 19:35:46 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2HJZkBW084286;
	Sat, 17 Mar 2012 19:35:46 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2HJZkth084285;
	Sat, 17 Mar 2012 19:35:46 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201203171935.q2HJZkth084285@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Sat, 17 Mar 2012 19:35:46 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r233094 - in projects/net80211_testsuite/wtap: . 001
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 19:35:46 -0000

Author: adrian
Date: Sat Mar 17 19:35:45 2012
New Revision: 233094
URL: http://svn.freebsd.org/changeset/base/233094

Log:
  Begin fleshing out some wtap net80211 tests.
  
  I'll commit a follow-up description with this test.

Added:
  projects/net80211_testsuite/wtap/
  projects/net80211_testsuite/wtap/001/
  projects/net80211_testsuite/wtap/001/test.sh   (contents, props changed)

Added: projects/net80211_testsuite/wtap/001/test.sh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/net80211_testsuite/wtap/001/test.sh	Sat Mar 17 19:35:45 2012	(r233094)
@@ -0,0 +1,112 @@
+#!/bin/sh
+
+# This program requires:
+# + wtap - to create/destroy the wtap instances
+# + vis_map - to setup the visibility map between wtap instances
+# + vimage - to configure/destroy vtap nodes
+
+# The number of nodes to test
+
+NBR_NODES=4
+
+# The subnet prefix
+IP_SUBNET="192.168.2."
+
+cmd()
+{
+	echo "*** " $*
+	$*
+}
+
+setup()
+{
+	# Create wtap/vimage nodes
+	for i in `seq 1 ${NBR_NODES}`; do
+		wtap_if="`expr $i - 1`"
+		echo "Setup: vimage $i - wtap$wtap_if"
+		cmd vimage -c $i
+		cmd wtap c $wtap_if
+	done
+
+	# Set visibility for each node to see the
+	# next node.
+	n="`expr ${NBR_NODES} - 1`"
+	for i in `seq 0 ${n}`; do
+		j="`expr ${i} + 1`"
+		cmd vis_map a $i $j
+		cmd vis_map a $j $i
+	done
+
+	# What's this do?
+	cmd vis_map o
+
+	# Create each wlan subinterface, place into the correct vnet
+	for i in `seq 0 ${n}`; do
+		vnet="`expr ${i} + 1`"
+		cmd ifconfig wlan${i} create wlandev wtap${i} wlanmode mesh
+		cmd ifconfig wlan${i} meshid mymesh
+		cmd wlandebug -i wlan${i} hwmp
+		cmd ifconfig wlan${i} vnet ${vnet}
+		cmd jexec ${vnet} ifconfig wlan${i} up
+
+		cmd jexec ${vnet} ifconfig wlan${i} inet ${IP_SUBNET}${vnet}
+	done
+}
+
+run()
+{
+	# Test connectivity from each node to each other node
+	for i in `seq 1 ${NBR_NODES}`; do
+		for j in `seq 1 ${NBR_NODES}`; do
+			if [ "$i" != "$j" ]; then
+				# From vimage '$i' to vimage '$j'..
+				echo "* Checking ${i} -> ${j}.."
+				# Return after a single successful packet
+				cmd jexec $i ping -q -t 5 -c 5 \
+				    -o ${IP_SUBNET}${j}
+
+				if [ "$?" = "0" ]; then
+					echo "CHECK: ${i} -> ${j}: SUCCESS"
+				else
+					echo "CHECK: ${i} -> ${j}: FAILURE"
+				fi
+			fi
+		done
+	done
+}
+
+teardown()
+{
+	n="`expr ${NBR_NODES} - 1`"
+	for i in `seq 0 ${n}`; do
+		vnet="`expr ${i} + 1`"
+		cmd jexec ${vnet} ifconfig wlan${i} destroy
+	done
+	for i in `seq 1 ${NBR_NODES}`; do
+		wtap_if="`expr $i - 1`"
+		cmd wtap d ${wtap_if}
+		cmd vimage -d ${i}
+	done
+}
+
+case $1 in
+	'setup')
+		setup
+		exit 0
+	;;
+	'run')
+		run
+		exit 0
+	;;
+	'teardown')
+		teardown
+		exit 0
+	;;
+	*)
+		echo "$0 {setup | run | teardown}"
+		exit 127
+	;;
+esac
+
+exit 0
+

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 19:37:21 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 0107B1065670;
	Sat, 17 Mar 2012 19:37:21 +0000 (UTC)
	(envelope-from adrian.chadd@gmail.com)
Received: from mail-pz0-f54.google.com (mail-pz0-f54.google.com
	[209.85.210.54])
	by mx1.freebsd.org (Postfix) with ESMTP id B3DA58FC0A;
	Sat, 17 Mar 2012 19:37:20 +0000 (UTC)
Received: by dald2 with SMTP id d2so8373701dal.13
	for <multiple recipients>; Sat, 17 Mar 2012 12:37:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:sender:in-reply-to:references:date
	:x-google-sender-auth:message-id:subject:from:to:cc:content-type;
	bh=rFpHF1DAoVcXpR1tlUxVhpD3ykTpdM0N/FPa12JHJm0=;
	b=l5CHlFOBCwBwCNZ/3YE6dkzbwSLyKLFH5cL3WLEW378TUXXQpPonsJmMeRX2Gn46Eu
	Ngu+3J8pt1lxWWC3HZLePrqtotwJgTW7Z3j/mTOL2V8Nz8jmAbHLgRCwsE89eArEAEQJ
	9y9LqCldPH2b5z7W7o0NlY12ABRp+5ug9mJ2WHECHEO7eS0D/N4+bspof8qlKoUg8ATS
	XzMLMOwuqUYI+toSZf/hmb6WAEv3OBT0u52B9jq8wKlNIDRubCwHtajwqxmcozlJ2zK9
	IUPuO5vT1FgvuU6qVPO9+N6f+peuPHvaXxQwrnXa6cTTVYlnegkdhmRW4WlQoIKNiaUs
	NzEQ==
MIME-Version: 1.0
Received: by 10.68.225.104 with SMTP id rj8mr25832625pbc.135.1332013040269;
	Sat, 17 Mar 2012 12:37:20 -0700 (PDT)
Sender: adrian.chadd@gmail.com
Received: by 10.143.33.5 with HTTP; Sat, 17 Mar 2012 12:37:20 -0700 (PDT)
In-Reply-To: <4F64D357.6080104@semihalf.com>
References: <201203170323.q2H3NDCs048073@svn.freebsd.org>
	<20120317085609.GD1340@garage.freebsd.pl>
	<4F64D357.6080104@semihalf.com>
Date: Sat, 17 Mar 2012 12:37:20 -0700
X-Google-Sender-Auth: bhbqxE56XJ2BL_fJ0CKVIknNK3o
Message-ID: <CAJ-VmomB_a9LfgmA-p1Zv7Sa+LdXZMo6=qSkKSPqCRWDNSDMOA@mail.gmail.com>
From: Adrian Chadd <adrian@freebsd.org>
To: Grzegorz Bernacki <gjb@semihalf.com>
Content-Type: text/plain; charset=ISO-8859-1
Cc: svn-src-projects@freebsd.org, Grzegorz Bernacki <gber@freebsd.org>,
	Pawel Jakub Dawidek <pjd@freebsd.org>, src-committers@freebsd.org
Subject: Re: svn commit: r233073 - projects/nand/sys/geom
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 19:37:21 -0000

Hiya,

If you're going to add new BIOs, can I possibly request we add a
"BIO_WRITE" variant for NOR flash, that can be interpreted as "don't
do a read-modify-write, but simply write over whatever the underlying
storage device has" ?

That way NOR flash filesystems can do incremental writes of pages
without having to do a read/erase/modify/write pass, where the erase
is very very expensive.

Thanks,


Adrian

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 19:40:37 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id C9B68106564A;
	Sat, 17 Mar 2012 19:40:37 +0000 (UTC)
	(envelope-from adrian@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id B57158FC0C;
	Sat, 17 Mar 2012 19:40:37 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q2HJebWY084459;
	Sat, 17 Mar 2012 19:40:37 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id q2HJebxY084457;
	Sat, 17 Mar 2012 19:40:37 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201203171940.q2HJebxY084457@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Sat, 17 Mar 2012 19:40:37 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
X-SVN-Group: projects
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r233095 - projects/net80211_testsuite/wtap/001
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 19:40:37 -0000

Author: adrian
Date: Sat Mar 17 19:40:37 2012
New Revision: 233095
URL: http://svn.freebsd.org/changeset/base/233095

Log:
  Document.

Modified:
  projects/net80211_testsuite/wtap/001/test.sh

Modified: projects/net80211_testsuite/wtap/001/test.sh
==============================================================================
--- projects/net80211_testsuite/wtap/001/test.sh	Sat Mar 17 19:35:45 2012	(r233094)
+++ projects/net80211_testsuite/wtap/001/test.sh	Sat Mar 17 19:40:37 2012	(r233095)
@@ -18,6 +18,33 @@ cmd()
 	$*
 }
 
+descr()
+{
+	cat <<EOL
+
+This test establishes that the very basic 802.11s multi-hop
+connectivity works.
+
+It:
+
+* creates four wtap instances
+* creates four vimage instances
+* creates one wlan vap for each wtap instance and places
+  each vap in one of the four vimage instances
+* sets up the visibility to the following:
+
+  A <-> B <-> C <-> D
+
+* does a ping test from each node to each other node.
+
+It is expected that the initial creation and discovery phase
+will take some time so the initial run will fail until discovery
+is done.  A future extension to the test suite should be to
+set lower/upper bounds on the discovery phase time.
+
+EOL
+}
+
 setup()
 {
 	# Create wtap/vimage nodes
@@ -102,8 +129,12 @@ case $1 in
 		teardown
 		exit 0
 	;;
+	'descr')
+		descr
+		exit 0
+	;;
 	*)
-		echo "$0 {setup | run | teardown}"
+		echo "$0 {setup | run | teardown | descr}"
 		exit 127
 	;;
 esac

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 20:24:04 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 39F62106566B;
	Sat, 17 Mar 2012 20:24:04 +0000 (UTC)
	(envelope-from kabaev@gmail.com)
Received: from mail-qc0-f182.google.com (mail-qc0-f182.google.com
	[209.85.216.182])
	by mx1.freebsd.org (Postfix) with ESMTP id 9481D8FC0C;
	Sat, 17 Mar 2012 20:24:03 +0000 (UTC)
Received: by qcsg15 with SMTP id g15so694277qcs.13
	for <multiple recipients>; Sat, 17 Mar 2012 13:24:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=date:from:to:cc:subject:message-id:in-reply-to:references:x-mailer
	:mime-version:content-type;
	bh=H4arOnXF4AQQjKEU5raEB6/u6n9jwY+dDdLHNFjbpFI=;
	b=0V5Ev5NDty5BDod1PN5p56gVjATG457h+W1bY0lh9mKMFh+3THqp2j2VobKn/gjDz0
	dtKWtCyrvt0UwHBgjPy6S+9bOgAjmCE2huzx14xTKCRRPJHUX/tNTQXr446Lb3YuAzN5
	ZH20u8wo7JEFNI8zbG3M06YlqEQlvF4qQyrzz3B6AEZy0UxYVB6niFmMTy86TmqGYy2B
	4N+A7h9v8+qLWOfEZf2xo+pJ6tJ6sMiZCUUmM9kyznSBo+ijptOlN2nmaeGPclsXW6Us
	bJH7uEPhs1c59WBuTd+7OpN4B/tI4T1m8FHscy1FdUEHYdsBy8RWSmrdjHFnHB3DadcQ
	THkw==
Received: by 10.224.41.206 with SMTP id p14mr7857712qae.90.1332015842751;
	Sat, 17 Mar 2012 13:24:02 -0700 (PDT)
Received: from kan.dyndns.org (c-24-63-226-98.hsd1.ma.comcast.net.
	[24.63.226.98])
	by mx.google.com with ESMTPS id n8sm17197633qan.12.2012.03.17.13.24.01
	(version=SSLv3 cipher=OTHER); Sat, 17 Mar 2012 13:24:01 -0700 (PDT)
Date: Sat, 17 Mar 2012 16:23:55 -0400
From: Alexander Kabaev <kabaev@gmail.com>
To: Adrian Chadd <adrian@freebsd.org>
Message-ID: <20120317162355.1f7736f5@kan.dyndns.org>
In-Reply-To: <CAJ-VmomB_a9LfgmA-p1Zv7Sa+LdXZMo6=qSkKSPqCRWDNSDMOA@mail.gmail.com>
References: <201203170323.q2H3NDCs048073@svn.freebsd.org>
	<20120317085609.GD1340@garage.freebsd.pl>
	<4F64D357.6080104@semihalf.com>
	<CAJ-VmomB_a9LfgmA-p1Zv7Sa+LdXZMo6=qSkKSPqCRWDNSDMOA@mail.gmail.com>
X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.6; amd64-portbld-freebsd10.0)
Mime-Version: 1.0
Content-Type: multipart/signed; micalg=PGP-SHA1;
	boundary="Sig_/3a3C9QafjpJ+SW/yt7DJfE0";
	protocol="application/pgp-signature"
Cc: svn-src-projects@freebsd.org, Grzegorz Bernacki <gjb@semihalf.com>,
	Grzegorz Bernacki <gber@freebsd.org>,
	Pawel Jakub Dawidek <pjd@freebsd.org>, src-committers@freebsd.org
Subject: Re: svn commit: r233073 - projects/nand/sys/geom
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 20:24:04 -0000

--Sig_/3a3C9QafjpJ+SW/yt7DJfE0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

On Sat, 17 Mar 2012 12:37:20 -0700
Adrian Chadd <adrian@freebsd.org> wrote:

> Hiya,
>=20
> If you're going to add new BIOs, can I possibly request we add a
> "BIO_WRITE" variant for NOR flash, that can be interpreted as "don't
> do a read-modify-write, but simply write over whatever the underlying
> storage device has" ?
>=20
> That way NOR flash filesystems can do incremental writes of pages
> without having to do a read/erase/modify/write pass, where the erase
> is very very expensive.
>=20
> Thanks,
>=20
>=20
> Adrian

You do not do that with NAND, not with any of the recent chips anyway,
unless you hate your data and want it dead :)

--=20
Alexander Kabaev

--Sig_/3a3C9QafjpJ+SW/yt7DJfE0
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (FreeBSD)

iD8DBQFPZPLgQ6z1jMm+XZYRAm16AKCXYfLmOzWfmt4vQXuR85H9JQ/7sgCdH9HX
TV/IVlGjBK0Ja5Iov+GXjvg=
=7jj1
-----END PGP SIGNATURE-----

--Sig_/3a3C9QafjpJ+SW/yt7DJfE0--

From owner-svn-src-projects@FreeBSD.ORG  Sat Mar 17 21:53:25 2012
Return-Path: <owner-svn-src-projects@FreeBSD.ORG>
Delivered-To: svn-src-projects@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id A05041065673;
	Sat, 17 Mar 2012 21:53:25 +0000 (UTC)
	(envelope-from pawel@dawidek.net)
Received: from mail.dawidek.net (60.wheelsystems.com [83.12.187.60])
	by mx1.freebsd.org (Postfix) with ESMTP id 49AC58FC0C;
	Sat, 17 Mar 2012 21:53:25 +0000 (UTC)
Received: from localhost (89-73-195-149.dynamic.chello.pl [89.73.195.149])
	by mail.dawidek.net (Postfix) with ESMTPSA id 3216557F;
	Sat, 17 Mar 2012 22:53:23 +0100 (CET)
Date: Sat, 17 Mar 2012 22:51:58 +0100
From: Pawel Jakub Dawidek <pjd@FreeBSD.org>
To: Grzegorz Bernacki <gber@FreeBSD.org>
Message-ID: <20120317215156.GJ1340@garage.freebsd.pl>
References: <201203171710.q2HHAFiq079651@svn.freebsd.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="fLj60tP2PZ34xyqD"
Content-Disposition: inline
In-Reply-To: <201203171710.q2HHAFiq079651@svn.freebsd.org>
X-OS: FreeBSD 10.0-CURRENT amd64
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org
Subject: Re: svn commit: r233091 - in projects/nand: sbin/fdisk sys/sys
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
	tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
	<mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sat, 17 Mar 2012 21:53:25 -0000


--fLj60tP2PZ34xyqD
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Mar 17, 2012 at 05:10:15PM +0000, Grzegorz Bernacki wrote:
> Author: gber
> Date: Sat Mar 17 17:10:14 2012
> New Revision: 233091
> URL: http://svn.freebsd.org/changeset/base/233091
>=20
> Log:
>   Add ioctl and structures for accessing nand disk devices.

Grzegorz, this is really wrong way to do it. Neither geom_dev nor
geom_disk are the places to add NAND specific ioctls.

The DEV GEOM class will forward unknown ioctl to provider's class. In
this case to the DISK class. The DISK class will also forward ioctls to
your method. Take a look at the g_disk_ioctl() function. When you
configure your disk structure between disk_alloc() and disk_create() you
just need to set d_ioctl field to your ioctl method and handle all
ioctls specific to your class there. See disk(9) for more info.

Ioctl is also the way you should send/receive metadata (eventually
BIO_GETATTR) and not to introduce new BIO types that will only be used
by one GEOM class.

Don't hesitate to discuss this stuff on the freebsd-geom@ mailing list
to avoid surprises on the commit day.

> Modified: projects/nand/sys/sys/disk.h
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- projects/nand/sys/sys/disk.h	Sat Mar 17 16:40:15 2012	(r233090)
> +++ projects/nand/sys/sys/disk.h	Sat Mar 17 17:10:14 2012	(r233091)
> @@ -116,6 +116,32 @@ void disk_err(struct bio *bp, const char
>  	 * This should be a multiple of the sector size.
>  	 */
> =20
> +#define DIOCNOOBSIZE	_IOR('d', 141, u_int)	/* Get oob size */
> +	/*-
> +	 * Get the OOB area size of NAND flash device.
> +	 */
> +
> +#define DIOCNBLKSIZE	_IOR('d', 142, u_int)	/* Get block size */
> +	/* -
> +	 * Get the block size of NAND flash device.
> +	 */
> +
> +struct nand_oob_request {
> +	off_t		offset;		/* offset in bytes, page-aligned */
> +	off_t		length;		/* length */
> +	void *		ubuf;		/* buffer supplied by user */
> +};
> +
> +#define	DIOCNREADOOB	_IOW('d', 143, struct nand_oob_request)	/* Read OOB=
 area */
> +	/*-
> +	 * Read page OOB area from NAND flash device.
> +	 */
> +
> +#define	DIOCNWRITEOOB	_IOW('d', 144, struct nand_oob_request)	/* Write O=
OB area */
> +	/*-
> +	 * Write page OOB area to NAND flash device.
> +	 */
> +
>  #define	DIOCGPHYSPATH _IOR('d', 141, char[MAXPATHLEN])
>  	/*
>  	 * Get a string defining the physical path for a given provider.

--=20
Pawel Jakub Dawidek                       http://www.wheelsystems.com
FreeBSD committer                         http://www.FreeBSD.org
Am I Evil? Yes, I Am!                     http://tupytaj.pl

--fLj60tP2PZ34xyqD
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (FreeBSD)

iEYEARECAAYFAk9lB3sACgkQForvXbEpPzQGvQCePKu0mNHlnnPJxoVlkcA9FgKl
p/YAn1mVusRedJQhPiO51UIWgZet2ZNK
=zk08
-----END PGP SIGNATURE-----

--fLj60tP2PZ34xyqD--