svn commit: r300203 - in projects/vnet: . contrib/bsnmp/snmpd contrib/ipfilter/man etc/ntp gnu/usr.bin/binutils gnu/usr.bin/cc gnu/usr.bin/gdb gnu/usr.bin/gdb/libgdb lib/clang lib/libc lib/libc/arm...

Bjoern A. Zeeb bz at FreeBSD.org
Thu May 19 13:24:20 UTC 2016


Author: bz
Date: Thu May 19 13:24:13 2016
New Revision: 300203
URL: https://svnweb.freebsd.org/changeset/base/300203

Log:
  MfH @r300201.
  
  Sponsored by:	The FreeBSD Foundation

Added:
  projects/vnet/sys/boot/efi/libefi/env.c
     - copied unchanged from r300201, head/sys/boot/efi/libefi/env.c
  projects/vnet/sys/boot/ficl/efi.c
     - copied unchanged from r300201, head/sys/boot/ficl/efi.c
  projects/vnet/sys/dev/hyperv/vmbus/vmbus_var.h
     - copied unchanged from r300201, head/sys/dev/hyperv/vmbus/vmbus_var.h
  projects/vnet/sys/net/ifdi_if.m
     - copied unchanged from r300201, head/sys/net/ifdi_if.m
  projects/vnet/sys/net/iflib.c
     - copied unchanged from r300201, head/sys/net/iflib.c
  projects/vnet/sys/net/iflib.h
     - copied unchanged from r300201, head/sys/net/iflib.h
  projects/vnet/sys/net/mp_ring.c
     - copied unchanged from r300201, head/sys/net/mp_ring.c
  projects/vnet/sys/net/mp_ring.h
     - copied unchanged from r300201, head/sys/net/mp_ring.h
Deleted:
  projects/vnet/share/man/man5/reiserfs.5
Modified:
  projects/vnet/Makefile
  projects/vnet/Makefile.inc1
  projects/vnet/ObsoleteFiles.inc
  projects/vnet/README
  projects/vnet/UPDATING
  projects/vnet/contrib/bsnmp/snmpd/main.c
  projects/vnet/contrib/ipfilter/man/ipf.5
  projects/vnet/etc/ntp/leap-seconds
  projects/vnet/gnu/usr.bin/binutils/Makefile.inc0
  projects/vnet/gnu/usr.bin/cc/Makefile.tgt
  projects/vnet/gnu/usr.bin/gdb/Makefile.inc
  projects/vnet/gnu/usr.bin/gdb/libgdb/Makefile
  projects/vnet/lib/clang/clang.build.mk
  projects/vnet/lib/libc/Makefile
  projects/vnet/lib/libc/arm/Makefile.inc
  projects/vnet/lib/libc/arm/aeabi/Makefile.inc
  projects/vnet/lib/libc/arm/gen/Makefile.inc
  projects/vnet/lib/libcompiler_rt/Makefile
  projects/vnet/lib/libstand/printf.c
  projects/vnet/lib/libufs/cgroup.c
  projects/vnet/lib/libutil/login_auth.c
  projects/vnet/lib/libutil/login_cap.c
  projects/vnet/lib/libutil/pidfile.3
  projects/vnet/lib/libutil/pidfile.c
  projects/vnet/lib/msun/arm/Makefile.inc
  projects/vnet/lib/msun/arm/fenv-vfp.c
  projects/vnet/sbin/dhclient/dhclient.c
  projects/vnet/share/man/man4/ddb.4
  projects/vnet/share/man/man4/gdb.4
  projects/vnet/share/man/man5/Makefile
  projects/vnet/share/man/man8/nanobsd.8
  projects/vnet/share/mk/bsd.cpu.mk
  projects/vnet/share/mk/local.meta.sys.mk
  projects/vnet/share/mk/sys.mk
  projects/vnet/sys/arm/allwinner/a10/a10_intc.c
  projects/vnet/sys/arm/allwinner/aw_nmi.c
  projects/vnet/sys/arm/amlogic/aml8726/aml8726_ccm.c
  projects/vnet/sys/arm/amlogic/aml8726/aml8726_mmc.c
  projects/vnet/sys/arm/amlogic/aml8726/aml8726_pinctrl.c
  projects/vnet/sys/arm/amlogic/aml8726/aml8726_sdxc-m8.c
  projects/vnet/sys/arm/amlogic/aml8726/aml8726_usb_phy-m3.c
  projects/vnet/sys/arm/amlogic/aml8726/aml8726_usb_phy-m6.c
  projects/vnet/sys/arm/arm/gic.c
  projects/vnet/sys/arm/broadcom/bcm2835/bcm2835_gpio.c
  projects/vnet/sys/arm/broadcom/bcm2835/bcm2835_intr.c
  projects/vnet/sys/arm/broadcom/bcm2835/bcm2836.c
  projects/vnet/sys/arm/include/atomic-v4.h
  projects/vnet/sys/arm/mv/mpic.c
  projects/vnet/sys/arm/nvidia/tegra_gpio.c
  projects/vnet/sys/arm/nvidia/tegra_lic.c
  projects/vnet/sys/arm/ti/aintc.c
  projects/vnet/sys/arm/ti/omap4/omap4_wugen.c
  projects/vnet/sys/arm/ti/ti_gpio.c
  projects/vnet/sys/arm64/arm64/gic_v3_fdt.c
  projects/vnet/sys/arm64/arm64/gic_v3_its.c
  projects/vnet/sys/arm64/arm64/gic_v3_var.h
  projects/vnet/sys/boot/common/commands.c
  projects/vnet/sys/boot/common/disk.c
  projects/vnet/sys/boot/common/disk.h
  projects/vnet/sys/boot/common/module.c
  projects/vnet/sys/boot/common/part.c
  projects/vnet/sys/boot/common/part.h
  projects/vnet/sys/boot/common/pnp.c
  projects/vnet/sys/boot/efi/libefi/Makefile
  projects/vnet/sys/boot/efi/libefi/efinet.c
  projects/vnet/sys/boot/efi/libefi/efipart.c
  projects/vnet/sys/boot/efi/loader/Makefile
  projects/vnet/sys/boot/efi/loader/bootinfo.c
  projects/vnet/sys/boot/efi/loader/main.c
  projects/vnet/sys/boot/fdt/fdt_loader_cmd.c
  projects/vnet/sys/boot/ficl/loader.c
  projects/vnet/sys/boot/forth/loader.4th
  projects/vnet/sys/boot/forth/loader.conf
  projects/vnet/sys/boot/i386/libi386/bioscd.c
  projects/vnet/sys/boot/i386/libi386/biosdisk.c
  projects/vnet/sys/boot/pc98/libpc98/bioscd.c
  projects/vnet/sys/boot/pc98/libpc98/biosdisk.c
  projects/vnet/sys/boot/uboot/lib/disk.c
  projects/vnet/sys/boot/zfs/zfs.c
  projects/vnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ctldir.h
  projects/vnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c
  projects/vnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
  projects/vnet/sys/conf/NOTES
  projects/vnet/sys/conf/files
  projects/vnet/sys/conf/options
  projects/vnet/sys/dev/atkbdc/atkbdc_ebus.c
  projects/vnet/sys/dev/bwn/if_bwn.c
  projects/vnet/sys/dev/bwn/if_bwn_phy_common.c
  projects/vnet/sys/dev/bwn/if_bwnreg.h
  projects/vnet/sys/dev/bwn/if_bwnvar.h
  projects/vnet/sys/dev/fb/vesa.c
  projects/vnet/sys/dev/hyperv/vmbus/hv_channel.c
  projects/vnet/sys/dev/hyperv/vmbus/hv_connection.c
  projects/vnet/sys/dev/hyperv/vmbus/hv_hv.c
  projects/vnet/sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c
  projects/vnet/sys/dev/hyperv/vmbus/hv_vmbus_priv.h
  projects/vnet/sys/dev/isp/isp_target.c
  projects/vnet/sys/dev/kbd/kbd.c
  projects/vnet/sys/dev/le/lebuffer_sbus.c
  projects/vnet/sys/dev/mwl/mwlhal.c
  projects/vnet/sys/dev/ntb/ntb_hw/ntb_hw.c
  projects/vnet/sys/dev/ntb/ntb_hw/ntb_hw.h
  projects/vnet/sys/dev/pci/pci_pci.c
  projects/vnet/sys/dev/pci/pcib_private.h
  projects/vnet/sys/dev/sfxge/sfxge_rx.c
  projects/vnet/sys/dev/siba/siba_core.c
  projects/vnet/sys/dev/siba/sibareg.h
  projects/vnet/sys/dev/tsec/if_tsec_fdt.c
  projects/vnet/sys/dev/usb/controller/generic_ohci.c
  projects/vnet/sys/fs/fuse/fuse_vnops.c
  projects/vnet/sys/fs/nfsclient/nfs_clvfsops.c
  projects/vnet/sys/gnu/dev/bwn/phy_n/if_bwn_phy_n_core.c
  projects/vnet/sys/gnu/dev/bwn/phy_n/if_bwn_phy_n_ppr.c
  projects/vnet/sys/gnu/dev/bwn/phy_n/if_bwn_phy_n_tables.c
  projects/vnet/sys/gnu/dev/bwn/phy_n/if_bwn_radio_2055.c
  projects/vnet/sys/gnu/dev/bwn/phy_n/if_bwn_radio_2056.c
  projects/vnet/sys/gnu/dev/bwn/phy_n/if_bwn_radio_2057.c
  projects/vnet/sys/kern/bus_if.m
  projects/vnet/sys/kern/device_if.m
  projects/vnet/sys/kern/kern_clock.c
  projects/vnet/sys/kern/kern_mbuf.c
  projects/vnet/sys/kern/kern_mutex.c
  projects/vnet/sys/kern/subr_bus.c
  projects/vnet/sys/kern/subr_intr.c
  projects/vnet/sys/kern/subr_sleepqueue.c
  projects/vnet/sys/kern/subr_taskqueue.c
  projects/vnet/sys/kern/uipc_syscalls.c
  projects/vnet/sys/kern/vfs_vnops.c
  projects/vnet/sys/mips/mediatek/mtk_gpio_v1.c
  projects/vnet/sys/mips/mediatek/mtk_gpio_v2.c
  projects/vnet/sys/mips/mediatek/mtk_intr_gic.c
  projects/vnet/sys/mips/mediatek/mtk_intr_v1.c
  projects/vnet/sys/mips/mediatek/mtk_intr_v2.c
  projects/vnet/sys/mips/mediatek/mtk_pcie.c
  projects/vnet/sys/mips/mediatek/mtk_soc.c
  projects/vnet/sys/mips/mips/mips_pic.c
  projects/vnet/sys/net/if.c
  projects/vnet/sys/net/if_var.h
  projects/vnet/sys/net/vnet.c
  projects/vnet/sys/netinet/tcp_input.c
  projects/vnet/sys/netinet/tcp_subr.c
  projects/vnet/sys/netinet/tcp_var.h
  projects/vnet/sys/netpfil/ipfw/ip_fw_dynamic.c
  projects/vnet/sys/sparc64/central/central.c
  projects/vnet/sys/sparc64/ebus/ebus.c
  projects/vnet/sys/sparc64/fhc/fhc.c
  projects/vnet/sys/sparc64/isa/isa.c
  projects/vnet/sys/sparc64/pci/ofw_pci.c
  projects/vnet/sys/sparc64/sbus/dma_sbus.c
  projects/vnet/sys/sparc64/sbus/sbus.c
  projects/vnet/sys/sparc64/sparc64/nexus.c
  projects/vnet/sys/sparc64/sparc64/upa.c
  projects/vnet/sys/sys/_task.h
  projects/vnet/sys/sys/intr.h
  projects/vnet/sys/sys/mbuf.h
  projects/vnet/sys/sys/socketvar.h
  projects/vnet/sys/sys/taskqueue.h
  projects/vnet/sys/sys/vnode.h
  projects/vnet/sys/ufs/ffs/ffs_inode.c
  projects/vnet/sys/ufs/ffs/ffs_vfsops.c
  projects/vnet/sys/ufs/ufs/ufs_lookup.c
  projects/vnet/sys/ufs/ufs/ufs_vnops.c
  projects/vnet/targets/Makefile
  projects/vnet/tools/tools/nanobsd/defaults.sh
  projects/vnet/tools/tools/nanobsd/nanobsd.sh
  projects/vnet/usr.sbin/bsnmpd/bsnmpd/Makefile
  projects/vnet/usr.sbin/makefs/cd9660.c
  projects/vnet/usr.sbin/makefs/ffs.c
