Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Jun 2017 18:21:50 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r319549 - in projects/clang500-import: . bin/dd/tests contrib/compiler-rt/lib/tsan/rtl contrib/xz/src/liblzma/check lib/libc/sys lib/libsysdecode share/man/man7 share/mk sys/amd64/amd64...
Message-ID:  <201706031821.v53ILoGd058259@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Sat Jun  3 18:21:50 2017
New Revision: 319549
URL: https://svnweb.freebsd.org/changeset/base/319549

Log:
  Merge ^/head r319480 through r319547.

Deleted:
  projects/clang500-import/sys/arm/versatile/versatile_timer.c
Modified:
  projects/clang500-import/Makefile.inc1
  projects/clang500-import/ObsoleteFiles.inc
  projects/clang500-import/bin/dd/tests/dd2_test.sh
  projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_aarch64.S
  projects/clang500-import/contrib/xz/src/liblzma/check/crc32_x86.S
  projects/clang500-import/contrib/xz/src/liblzma/check/crc64_x86.S
  projects/clang500-import/lib/libc/sys/Makefile.inc
  projects/clang500-import/lib/libsysdecode/Makefile
  projects/clang500-import/lib/libsysdecode/flags.c
  projects/clang500-import/lib/libsysdecode/mktables
  projects/clang500-import/lib/libsysdecode/sysdecode.3
  projects/clang500-import/lib/libsysdecode/sysdecode.h
  projects/clang500-import/lib/libsysdecode/sysdecode_enum.3
  projects/clang500-import/share/man/man7/ascii.7
  projects/clang500-import/share/mk/local.meta.sys.mk
  projects/clang500-import/share/mk/sys.mk
  projects/clang500-import/sys/amd64/amd64/pmap.c
  projects/clang500-import/sys/arm/annapurna/alpine/files.alpine
  projects/clang500-import/sys/arm/arm/machdep.c
  projects/clang500-import/sys/arm/arm/mpcore_timer.c
  projects/clang500-import/sys/arm/conf/AML8726
  projects/clang500-import/sys/arm/conf/ARMADAXP
  projects/clang500-import/sys/arm/conf/BEAGLEBONE
  projects/clang500-import/sys/arm/conf/EFIKA_MX
  projects/clang500-import/sys/arm/conf/IMX53
  projects/clang500-import/sys/arm/conf/RT1310
  projects/clang500-import/sys/arm/freescale/imx/imx51_machdep.c
  projects/clang500-import/sys/arm/freescale/imx/imx53_machdep.c
  projects/clang500-import/sys/arm/versatile/files.versatile
  projects/clang500-import/sys/arm/versatile/sp804.c
  projects/clang500-import/sys/arm64/arm64/pmap.c
  projects/clang500-import/sys/compat/linuxkpi/common/src/linux_compat.c
  projects/clang500-import/sys/conf/files.amd64
  projects/clang500-import/sys/conf/files.i386
  projects/clang500-import/sys/dev/cxgbe/t4_sge.c
  projects/clang500-import/sys/dev/etherswitch/e6000sw/e6000sw.c
  projects/clang500-import/sys/dev/etherswitch/e6000sw/e6000swreg.h
  projects/clang500-import/sys/dev/uart/uart_bus_fdt.c
  projects/clang500-import/sys/dev/xen/netfront/netfront.c
  projects/clang500-import/sys/fs/msdosfs/denode.h
  projects/clang500-import/sys/fs/msdosfs/msdosfs_conv.c
  projects/clang500-import/sys/fs/msdosfs/msdosfs_denode.c
  projects/clang500-import/sys/fs/msdosfs/msdosfs_fat.c
  projects/clang500-import/sys/fs/msdosfs/msdosfs_vnops.c
  projects/clang500-import/sys/kern/kern_proc.c
  projects/clang500-import/sys/kern/kern_sendfile.c
  projects/clang500-import/sys/kern/uipc_accf.c
  projects/clang500-import/sys/kern/uipc_socket.c
  projects/clang500-import/sys/kern/uipc_usrreq.c
  projects/clang500-import/sys/kern/vfs_default.c
  projects/clang500-import/sys/kern/vfs_subr.c
  projects/clang500-import/sys/kern/vnode_if.src
  projects/clang500-import/sys/sys/sockopt.h
  projects/clang500-import/sys/sys/unpcb.h
  projects/clang500-import/sys/sys/vnode.h
  projects/clang500-import/sys/ufs/ffs/ffs_softdep.c
  projects/clang500-import/sys/ufs/ffs/ffs_vfsops.c
  projects/clang500-import/sys/ufs/ffs/softdep.h
  projects/clang500-import/usr.bin/diff/diff.c
  projects/clang500-import/usr.bin/kdump/kdump.c
  projects/clang500-import/usr.bin/last/last.c
  projects/clang500-import/usr.bin/truss/syscall.h
  projects/clang500-import/usr.bin/truss/syscalls.c
  projects/clang500-import/usr.sbin/bhyve/Makefile
  projects/clang500-import/usr.sbin/bhyve/bhyve.8
  projects/clang500-import/usr.sbin/bhyve/pci_fbuf.c   (contents, props changed)
  projects/clang500-import/usr.sbin/bhyve/rfb.c   (contents, props changed)
  projects/clang500-import/usr.sbin/bhyve/rfb.h   (contents, props changed)
  projects/clang500-import/usr.sbin/makefs/ffs/buf.c
  projects/clang500-import/usr.sbin/newsyslog/tests/legacy_test.sh
Directory Properties:
  projects/clang500-import/   (props changed)
  projects/clang500-import/contrib/compiler-rt/   (props changed)
  projects/clang500-import/contrib/xz/   (props changed)

Modified: projects/clang500-import/Makefile.inc1
==============================================================================
--- projects/clang500-import/Makefile.inc1	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/Makefile.inc1	Sat Jun  3 18:21:50 2017	(r319549)
@@ -2019,6 +2019,7 @@ native-xtools: .PHONY
     ${_gcc_tools} \
     ${_clang_libs} \
     ${_clang} \
+    ${_lld} \
     sbin/md5 \
     sbin/sysctl \
     usr.bin/diff \

Modified: projects/clang500-import/ObsoleteFiles.inc
==============================================================================
--- projects/clang500-import/ObsoleteFiles.inc	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/ObsoleteFiles.inc	Sat Jun  3 18:21:50 2017	(r319549)
@@ -150,6 +150,8 @@ OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt
 OLD_DIRS+=usr/lib/clang/4.0.0/lib/freebsd
 OLD_DIRS+=usr/lib/clang/4.0.0/lib
 OLD_DIRS+=usr/lib/clang/4.0.0
+# 20170601: remove stale manpage
+OLD_FILES+=usr/share/man/man2/cap_rights_get.2.gz
 # 20170601: old libifconfig and libifc
 OLD_FILES+=usr/lib/libifc.a
 OLD_FILES+=usr/lib/libifc_p.a

Modified: projects/clang500-import/bin/dd/tests/dd2_test.sh
==============================================================================
--- projects/clang500-import/bin/dd/tests/dd2_test.sh	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/bin/dd/tests/dd2_test.sh	Sat Jun  3 18:21:50 2017	(r319549)
@@ -27,10 +27,14 @@
 
 
 atf_test_case seek_overflow
-seek_overflow_head() {
+seek_overflow_head()
+{
 	atf_set "descr" "dd(1) should reject too-large seek values"
 }
-seek_overflow_body() {
+seek_overflow_body()
+{
+	atf_expect_fail "fails with 'dd: truncating f.out: File too large' - bug 219757"
+
 	touch f.in
 	# Positive tests
 	seek=`echo "2^63 / 4096 - 1" | bc`

Modified: projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_aarch64.S
==============================================================================
--- projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_aarch64.S	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_aarch64.S	Sat Jun  3 18:21:50 2017	(r319549)
@@ -252,7 +252,7 @@ __sigsetjmp:
   CFI_ENDPROC
 .size __sigsetjmp, .-__sigsetjmp
 
-#if defined(__linux__)
+#if defined(__FreeBSD__) || defined(__linux__)
 /* We do not need executable stack.  */
 .section        .note.GNU-stack,"",@progbits
 #endif

Modified: projects/clang500-import/contrib/xz/src/liblzma/check/crc32_x86.S
==============================================================================
--- projects/clang500-import/contrib/xz/src/liblzma/check/crc32_x86.S	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/contrib/xz/src/liblzma/check/crc32_x86.S	Sat Jun  3 18:21:50 2017	(r319549)
@@ -299,6 +299,6 @@ LZMA_CRC32:
  * use __linux__ here, but I don't know a way to detect when
  * we are using GNU assembler.
  */
-#if defined(__ELF__) && defined(__linux__)
+#if defined(__ELF__) && (defined(__FreeBSD__) || defined(__linux__))
 	.section	.note.GNU-stack,"",@progbits
 #endif

Modified: projects/clang500-import/contrib/xz/src/liblzma/check/crc64_x86.S
==============================================================================
--- projects/clang500-import/contrib/xz/src/liblzma/check/crc64_x86.S	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/contrib/xz/src/liblzma/check/crc64_x86.S	Sat Jun  3 18:21:50 2017	(r319549)
@@ -282,6 +282,6 @@ LZMA_CRC64:
  * use __linux__ here, but I don't know a way to detect when
  * we are using GNU assembler.
  */
-#if defined(__ELF__) && defined(__linux__)
+#if defined(__ELF__) && (defined(__FreeBSD__) || defined(__linux__))
 	.section	.note.GNU-stack,"",@progbits
 #endif

Modified: projects/clang500-import/lib/libc/sys/Makefile.inc
==============================================================================
--- projects/clang500-import/lib/libc/sys/Makefile.inc	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/lib/libc/sys/Makefile.inc	Sat Jun  3 18:21:50 2017	(r319549)
@@ -350,7 +350,6 @@ MLINKS+=brk.2 sbrk.2
 MLINKS+=cap_enter.2 cap_getmode.2
 MLINKS+=cap_fcntls_limit.2 cap_fcntls_get.2
 MLINKS+=cap_ioctls_limit.2 cap_ioctls_get.2
-MLINKS+=cap_rights_limit.2 cap_rights_get.2
 MLINKS+=chdir.2 fchdir.2
 MLINKS+=chflags.2 chflagsat.2 \
 	chflags.2 fchflags.2 \

Modified: projects/clang500-import/lib/libsysdecode/Makefile
==============================================================================
--- projects/clang500-import/lib/libsysdecode/Makefile	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/lib/libsysdecode/Makefile	Sat Jun  3 18:21:50 2017	(r319549)
@@ -32,6 +32,7 @@ MLINKS+=sysdecode_enum.3 sysdecode_acltype.3 \
 	sysdecode_enum.3 sysdecode_fadvice.3 \
 	sysdecode_enum.3 sysdecode_fcntl_cmd.3 \
 	sysdecode_enum.3 sysdecode_getfsstat_mode.3 \
+	sysdecode_enum.3 sysdecode_getrusage_who.3 \
 	sysdecode_enum.3 sysdecode_idtype.3 \
 	sysdecode_enum.3 sysdecode_ipproto.3 \
 	sysdecode_enum.3 sysdecode_kldsym_cmd.3 \

Modified: projects/clang500-import/lib/libsysdecode/flags.c
==============================================================================
--- projects/clang500-import/lib/libsysdecode/flags.c	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/lib/libsysdecode/flags.c	Sat Jun  3 18:21:50 2017	(r319549)
@@ -487,6 +487,13 @@ sysdecode_getfsstat_mode(int mode)
 }
 
 const char *
+sysdecode_getrusage_who(int who)
+{
+
+	return (lookup_value(rusage, who));
+}
+
+const char *
 sysdecode_kldsym_cmd(int cmd)
 {
 

Modified: projects/clang500-import/lib/libsysdecode/mktables
==============================================================================
--- projects/clang500-import/lib/libsysdecode/mktables	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/lib/libsysdecode/mktables	Sat Jun  3 18:21:50 2017	(r319549)
@@ -114,6 +114,7 @@ gen_table "quotactlcmds"    "Q_[A-Z]+[[:space:]]+0x[0-
 gen_table "rebootopt"       "RB_[A-Z]+[[:space:]]+0x[0-9]+"                "sys/reboot.h"
 gen_table "rforkflags"      "RF[A-Z]+[[:space:]]+\([0-9]+<<[0-9]+\)"       "sys/unistd.h"
 gen_table "rlimit"          "RLIMIT_[A-Z]+[[:space:]]+[0-9]+"              "sys/resource.h"
+gen_table "rusage"          "RUSAGE_[A-Z]+[[:space:]]+[-0-9]+"             "sys/resource.h"
 gen_table "schedpolicy"     "SCHED_[A-Z]+[[:space:]]+[0-9]+"               "sched.h"
 gen_table "sendfileflags"   "SF_[A-Z]+[[:space:]]+[0-9]+"                  "sys/socket.h"
 gen_table "shmatflags"      "SHM_[A-Z]+[[:space:]]+[0-9]{6}+"              "sys/shm.h"

Modified: projects/clang500-import/lib/libsysdecode/sysdecode.3
==============================================================================
--- projects/clang500-import/lib/libsysdecode/sysdecode.3	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/lib/libsysdecode/sysdecode.3	Sat Jun  3 18:21:50 2017	(r319549)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd October 17, 2016
+.Dd June 3, 2017
 .Dt SYSDECODE 3
 .Os
 .Sh NAME
@@ -76,6 +76,7 @@ A placeholder for use when the ABI is not known.
 .Xr sysdecode_mask 3 ,
 .Xr sysdecode_quotactl_cmd 3 ,
 .Xr sysdecode_sigcode 3 ,
+.Xr sysdecode_socket_protocol 3 ,
 .Xr sysdecode_sockopt_name 3 ,
 .Xr sysdecode_syscallnames 3 ,
 .Xr sysdecode_utrace 3

Modified: projects/clang500-import/lib/libsysdecode/sysdecode.h
==============================================================================
--- projects/clang500-import/lib/libsysdecode/sysdecode.h	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/lib/libsysdecode/sysdecode.h	Sat Jun  3 18:21:50 2017	(r319549)
@@ -55,6 +55,7 @@ bool	sysdecode_filemode(FILE *_fp, int _mode, int *_re
 bool	sysdecode_flock_operation(FILE *_fp, int _operation, int *_rem);
 int	sysdecode_freebsd_to_abi_errno(enum sysdecode_abi _abi, int _error);
 const char *sysdecode_getfsstat_mode(int _mode);
+const char *sysdecode_getrusage_who(int _who);
 const char *sysdecode_idtype(int _idtype);
 const char *sysdecode_ioctlname(unsigned long _val);
 const char *sysdecode_ipproto(int _protocol);

Modified: projects/clang500-import/lib/libsysdecode/sysdecode_enum.3
==============================================================================
--- projects/clang500-import/lib/libsysdecode/sysdecode_enum.3	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/lib/libsysdecode/sysdecode_enum.3	Sat Jun  3 18:21:50 2017	(r319549)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd January 2, 2017
+.Dd June 3, 2017
 .Dt sysdecode_enum 3
 .Os
 .Sh NAME
@@ -36,6 +36,7 @@
 .Nm sysdecode_fadvice ,
 .Nm sysdecode_fcntl_cmd ,
 .Nm sysdecode_getfsstat_mode ,
+.Nm sysdecode_getrusage_who ,
 .Nm sysdecode_idtype ,
 .Nm sysdecode_ipproto ,
 .Nm sysdecode_kldsym_cmd ,
@@ -89,6 +90,8 @@
 .Ft const char *
 .Fn sysdecode_getfsstat_mode "int mode"
 .Ft const char *
+.Fn sysdecode_getrusage_who "int who"
+.Ft const char *
 .Fn sysdecode_idtype "int idtype"
 .Ft const char *
 .Fn sysdecode_ipproto "int protocol"
@@ -188,6 +191,7 @@ Most of these functions decode an argument passed to a
 .It Fn sysdecode_ptrace_request Ta Xr ptrace 2 Ta Fa request
 .It Fn sysdecode_rlimit Ta Xr getrlimit 2 Ta Fa resource
 .It Fn sysdecode_rtprio_function Ta Xr rtprio 2 Ta Fa function
+.It Fn sysdecode_getrusage_who Ta Xr getrusage 2 Ta Fa who
 .It Fn sysdecode_scheduler_policy Ta Xr sched_setscheduler 2 Ta Fa policy
 .It Fn sysdecode_semctl_cmd Ta Xr semctl 2 Ta Fa cmd
 .It Fn sysdecode_shmctl_cmd Ta Xr shmctl 2 Ta Fa cmd

Modified: projects/clang500-import/share/man/man7/ascii.7
==============================================================================
--- projects/clang500-import/share/man/man7/ascii.7	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/share/man/man7/ascii.7	Sat Jun  3 18:21:50 2017	(r319549)
@@ -64,9 +64,9 @@ The
 set:
 .Bd -literal -offset left
 00 NUL   01 SOH   02 STX   03 ETX   04 EOT   05 ENQ   06 ACK   07 BEL
-08 BS    09 HT    0A LF    0B VT    0C FF    0D CR    0E SO    0F SI
+08 BS    09 HT    0a LF    0b VT    0c FF    0d CR    0e SO    0f SI
 10 DLE   11 DC1   12 DC2   13 DC3   14 DC4   15 NAK   16 SYN   17 ETB
-18 CAN   19 EM    1A SUB   1B ESC   1C FS    1D GS    1E RS    1F US
+18 CAN   19 EM    1a SUB   1b ESC   1c FS    1d GS    1e RS    1f US
 20 SP    21  !    22  "    23  #    24  $    25  %    26  &    27  '
 28  (    29  )    2a  *    2b  +    2c  ,    2d  -    2e  .    2f  /
 30  0    31  1    32  2    33  3    34  4    35  5    36  6    37  7

Modified: projects/clang500-import/share/mk/local.meta.sys.mk
==============================================================================
--- projects/clang500-import/share/mk/local.meta.sys.mk	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/share/mk/local.meta.sys.mk	Sat Jun  3 18:21:50 2017	(r319549)
@@ -283,6 +283,3 @@ META_MODE+=	missing-meta=yes
 .if empty(META_MODE:Mnofilemon)
 META_MODE+=	missing-filemon=yes
 .endif
-# We do not want everything out-of-date just because
-# some unrelated shared lib updated this.
-.MAKE.META.IGNORE_PATHS+= /usr/local/etc/libmap.d

Modified: projects/clang500-import/share/mk/sys.mk
==============================================================================
--- projects/clang500-import/share/mk/sys.mk	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/share/mk/sys.mk	Sat Jun  3 18:21:50 2017	(r319549)
@@ -91,7 +91,11 @@ META_MODE?= normal
 	/usr/share \
 
 .endif
-
+.if !empty(.MAKE.MODE:Mmeta)
+# We do not want everything out-of-date just because
+# some unrelated shared lib updated this.
+.MAKE.META.IGNORE_PATHS+= /usr/local/etc/libmap.d
+.endif
 
 .if ${MK_AUTO_OBJ} == "yes"
 # This needs to be done early - before .PATH is computed

Modified: projects/clang500-import/sys/amd64/amd64/pmap.c
==============================================================================
--- projects/clang500-import/sys/amd64/amd64/pmap.c	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/amd64/amd64/pmap.c	Sat Jun  3 18:21:50 2017	(r319549)
@@ -4313,6 +4313,7 @@ pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, v
 	pv_entry_t pv;
 	vm_paddr_t opa, pa;
 	vm_page_t mpte, om;
+	int rv;
 	boolean_t nosleep;
 
 	PG_A = pmap_accessed_bit(pmap);
@@ -4387,10 +4388,8 @@ retry:
 		mpte = _pmap_allocpte(pmap, pmap_pde_pindex(va),
 		    nosleep ? NULL : &lock);
 		if (mpte == NULL && nosleep) {
-			if (lock != NULL)
-				rw_wunlock(lock);
-			PMAP_UNLOCK(pmap);
-			return (KERN_RESOURCE_SHORTAGE);
+			rv = KERN_RESOURCE_SHORTAGE;
+			goto out;
 		}
 		goto retry;
 	} else
@@ -4516,10 +4515,12 @@ unchanged:
 	    vm_reserv_level_iffullpop(m) == 0)
 		pmap_promote_pde(pmap, pde, va, &lock);
 
+	rv = KERN_SUCCESS;
+out:
 	if (lock != NULL)
 		rw_wunlock(lock);
 	PMAP_UNLOCK(pmap);
-	return (KERN_SUCCESS);
+	return (rv);
 }
 
 /*

Modified: projects/clang500-import/sys/arm/annapurna/alpine/files.alpine
==============================================================================
--- projects/clang500-import/sys/arm/annapurna/alpine/files.alpine	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/arm/annapurna/alpine/files.alpine	Sat Jun  3 18:21:50 2017	(r319549)
@@ -3,7 +3,6 @@
 kern/kern_clocksource.c				standard
 
 arm/versatile/sp804.c				standard
-arm/versatile/versatile_timer.c			standard
 dev/uart/uart_dev_ns8250.c			optional	uart
 
 arm/annapurna/alpine/common.c			standard

Modified: projects/clang500-import/sys/arm/arm/machdep.c
==============================================================================
--- projects/clang500-import/sys/arm/arm/machdep.c	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/arm/arm/machdep.c	Sat Jun  3 18:21:50 2017	(r319549)
@@ -103,6 +103,10 @@ __FBSDID("$FreeBSD$");
 #error FreeBSD/arm doesn't provide compatibility with releases prior to 10
 #endif
 
+#if __ARM_ARCH >= 6 && !defined(INTRNG)
+#error armv6 requires INTRNG
+#endif
+
 struct pcpu __pcpu[MAXCPU];
 struct pcpu *pcpup = &__pcpu[0];
 
@@ -297,6 +301,7 @@ cpu_idle_wakeup(int cpu)
 	return (0);
 }
 
+#ifdef NO_EVENTTIMERS
 /*
  * Most ARM platforms don't need to do anything special to init their clocks
  * (they get intialized during normal device attachment), and by not defining a
@@ -307,8 +312,14 @@ cpu_idle_wakeup(int cpu)
 void
 arm_generic_initclocks(void)
 {
+}
+__weak_reference(arm_generic_initclocks, cpu_initclocks);
 
-#ifndef NO_EVENTTIMERS
+#else
+void
+cpu_initclocks(void)
+{
+
 #ifdef SMP
 	if (PCPU_GET(cpuid) == 0)
 		cpu_initclocks_bsp();
@@ -317,9 +328,8 @@ arm_generic_initclocks(void)
 #else
 	cpu_initclocks_bsp();
 #endif
-#endif
 }
-__weak_reference(arm_generic_initclocks, cpu_initclocks);
+#endif
 
 #ifdef MULTIDELAY
 void

Modified: projects/clang500-import/sys/arm/arm/mpcore_timer.c
==============================================================================
--- projects/clang500-import/sys/arm/arm/mpcore_timer.c	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/arm/arm/mpcore_timer.c	Sat Jun  3 18:21:50 2017	(r319549)
@@ -59,6 +59,10 @@ __FBSDID("$FreeBSD$");
 #include <machine/cpu.h>
 #include <machine/intr.h>
 
+#ifdef MULTIDELAY
+#include <machine/machdep.h> /* For arm_set_delay */
+#endif
+
 #include <dev/ofw/openfirm.h>
 #include <dev/ofw/ofw_bus.h>
 #include <dev/ofw/ofw_bus_subr.h>
@@ -115,6 +119,8 @@ static boolean_t arm_tmr_freq_varies;
 #define	tmr_gbl_read_4(sc, reg)         bus_read_4((sc)->gbl_mem, reg)
 #define	tmr_gbl_write_4(sc, reg, val)   bus_write_4((sc)->gbl_mem, reg, val)
 
+static void arm_tmr_delay(int, void *);
+
 static timecounter_get_t arm_tmr_get_timecount;
 
 static struct timecounter arm_tmr_timecount = {
@@ -431,6 +437,11 @@ arm_tmr_attach(device_t dev)
 	if (tc_err != 0 && et_err != 0) {
 		return (ENXIO);
 	}
+
+#ifdef MULTIDELAY
+	arm_set_delay(arm_tmr_delay, sc);
+#endif
+
 	return (0);
 }
 
@@ -482,37 +493,14 @@ arm_tmr_change_frequency(uint64_t newfreq)
 		et_change_frequency(arm_tmr_et, newfreq);
 }
 