Directory Properties:
  projects/vnet/   (props changed)
  projects/vnet/contrib/ipfilter/   (props changed)
  projects/vnet/gnu/usr.bin/binutils/   (props changed)
  projects/vnet/gnu/usr.bin/gdb/   (props changed)
  projects/vnet/sys/cddl/contrib/opensolaris/   (props changed)

Modified: projects/vnet/Makefile
==============================================================================
--- projects/vnet/Makefile	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/Makefile	Thu May 19 13:24:13 2016	(r300203)
@@ -197,7 +197,7 @@ _MAKE+=	MK_META_MODE=no
 _TARGET_ARCH=	${TARGET:S/pc98/i386/:S/arm64/aarch64/}
 .elif !defined(TARGET) && defined(TARGET_ARCH) && \
     ${TARGET_ARCH} != ${MACHINE_ARCH}
-_TARGET=		${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb|hf)?/arm/:C/aarch64/arm64/:C/powerpc64/powerpc/:C/riscv64/riscv/}
+_TARGET=		${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/aarch64/arm64/:C/powerpc64/powerpc/:C/riscv64/riscv/}
 .endif
 .if defined(TARGET) && !defined(_TARGET)
 _TARGET=${TARGET}
@@ -374,7 +374,7 @@ worlds:
 .if make(universe) || make(universe_kernels) || make(tinderbox) || make(targets)
 TARGETS?=amd64 arm arm64 i386 mips pc98 powerpc sparc64
 _UNIVERSE_TARGETS=	${TARGETS}
-TARGET_ARCHES_arm?=	arm armeb armv6 armv6hf
+TARGET_ARCHES_arm?=	arm armeb armv6
 TARGET_ARCHES_arm64?=	aarch64
 TARGET_ARCHES_mips?=	mipsel mips mips64el mips64 mipsn32
 TARGET_ARCHES_powerpc?=	powerpc powerpc64

Modified: projects/vnet/Makefile.inc1
==============================================================================
--- projects/vnet/Makefile.inc1	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/Makefile.inc1	Thu May 19 13:24:13 2016	(r300203)
@@ -219,14 +219,13 @@ KNOWN_ARCHES?=	aarch64/arm64 \
 		arm \
 		armeb/arm \
 		armv6/arm \
-		armv6hf/arm \
 		i386 \
 		i386/pc98 \
 		mips \
 		mipsel/mips \
 		mips64el/mips \
-		mips64/mips \
 		mipsn32el/mips \
+		mips64/mips \
 		mipsn32/mips \
 		powerpc \
 		powerpc64/powerpc \
@@ -461,7 +460,7 @@ BFLAGS+=	-B${CROSS_BINUTILS_PREFIX}
 BFLAGS+=	-B${WORLDTMP}/usr/bin
 .endif
 .if ${TARGET} == "arm"
-.if ${TARGET_ARCH:M*hf*} != ""
+.if ${TARGET_ARCH:Marmv6*} != "" && ${TARGET_CPUTYPE:M*soft*} == ""
 TARGET_ABI=	gnueabihf
 .else
 TARGET_ABI=	gnueabi
@@ -976,27 +975,19 @@ packageworld: .PHONY
 # and do a 'make reinstall' on the *client* to install new binaries from the
 # most recent server build.
 #