-/**
- *	DELAY - Delay for at least usec microseconds.
- *	@usec: number of microseconds to delay by
- *
- *	This function is called all over the kernel and is suppose to provide a
- *	consistent delay.  This function may also be called before the console
- *	is setup so no printf's can be called here.
- *
- *	RETURNS:
- *	nothing
- */
-static void __used /* Must emit function code for the weak ref below. */
-arm_tmr_DELAY(int usec)
+static void
+arm_tmr_delay(int usec, void *arg)
 {
-	struct arm_tmr_softc *sc;
+	struct arm_tmr_softc *sc = arg;
 	int32_t counts_per_usec;
 	int32_t counts;
 	uint32_t first, last;
 
-	/* Check the timers are setup, if not just use a for loop for the meantime */
-	if (arm_tmr_tc == NULL || arm_tmr_timecount.tc_frequency == 0) {
-		for (; usec > 0; usec--)
-			for (counts = 200; counts > 0; counts--)
-				cpufunc_nullop();	/* Prevent gcc from optimizing
-							 * out the loop
-							 */
-		return;
-	}
-
-	sc = arm_tmr_tc->tc_priv;
-
 	/* Get the number of times to count */
 	counts_per_usec = ((arm_tmr_timecount.tc_frequency / 1000000) + 1);
 
@@ -536,10 +524,34 @@ arm_tmr_DELAY(int usec)
 	}
 }
 
-/*
- * Supply a DELAY() implementation via weak linkage.  A platform may want to use
- * the mpcore per-cpu eventtimers but provide its own DELAY() routine,
- * especially when the core frequency can change on the fly.
+#ifndef MULTIDELAY
+/**
+ *	DELAY - Delay for at least usec microseconds.
+ *	@usec: number of microseconds to delay by
+ *
+ *	This function is called all over the kernel and is suppose to provide a
+ *	consistent delay.  This function may also be called before the console
+ *	is setup so no printf's can be called here.
+ *
+ *	RETURNS:
+ *	nothing
  */
-__weak_reference(arm_tmr_DELAY, DELAY);
+void
+DELAY(int usec)
+{
+	struct arm_tmr_softc *sc;
+	int32_t counts;
 
+	/* Check the timers are setup, if not just use a for loop for the meantime */
+	if (arm_tmr_tc == NULL || arm_tmr_timecount.tc_frequency == 0) {
+		for (; usec > 0; usec--)
+			for (counts = 200; counts > 0; counts--)
+				cpufunc_nullop();	/* Prevent gcc from optimizing
+							 * out the loop
+							 */
+	} else {
+		sc = arm_tmr_tc->tc_priv;
+		arm_tmr_delay(usec, sc);
+	}
+}
+#endif

Modified: projects/clang500-import/sys/arm/conf/AML8726
==============================================================================
--- projects/clang500-import/sys/arm/conf/AML8726	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/arm/conf/AML8726	Sat Jun  3 18:21:50 2017	(r319549)
@@ -18,6 +18,9 @@
 #
 # $FreeBSD$
 