-reinstall: .MAKE .PHONY
+restage reinstall: .MAKE .PHONY
 	@echo "--------------------------------------------------------------"
 	@echo ">>> Making hierarchy"
 	@echo "--------------------------------------------------------------"
 	${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 \
 	    LOCAL_MTREE=${LOCAL_MTREE:Q} hierarchy
-	@echo
+.if make(restage)
 	@echo "--------------------------------------------------------------"
-	@echo ">>> Installing everything"
-	@echo "--------------------------------------------------------------"
-	${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install
-.if defined(LIBCOMPAT)
-	${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install${libcompat}
-.endif
-
-restage: .MAKE .PHONY
-	@echo "--------------------------------------------------------------"
-	@echo ">>> Making hierarchy"
+	@echo ">>> Making distribution"
 	@echo "--------------------------------------------------------------"
 	${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 \
-	    LOCAL_MTREE=${LOCAL_MTREE:Q} hierarchy distribution
+	    LOCAL_MTREE=${LOCAL_MTREE:Q} distribution
+.endif
 	@echo
 	@echo "--------------------------------------------------------------"
 	@echo ">>> Installing everything"

Modified: projects/vnet/ObsoleteFiles.inc
==============================================================================
--- projects/vnet/ObsoleteFiles.inc	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/ObsoleteFiles.inc	Thu May 19 13:24:13 2016	(r300203)
@@ -38,6 +38,8 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20160517: ReiserFS removed
+OLD_FILES+=usr/share/man/man5/reiserfs.5.gz
 # 20160430: kvm_getfiles(3) removed from kvm(3)
 OLD_LIBS+=usr/lib/libkvm.so.6
 OLD_FILES+=usr/share/man/man3/kvm_getfiles.3.gz

Modified: projects/vnet/README
==============================================================================
--- projects/vnet/README	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/README	Thu May 19 13:24:13 2016	(r300203)
@@ -45,8 +45,6 @@ crypto		Cryptography stuff (see crypto/R
 
 etc		Template files for /etc.
 
-games		Amusements.
-
 gnu		Various commands and libraries under the GNU Public License.
 		Please see gnu/COPYING* for more information.
 

Modified: projects/vnet/UPDATING
==============================================================================
--- projects/vnet/UPDATING	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/UPDATING	Thu May 19 13:24:13 2016	(r300203)
@@ -31,6 +31,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20160517:
+	The armv6 port now defaults to hard float ABI. Limited support
+	for running both hardfloat and soft float on the same system
+	is available using the libraries installed with -DWITH_LIBSOFT.
+	This has only been tested as an upgrade path for installworld
+	and packages may fail or need manual intervention to run. New
+	packages will be needed.
+
 20160510:
 	Kernel modules compiled outside of a kernel build now default to
 	installing to /boot/modules instead of /boot/kernel.  Many kernel

Modified: projects/vnet/contrib/bsnmp/snmpd/main.c
==============================================================================
--- projects/vnet/contrib/bsnmp/snmpd/main.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/contrib/bsnmp/snmpd/main.c	Thu May 19 13:24:13 2016	(r300203)
@@ -1169,7 +1169,7 @@ recv_dgram(struct port_input *pi, struct
 			memcpy(laddr, CMSG_DATA(cmsg), sizeof(struct in_addr));
 		if (cmsg->cmsg_level == SOL_SOCKET &&
 		    cmsg->cmsg_type == SCM_CREDS)
-			memcpy(cred, CMSG_DATA(cmsg), sizeof(struct sockcred));
+			cred = (struct sockcred *)CMSG_DATA(cmsg);
 	}
 
 	if (pi->cred)
@@ -1207,7 +1207,7 @@ snmpd_input(struct port_input *pi, struc
 
 		ret = recv_stream(pi);
 	} else {
-		struct in_addr laddr;
+		struct in_addr *laddr;
 
 		memset(cbuf, 0, CMSG_SPACE(sizeof(struct in_addr)));
 		msg.msg_control = cbuf;
@@ -1216,11 +1216,11 @@ snmpd_input(struct port_input *pi, struc
 		cmsgp->cmsg_len = CMSG_LEN(sizeof(struct in_addr));
 		cmsgp->cmsg_level = IPPROTO_IP;
 		cmsgp->cmsg_type = IP_SENDSRCADDR;
-		memcpy(&laddr, CMSG_DATA(cmsgp), sizeof(struct in_addr));
+		laddr = (struct in_addr *)CMSG_DATA(cmsgp);
 		
-		ret = recv_dgram(pi, &laddr);
+		ret = recv_dgram(pi, laddr);
 
-		if (laddr.s_addr == 0) {
+		if (laddr->s_addr == 0) {
 			msg.msg_control = NULL;
 			msg.msg_controllen = 0;
 		}

Modified: projects/vnet/contrib/ipfilter/man/ipf.5
==============================================================================
--- projects/vnet/contrib/ipfilter/man/ipf.5	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/contrib/ipfilter/man/ipf.5	Thu May 19 13:24:13 2016	(r300203)
@@ -881,7 +881,7 @@ through without needing to explicitly al
 An example of how this is done is as follows:
 .PP
 .nf
-pass in proto udp from any prot = 2049 to any with frags keep fags
+pass in proto udp from any port = 2049 to any with frags keep frags
 .fi
 .SH Building a tree of rules
 .PP

Modified: projects/vnet/etc/ntp/leap-seconds
==============================================================================
--- projects/vnet/etc/ntp/leap-seconds	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/etc/ntp/leap-seconds	Thu May 19 13:24:13 2016	(r300203)
@@ -130,7 +130,7 @@
 #		Washington, DC
 #		jeffrey.prillaman at usno.navy.mil
 #
-#	Last Update of leap second values:  31 Dec 2015
+#	Last Update of leap second values:  11 Jan 2016
 #
 #	The following line shows this last update date in NTP timestamp 
 #	format. This is the date on which the most recent change to
@@ -138,7 +138,7 @@
 #	be identified by the unique pair of characters in the first two 
 #	columns as shown below.
 #
-#$	 3660508800
+#$	 3661459200
 #
 #	The data in this file will be updated periodically as new leap 
 #	seconds are announced. In addition to being entered on the line
@@ -170,10 +170,10 @@
 #	current -- the update time stamp, the data and the name of the file 
 #	will not change.
 #
-#	Updated through IERS Bulletin C 50
-#	File expires on:  1 Jun 2016
+#	Updated through IERS Bulletin C 51
+#	File expires on:  1 Dec 2016
 #
-#@	3673728000
+#@	3689539200
 #
 2272060800	10	# 1 Jan 1972
 2287785600	11	# 1 Jul 1972
@@ -217,5 +217,5 @@
 #	the hash line is also ignored in the
 #	computation.
 #
-#h	44a44c49 35b22601 a9c7054c 8c56cf57 9b6f6ed5
+#h	63b4df04 0907d94f 2dadb7a1 684f7767 2a372421
 #

Modified: projects/vnet/gnu/usr.bin/binutils/Makefile.inc0
==============================================================================
--- projects/vnet/gnu/usr.bin/binutils/Makefile.inc0	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/gnu/usr.bin/binutils/Makefile.inc0	Thu May 19 13:24:13 2016	(r300203)
@@ -7,7 +7,7 @@
 VERSION=	"2.17.50 [FreeBSD] 2007-07-03"
 
 .if defined(TARGET_ARCH)
-TARGET_CPUARCH=${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb|hf)?/arm/:C/powerpc64/powerpc/}
+TARGET_CPUARCH=${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/powerpc64/powerpc/}
 .else
 TARGET_CPUARCH=${MACHINE_CPUARCH}
 .endif

Modified: projects/vnet/gnu/usr.bin/cc/Makefile.tgt
==============================================================================
--- projects/vnet/gnu/usr.bin/cc/Makefile.tgt	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/gnu/usr.bin/cc/Makefile.tgt	Thu May 19 13:24:13 2016	(r300203)
@@ -4,7 +4,7 @@
 # MACHINE_CPUARCH, but there's no easy way to export make functions...
 
 .if defined(TARGET_ARCH)
-TARGET_CPUARCH=${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb|hf)?/arm/:C/powerpc64/powerpc/}
+TARGET_CPUARCH=${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/powerpc64/powerpc/}
 .else
 TARGET_CPUARCH=${MACHINE_CPUARCH}
 .endif

Modified: projects/vnet/gnu/usr.bin/gdb/Makefile.inc
==============================================================================
--- projects/vnet/gnu/usr.bin/gdb/Makefile.inc	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/gnu/usr.bin/gdb/Makefile.inc	Thu May 19 13:24:13 2016	(r300203)
@@ -23,7 +23,7 @@ OBJ_RL= ${OBJ_ROOT}/../lib/libreadline/r
 # MACHINE_CPUARCH, but there's no easy way to export make functions...
 
 .if defined(TARGET_ARCH)
-TARGET_CPUARCH=${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb|hf)?/arm/:C/powerpc64/powerpc/}
+TARGET_CPUARCH=${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/powerpc64/powerpc/}
 .else
 TARGET_CPUARCH=${MACHINE_CPUARCH}
 .endif

Modified: projects/vnet/gnu/usr.bin/gdb/libgdb/Makefile
==============================================================================
--- projects/vnet/gnu/usr.bin/gdb/libgdb/Makefile	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/gnu/usr.bin/gdb/libgdb/Makefile	Thu May 19 13:24:13 2016	(r300203)
@@ -4,7 +4,7 @@
 # MACHINE_CPUARCH, but there's no easy way to export make functions...
 
 .if defined(TARGET_ARCH)
-TARGET_CPUARCH=${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb|hf)?/arm/:C/powerpc64/powerpc/}
+TARGET_CPUARCH=${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/powerpc64/powerpc/}
 .else
 TARGET_CPUARCH=${MACHINE_CPUARCH}
 .endif

Modified: projects/vnet/lib/clang/clang.build.mk
==============================================================================
--- projects/vnet/lib/clang/clang.build.mk	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/lib/clang/clang.build.mk	Thu May 19 13:24:13 2016	(r300203)
@@ -21,16 +21,19 @@ CFLAGS+=	-fno-strict-aliasing
 TARGET_ARCH?=	${MACHINE_ARCH}
 BUILD_ARCH?=	${MACHINE_ARCH}
 
-.if ${TARGET_ARCH:Marm*hf*} != ""
+# Armv6 uses hard float abi, unless the CPUTYPE has soft in it.
+# arm (for armv4 and armv5 CPUs) always uses the soft float ABI.
+# For all other targets, we stick with 'unknown'.
+.if ${TARGET_ARCH:Marmv6*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} == "")
 TARGET_ABI=	gnueabihf
-.elif ${TARGET_ARCH:Marm*} != ""
+.elif ${TARGET_ARCH:Marm*}
 TARGET_ABI=	gnueabi
 .else
 TARGET_ABI=	unknown
 .endif
 
-TARGET_TRIPLE?=	${TARGET_ARCH:C/amd64/x86_64/:C/armv6hf/armv6/:C/arm64/aarch64/}-${TARGET_ABI}-freebsd11.0
-BUILD_TRIPLE?=	${BUILD_ARCH:C/amd64/x86_64/:C/armv6hf/armv6/:C/arm64/aarch64/}-unknown-freebsd11.0
+TARGET_TRIPLE?=	${TARGET_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-${TARGET_ABI}-freebsd11.0
+BUILD_TRIPLE?=	${BUILD_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-unknown-freebsd11.0
 CFLAGS+=	-DLLVM_DEFAULT_TARGET_TRIPLE=\"${TARGET_TRIPLE}\" \
 		-DLLVM_HOST_TRIPLE=\"${BUILD_TRIPLE}\" \
 		-DDEFAULT_SYSROOT=\"${TOOLS_PREFIX}\"

Modified: projects/vnet/lib/libc/Makefile
==============================================================================
--- projects/vnet/lib/libc/Makefile	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/lib/libc/Makefile	Thu May 19 13:24:13 2016	(r300203)
@@ -105,7 +105,8 @@ NOASM=
 .include "${LIBC_SRCTOP}/rpc/Makefile.inc"
 .include "${LIBC_SRCTOP}/uuid/Makefile.inc"
 .include "${LIBC_SRCTOP}/xdr/Makefile.inc"
-.if (${LIBC_ARCH} == "arm" && ${MACHINE_ARCH} != "armv6hf") ||\
+.if (${LIBC_ARCH} == "arm" && \
+	(${MACHINE_ARCH:Marmv6*} == "" || (defined(CPUTYPE) && ${CPUTYPE:M*soft*}))) || \
      ${LIBC_ARCH} == "mips"
 .include "${LIBC_SRCTOP}/softfloat/Makefile.inc"
 .endif

Modified: projects/vnet/lib/libc/arm/Makefile.inc
==============================================================================
--- projects/vnet/lib/libc/arm/Makefile.inc	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/lib/libc/arm/Makefile.inc	Thu May 19 13:24:13 2016	(r300203)
@@ -11,7 +11,7 @@ SYM_MAPS+=${LIBC_SRCTOP}/arm/Symbol.map
 
 .include "${LIBC_SRCTOP}/arm/aeabi/Makefile.inc"
 
-.if ${MACHINE_ARCH:Marm*hf*} != ""
+.if ${MACHINE_ARCH:Marmv6*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} == "")
 SYM_MAPS+=${LIBC_SRCTOP}/arm/Symbol_vfp.map
 .endif
 

Modified: projects/vnet/lib/libc/arm/aeabi/Makefile.inc
==============================================================================
--- projects/vnet/lib/libc/arm/aeabi/Makefile.inc	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/lib/libc/arm/aeabi/Makefile.inc	Thu May 19 13:24:13 2016	(r300203)
@@ -5,13 +5,14 @@
 SRCS+=	aeabi_atexit.c		\
 	aeabi_unwind_cpp.c	\
 	aeabi_unwind_exidx.c
-.if ${MACHINE_ARCH:Marm*hf*} == ""
+.if (${MACHINE_ARCH:Marmv6*} && defined(CPUTYPE) && ${CPUTYPE:M*soft*} != "") || \
+	${MACHINE_ARCH:Marmv6*} == ""
 SRCS+=	aeabi_asm_double.S	\
 	aeabi_asm_float.S	\
 	aeabi_double.c		\
 	aeabi_float.c
 .endif
-.if ${MACHINE_ARCH:Marmv6*}
+.if ${MACHINE_ARCH:Marmv6*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} == "")
 SRCS+=	aeabi_vfp_double.S	\
 	aeabi_vfp_float.S
 .endif

Modified: projects/vnet/lib/libc/arm/gen/Makefile.inc
==============================================================================
--- projects/vnet/lib/libc/arm/gen/Makefile.inc	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/lib/libc/arm/gen/Makefile.inc	Thu May 19 13:24:13 2016	(r300203)
@@ -7,7 +7,7 @@ SRCS+=	_ctx_start.S _setjmp.S _set_tp.c 
 	arm_initfini.c \
 	trivial-getcontextx.c
 
-.if ${MACHINE_ARCH} == "armv6hf"
+.if ${MACHINE_ARCH:Marmv6*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} == "")
 SRCS+=	fpgetmask_vfp.c fpgetround_vfp.c fpgetsticky_vfp.c fpsetmask_vfp.c \
 	fpsetround_vfp.c fpsetsticky_vfp.c
 .endif

Modified: projects/vnet/lib/libcompiler_rt/Makefile
==============================================================================
--- projects/vnet/lib/libcompiler_rt/Makefile	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/lib/libcompiler_rt/Makefile	Thu May 19 13:24:13 2016	(r300203)
@@ -199,9 +199,10 @@ SRCF+=	stdatomic
 .endif
 
 .for file in ${SRCF}
-. if ${MACHINE_ARCH:Marm*hf*} != "" && exists(${CRTSRC}/${CRTARCH}/${file}vfp.S)
+.if ${MACHINE_ARCH:Marmv6*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} == "") && \
+    exists(${CRTSRC}/${CRTARCH}/${file}vfp.S)
 SRCS+= ${file}vfp.S
-. elif !(${MACHINE_CPUARCH} == "arm" && ${MACHINE_ARCH:Marm*hf*} == "") && exists(${CRTSRC}/${CRTARCH}/${file}.S)
+. elif exists(${CRTSRC}/${CRTARCH}/${file}.S)
 SRCS+=	${file}.S
 . else
 SRCS+=	${file}.c

Modified: projects/vnet/lib/libstand/printf.c
==============================================================================
--- projects/vnet/lib/libstand/printf.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/lib/libstand/printf.c	Thu May 19 13:24:13 2016	(r300203)
@@ -204,6 +204,7 @@ kvprintf(char const *fmt, kvprintf_fn_t 
 	char nbuf[MAXNBUF];
 	char *d;
 	const char *p, *percent, *q;
+	uint16_t *S;
 	u_char *up;
 	int ch, n;
 	uintmax_t num;
@@ -398,6 +399,10 @@ reswitch:	switch (ch = (u_char)*fmt++) {
 				while (width--)
 					PCHAR(padc);
 			break;
+		case 'S':	/* Assume console can cope with wide chars */
+			for (S = va_arg(ap, uint16_t *); *S != 0; S++)
+				PCHAR(*S);
+ 			break;
 		case 't':
 			tflag = 1;
 			goto reswitch;

Modified: projects/vnet/lib/libufs/cgroup.c
==============================================================================
--- projects/vnet/lib/libufs/cgroup.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/lib/libufs/cgroup.c	Thu May 19 13:24:13 2016	(r300203)
@@ -157,7 +157,7 @@ gotit:
 		bzero(block, (int)fs->fs_bsize);
 		dp2 = (struct ufs2_dinode *)█
 		for (i = 0; i < INOPB(fs); i++) {
-			dp2->di_gen = arc4random() / 2 + 1;
+			dp2->di_gen = arc4random();
 			dp2++;
 		}
 		if (bwrite(disk, ino_to_fsba(fs,

Modified: projects/vnet/lib/libutil/login_auth.c
==============================================================================
--- projects/vnet/lib/libutil/login_auth.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/lib/libutil/login_auth.c	Thu May 19 13:24:13 2016	(r300203)
@@ -55,7 +55,7 @@ __FBSDID("$FreeBSD$");
 
 /*
  * auth_checknologin()
- * Checks for the existance of a nologin file in the login_cap
+ * Checks for the existence of a nologin file in the login_cap
  * capability <lc>.  If there isn't one specified, then it checks
  * to see if this class should just ignore nologin files.  Lastly,
  * it tries to print out the default nologin file, and, if such

Modified: projects/vnet/lib/libutil/login_cap.c
==============================================================================
--- projects/vnet/lib/libutil/login_cap.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/lib/libutil/login_cap.c	Thu May 19 13:24:13 2016	(r300203)
@@ -742,7 +742,7 @@ login_getcapsize(login_cap_t *lc, const 
 
 /*
  * login_getcapbool()
- * From the login_cap_t <lc>, check for the existance of the capability
+ * From the login_cap_t <lc>, check for the existence of the capability
  * of <cap>.  Return <def> if <lc>->lc_cap is NULL, otherwise return
  * the whether or not <cap> exists there.
  */

Modified: projects/vnet/lib/libutil/pidfile.3
==============================================================================
--- projects/vnet/lib/libutil/pidfile.3	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/lib/libutil/pidfile.3	Thu May 19 13:24:13 2016	(r300203)
@@ -151,7 +151,7 @@ if (pfh == NULL) {
 	/* If we cannot create pidfile from other reasons, only warn. */
 	warn("Cannot open or create pidfile");
 	/*
-	 * Eventhough pfh is NULL we can continue, as the other pidfile_*
+	 * Even though pfh is NULL we can continue, as the other pidfile_*
 	 * function can handle such situation by doing nothing except setting
 	 * errno to EDOOFUS.
 	 */

Modified: projects/vnet/lib/libutil/pidfile.c
==============================================================================
--- projects/vnet/lib/libutil/pidfile.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/lib/libutil/pidfile.c	Thu May 19 13:24:13 2016	(r300203)
@@ -119,7 +119,7 @@ pidfile_open(const char *path, mode_t mo
 
 	/*
 	 * Open the PID file and obtain exclusive lock.
-	 * We truncate PID file here only to remove old PID immediatelly,
+	 * We truncate PID file here only to remove old PID immediately,
 	 * PID file will be truncated again in pidfile_write(), so
 	 * pidfile_write() can be called multiple times.
 	 */

Modified: projects/vnet/lib/msun/arm/Makefile.inc
==============================================================================
--- projects/vnet/lib/msun/arm/Makefile.inc	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/lib/msun/arm/Makefile.inc	Thu May 19 13:24:13 2016	(r300203)
@@ -3,7 +3,7 @@
 LDBL_PREC = 53
 SYM_MAPS += ${.CURDIR}/arm/Symbol.map
 
-.if ${TARGET_ARCH} == "armv6"
+.if ${MACHINE_ARCH:Marmv6*} && defined(CPUTYPE) && ${CPUTYPE:M*soft*} != ""
 ARCH_SRCS = fenv-softfp.c fenv-vfp.c
 .endif
 

Modified: projects/vnet/lib/msun/arm/fenv-vfp.c
==============================================================================
--- projects/vnet/lib/msun/arm/fenv-vfp.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/lib/msun/arm/fenv-vfp.c	Thu May 19 13:24:13 2016	(r300203)
@@ -28,6 +28,8 @@
 
 #define	FENV_MANGLE(x)	__vfp_ ##x
 #include "fenv-mangle.h"
-#define	__ARM_PCS_VFP
+#ifndef __ARM_PCS_VFP
+#define	__ARM_PCS_VFP 1
+#endif
 #include "fenv.c"
 

Modified: projects/vnet/sbin/dhclient/dhclient.c
==============================================================================
--- projects/vnet/sbin/dhclient/dhclient.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sbin/dhclient/dhclient.c	Thu May 19 13:24:13 2016	(r300203)
@@ -56,8 +56,6 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#include <stddef.h>
-
 #include "dhcpd.h"
 #include "privsep.h"
 
@@ -1572,18 +1570,16 @@ make_discover(struct interface_info *ip,
 	}
 
 	/* set unique client identifier */
-	struct hardware client_ident;
+	char client_ident[sizeof(ip->hw_address.haddr) + 1];
 	if (!options[DHO_DHCP_CLIENT_IDENTIFIER]) {
-		size_t hwlen = MIN(ip->hw_address.hlen,
-		    sizeof(client_ident.haddr));
-		client_ident.htype = ip->hw_address.htype;
-		client_ident.hlen = hwlen;
-		memcpy(client_ident.haddr, ip->hw_address.haddr, hwlen);
+		int hwlen = (ip->hw_address.hlen < sizeof(client_ident)-1) ?
+				ip->hw_address.hlen : sizeof(client_ident)-1;
+		client_ident[0] = ip->hw_address.htype;
+		memcpy(&client_ident[1], ip->hw_address.haddr, hwlen);
 		options[DHO_DHCP_CLIENT_IDENTIFIER] = &option_elements[DHO_DHCP_CLIENT_IDENTIFIER];
-		options[DHO_DHCP_CLIENT_IDENTIFIER]->value = (void *)&client_ident;
-		hwlen += offsetof(struct hardware, haddr);
-		options[DHO_DHCP_CLIENT_IDENTIFIER]->len = hwlen;
-		options[DHO_DHCP_CLIENT_IDENTIFIER]->buf_size = hwlen;
+		options[DHO_DHCP_CLIENT_IDENTIFIER]->value = client_ident;
+		options[DHO_DHCP_CLIENT_IDENTIFIER]->len = hwlen+1;
+		options[DHO_DHCP_CLIENT_IDENTIFIER]->buf_size = hwlen+1;
 		options[DHO_DHCP_CLIENT_IDENTIFIER]->timeout = 0xFFFFFFFF;
 	}
 
@@ -1609,8 +1605,8 @@ make_discover(struct interface_info *ip,
 	    0, sizeof(ip->client->packet.siaddr));
 	memset(&(ip->client->packet.giaddr),
 	    0, sizeof(ip->client->packet.giaddr));
-	memcpy(ip->client->packet.chaddr, ip->hw_address.haddr,
-	    MIN(ip->hw_address.hlen, sizeof(ip->client->packet.chaddr)));
+	memcpy(ip->client->packet.chaddr,
+	    ip->hw_address.haddr, ip->hw_address.hlen);
 }
 
 

Modified: projects/vnet/share/man/man4/ddb.4
==============================================================================
--- projects/vnet/share/man/man4/ddb.4	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/share/man/man4/ddb.4	Thu May 19 13:24:13 2016	(r300203)
@@ -60,7 +60,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd January 15, 2016
+.Dd May 18, 2016
 .Dt DDB 4
 .Os
 .Sh NAME
@@ -542,6 +542,11 @@ Output is similar to
 but also includes the address of the TTY structure.
 .\"
 .Pp
+.It Ic show Cm all vnets
+Show the same output as "show vnet" does, but lists all
+virtualized network stacks within the system.
+.\"
+.Pp
 .It Ic show Cm allchains
 Show the same information like "show lockchain" does, but
 for every thread in the system.
@@ -1060,6 +1065,13 @@ Currently, it is not possible to use thi
 is compiled in the kernel.
 .\"
 .Pp
+.It Ic show Cm vnet Ar addr
+Prints virtualized network stack
+.Vt struct vnet
+structure present at the address
+.Ar addr .
+.\"
+.Pp
 .It Ic show Cm vnode Op Ar addr
 Prints vnode
 .Vt struct vnode

Modified: projects/vnet/share/man/man4/gdb.4
==============================================================================
--- projects/vnet/share/man/man4/gdb.4	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/share/man/man4/gdb.4	Thu May 19 13:24:13 2016	(r300203)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd February 8, 2005
+.Dd May 17, 2016
 .Dt GDB 4
 .Os
 .Sh NAME
@@ -595,7 +595,7 @@ run the link at more than 9600 bps.
 Firewire connections do not have this problem.
 .Pp
 The debugging macros
-.Dq "just growed" .
+.Dq just grew.
 In general, the person who wrote them did so while looking for a specific
 problem, so they may not be general enough, and they may behave badly when used
 in ways for which they were not intended, even if those ways make sense.

Modified: projects/vnet/share/man/man5/Makefile
==============================================================================
--- projects/vnet/share/man/man5/Makefile	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/share/man/man5/Makefile	Thu May 19 13:24:13 2016	(r300203)
@@ -57,7 +57,6 @@ MAN=	acct.5 \
 	rc.conf.5 \
 	rctl.conf.5 \
 	regdomain.5 \
-	reiserfs.5 \
 	remote.5 \
 	resolver.5 \
 	services.5 \

Modified: projects/vnet/share/man/man8/nanobsd.8
==============================================================================
--- projects/vnet/share/man/man8/nanobsd.8	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/share/man/man8/nanobsd.8	Thu May 19 13:24:13 2016	(r300203)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 20, 2010
+.Dd May 19, 2016
 .Dt NANOBSD 8
 .Os
 .Sh NAME
@@ -33,7 +33,7 @@
 applications
 .Sh SYNOPSIS
 .Nm
-.Op Fl bhknw
+.Op Fl bfhiKknqvwX
 .Op Fl c Ar config-file
 .Sh DESCRIPTION
 The
@@ -53,8 +53,16 @@ The following options are available:
 Skip the build stages (both for kernel and world).
 .It Fl c Ar config-file
 Specify the configuration file to use.
+.It Fl f
+Skip the code slice extraction.
 .It Fl h
 Display usage information.
+.It Fl i
+Skip the disk image build stage.
+.It Fl K
+Skip the
+.Cm installkernel
+stage of the build.
 .It Fl k
 Skip the
 .Cm buildkernel
@@ -65,10 +73,17 @@ This suppresses the normal cleanup work 
 .Cm buildworld
 stage and adds -DNO_CLEAN to the make command line
 used for each build stage (world and kernel).
+.It Fl q
+Make output more quiet.
+.It Fl v
+Make output more verbose.
 .It Fl w
 Skip the
 .Cm buildworld
 stage of the build.
+.It Fl X
+Make
+.Cm native-xtools.
 .El
 .Pp
 The features of

Modified: projects/vnet/share/mk/bsd.cpu.mk
==============================================================================
--- projects/vnet/share/mk/bsd.cpu.mk	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/share/mk/bsd.cpu.mk	Thu May 19 13:24:13 2016	(r300203)
@@ -309,14 +309,18 @@ MACHINE_CPU += arm
 . if ${MACHINE_ARCH:Marmv6*} != ""
 MACHINE_CPU += armv6
 . endif
-# armv6 is a hybrid. It uses the softfp ABI, but doesn't emulate
+# armv6 is a hybrid. It can use the softfp ABI, but doesn't emulate
 # floating point in the general case, so don't define softfp for
 # it at this time. arm and armeb are pure softfp, so define it
 # for them.
 . if ${MACHINE_ARCH:Marmv6*} == ""
 MACHINE_CPU += softfp
 . endif
-.if ${MACHINE_ARCH} == "armv6"
+# Normally armv6 is hard float ABI from FreeBSD 11 onwards. However
+# when CPUTYPE has 'soft' in it, we use the soft-float ABI to allow
+# building of soft-float ABI libraries. In this case, we have to
+# add the -mfloat-abi=softfp to force that.
+.if ${MACHINE_ARCH:Marmv6*} && defined(CPUTYPE) && ${CPUTYPE:M*soft*} != ""
 # Needs to be CFLAGS not _CPUCFLAGS because it's needed for the ABI
 # not a nice optimization.
 CFLAGS += -mfloat-abi=softfp

Modified: projects/vnet/share/mk/local.meta.sys.mk
==============================================================================
--- projects/vnet/share/mk/local.meta.sys.mk	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/share/mk/local.meta.sys.mk	Thu May 19 13:24:13 2016	(r300203)
@@ -43,7 +43,7 @@ OBJROOT:= ${OBJROOT:H:tA}/${OBJROOT:T}
 .endif
 
 # from src/Makefile (for universe)
-TARGET_ARCHES_arm?=     arm armeb armv6 armv6hf
+TARGET_ARCHES_arm?=     arm armeb armv6
 TARGET_ARCHES_arm64?=   aarch64
 TARGET_ARCHES_mips?=    mipsel mips mips64el mips64 mipsn32 mipsn32el
 TARGET_ARCHES_powerpc?= powerpc powerpc64

Modified: projects/vnet/share/mk/sys.mk
==============================================================================
--- projects/vnet/share/mk/sys.mk	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/share/mk/sys.mk	Thu May 19 13:24:13 2016	(r300203)
@@ -13,7 +13,7 @@ unix		?=	We run FreeBSD, not UNIX.
 # and/or endian.  This is called MACHINE_CPU in NetBSD, but that's used
 # for something different in FreeBSD.
 #
-MACHINE_CPUARCH=${MACHINE_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb|hf)?/arm/:C/powerpc64/powerpc/:C/riscv64/riscv/}
+MACHINE_CPUARCH=${MACHINE_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/powerpc64/powerpc/:C/riscv64/riscv/}
 .endif
 
 

Modified: projects/vnet/sys/arm/allwinner/a10/a10_intc.c
==============================================================================
--- projects/vnet/sys/arm/allwinner/a10/a10_intc.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sys/arm/allwinner/a10/a10_intc.c	Thu May 19 13:24:13 2016	(r300203)
@@ -250,6 +250,7 @@ a10_intr(void *arg)
 static int
 a10_intr_pic_attach(struct a10_aintc_softc *sc)
 {
+	struct intr_pic *pic;
 	int error;
 	uint32_t irq;
 	const char *name;
@@ -266,9 +267,9 @@ a10_intr_pic_attach(struct a10_aintc_sof
 	}
 
 	xref = OF_xref_from_node(ofw_bus_get_node(sc->sc_dev));
-	error = intr_pic_register(sc->sc_dev, xref);
-	if (error != 0)
-		return (error);
+	pic = intr_pic_register(sc->sc_dev, xref);
+	if (pic == NULL)
+		return (ENXIO);
 
 	return (intr_pic_claim_root(sc->sc_dev, xref, a10_intr, sc, 0));
 }

Modified: projects/vnet/sys/arm/allwinner/aw_nmi.c
==============================================================================
--- projects/vnet/sys/arm/allwinner/aw_nmi.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sys/arm/allwinner/aw_nmi.c	Thu May 19 13:24:13 2016	(r300203)
@@ -362,7 +362,7 @@ aw_nmi_attach(device_t dev)
 	      device_get_nameunit(sc->dev), sc->intr.irq) != 0)
 		goto error;
 
-	if (intr_pic_register(dev, (intptr_t)xref) != 0) {
+	if (intr_pic_register(dev, (intptr_t)xref) == NULL) {
 		device_printf(dev, "could not register pic\n");
 		goto error;
 	}

Modified: projects/vnet/sys/arm/amlogic/aml8726/aml8726_ccm.c
==============================================================================
--- projects/vnet/sys/arm/amlogic/aml8726/aml8726_ccm.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sys/arm/amlogic/aml8726/aml8726_ccm.c	Thu May 19 13:24:13 2016	(r300203)
@@ -141,7 +141,7 @@ aml8726_ccm_configure_gates(struct aml87
 		AML_CCM_UNLOCK(sc);
 	}
 
-	free(functions, M_OFWPROP);
+	OF_prop_free(functions);
 
 	return (0);
 }

Modified: projects/vnet/sys/arm/amlogic/aml8726/aml8726_mmc.c
==============================================================================
--- projects/vnet/sys/arm/amlogic/aml8726/aml8726_mmc.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sys/arm/amlogic/aml8726/aml8726_mmc.c	Thu May 19 13:24:13 2016	(r300203)
@@ -605,11 +605,11 @@ aml8726_mmc_attach(device_t dev)
 	else {
 		device_printf(dev, "unknown function attribute %.*s in FDT\n",
 		    len, function_name);
-		free(function_name, M_OFWPROP);
+		OF_prop_free(function_name);
 		return (ENXIO);
 	}
 
-	free(function_name, M_OFWPROP);
+	OF_prop_free(function_name);
 
 	sc->pwr_en.dev = NULL;
 
@@ -661,7 +661,7 @@ aml8726_mmc_attach(device_t dev)
 			device_printf(dev,
 			    "unknown voltage attribute %.*s in FDT\n",
 			    len, voltage);
-			free(voltages, M_OFWPROP);
+			OF_prop_free(voltages);
 			return (ENXIO);
 		}
 
@@ -678,7 +678,7 @@ aml8726_mmc_attach(device_t dev)
 		}
 	}
 
-	free(voltages, M_OFWPROP);
+	OF_prop_free(voltages);
 
 	sc->vselect.dev = NULL;
 

Modified: projects/vnet/sys/arm/amlogic/aml8726/aml8726_pinctrl.c
==============================================================================
--- projects/vnet/sys/arm/amlogic/aml8726/aml8726_pinctrl.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sys/arm/amlogic/aml8726/aml8726_pinctrl.c	Thu May 19 13:24:13 2016	(r300203)
@@ -210,11 +210,11 @@ aml8726_pinctrl_configure_pins(device_t 
 	if (f->name == NULL) {
 		device_printf(dev, "unknown function attribute %.*s in FDT\n",
 		    len, function_name);
-		free(function_name, M_OFWPROP);
+		OF_prop_free(function_name);
 		return (ENXIO);
 	}
 
-	free(function_name, M_OFWPROP);
+	OF_prop_free(function_name);
 
 	len = OF_getprop_alloc(node, "amlogic,pull",
 	    sizeof(char), (void **)&pull);
@@ -234,12 +234,12 @@ aml8726_pinctrl_configure_pins(device_t 
 			device_printf(dev,
 			    "unknown pull attribute %.*s in FDT\n",
 			    len, pull);
-			free(pull, M_OFWPROP);
+			OF_prop_free(pull);
 			return (ENXIO);
 		}
 	}
 
-	free(pull, M_OFWPROP);
+	OF_prop_free(pull);
 
 	/*
 	 * Setting the pull direction isn't supported on all SoC.
@@ -403,7 +403,7 @@ aml8726_pinctrl_configure_pins(device_t 
 		AML_PINCTRL_UNLOCK(sc);
 	}
 
-	free(pins, M_OFWPROP);
+	OF_prop_free(pins);
 
 	return (0);
 }

Modified: projects/vnet/sys/arm/amlogic/aml8726/aml8726_sdxc-m8.c
==============================================================================
--- projects/vnet/sys/arm/amlogic/aml8726/aml8726_sdxc-m8.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sys/arm/amlogic/aml8726/aml8726_sdxc-m8.c	Thu May 19 13:24:13 2016	(r300203)
@@ -821,7 +821,7 @@ aml8726_sdxc_attach(device_t dev)
 			device_printf(dev,
 			    "unknown voltage attribute %.*s in FDT\n",
 			    len, voltage);
-			free(voltages, M_OFWPROP);
+			OF_prop_free(voltages);
 			return (ENXIO);
 		}
 
@@ -838,7 +838,7 @@ aml8726_sdxc_attach(device_t dev)
 		}
 	}
 
-	free(voltages, M_OFWPROP);
+	OF_prop_free(voltages);
 
 	sc->vselect.dev = NULL;
 

Modified: projects/vnet/sys/arm/amlogic/aml8726/aml8726_usb_phy-m3.c
==============================================================================
--- projects/vnet/sys/arm/amlogic/aml8726/aml8726_usb_phy-m3.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sys/arm/amlogic/aml8726/aml8726_usb_phy-m3.c	Thu May 19 13:24:13 2016	(r300203)
@@ -139,7 +139,7 @@ aml8726_usb_phy_mode(const char *dwcotg_
 		    AML_USB_PHY_MISC_ID_OVERIDE_DEVICE;
 	}
 
-	free(usb_mode, M_OFWPROP);
+	OF_prop_free(usb_mode);
 
 	return (0);
 }
@@ -214,7 +214,7 @@ aml8726_usb_phy_attach(device_t dev)
 		}
 	}
 
-	free(prop, M_OFWPROP);
+	OF_prop_free(prop);
 
 	if (err) {
 		device_printf(dev, "unable to parse gpio\n");

Modified: projects/vnet/sys/arm/amlogic/aml8726/aml8726_usb_phy-m6.c
==============================================================================
--- projects/vnet/sys/arm/amlogic/aml8726/aml8726_usb_phy-m6.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sys/arm/amlogic/aml8726/aml8726_usb_phy-m6.c	Thu May 19 13:24:13 2016	(r300203)
@@ -164,7 +164,7 @@ aml8726_usb_phy_attach(device_t dev)
 			sc->force_aca = TRUE;
 	}
 
-	free(force_aca, M_OFWPROP);
+	OF_prop_free(force_aca);
 
 	err = 0;
 
@@ -187,7 +187,7 @@ aml8726_usb_phy_attach(device_t dev)
 		}
 	}
 
-	free(prop, M_OFWPROP);
+	OF_prop_free(prop);
 
 	len = OF_getencprop_alloc(node, "usb-hub-rst",
 	    3 * sizeof(pcell_t), (void **)&prop);
@@ -200,7 +200,7 @@ aml8726_usb_phy_attach(device_t dev)
 			err = 1;
 	}
 
-	free(prop, M_OFWPROP);
+	OF_prop_free(prop);
 
 	if (err) {
 		device_printf(dev, "unable to parse gpio\n");

Modified: projects/vnet/sys/arm/arm/gic.c
==============================================================================
--- projects/vnet/sys/arm/arm/gic.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sys/arm/arm/gic.c	Thu May 19 13:24:13 2016	(r300203)
@@ -711,7 +711,7 @@ arm_gic_attach(device_t dev)
 	 * Now, when everything is initialized, it's right time to
 	 * register interrupt controller to interrupt framefork.
 	 */
-	if (intr_pic_register(dev, xref) != 0) {
+	if (intr_pic_register(dev, xref) == NULL) {
 		device_printf(dev, "could not register PIC\n");
 		goto cleanup;
 	}

Modified: projects/vnet/sys/arm/broadcom/bcm2835/bcm2835_gpio.c
==============================================================================
--- projects/vnet/sys/arm/broadcom/bcm2835/bcm2835_gpio.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sys/arm/broadcom/bcm2835/bcm2835_gpio.c	Thu May 19 13:24:13 2016	(r300203)
@@ -1045,8 +1045,11 @@ bcm_gpio_pic_attach(struct bcm_gpio_soft
 		if (error != 0)
 			return (error); /* XXX deregister ISRCs */
 	}
-	return (intr_pic_register(sc->sc_dev,
-	    OF_xref_from_node(ofw_bus_get_node(sc->sc_dev))));
+	if (intr_pic_register(sc->sc_dev,
+	    OF_xref_from_node(ofw_bus_get_node(sc->sc_dev))) == NULL)
+		return (ENXIO);
+
+	return (0);
 }
 
 static int

Modified: projects/vnet/sys/arm/broadcom/bcm2835/bcm2835_intr.c
==============================================================================
--- projects/vnet/sys/arm/broadcom/bcm2835/bcm2835_intr.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sys/arm/broadcom/bcm2835/bcm2835_intr.c	Thu May 19 13:24:13 2016	(r300203)
@@ -341,7 +341,10 @@ bcm_intc_pic_register(struct bcm_intc_so
 		if (error != 0)
 			return (error);
 	}
-	return (intr_pic_register(sc->sc_dev, xref));
+	if (intr_pic_register(sc->sc_dev, xref) == NULL)
+		return (ENXIO);
+
+	return (0);
 }
 #endif
 