+# TODO: Port to INTRNG
+#NO_UNIVERSE
+
 ident		AML8726
 
 include 	"std.armv6"

Modified: projects/clang500-import/sys/arm/conf/ARMADAXP
==============================================================================
--- projects/clang500-import/sys/arm/conf/ARMADAXP	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/arm/conf/ARMADAXP	Sat Jun  3 18:21:50 2017	(r319549)
@@ -18,6 +18,9 @@
 #
 # $FreeBSD$
 
+# TODO: Port to INTRNG
+#NO_UNIVERSE
+
 ident		MV-88F78XX0
 
 include 	"std.armv6"

Modified: projects/clang500-import/sys/arm/conf/BEAGLEBONE
==============================================================================
--- projects/clang500-import/sys/arm/conf/BEAGLEBONE	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/arm/conf/BEAGLEBONE	Sat Jun  3 18:21:50 2017	(r319549)
@@ -29,6 +29,7 @@ include 	"../ti/am335x/std.am335x"
 makeoptions	MODULES_EXTRA="dtb/am335x am335x_dmtpps"
 
 options 	INTRNG
+options 	MULTIDELAY
 
 options 	SCHED_4BSD		# 4BSD scheduler
 options 	PLATFORM

Modified: projects/clang500-import/sys/arm/conf/EFIKA_MX
==============================================================================
--- projects/clang500-import/sys/arm/conf/EFIKA_MX	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/arm/conf/EFIKA_MX	Sat Jun  3 18:21:50 2017	(r319549)
@@ -31,6 +31,7 @@ options 	SCHED_4BSD		# 4BSD scheduler
 #options 	MD_ROOT			# MD is a potential root device
 #options 	NFSD			# Network Filesystem Server
 options 	PLATFORM
+options 	MULTIDELAY
 options 	INCLUDE_CONFIG_FILE	# Include this file in kernel
 
 # NFS root from boopt/dhcp

Modified: projects/clang500-import/sys/arm/conf/IMX53
==============================================================================
--- projects/clang500-import/sys/arm/conf/IMX53	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/arm/conf/IMX53	Sat Jun  3 18:21:50 2017	(r319549)
@@ -28,6 +28,7 @@ options 	SOC_IMX53
 options 	SCHED_4BSD		# 4BSD scheduler
 #options 	NFSD			# Network Filesystem Server
 options 	PLATFORM
+options 	MULTIDELAY
 options 	INCLUDE_CONFIG_FILE	# Include this file in kernel
 
 # kernel/memory size reduction

Modified: projects/clang500-import/sys/arm/conf/RT1310
==============================================================================
--- projects/clang500-import/sys/arm/conf/RT1310	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/arm/conf/RT1310	Sat Jun  3 18:21:50 2017	(r319549)
@@ -3,6 +3,8 @@
 #
 # $FreeBSD$
 #
+# TODO: This fails to build under universe, irnore it until it's fixed
+#NO_UNIVERSE
 
 ident		RT1310
 include 	"std.arm"

Modified: projects/clang500-import/sys/arm/freescale/imx/imx51_machdep.c
==============================================================================
--- projects/clang500-import/sys/arm/freescale/imx/imx51_machdep.c	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/arm/freescale/imx/imx51_machdep.c	Sat Jun  3 18:21:50 2017	(r319549)
@@ -99,4 +99,4 @@ static platform_method_t imx51_methods[] = {
 	PLATFORMMETHOD_END,
 };
 
-FDT_PLATFORM_DEF(imx51, "i.MX51", 0, "fsl,imx51", 0);
+FDT_PLATFORM_DEF(imx51, "i.MX51", 0, "fsl,imx51", 100);

Modified: projects/clang500-import/sys/arm/freescale/imx/imx53_machdep.c
==============================================================================
--- projects/clang500-import/sys/arm/freescale/imx/imx53_machdep.c	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/arm/freescale/imx/imx53_machdep.c	Sat Jun  3 18:21:50 2017	(r319549)
@@ -95,5 +95,4 @@ static platform_method_t imx53_methods[] = {
 	PLATFORMMETHOD_END,
 };
 
-FDT_PLATFORM_DEF(imx53, "i.MX53", 0, "fsl,imx53", 0);
-
+FDT_PLATFORM_DEF(imx53, "i.MX53", 0, "fsl,imx53", 100);

Modified: projects/clang500-import/sys/arm/versatile/files.versatile
==============================================================================
--- projects/clang500-import/sys/arm/versatile/files.versatile	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/arm/versatile/files.versatile	Sat Jun  3 18:21:50 2017	(r319549)
@@ -8,6 +8,5 @@ arm/versatile/versatile_common.c		standard
 arm/versatile/versatile_pci.c			optional pci
 arm/versatile/versatile_scm.c			standard
 arm/versatile/versatile_sic.c			standard
-arm/versatile/versatile_timer.c			standard
 
 kern/kern_clocksource.c                         standard

Modified: projects/clang500-import/sys/arm/versatile/sp804.c
==============================================================================
--- projects/clang500-import/sys/arm/versatile/sp804.c	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/arm/versatile/sp804.c	Sat Jun  3 18:21:50 2017	(r319549)
@@ -42,6 +42,10 @@ __FBSDID("$FreeBSD$");
 #include <machine/cpu.h>
 #include <machine/intr.h>
 
+#ifdef MULTIDELAY
+#include <machine/machdep.h> /* For arm_set_delay */
+#endif
+
 #include <dev/ofw/openfirm.h>
 #include <dev/ofw/ofw_bus.h>
 #include <dev/ofw/ofw_bus_subr.h>
@@ -109,6 +113,7 @@ struct sp804_timer_softc {
 	bus_space_write_4(sc->bst, sc->bsh, reg, val)
 
 static unsigned sp804_timer_tc_get_timecount(struct timecounter *);
+static void sp804_timer_delay(int, void *);
 
 static unsigned
 sp804_timer_tc_get_timecount(struct timecounter *tc)
@@ -287,6 +292,10 @@ sp804_timer_attach(device_t dev)
 		     (sp804_timer_tc_read_4(SP804_PRIMECELL_ID0 + i*4) & 0xff);
 	}
 
+#ifdef MULTIDELAY
+	arm_set_delay(sp804_timer_delay, sc);
+#endif
+
 	device_printf(dev, "PrimeCell ID: %08x\n", id);
 
 	sc->timer_initialized = 1;
@@ -310,11 +319,36 @@ static devclass_t sp804_timer_devclass;
 
 DRIVER_MODULE(sp804_timer, simplebus, sp804_timer_driver, sp804_timer_devclass, 0, 0);
 
+static void
+sp804_timer_delay(int usec, void *arg)
+{
+	struct sp804_timer_softc *sc = arg;
+	int32_t counts;
+	uint32_t first, last;
+
+	/* Get the number of times to count */
+	counts = usec * ((sc->tc.tc_frequency / 1000000) + 1);
+
+	first = sp804_timer_tc_get_timecount(&sc->tc);
+
+	while (counts > 0) {
+		last = sp804_timer_tc_get_timecount(&sc->tc);
+		if (last == first)
+			continue;
+		if (last > first) {
+			counts -= (int32_t)(last - first);
+		} else {
+			counts -= (int32_t)((0xFFFFFFFF - first) + last);
+		}
+		first = last;
+	}
+}
+
+#ifndef MULTIDELAY
 void
 DELAY(int usec)
 {
 	int32_t counts;
-	uint32_t first, last;
 	device_t timer_dev;
 	struct sp804_timer_softc *sc;
 	int timer_initialized = 0;
@@ -336,23 +370,8 @@ DELAY(int usec)
 			for (counts = 200; counts > 0; counts--)
 				/* Prevent gcc from optimizing  out the loop */
 				cpufunc_nullop();
-		return;
+	} else {
+		sp804_timer_delay(usec, sc);
 	}
-
-	/* Get the number of times to count */
-	counts = usec * ((sc->tc.tc_frequency / 1000000) + 1);
-
-	first = sp804_timer_tc_get_timecount(&sc->tc);
-
-	while (counts > 0) {
-		last = sp804_timer_tc_get_timecount(&sc->tc);
-		if (last == first)
-			continue;
-		if (last>first) {
-			counts -= (int32_t)(last - first);
-		} else {
-			counts -= (int32_t)((0xFFFFFFFF - first) + last);
-		}
-		first = last;
-	}
 }
+#endif

Modified: projects/clang500-import/sys/arm64/arm64/pmap.c
==============================================================================
--- projects/clang500-import/sys/arm64/arm64/pmap.c	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/arm64/arm64/pmap.c	Sat Jun  3 18:21:50 2017	(r319549)
@@ -495,14 +495,6 @@ pmap_get_tables(pmap_t pmap, vm_offset_t va, pd_entry_
 }
 
 static __inline int
-pmap_is_current(pmap_t pmap)
-{
-
-	return ((pmap == pmap_kernel()) ||
-	    (pmap == curthread->td_proc->p_vmspace->vm_map.pmap));
-}
-
-static __inline int
 pmap_l3_valid(pt_entry_t l3)
 {
 
@@ -510,24 +502,8 @@ pmap_l3_valid(pt_entry_t l3)
 }
 
 
-/* Is a level 1 or 2entry a valid block and cacheable */
 CTASSERT(L1_BLOCK == L2_BLOCK);
-static __inline int
-pmap_pte_valid_cacheable(pt_entry_t pte)
-{
 
-	return (((pte & ATTR_DESCR_MASK) == L1_BLOCK) &&
-	    ((pte & ATTR_IDX_MASK) == ATTR_IDX(CACHED_MEMORY)));
-}
-
-static __inline int
-pmap_l3_valid_cacheable(pt_entry_t l3)
-{
-
-	return (((l3 & ATTR_DESCR_MASK) == L3_PAGE) &&
-	    ((l3 & ATTR_IDX_MASK) == ATTR_IDX(CACHED_MEMORY)));
-}
-
 #define	PTE_SYNC(pte)	cpu_dcache_wb_range((vm_offset_t)pte, sizeof(*pte))
 
 /*
@@ -1180,8 +1156,6 @@ pmap_kremove(vm_offset_t va)
 	KASSERT(pte != NULL, ("pmap_kremove: Invalid address"));
 	KASSERT(lvl == 3, ("pmap_kremove: Invalid pte level %d", lvl));
 
-	if (pmap_l3_valid_cacheable(pmap_load(pte)))
-		cpu_dcache_wb_range(va, L3_SIZE);
 	pmap_load_clear(pte);
 	PTE_SYNC(pte);
 	pmap_invalidate_page(kernel_pmap, va);
@@ -1292,8 +1266,6 @@ pmap_qremove(vm_offset_t sva, int count)
 		KASSERT(lvl == 3,
 		    ("Invalid device pagetable level: %d != 3", lvl));
 		if (pte != NULL) {
-			if (pmap_l3_valid_cacheable(pmap_load(pte)))
-				cpu_dcache_wb_range(va, L3_SIZE);
 			pmap_load_clear(pte);
 			PTE_SYNC(pte);
 		}
@@ -2295,8 +2267,6 @@ pmap_remove_l3(pmap_t pmap, pt_entry_t *l3, vm_offset_
 	vm_page_t m;
 
 	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
-	if (pmap_is_current(pmap) && pmap_l3_valid_cacheable(pmap_load(l3)))
-		cpu_dcache_wb_range(va, L3_SIZE);
 	old_l3 = pmap_load_clear(l3);
 	PTE_SYNC(l3);
 	pmap_invalidate_page(pmap, va);
@@ -2518,9 +2488,6 @@ retry:
 
 		pte = pmap_l2_to_l3(pde, pv->pv_va);
 		tpte = pmap_load(pte);
-		if (pmap_is_current(pmap) &&
-		    pmap_l3_valid_cacheable(tpte))
-			cpu_dcache_wb_range(pv->pv_va, L3_SIZE);
 		pmap_load_clear(pte);
 		PTE_SYNC(pte);
 		pmap_invalidate_page(pmap, pv->pv_va);
@@ -3004,10 +2971,6 @@ havel3:
 			}
 			goto validate;
 		}
-
-		/* Flush the cache, there might be uncommitted data in it */
-		if (pmap_is_current(pmap) && pmap_l3_valid_cacheable(orig_l3))
-			cpu_dcache_wb_range(va, L3_SIZE);
 	} else {
 		/*
 		 * Increment the counters.
@@ -3673,20 +3636,8 @@ pmap_remove_pages(pmap_t pmap)
 				    ("pmap_remove_pages: bad pte %#jx",
 				    (uintmax_t)tpte));
 
-				if (pmap_is_current(pmap)) {
-					if (lvl == 2 &&
-					    pmap_l3_valid_cacheable(tpte)) {
-						cpu_dcache_wb_range(pv->pv_va,
-						    L3_SIZE);
-					} else if (lvl == 1 &&
-					    pmap_pte_valid_cacheable(tpte)) {
-						cpu_dcache_wb_range(pv->pv_va,
-						    L2_SIZE);
-					}
-				}
 				pmap_load_clear(pte);
 				PTE_SYNC(pte);
-				pmap_invalidate_page(pmap, pv->pv_va);
 
 				/*
 				 * Update the vm_page_t clean/reference bits.

Modified: projects/clang500-import/sys/compat/linuxkpi/common/src/linux_compat.c
==============================================================================
--- projects/clang500-import/sys/compat/linuxkpi/common/src/linux_compat.c	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/compat/linuxkpi/common/src/linux_compat.c	Sat Jun  3 18:21:50 2017	(r319549)
@@ -438,7 +438,7 @@ linux_kq_lock_unowned(void *arg)
 }
 
 static void
-linux_dev_kqfilter_poll(struct linux_file *);
+linux_dev_kqfilter_poll(struct linux_file *, int);
 
 struct linux_file *
 linux_file_alloc(void)
@@ -826,6 +826,10 @@ linux_dev_ioctl(struct cdev *dev, u_long cmd, caddr_t 
 		return (error);
 	filp->f_flags = file->f_flag;
 
+	/* the LinuxKPI supports blocking and non-blocking I/O */
+	if (cmd == FIONBIO || cmd == FIOASYNC)
+		return (0);
+
 	linux_set_current(td);
 	size = IOCPARM_LEN(cmd);
 	/* refer to logic in sys_ioctl() */
@@ -852,9 +856,11 @@ linux_dev_ioctl(struct cdev *dev, u_long cmd, caddr_t 
 		current->bsd_ioctl_len = 0;
 	}
 
-	if (error == EWOULDBLOCK)
-		linux_dev_kqfilter_poll(filp);
-	else if (error == ERESTARTSYS)
+	if (error == EWOULDBLOCK) {
+		/* update kqfilter status, if any */
+		linux_dev_kqfilter_poll(filp,
+		    LINUX_KQ_FLAG_HAS_READ | LINUX_KQ_FLAG_HAS_WRITE);
+	} else if (error == ERESTARTSYS)
 		error = ERESTART;
 	return (error);
 }