Modified: projects/vnet/sys/arm/broadcom/bcm2835/bcm2836.c
==============================================================================
--- projects/vnet/sys/arm/broadcom/bcm2835/bcm2836.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sys/arm/broadcom/bcm2835/bcm2836.c	Thu May 19 13:24:13 2016	(r300203)
@@ -598,6 +598,7 @@ static int
 bcm_lintc_pic_attach(struct bcm_lintc_softc *sc)
 {
 	struct bcm_lintc_irqsrc *bisrcs;
+	struct intr_pic *pic;
 	int error;
 	u_int flags;
 	uint32_t irq;
@@ -653,9 +654,9 @@ bcm_lintc_pic_attach(struct bcm_lintc_so
 	}
 
 	xref = OF_xref_from_node(ofw_bus_get_node(sc->bls_dev));
-	error = intr_pic_register(sc->bls_dev, xref);
-	if (error != 0)
-		return (error);
+	pic = intr_pic_register(sc->bls_dev, xref);
+	if (pic == NULL)
+		return (ENXIO);
 
 	return (intr_pic_claim_root(sc->bls_dev, xref, bcm_lintc_intr, sc, 0));
 }

Modified: projects/vnet/sys/arm/include/atomic-v4.h
==============================================================================
--- projects/vnet/sys/arm/include/atomic-v4.h	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sys/arm/include/atomic-v4.h	Thu May 19 13:24:13 2016	(r300203)
@@ -372,6 +372,8 @@ atomic_swap_32(volatile u_int32_t *p, u_
 
 #define atomic_cmpset_rel_32	atomic_cmpset_32
 #define atomic_cmpset_acq_32	atomic_cmpset_32
+#define atomic_cmpset_rel_64	atomic_cmpset_64
+#define atomic_cmpset_acq_64	atomic_cmpset_64
 #define atomic_set_rel_32	atomic_set_32
 #define atomic_set_acq_32	atomic_set_32
 #define atomic_clear_rel_32	atomic_clear_32

Modified: projects/vnet/sys/arm/mv/mpic.c
==============================================================================
--- projects/vnet/sys/arm/mv/mpic.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sys/arm/mv/mpic.c	Thu May 19 13:24:13 2016	(r300203)
@@ -274,7 +274,7 @@ mv_mpic_attach(device_t dev)
 		bus_release_resources(dev, mv_mpic_spec, sc->mpic_res);
 		return (ENXIO);
 	}