@@ -889,14 +895,15 @@ linux_dev_read(struct cdev *dev, struct uio *uio, int 
 			uio->uio_resid -= bytes;
 		} else {
 			error = -bytes;
-			if (error == EWOULDBLOCK)
-				linux_dev_kqfilter_poll(filp);
-			else if (error == ERESTARTSYS)
+			if (error == ERESTARTSYS)
 				error = ERESTART;
 		}
 	} else
 		error = ENXIO;
 
+	/* update kqfilter status, if any */
+	linux_dev_kqfilter_poll(filp, LINUX_KQ_FLAG_HAS_READ);
+
 	return (error);
 }
 
@@ -930,14 +937,15 @@ linux_dev_write(struct cdev *dev, struct uio *uio, int
 			uio->uio_resid -= bytes;
 		} else {
 			error = -bytes;
-			if (error == EWOULDBLOCK)
-				linux_dev_kqfilter_poll(filp);
-			else if (error == ERESTARTSYS)
+			if (error == ERESTARTSYS)
 				error = ERESTART;
 		}
 	} else
 		error = ENXIO;
 
+	/* update kqfilter status, if any */
+	linux_dev_kqfilter_poll(filp, LINUX_KQ_FLAG_HAS_WRITE);
+
 	return (error);
 }
 
@@ -1028,21 +1036,20 @@ static struct filterops linux_dev_kqfiltops_write = {
 };
 
 static void
-linux_dev_kqfilter_poll(struct linux_file *filp)
+linux_dev_kqfilter_poll(struct linux_file *filp, int kqflags)
 {
 	int temp;
 
-	spin_lock(&filp->f_kqlock);
-	temp = (filp->f_kqflags & (LINUX_KQ_FLAG_HAS_READ | LINUX_KQ_FLAG_HAS_WRITE));
-	filp->f_kqflags &= ~(LINUX_KQ_FLAG_NEED_READ | LINUX_KQ_FLAG_NEED_WRITE);
-	spin_unlock(&filp->f_kqlock);
-
-	if (temp != 0) {
+	if (filp->f_kqflags & kqflags) {
 		/* get the latest polling state */
 		temp = filp->f_op->poll(filp, NULL);
 
+		spin_lock(&filp->f_kqlock);
+		/* clear kqflags */
+		filp->f_kqflags &= ~(LINUX_KQ_FLAG_NEED_READ |
+		    LINUX_KQ_FLAG_NEED_WRITE);
+		/* update kqflags */
 		if (temp & (POLLIN | POLLOUT)) {
-			spin_lock(&filp->f_kqlock);
 			if (temp & POLLIN)
 				filp->f_kqflags |= LINUX_KQ_FLAG_NEED_READ;
 			if (temp & POLLOUT)
@@ -1050,8 +1057,8 @@ linux_dev_kqfilter_poll(struct linux_file *filp)
 
 			/* make sure the "knote" gets woken up */
 			KNOTE_LOCKED(&filp->f_selinfo.si_note, 0);
-			spin_unlock(&filp->f_kqlock);
 		}
+		spin_unlock(&filp->f_kqlock);
 	}
 }
 
@@ -1095,7 +1102,10 @@ linux_dev_kqfilter(struct cdev *dev, struct knote *kn)
 
 	if (error == 0) {
 		linux_set_current(td);
-		linux_dev_kqfilter_poll(filp);
+
+		/* update kqfilter status, if any */
+		linux_dev_kqfilter_poll(filp,
+		    LINUX_KQ_FLAG_HAS_READ | LINUX_KQ_FLAG_HAS_WRITE);
 	}
 	return (error);
 }

Modified: projects/clang500-import/sys/conf/files.amd64
==============================================================================
--- projects/clang500-import/sys/conf/files.amd64	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/conf/files.amd64	Sat Jun  3 18:21:50 2017	(r319549)
@@ -46,7 +46,7 @@ linux32_assym.h			optional	compat_linux32		\
 #
 linux32_locore.o	optional	compat_linux32		\
 	dependency 	"linux32_assym.h $S/amd64/linux32/linux32_locore.s"	\
-	compile-with	"${CC} -x assembler-with-cpp -DLOCORE -m32 -shared -s -pipe -I. -I$S -Werror -Wall -fno-common -nostdinc -nostdlib -Wl,-T$S/amd64/linux32/linux32_vdso.lds.s -Wl,-soname=linux32_vdso.so,--eh-frame-hdr,-fPIC,-warn-common ${.IMPSRC} -o ${.TARGET}" \
+	compile-with	"${CC} -x assembler-with-cpp -DLOCORE -m32 -shared -s -pipe -I. -I$S -Werror -Wall -fPIC -fno-common -nostdinc -nostdlib -Wl,-T$S/amd64/linux32/linux32_vdso.lds.s -Wl,-soname=linux32_vdso.so,--eh-frame-hdr,-warn-common ${.IMPSRC} -o ${.TARGET}" \
 	no-obj no-implicit-rule						\
 	clean		"linux32_locore.o"
 #

Modified: projects/clang500-import/sys/conf/files.i386
==============================================================================
--- projects/clang500-import/sys/conf/files.i386	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/conf/files.i386	Sat Jun  3 18:21:50 2017	(r319549)
@@ -33,7 +33,7 @@ linux_assym.h			optional	compat_linux		\
 #
 linux_locore.o			optional	compat_linux		\
 	dependency 	"linux_assym.h $S/i386/linux/linux_locore.s"	\