-	if (intr_pic_register(dev, OF_xref_from_device(dev)) != 0) {
+	if (intr_pic_register(dev, OF_xref_from_device(dev)) == NULL) {
 		device_printf(dev, "could not register PIC\n");
 		bus_release_resources(dev, mv_mpic_spec, sc->mpic_res);
 		return (ENXIO);

Modified: projects/vnet/sys/arm/nvidia/tegra_gpio.c
==============================================================================
--- projects/vnet/sys/arm/nvidia/tegra_gpio.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sys/arm/nvidia/tegra_gpio.c	Thu May 19 13:24:13 2016	(r300203)
@@ -452,8 +452,11 @@ tegra_gpio_pic_attach(struct tegra_gpio_
 		if (error != 0)
 			return (error); /* XXX deregister ISRCs */
 	}
-	return (intr_pic_register(sc->dev,
-	    OF_xref_from_node(ofw_bus_get_node(sc->dev))));
+	if (intr_pic_register(sc->dev,
+	    OF_xref_from_node(ofw_bus_get_node(sc->dev))) == NULL)
+		return (ENXIO);
+
+	return (0);
 }
 
 static int

Modified: projects/vnet/sys/arm/nvidia/tegra_lic.c
==============================================================================
--- projects/vnet/sys/arm/nvidia/tegra_lic.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sys/arm/nvidia/tegra_lic.c	Thu May 19 13:24:13 2016	(r300203)
@@ -233,7 +233,7 @@ tegra_lic_attach(device_t dev)
 	}
 
 