-	compile-with	"${CC} -x assembler-with-cpp -DLOCORE -shared -s -pipe -I. -I$S -Werror -Wall -fno-common -nostdinc -nostdlib -Wl,-T$S/i386/linux/linux_vdso.lds.s -Wl,-soname=linux_vdso.so,--eh-frame-hdr,-fPIC,-warn-common ${.IMPSRC} -o ${.TARGET}" \
+	compile-with	"${CC} -x assembler-with-cpp -DLOCORE -shared -s -pipe -I. -I$S -Werror -Wall -fPIC -fno-common -nostdinc -nostdlib -Wl,-T$S/i386/linux/linux_vdso.lds.s -Wl,-soname=linux_vdso.so,--eh-frame-hdr,-warn-common ${.IMPSRC} -o ${.TARGET}" \
 	no-obj no-implicit-rule						\
 	clean		"linux_locore.o"
 #

Modified: projects/clang500-import/sys/dev/cxgbe/t4_sge.c
==============================================================================
--- projects/clang500-import/sys/dev/cxgbe/t4_sge.c	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/dev/cxgbe/t4_sge.c	Sat Jun  3 18:21:50 2017	(r319549)
@@ -4581,12 +4581,8 @@ write_txpkts_wr(struct sge_txq *txq, struct fw_eth_tx_
 			if (checkwrap &&
 			    (uintptr_t)cpl == (uintptr_t)&eq->desc[eq->sidx])
 				cpl = (void *)&eq->desc[0];
-			txq->txpkts0_pkts += txp->npkt;
-			txq->txpkts0_wrs++;
 		} else {
 			cpl = flitp;
-			txq->txpkts1_pkts += txp->npkt;
-			txq->txpkts1_wrs++;
 		}
 
 		/* Checksum offload */
@@ -4619,6 +4615,14 @@ write_txpkts_wr(struct sge_txq *txq, struct fw_eth_tx_
 
 		write_gl_to_txd(txq, m, (caddr_t *)(&flitp), checkwrap);
 
+	}
+
+	if (txp->wr_type == 0) {
+		txq->txpkts0_pkts += txp->npkt;
+		txq->txpkts0_wrs++;
+	} else {
+		txq->txpkts1_pkts += txp->npkt;
+		txq->txpkts1_wrs++;
 	}
 
 	txsd = &txq->sdesc[eq->pidx];

Modified: projects/clang500-import/sys/dev/etherswitch/e6000sw/e6000sw.c
==============================================================================
--- projects/clang500-import/sys/dev/etherswitch/e6000sw/e6000sw.c	Sat Jun  3 18:20:23 2017	(r319548)
+++ projects/clang500-import/sys/dev/etherswitch/e6000sw/e6000sw.c	Sat Jun  3 18:21:50 2017	(r319549)
@@ -28,40 +28,25 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#include <sys/types.h>
 #include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/sockio.h>
+#include <sys/bus.h>
+#include <sys/errno.h>
 #include <sys/kernel.h>
 #include <sys/kthread.h>
-#include <sys/socket.h>
 #include <sys/module.h>
-#include <sys/errno.h>
-#include <sys/bus.h>
-#include <sys/conf.h>
-#include <sys/uio.h>
-#include <sys/fcntl.h>
+#include <sys/socket.h>
+#include <sys/sockio.h>
 
 #include <net/if.h>
 #include <net/if_media.h>
 #include <net/if_types.h>
 
-#include <machine/bus.h>
-#include <machine/resource.h>
-
-#include <arm/mv/mvwin.h>
-#include <arm/mv/mvreg.h>
-#include <arm/mv/mvvar.h>
-
 #include <dev/etherswitch/etherswitch.h>
-#include <dev/mdio/mdio.h>
 #include <dev/mii/mii.h>
 #include <dev/mii/miivar.h>
-#include <dev/mge/if_mgevar.h>
 
 #include <dev/fdt/fdt_common.h>
 #include <dev/ofw/ofw_bus.h>
-#include <dev/ofw/ofw_bus_subr.h>
 
 #include "e6000swreg.h"
 #include "etherswitch_if.h"
@@ -71,14 +56,10 @@ __FBSDID("$FreeBSD$");
 MALLOC_DECLARE(M_E6000SW);
 MALLOC_DEFINE(M_E6000SW, "e6000sw", "e6000sw switch");
 
-#define E6000SW_LOCK(_sc)			\
-	    sx_xlock(&(_sc)->sx)
-#define E6000SW_UNLOCK(_sc)			\
-	    sx_unlock(&(_sc)->sx)
-#define E6000SW_LOCK_ASSERT(_sc, _what)		\
-	    sx_assert(&(_sc)->sx, (_what))
-#define E6000SW_TRYLOCK(_sc)			\
-	    sx_tryxlock(&(_sc)->sx)
+#define	E6000SW_LOCK(_sc)		sx_xlock(&(_sc)->sx)
+#define	E6000SW_UNLOCK(_sc)		sx_unlock(&(_sc)->sx)
+#define	E6000SW_LOCK_ASSERT(_sc, _what)	sx_assert(&(_sc)->sx, (_what))
+#define	E6000SW_TRYLOCK(_sc)		sx_tryxlock(&(_sc)->sx)
 
 typedef struct e6000sw_softc {
 	device_t		dev;
@@ -108,46 +89,43 @@ static etherswitch_info_t etherswitch_info = {
 	.es_name =		"Marvell 6000 series switch"
 };
 
-static void e6000sw_identify(driver_t *driver, device_t parent);
-static int e6000sw_probe(device_t dev);
-static int e6000sw_attach(device_t dev);
-static int e6000sw_detach(device_t dev);
-static int e6000sw_readphy(device_t dev, int phy, int reg);
-static int e6000sw_writephy(device_t dev, int phy, int reg, int data);
-static etherswitch_info_t* e6000sw_getinfo(device_t dev);
-static void e6000sw_lock(device_t dev);
-static void e6000sw_unlock(device_t dev);
-static int e6000sw_getport(device_t dev, etherswitch_port_t *p);
-static int e6000sw_setport(device_t dev, etherswitch_port_t *p);
-static int e6000sw_readreg_wrapper(device_t dev, int addr_reg);
-static int e6000sw_writereg_wrapper(device_t dev, int addr_reg, int val);
-static int e6000sw_readphy_wrapper(device_t dev, int phy, int reg);
-static int e6000sw_writephy_wrapper(device_t dev, int phy, int reg, int data);
-static int e6000sw_getvgroup_wrapper(device_t dev, etherswitch_vlangroup_t *vg);
-static int e6000sw_setvgroup_wrapper(device_t dev, etherswitch_vlangroup_t *vg);
-static int e6000sw_setvgroup(device_t dev, etherswitch_vlangroup_t *vg);
-static int e6000sw_getvgroup(device_t dev, etherswitch_vlangroup_t *vg);
-static void e6000sw_setup(device_t dev, e6000sw_softc_t *sc);
-static void e6000sw_port_vlan_conf(e6000sw_softc_t *sc);
-static void e6000sw_tick(void *arg);
-static void e6000sw_set_atustat(device_t dev, e6000sw_softc_t *sc, int bin,

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201706031821.v53ILoGd058259>