-	if (intr_pic_register(dev, OF_xref_from_node(node)) != 0) {
+	if (intr_pic_register(dev, OF_xref_from_node(node)) == NULL) {
 		device_printf(dev, "Cannot register PIC\n");
 		goto fail;
 	}

Modified: projects/vnet/sys/arm/ti/aintc.c
==============================================================================
--- projects/vnet/sys/arm/ti/aintc.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sys/arm/ti/aintc.c	Thu May 19 13:24:13 2016	(r300203)
@@ -220,6 +220,7 @@ ti_aintc_post_filter(device_t dev, struc
 static int
 ti_aintc_pic_attach(struct ti_aintc_softc *sc)
 {
+	struct intr_pic *pic;
 	int error;
 	uint32_t irq;
 	const char *name;
@@ -236,9 +237,9 @@ ti_aintc_pic_attach(struct ti_aintc_soft
 	}
 
 	xref = OF_xref_from_node(ofw_bus_get_node(sc->sc_dev));
-	error = intr_pic_register(sc->sc_dev, xref);
-	if (error != 0)
-		return (error);
+	pic = intr_pic_register(sc->sc_dev, xref);
+	if (pic == NULL)
+		return (ENXIO);
 
 	return (intr_pic_claim_root(sc->sc_dev, xref, ti_aintc_intr, sc, 0));
 }

Modified: projects/vnet/sys/arm/ti/omap4/omap4_wugen.c
==============================================================================
--- projects/vnet/sys/arm/ti/omap4/omap4_wugen.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sys/arm/ti/omap4/omap4_wugen.c	Thu May 19 13:24:13 2016	(r300203)
@@ -210,7 +210,7 @@ omap4_wugen_attach(device_t dev)
 		return (ENXIO);
 	}
 
-	if (intr_pic_register(dev, OF_xref_from_node(node)) != 0) {
+	if (intr_pic_register(dev, OF_xref_from_node(node)) == NULL) {
 		device_printf(dev, "can't register PIC\n");
 		goto fail;
 	}

Modified: projects/vnet/sys/arm/ti/ti_gpio.c
==============================================================================
--- projects/vnet/sys/arm/ti/ti_gpio.c	Thu May 19 12:45:20 2016	(r300202)
+++ projects/vnet/sys/arm/ti/ti_gpio.c	Thu May 19 13:24:13 2016	(r300203)
@@ -904,8 +904,11 @@ ti_gpio_pic_attach(struct ti_gpio_softc 
 		if (error != 0)
 			return (error); /* XXX deregister ISRCs */
 	}

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


More information about the svn-src-projects mailing list