svn commit: r355647 - head/usr.bin/showmount

2019-12-11 Thread Eitan Adler
Author: eadler
Date: Thu Dec 12 05:11:53 2019
New Revision: 355647
URL: https://svnweb.freebsd.org/changeset/base/355647

Log:
  [showmount] implement long options
  
  add long options support to showmount. Where mappings exist use the GNU
  names for said options.
  
  Differential Revision:https://reviews.freebsd.org/D22543
  Reviewed by:  kevans (earlier version)

Modified:
  head/usr.bin/showmount/showmount.8
  head/usr.bin/showmount/showmount.c

Modified: head/usr.bin/showmount/showmount.8
==
--- head/usr.bin/showmount/showmount.8  Thu Dec 12 04:47:02 2019
(r355646)
+++ head/usr.bin/showmount/showmount.8  Thu Dec 12 05:11:53 2019
(r355647)
@@ -67,20 +67,20 @@ for a detailed description of the protocol.
 .Pp
 The following options are available:
 .Bl -tag -width indent
-.It Fl a
+.It Fl a , Fl -all
 List all mount points in the form:
 .Bd -ragged -offset indent -compact
 .Ar host : Ns Ar dirpath .
 .Ed
-.It Fl d
+.It Fl d , Fl -directories
 List directory paths of mount points instead of hosts.
-.It Fl E
+.It Fl E , Fl -exports-script
 Show the
 .Ar host Ns 's
 exports list in a script-friendly format.
 Client addresses and the header are not shown, and special
 characters are escaped.
-.It Fl e
+.It Fl e , Fl -exports
 Show the
 .Ar host Ns 's
 exports list.

Modified: head/usr.bin/showmount/showmount.c
==
--- head/usr.bin/showmount/showmount.c  Thu Dec 12 04:47:02 2019
(r355646)
+++ head/usr.bin/showmount/showmount.c  Thu Dec 12 05:11:53 2019
(r355647)
@@ -53,6 +53,7 @@ static const char rcsid[] =
 #include 
 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -102,6 +103,14 @@ int xdr_exportslist(XDR *, struct exportslist **);
 int tcp_callrpc(const char *host, int prognum, int versnum, int procnum,
xdrproc_t inproc, char *in, xdrproc_t outproc, char *out);
 
+static const struct option long_opts[] = {
+   { "all",no_argument,NULL,   'a' },
+   { "directories",no_argument,NULL,   'd' },
+   { "exports-script", no_argument,NULL,   'E' },
+   { "exports",no_argument,NULL,   'e' },
+   { NULL, 0,  NULL,   
0 },
+};
+
 /*
  * This command queries the NFS mount daemon for it's mount list and/or
  * it's exports list and prints them out.
@@ -119,7 +128,7 @@ main(int argc, char **argv)
const char *host;
int ch, estat, nbytes;
 
-   while ((ch = getopt(argc, argv, "adEe13")) != -1)
+   while ((ch = getopt_long(argc, argv, "+adEe13", long_opts, NULL)) != -1)
switch (ch) {
case 'a':
if (type == 0) {
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355646 - head/share/mk

2019-12-11 Thread Conrad Meyer
Author: cem
Date: Thu Dec 12 04:47:02 2019
New Revision: 355646
URL: https://svnweb.freebsd.org/changeset/base/355646

Log:
  Revert r354348
  
  Switch ARM32 default libunwind back to old GPL2 libgcc version.  Reportedly,
  the llvm-libunwind code is nonfunctional.
  
  Requested by: mmel

Modified:
  head/share/mk/src.opts.mk

Modified: head/share/mk/src.opts.mk
==
--- head/share/mk/src.opts.mk   Thu Dec 12 04:44:09 2019(r355645)
+++ head/share/mk/src.opts.mk   Thu Dec 12 04:47:02 2019(r355646)
@@ -327,9 +327,8 @@ BROKEN_OPTIONS+=BINUTILS BINUTILS_BOOTSTRAP GCC GCC_BO
 .if ${__T:Mriscv*} != ""
 BROKEN_OPTIONS+=OFED
 .endif
-.if ${__T} == "aarch64" || ${__T} == "amd64" || ${__T} == "armv6" || \
-${__T} == "armv7" || ${__T} == "i386" || ${__T:Mriscv*} != "" || \
-${__TT} == "mips"
+.if ${__T} == "aarch64" || ${__T} == "amd64" || ${__T} == "i386" || \
+${__T:Mriscv*} != "" || ${__TT} == "mips"
 __DEFAULT_YES_OPTIONS+=LLVM_LIBUNWIND
 .else
 __DEFAULT_NO_OPTIONS+=LLVM_LIBUNWIND
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355645 - head/contrib/libunwind/src

2019-12-11 Thread Conrad Meyer
Author: cem
Date: Thu Dec 12 04:44:09 2019
New Revision: 355645
URL: https://svnweb.freebsd.org/changeset/base/355645

Log:
  arm: libgcc_s: Fix ABI breakage introduced in r354347
  
  Provide the symbol version for llvm-libunwind's _Unwind_Backtrace that libgcc
  has historically provided on arm, in addition to the (default) standard 
version
  used on all other arch.
  
  Reported by:  mmel

Modified:
  head/contrib/libunwind/src/UnwindLevel1-gcc-ext.c

Modified: head/contrib/libunwind/src/UnwindLevel1-gcc-ext.c
==
--- head/contrib/libunwind/src/UnwindLevel1-gcc-ext.c   Thu Dec 12 02:43:24 
2019(r355644)
+++ head/contrib/libunwind/src/UnwindLevel1-gcc-ext.c   Thu Dec 12 04:44:09 
2019(r355645)
@@ -181,6 +181,10 @@ _Unwind_Backtrace(_Unwind_Trace_Fn callback, void *ref
 }
   }
 }
+#ifdef __arm__
+/* Preserve legacy libgcc ARM ABI mistake. */
+__sym_compat(_Unwind_Backtrace, _Unwind_Backtrace, GCC_4.3.0);
+#endif
 
 
 /// Find DWARF unwind info for an address 'pc' in some function.
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355644 - head/sys/kern

2019-12-11 Thread Mark Johnston
Author: markj
Date: Thu Dec 12 02:43:24 2019
New Revision: 355644
URL: https://svnweb.freebsd.org/changeset/base/355644

Log:
  Rename tdq_ipipending and clear it in sched_switch().
  
  This fixes a regression after r355311.  Specifically, sched_preempt()
  may trigger a context switch by calling thread_lock(), since
  thread_lock() calls critical_exit() in its slow path and the interrupted
  thread may have already been marked for preemption.  This would happen
  before tdq_ipipending is cleared, blocking further preemption IPIs.  The
  CPU can be left in this state indefinitely if the interrupted thread
  migrates.
  
  Rename tdq_ipipending to tdq_owepreempt.  Any switch satisfies a remote
  preemption request, so clear tdq_owepreempt in sched_switch() instead of
  sched_preempt() to avoid subtle problems of the sort described above.
  
  Reviewed by:  jeff, kib
  Sponsored by: The FreeBSD Foundation
  Differential Revision:https://reviews.freebsd.org/D22758

Modified:
  head/sys/kern/sched_ule.c

Modified: head/sys/kern/sched_ule.c
==
--- head/sys/kern/sched_ule.c   Thu Dec 12 02:42:27 2019(r355643)
+++ head/sys/kern/sched_ule.c   Thu Dec 12 02:43:24 2019(r355644)
@@ -244,7 +244,7 @@ struct tdq {
volatile short  tdq_switchcnt;  /* Switches this tick. */
volatile short  tdq_oldswitchcnt;   /* Switches last tick. */
u_char  tdq_lowpri; /* Lowest priority thread. */
-   u_char  tdq_ipipending; /* IPI pending. */
+   u_char  tdq_owepreempt; /* Remote preemption pending. */
u_char  tdq_idx;/* Current insert index. */
u_char  tdq_ridx;   /* Current removal index. */
int tdq_id; /* cpuid. */
@@ -1073,7 +1073,7 @@ tdq_notify(struct tdq *tdq, struct thread *td)
int pri;
int cpu;
 
-   if (tdq->tdq_ipipending)
+   if (tdq->tdq_owepreempt)
return;
cpu = td_get_sched(td)->ts_cpu;
pri = td->td_priority;
@@ -1096,7 +1096,12 @@ tdq_notify(struct tdq *tdq, struct thread *td)
if (!tdq->tdq_cpu_idle || cpu_idle_wakeup(cpu))
return;
}
-   tdq->tdq_ipipending = 1;
+
+   /*
+* The run queues have been updated, so any switch on the remote CPU
+* will satisfy the preemption request.
+*/
+   tdq->tdq_owepreempt = 1;
ipi_cpu(cpu, IPI_PREEMPT);
 }
 
@@ -2079,8 +2084,10 @@ sched_switch(struct thread *td, struct thread *newtd, 
(flags & SW_PREEMPT) != 0;
td->td_flags &= ~(TDF_NEEDRESCHED | TDF_SLICEEND);
td->td_owepreempt = 0;
+   tdq->tdq_owepreempt = 0;
if (!TD_IS_IDLETHREAD(td))
tdq->tdq_switchcnt++;
+
/*
 * The lock pointer in an idle thread should never change.  Reset it
 * to CAN_RUN as well.
@@ -2386,7 +2393,6 @@ sched_preempt(struct thread *td)
thread_lock(td);
tdq = TDQ_SELF();
TDQ_LOCK_ASSERT(tdq, MA_OWNED);
-   tdq->tdq_ipipending = 0;
if (td->td_priority > tdq->tdq_lowpri) {
int flags;
 
@@ -2397,6 +2403,8 @@ sched_preempt(struct thread *td)
mi_switch(flags | SWT_REMOTEWAKEIDLE, NULL);
else
mi_switch(flags | SWT_REMOTEPREEMPT, NULL);
+   } else {
+   tdq->tdq_owepreempt = 0;
}
thread_unlock(td);
 }
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355643 - head/sys/sys

2019-12-11 Thread Kyle Evans
Author: kevans
Date: Thu Dec 12 02:42:27 2019
New Revision: 355643
URL: https://svnweb.freebsd.org/changeset/base/355643

Log:
  Bump __FreeBSD_version for r355641, new sig set ops
  
  This will be needed to unbreak qemu-user-static.

Modified:
  head/sys/sys/param.h

Modified: head/sys/sys/param.h
==
--- head/sys/sys/param.hThu Dec 12 02:18:18 2019(r355642)
+++ head/sys/sys/param.hThu Dec 12 02:42:27 2019(r355643)
@@ -60,7 +60,7 @@
  * in the range 5 to 9.
  */
 #undef __FreeBSD_version
-#define __FreeBSD_version 1300064  /* Master, propagated to newvers */
+#define __FreeBSD_version 1300065  /* Master, propagated to newvers */
 
 /*
  * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355642 - head

2019-12-11 Thread Ed Maste
Author: emaste
Date: Thu Dec 12 02:18:18 2019
New Revision: 355642
URL: https://svnweb.freebsd.org/changeset/base/355642

Log:
  ObsoleteFiles.inc: remove stale comment
  
  A comment at the top of the file claimed that the file was grouped into
  OLD_FILES, OLD_LIBS, then OLD_DIRS, but that hasn't been the case since
  the mid-2000s.  Delete the stale comment, add a new comment for the
  historical split entries, and move the one more recent entry (from 2013)
  to group it into a single logical change.

Modified:
  head/ObsoleteFiles.inc

Modified: head/ObsoleteFiles.inc
==
--- head/ObsoleteFiles.inc  Thu Dec 12 01:41:55 2019(r355641)
+++ head/ObsoleteFiles.inc  Thu Dec 12 02:18:18 2019(r355642)
@@ -11,8 +11,6 @@
 # In case of a complete directory hierarchy the sorting is in depth first
 # order.
 #
-# The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last.
-#
 # Before you commit changes to this file please check if any entries in
 # tools/build/mk/OptionalObsoleteFiles.inc can be removed. The following
 # command tells which files are listed more than once regardless of some
@@ -5195,6 +5193,12 @@ OLD_FILES+=usr/share/man/man1/atf-version.1.gz
 OLD_FILES+=usr/share/man/man5/atf-formats.5.gz
 OLD_FILES+=usr/share/xml/atf/tests-results.dtd
 OLD_FILES+=usr/share/xsl/atf/tests-results.xsl
+OLD_DIRS+=etc/atf
+OLD_DIRS+=usr/share/examples/atf
+OLD_DIRS+=usr/share/xml/atf
+OLD_DIRS+=usr/share/xml
+OLD_DIRS+=usr/share/xsl/atf
+OLD_DIRS+=usr/share/xsl
 # 20131009: freebsd-version moved from /libexec to /bin
 OLD_FILES+=libexec/freebsd-version
 # 20131001: ar and ranlib from binutils not used
@@ -11133,6 +11137,9 @@ OLD_FILES+=usr/libdata/msdosfs/koi8u2dos
 #  - usr/share/tmac/mm/se_locale
 #  - var/yp/Makefile
 
+# Early entries split OLD_FILES, OLD_LIBS, and OLD_DIRS into separate sections
+# in this file, but this practice was abandoned in the mid-2000s.
+#
 # 20071120: shared library version bump
 OLD_LIBS+=usr/lib/libasn1.so.8
 OLD_LIBS+=usr/lib/libgssapi.so.8
@@ -11413,13 +11420,6 @@ OLD_LIBS+=usr/lib/libkse.so.1
 OLD_LIBS+=usr/lib/liblwres.so.3
 OLD_LIBS+=usr/lib/pam_ftp.so.2
 
-# 20131013: Removal of the ATF tools
-OLD_DIRS+=etc/atf
-OLD_DIRS+=usr/share/examples/atf
-OLD_DIRS+=usr/share/xml/atf
-OLD_DIRS+=usr/share/xml
-OLD_DIRS+=usr/share/xsl/atf
-OLD_DIRS+=usr/share/xsl
 # 20040925: bind9 import
 OLD_DIRS+=usr/share/doc/bind/html
 OLD_DIRS+=usr/share/doc/bind/misc
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355641 - in head: include lib/libc/gen lib/libc/tests/gen

2019-12-11 Thread Kyle Evans
Author: kevans
Date: Thu Dec 12 01:41:55 2019
New Revision: 355641
URL: https://svnweb.freebsd.org/changeset/base/355641

Log:
  Add sigsetop extensions commonly found in musl libc and glibc
  
  These functions (sigandset, sigisemptyset, sigorset) are commonly available
  in at least musl libc and glibc; sigorset, at least, has proven quite useful
  in qemu-bsd-user work for tracking the current process signal mask in a more
  self-documenting/aesthetically pleasing manner.
  
  Reviewed by:  bapt, jilles, pfg
  MFC after:1 week
  Differential Revision:https://reviews.freebsd.org/D22187

Added:
  head/lib/libc/tests/gen/sigsetops_test.c   (contents, props changed)
Modified:
  head/include/signal.h
  head/lib/libc/gen/Makefile.inc
  head/lib/libc/gen/Symbol.map
  head/lib/libc/gen/sigsetops.3
  head/lib/libc/gen/sigsetops.c
  head/lib/libc/tests/gen/Makefile

Modified: head/include/signal.h
==
--- head/include/signal.h   Thu Dec 12 01:35:56 2019(r355640)
+++ head/include/signal.h   Thu Dec 12 01:41:55 2019(r355641)
@@ -122,7 +122,10 @@ void   psignal(int, const char *);
 #endif
 
 #if __BSD_VISIBLE
+intsigandset(sigset_t *dest, const sigset_t *left, const sigset_t *right);
 intsigblock(int);
+intsigisemptyset(const sigset_t *set);
+intsigorset(sigset_t *dest, const sigset_t *left, const sigset_t *right);
 intsigreturn(const struct __ucontext *);
 intsigsetmask(int);
 intsigstack(const struct sigstack *, struct sigstack *);

Modified: head/lib/libc/gen/Makefile.inc
==
--- head/lib/libc/gen/Makefile.inc  Thu Dec 12 01:35:56 2019
(r355640)
+++ head/lib/libc/gen/Makefile.inc  Thu Dec 12 01:41:55 2019
(r355641)
@@ -497,10 +497,13 @@ MLINKS+=setjmp.3 _longjmp.3 \
 MLINKS+=setmode.3 getmode.3
 MLINKS+=setproctitle.3 setproctitle_fast.3
 MLINKS+=sigsetops.3 sigaddset.3 \
+   sigsetops.3 sigandset.3 \
sigsetops.3 sigdelset.3 \
sigsetops.3 sigemptyset.3 \
sigsetops.3 sigfillset.3 \
-   sigsetops.3 sigismember.3
+   sigsetops.3 sigisemptyset.3 \
+   sigsetops.3 sigismember.3 \
+   sigsetops.3 sigorset.3
 MLINKS+=statvfs.3 fstatvfs.3
 MLINKS+=stringlist.3 sl_add.3 \
stringlist.3 sl_find.3 \

Modified: head/lib/libc/gen/Symbol.map
==
--- head/lib/libc/gen/Symbol.mapThu Dec 12 01:35:56 2019
(r355640)
+++ head/lib/libc/gen/Symbol.mapThu Dec 12 01:41:55 2019
(r355641)
@@ -422,6 +422,12 @@ FBSD_1.5 {
timespec_get;
 };
 
+FBSD_1.6 {
+   sigandset;
+   sigisemptyset;
+   sigorset;
+};
+
 FBSDprivate_1.0 {
/* needed by thread libraries */
__thr_jtable;

Modified: head/lib/libc/gen/sigsetops.3
==
--- head/lib/libc/gen/sigsetops.3   Thu Dec 12 01:35:56 2019
(r355640)
+++ head/lib/libc/gen/sigsetops.3   Thu Dec 12 01:41:55 2019
(r355641)
@@ -28,15 +28,18 @@
 .\" @(#)sigsetops.38.1 (Berkeley) 6/4/93
 .\" $FreeBSD$
 .\"
-.Dd December 16, 2004
+.Dd October 29, 2019
 .Dt SIGSETOPS 3
 .Os
 .Sh NAME
 .Nm sigemptyset ,
 .Nm sigfillset ,
 .Nm sigaddset ,
+.Nm sigandset ,
 .Nm sigdelset ,
-.Nm sigismember
+.Nm sigisemptyset ,
+.Nm sigismember ,
+.Nm sigorset
 .Nd manipulate signal sets
 .Sh LIBRARY
 .Lb libc
@@ -49,9 +52,15 @@
 .Ft int
 .Fn sigaddset "sigset_t *set" "int signo"
 .Ft int
+.Fn sigandset "sigset_t *set" "const sigset_t *left" "const sigset_t *right"
+.Ft int
 .Fn sigdelset "sigset_t *set" "int signo"
 .Ft int
+.Fn sigisemptyset "const sigset_t *set"
+.Ft int
 .Fn sigismember "const sigset_t *set" "int signo"
+.Ft int
+.Fn sigorset "sigset_t *set" "const sigset_t *left" "const sigset_t *right"
 .Sh DESCRIPTION
 These functions manipulate signal sets stored in a
 .Fa sigset_t .
@@ -78,22 +87,54 @@ function adds the specified signal
 to the signal set.
 .Pp
 The
+.Fn sigandset
+function sets the specified
+.Fa set
+to the logical AND of all signals from the
+.Fa left
+and
+.Fa right
+signal sets.
+.Pp
+The
 .Fn sigdelset
 function deletes the specified signal
 .Fa signo
 from the signal set.
 .Pp
 The
+.Fn sigisemptyset
+function returns whether the specified
+.Fa set
+is empty or not.
+.Pp
+The
 .Fn sigismember
 function returns whether a specified signal
 .Fa signo
 is contained in the signal set.
+.Pp
+The
+.Fn sigorset
+function sets the specified
+.Fa set
+to the logical OR of all signals from the
+.Fa left
+and
+.Fa right
+signal sets.
 .Sh RETURN VALUES
 The
+.Fn sigisemptyset
+function returns 1
+if the set is empty, 0 otherwise.
+.Pp
+The
 .Fn sigismember
 function returns 1
 if the signal is a member of the set,
 0 otherwise.
+.Pp
 The other functions return 0 upon success.
 

svn commit: r355640 - head/stand/liblua

2019-12-11 Thread Kyle Evans
Author: kevans
Date: Thu Dec 12 01:35:56 2019
New Revision: 355640
URL: https://svnweb.freebsd.org/changeset/base/355640

Log:
  stand: liblua: drop default buffer size to 128
  
  Lua allocates LUAL_BUFFERSIZE buffers on the stack for various string
  functions (string.format, string.gsub) -- this works out to be somewhat
  significant and not necessary, based on how we use string operations.
  Dropping it risks having to allocate per call to format/gsub, but this is
  not the case for our usage. This simply stops allocating 8K buffers on the
  stack when luaL_Buffer is used.
  
  Reviewed by:  imp
  MFC after:1 week
  Differential Revision:https://reviews.freebsd.org/D22500

Modified:
  head/stand/liblua/luaconf.h

Modified: head/stand/liblua/luaconf.h
==
--- head/stand/liblua/luaconf.h Thu Dec 12 01:33:45 2019(r355639)
+++ head/stand/liblua/luaconf.h Thu Dec 12 01:35:56 2019(r355640)
@@ -783,11 +783,7 @@
 ** smaller buffer would force a memory allocation for each call to
 ** 'string.format'.)
 */
-#if LUA_FLOAT_TYPE == LUA_FLOAT_LONGDOUBLE
-#define LUAL_BUFFERSIZE8192
-#else
-#define LUAL_BUFFERSIZE   ((int)(0x80 * sizeof(void*) * sizeof(lua_Integer)))
-#endif
+#define LUAL_BUFFERSIZE128
 
 /* }== */
 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355639 - in head/usr.sbin/ntp: . scripts

2019-12-11 Thread Kyle Evans
Author: kevans
Date: Thu Dec 12 01:33:45 2019
New Revision: 355639
URL: https://svnweb.freebsd.org/changeset/base/355639

Log:
  usr.sbin/ntp: don't emit versions w/ make -s
  
   defines ECHO=echo when not using make -s, and ECHO=true when using
  make -s.
  
  export ECHO for ntp products and use it in the mkver script to echo the
  version. This suppresses the output as appropriate. ECHO is given a default
  value to make sure things still work as expected for anyone that isn't
  redefining ECHO.
  
  Reviewed by:  cy
  MFC after:1 week
  Differential Revision:https://reviews.freebsd.org/D22101

Modified:
  head/usr.sbin/ntp/Makefile.inc
  head/usr.sbin/ntp/scripts/mkver

Modified: head/usr.sbin/ntp/Makefile.inc
==
--- head/usr.sbin/ntp/Makefile.inc  Thu Dec 12 00:51:08 2019
(r355638)
+++ head/usr.sbin/ntp/Makefile.inc  Thu Dec 12 01:33:45 2019
(r355639)
@@ -16,4 +16,6 @@ CFLAGS+= -DOPENSSL -DUSE_OPENSSL_CRYPTO_RAND -DAUTOKEY
 
 WARNS?=0
 
+.export ECHO
+
 .include "../Makefile.inc"

Modified: head/usr.sbin/ntp/scripts/mkver
==
--- head/usr.sbin/ntp/scripts/mkver Thu Dec 12 00:51:08 2019
(r355638)
+++ head/usr.sbin/ntp/scripts/mkver Thu Dec 12 01:33:45 2019
(r355639)
@@ -4,6 +4,8 @@
 #
 PROG=${1-UNKNOWN}
 
+: ${ECHO:=echo}
+
 ConfStr="$PROG"
 
 ConfStr="$ConfStr 4.2.8p12"
@@ -32,7 +34,7 @@ echo $RUN > .version
 
 ConfStr="$ConfStr (${RUN})"
 
-echo "Version <${ConfStr}>";
+${ECHO} "Version <${ConfStr}>";
 
 rm -f version.c
 cat > version.c << -EoF-
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355638 - head

2019-12-11 Thread Ed Maste
Author: emaste
Date: Thu Dec 12 00:51:08 2019
New Revision: 355638
URL: https://svnweb.freebsd.org/changeset/base/355638

Log:
  ObsoleteFiles.inc: chase libpcap update in r334277
  
  libpcap 1.9.0 (pre-release) update removed the export-defs.h header.
  
  PR:   242559
  Submitted by: John Hein
  MFC after:3 days

Modified:
  head/ObsoleteFiles.inc

Modified: head/ObsoleteFiles.inc
==
--- head/ObsoleteFiles.inc  Thu Dec 12 00:30:20 2019(r355637)
+++ head/ObsoleteFiles.inc  Thu Dec 12 00:51:08 2019(r355638)
@@ -1284,6 +1284,8 @@ OLD_FILES+=usr/share/nls/es_ES.ISO8859-1/grep.cat
 OLD_FILES+=usr/share/nls/ru_RU.KOI8-R/grep.cat
 OLD_FILES+=usr/share/nls/uk_UA.UTF-8/grep.cat
 OLD_FILES+=usr/share/nls/ja_JP.UTF-8/grep.cat
+# 20180528: libpcap update removed header file
+OLD_FILES+=usr/include/pcap/export-defs.h
 # 20180517: retire vxge
 OLD_FILES+=usr/share/man/man4/if_vxge.4.gz
 OLD_FILES+=usr/share/man/man4/vxge.4.gz
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355637 - stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

2019-12-11 Thread Alexander Motin
Author: mav
Date: Thu Dec 12 00:30:20 2019
New Revision: 355637
URL: https://svnweb.freebsd.org/changeset/base/355637

Log:
  MFC r355182: Fix use-after-free in case of L2ARC prefetch failure.
  
  In case L2ARC read failed, l2arc_read_done() creates _different_ ZIO
  to read data from the original storage device.  Unfortunately pointer
  to the failed ZIO remains in hdr->b_l1hdr.b_acb->acb_zio_head, and if
  some other read try to bump the ZIO priority, it will crash.
  
  The problem is reproducible by corrupting L2ARC content and reading
  some data with prefetch if l2arc_noprefetch tunable is changed to 0.
  With the default setting the issue is probably not reproducible now.

Modified:
  stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
==
--- stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c  Thu Dec 
12 00:29:48 2019(r355636)
+++ stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c  Thu Dec 
12 00:30:20 2019(r355637)
@@ -7476,7 +7476,6 @@ l2arc_read_done(zio_t *zio)
zio->io_private = hdr;
arc_read_done(zio);
} else {
-   mutex_exit(hash_lock);
/*
 * Buffer didn't survive caching.  Increment stats and
 * reissue to the original storage device.
@@ -7499,11 +7498,17 @@ l2arc_read_done(zio_t *zio)
 
ASSERT(!pio || pio->io_child_type == ZIO_CHILD_LOGICAL);
 
-   zio_nowait(zio_read(pio, zio->io_spa, zio->io_bp,
+   zio = zio_read(pio, zio->io_spa, zio->io_bp,
hdr->b_l1hdr.b_pabd, zio->io_size, arc_read_done,
hdr, zio->io_priority, cb->l2rcb_flags,
-   >l2rcb_zb));
-   }
+   >l2rcb_zb);
+   for (struct arc_callback *acb = hdr->b_l1hdr.b_acb;
+   acb != NULL; acb = acb->acb_next)
+   acb->acb_zio_head = zio;
+   mutex_exit(hash_lock);
+   zio_nowait(zio);
+   } else
+   mutex_exit(hash_lock);
}
 
kmem_free(cb, sizeof (l2arc_read_callback_t));
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355636 - stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

2019-12-11 Thread Alexander Motin
Author: mav
Date: Thu Dec 12 00:29:48 2019
New Revision: 355636
URL: https://svnweb.freebsd.org/changeset/base/355636

Log:
  MFC r355182: Fix use-after-free in case of L2ARC prefetch failure.
  
  In case L2ARC read failed, l2arc_read_done() creates _different_ ZIO
  to read data from the original storage device.  Unfortunately pointer
  to the failed ZIO remains in hdr->b_l1hdr.b_acb->acb_zio_head, and if
  some other read try to bump the ZIO priority, it will crash.
  
  The problem is reproducible by corrupting L2ARC content and reading
  some data with prefetch if l2arc_noprefetch tunable is changed to 0.
  With the default setting the issue is probably not reproducible now.

Modified:
  stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
==
--- stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c  Thu Dec 
12 00:14:01 2019(r355635)
+++ stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c  Thu Dec 
12 00:29:48 2019(r355636)
@@ -7886,7 +7886,6 @@ l2arc_read_done(zio_t *zio)
zio->io_private = hdr;
arc_read_done(zio);
} else {
-   mutex_exit(hash_lock);
/*
 * Buffer didn't survive caching.  Increment stats and
 * reissue to the original storage device.
@@ -7909,11 +7908,17 @@ l2arc_read_done(zio_t *zio)
 
ASSERT(!pio || pio->io_child_type == ZIO_CHILD_LOGICAL);
 
-   zio_nowait(zio_read(pio, zio->io_spa, zio->io_bp,
+   zio = zio_read(pio, zio->io_spa, zio->io_bp,
hdr->b_l1hdr.b_pabd, zio->io_size, arc_read_done,
hdr, zio->io_priority, cb->l2rcb_flags,
-   >l2rcb_zb));
-   }
+   >l2rcb_zb);
+   for (struct arc_callback *acb = hdr->b_l1hdr.b_acb;
+   acb != NULL; acb = acb->acb_next)
+   acb->acb_zio_head = zio;
+   mutex_exit(hash_lock);
+   zio_nowait(zio);
+   } else
+   mutex_exit(hash_lock);
}
 
kmem_free(cb, sizeof (l2arc_read_callback_t));
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355635 - in head: . lib/libpmc

2019-12-11 Thread Ed Maste
Author: emaste
Date: Thu Dec 12 00:14:01 2019
New Revision: 355635
URL: https://svnweb.freebsd.org/changeset/base/355635

Log:
  libpmc: build json event support also on arm64

Modified:
  head/Makefile.inc1
  head/lib/libpmc/Makefile

Modified: head/Makefile.inc1
==
--- head/Makefile.inc1  Wed Dec 11 23:41:39 2019(r355634)
+++ head/Makefile.inc1  Thu Dec 12 00:14:01 2019(r355635)
@@ -2446,7 +2446,8 @@ _libmagic=lib/libmagic
 .endif
 
 .if ${MK_PMC} != "no" && \
-(${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "i386")
+(${TARGET_ARCH} == "aarch64" || ${TARGET_ARCH} == "amd64" || \
+${TARGET_ARCH} == "i386")
 _jevents=lib/libpmc/pmu-events
 .endif
 

Modified: head/lib/libpmc/Makefile
==
--- head/lib/libpmc/MakefileWed Dec 11 23:41:39 2019(r355634)
+++ head/lib/libpmc/MakefileThu Dec 12 00:14:01 2019(r355635)
@@ -7,7 +7,8 @@ INCS=   pmc.h pmclog.h pmcformat.h
 
 ALLOW_MIPS_SHARED_TEXTREL=
 
-.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
+.if ${MACHINE_ARCH} == "aarch64" || ${MACHINE_ARCH} == "amd64" || \
+${MACHINE_ARCH} == "i386"
 
 .if ${MACHINE_ARCH} == "aarch64"
 EVENT_ARCH="arm64"
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355634 - head/usr.sbin/bhyve

2019-12-11 Thread John Baldwin
Author: jhb
Date: Wed Dec 11 23:41:39 2019
New Revision: 355634
URL: https://svnweb.freebsd.org/changeset/base/355634

Log:
  Emulate reads of the PCI command register for passthrough devices.
  
  VFs return zero for the memory enable bit even if it has been set by a
  prior write.  After r348779 this caused the annoying behavior that a
  guest OS would unintentionally disable memory decoding on a future
  read-modify-write operation on the command register.  Instead, return
  the shadow value of the command register for reads.  This ensures that
  the guest will only toggle the state of the memory enable bit when it
  specifically intends to do so.
  
  MFC after:2 weeks
  Sponsored by: Chelsio Communications

Modified:
  head/usr.sbin/bhyve/pci_passthru.c

Modified: head/usr.sbin/bhyve/pci_passthru.c
==
--- head/usr.sbin/bhyve/pci_passthru.c  Wed Dec 11 23:11:21 2019
(r355633)
+++ head/usr.sbin/bhyve/pci_passthru.c  Wed Dec 11 23:41:39 2019
(r355634)
@@ -803,6 +803,19 @@ passthru_cfgread(struct vmctx *ctx, int vcpu, struct p
}
 #endif
 
+   /*
+* Emulate the command register.  If a single read reads both the
+* command and status registers, read the status register from the
+* device's config space.
+*/
+   if (coff == PCIR_COMMAND) {
+   if (bytes <= 2)
+   return (-1);
+   *rv = pci_get_cfgdata16(pi, PCIR_COMMAND) << 16 |
+   read_config(>psc_sel, PCIR_STATUS, 2);
+   return (0);
+   }
+
/* Everything else just read from the device's config space */
*rv = read_config(>psc_sel, coff, bytes);
 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355633 - in head/sys: cddl/contrib/opensolaris/uts/common/fs/zfs fs/tmpfs kern sys

2019-12-11 Thread Mateusz Guzik
Author: mjg
Date: Wed Dec 11 23:11:21 2019
New Revision: 355633
URL: https://svnweb.freebsd.org/changeset/base/355633

Log:
  vfs: locking primitives which elide ->v_vnlock and shared locking disablement
  
  Both of these features are not needed by many consumers and result in 
avoidable
  reads which in turn puts them on profiles due to cache-line ping ponging.
  
  On top of that the current lockgmr entry point is slower than necessary
  single-threaded. As an attempted clean up preparing for other changes,
  provide new routines which don't support any of the aforementioned features.
  
  With these patches in place vop_stdlock and vop_stdunlock disappear from
  flamegraphs during -j 104 buildkernel.
  
  Reviewed by:  jeff (previous version)
  Tested by:pho
  Differential Revision:https://reviews.freebsd.org/D22665

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
  head/sys/fs/tmpfs/tmpfs_subr.c
  head/sys/fs/tmpfs/tmpfs_vnops.c
  head/sys/kern/kern_lock.c
  head/sys/kern/vfs_default.c
  head/sys/sys/lockmgr.h
  head/sys/sys/vnode.h

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Wed Dec 
11 23:09:12 2019(r355632)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Wed Dec 
11 23:11:21 2019(r355633)
@@ -5932,7 +5932,7 @@ zfs_lock(ap)
znode_t *zp;
int err;
 
-   err = vop_stdlock(ap);
+   err = vop_lock(ap);
if (err == 0 && (ap->a_flags & LK_NOWAIT) == 0) {
vp = ap->a_vp;
zp = vp->v_data;
@@ -5989,7 +5989,11 @@ struct vop_vector zfs_vnodeops = {
.vop_vptocnp =  zfs_vptocnp,
 #ifdef DIAGNOSTIC
.vop_lock1 =zfs_lock,
+#else
+   .vop_lock1 =vop_lock,
 #endif
+   .vop_unlock =   vop_unlock,
+   .vop_islocked = vop_islocked,
 };
 
 struct vop_vector zfs_fifoops = {

Modified: head/sys/fs/tmpfs/tmpfs_subr.c
==
--- head/sys/fs/tmpfs/tmpfs_subr.c  Wed Dec 11 23:09:12 2019
(r355632)
+++ head/sys/fs/tmpfs/tmpfs_subr.c  Wed Dec 11 23:11:21 2019
(r355633)
@@ -671,7 +671,7 @@ loop:
MPASS(vp != NULL);
 
/* lkflag is ignored, the lock is exclusive */
-   (void) vn_lock(vp, lkflag | LK_RETRY);
+   (void) vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
 
vp->v_data = node;
vp->v_type = node->tn_type;

Modified: head/sys/fs/tmpfs/tmpfs_vnops.c
==
--- head/sys/fs/tmpfs/tmpfs_vnops.c Wed Dec 11 23:09:12 2019
(r355632)
+++ head/sys/fs/tmpfs/tmpfs_vnops.c Wed Dec 11 23:11:21 2019
(r355633)
@@ -1632,6 +1632,9 @@ struct vop_vector tmpfs_vnodeop_entries = {
.vop_whiteout = tmpfs_whiteout,
.vop_bmap = VOP_EOPNOTSUPP,
.vop_vptocnp =  tmpfs_vptocnp,
+   .vop_lock1 =vop_lock,
+   .vop_unlock =   vop_unlock,
+   .vop_islocked = vop_islocked,
 };
 
 /*

Modified: head/sys/kern/kern_lock.c
==
--- head/sys/kern/kern_lock.c   Wed Dec 11 23:09:12 2019(r355632)
+++ head/sys/kern/kern_lock.c   Wed Dec 11 23:11:21 2019(r355633)
@@ -1156,6 +1156,88 @@ lockmgr_unlock_fast_path(struct lock *lk, u_int flags,
return (0);
 }
 
+/*
+ * Lightweight entry points for common operations.
+ *
+ * Functionality is similar to sx locks, in that none of the additional lockmgr
+ * features are supported. To be clear, these are NOT supported:
+ * 1. shared locking disablement
+ * 2. returning with an error after sleep
+ * 3. unlocking the interlock
+ *
+ * If in doubt, use lockmgr_*_fast_path.
+ */
+int
+lockmgr_slock(struct lock *lk, u_int flags, const char *file, int line)
+{
+   uintptr_t x;
+
+   MPASS((flags & LK_TYPE_MASK) == LK_SHARED);
+   MPASS((flags & LK_INTERLOCK) == 0);
+   MPASS((lk->lock_object.lo_flags & LK_NOSHARE) == 0);
+
+   if (LK_CAN_WITNESS(flags))
+   WITNESS_CHECKORDER(>lock_object, LOP_NEWORDER,
+   file, line, NULL);
+   if (__predict_true(lockmgr_slock_try(lk, , flags, true))) {
+   lockmgr_note_shared_acquire(lk, 0, 0, file, line, flags);
+   return (0);
+   }
+
+   return (lockmgr_slock_hard(lk, flags, NULL, file, line, NULL));
+}
+
+int
+lockmgr_xlock(struct lock *lk, u_int flags, const char *file, int line)
+{
+   uintptr_t tid;
+
+   MPASS((flags & LK_TYPE_MASK) == LK_EXCLUSIVE);
+   MPASS((flags & LK_INTERLOCK) == 0);
+
+   if (LK_CAN_WITNESS(flags))
+   

svn commit: r355632 - in head/sys: kern sys

2019-12-11 Thread Mateusz Guzik
Author: mjg
Date: Wed Dec 11 23:09:12 2019
New Revision: 355632
URL: https://svnweb.freebsd.org/changeset/base/355632

Log:
  fd: static-ize and devolatile openfiles
  
  Almost all access is using atomics. The only read is sysctl which should use
  a whole-int-at-a-time friendly read internally.

Modified:
  head/sys/kern/kern_descrip.c
  head/sys/sys/file.h

Modified: head/sys/kern/kern_descrip.c
==
--- head/sys/kern/kern_descrip.cWed Dec 11 22:51:02 2019
(r355631)
+++ head/sys/kern/kern_descrip.cWed Dec 11 23:09:12 2019
(r355632)
@@ -174,7 +174,7 @@ struct filedesc0 {
 /*
  * Descriptor management.
  */
-volatile int __exclusive_cache_line openfiles; /* actual number of open files 
*/
+static int __exclusive_cache_line openfiles; /* actual number of open files */
 struct mtx sigio_lock; /* mtx to protect pointers to sigio */
 void __read_mostly (*mq_fdclose)(struct thread *td, int fd, struct file *fp);
 
@@ -4048,7 +4048,7 @@ SYSCTL_INT(_kern, KERN_MAXFILES, maxfiles, CTLFLAG_RW,
 , 0, "Maximum number of files");
 
 SYSCTL_INT(_kern, OID_AUTO, openfiles, CTLFLAG_RD,
-__DEVOLATILE(int *, ), 0, "System-wide number of open files");
+, 0, "System-wide number of open files");
 
 /* ARGSUSED*/
 static void

Modified: head/sys/sys/file.h
==
--- head/sys/sys/file.h Wed Dec 11 22:51:02 2019(r355631)
+++ head/sys/sys/file.h Wed Dec 11 23:09:12 2019(r355632)
@@ -241,7 +241,6 @@ extern struct fileops badfileops;
 extern struct fileops socketops;
 extern int maxfiles;   /* kernel limit on number of open files */
 extern int maxfilesperproc;/* per process limit on number of open files */
-extern volatile int openfiles; /* actual number of open files */
 
 int fget(struct thread *td, int fd, cap_rights_t *rightsp, struct file **fpp);
 int fget_mmap(struct thread *td, int fd, cap_rights_t *rightsp,
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355631 - head/sys/dev/nvme

2019-12-11 Thread Warner Losh
Author: imp
Date: Wed Dec 11 22:51:02 2019
New Revision: 355631
URL: https://svnweb.freebsd.org/changeset/base/355631

Log:
  Move reset to the interrutp processing stage
  
  This trims the boot time a bit more for AWS and other platforms that have nvme
  drives. There's no reason too do this inline. This has been in my tree a 
while,
  but IIRC I talked to Jim Harris about this at one of our face to face 
meetings.
  
  MFC After: 2 weeks

Modified:
  head/sys/dev/nvme/nvme.c
  head/sys/dev/nvme/nvme_ctrlr.c

Modified: head/sys/dev/nvme/nvme.c
==
--- head/sys/dev/nvme/nvme.cWed Dec 11 22:09:22 2019(r355630)
+++ head/sys/dev/nvme/nvme.cWed Dec 11 22:51:02 2019(r355631)
@@ -130,25 +130,6 @@ nvme_attach(device_t dev)
int status;
 
status = nvme_ctrlr_construct(ctrlr, dev);
-
-   if (status != 0) {
-   nvme_ctrlr_destruct(ctrlr, dev);
-   return (status);
-   }
-
-   /*
-* Reset controller twice to ensure we do a transition from cc.en==1 to
-* cc.en==0.  This is because we don't really know what status the
-* controller was left in when boot handed off to OS.  Linux doesn't do
-* this, however. If we adopt that policy, see also nvme_ctrlr_resume().
-*/
-   status = nvme_ctrlr_hw_reset(ctrlr);
-   if (status != 0) {
-   nvme_ctrlr_destruct(ctrlr, dev);
-   return (status);
-   }
-
-   status = nvme_ctrlr_hw_reset(ctrlr);
if (status != 0) {
nvme_ctrlr_destruct(ctrlr, dev);
return (status);

Modified: head/sys/dev/nvme/nvme_ctrlr.c
==
--- head/sys/dev/nvme/nvme_ctrlr.c  Wed Dec 11 22:09:22 2019
(r355630)
+++ head/sys/dev/nvme/nvme_ctrlr.c  Wed Dec 11 22:51:02 2019
(r355631)
@@ -909,6 +909,25 @@ void
 nvme_ctrlr_start_config_hook(void *arg)
 {
struct nvme_controller *ctrlr = arg;
+   int status;
+
+   /*
+* Reset controller twice to ensure we do a transition from cc.en==1 to
+* cc.en==0.  This is because we don't really know what status the
+* controller was left in when boot handed off to OS.  Linux doesn't do
+* this, however. If we adopt that policy, see also nvme_ctrlr_resume().
+*/
+   status = nvme_ctrlr_hw_reset(ctrlr);
+   if (status != 0) {
+   nvme_ctrlr_fail(ctrlr);
+   return;
+   }
+
+   status = nvme_ctrlr_hw_reset(ctrlr);
+   if (status != 0) {
+   nvme_ctrlr_fail(ctrlr);
+   return;
+   }
 
nvme_qpair_reset(>adminq);
nvme_admin_qpair_enable(>adminq);
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355630 - in head/lib/libpmc/pmu-events/arch/arm64: . arm/cortex-a53 cavium/thunderx2 hisilicon/hip08

2019-12-11 Thread Ed Maste
Author: emaste
Date: Wed Dec 11 22:09:22 2019
New Revision: 355630
URL: https://svnweb.freebsd.org/changeset/base/355630

Log:
  libpmc: convert arm64 data files to proper json
  
  jevents includes a very permissive json parser that accepts invalid
  json, of which there are many examples in libpmc (typically extra or
  missing commas).  Convert the arm64 files to proper json so other tools
  can parse them.
  
  Sponsored by: The FreeBSD Foundation

Modified:
  head/lib/libpmc/pmu-events/arch/arm64/arm/cortex-a53/branch.json
  head/lib/libpmc/pmu-events/arch/arm64/arm/cortex-a53/bus.json
  head/lib/libpmc/pmu-events/arch/arm64/arm/cortex-a53/other.json
  head/lib/libpmc/pmu-events/arch/arm64/armv8-recommended.json
  head/lib/libpmc/pmu-events/arch/arm64/cavium/thunderx2/core-imp-def.json
  head/lib/libpmc/pmu-events/arch/arm64/hisilicon/hip08/core-imp-def.json

Modified: head/lib/libpmc/pmu-events/arch/arm64/arm/cortex-a53/branch.json
==
--- head/lib/libpmc/pmu-events/arch/arm64/arm/cortex-a53/branch.jsonWed Dec 
11 19:40:30 2019(r355629)
+++ head/lib/libpmc/pmu-events/arch/arm64/arm/cortex-a53/branch.jsonWed Dec 
11 22:09:22 2019(r355630)
@@ -1,6 +1,6 @@
 [
   {
-"ArchStdEvent":  "BR_INDIRECT_SPEC",
+"ArchStdEvent":  "BR_INDIRECT_SPEC"
   },
   {
 "EventCode": "0xC9",

Modified: head/lib/libpmc/pmu-events/arch/arm64/arm/cortex-a53/bus.json
==
--- head/lib/libpmc/pmu-events/arch/arm64/arm/cortex-a53/bus.json   Wed Dec 
11 19:40:30 2019(r355629)
+++ head/lib/libpmc/pmu-events/arch/arm64/arm/cortex-a53/bus.json   Wed Dec 
11 22:09:22 2019(r355630)
@@ -1,8 +1,8 @@
 [
   {
-"ArchStdEvent": "BUS_ACCESS_RD",
+"ArchStdEvent": "BUS_ACCESS_RD"
   },
   {
-"ArchStdEvent": "BUS_ACCESS_WR",
+"ArchStdEvent": "BUS_ACCESS_WR"
   }
 ]

Modified: head/lib/libpmc/pmu-events/arch/arm64/arm/cortex-a53/other.json
==
--- head/lib/libpmc/pmu-events/arch/arm64/arm/cortex-a53/other.json Wed Dec 
11 19:40:30 2019(r355629)
+++ head/lib/libpmc/pmu-events/arch/arm64/arm/cortex-a53/other.json Wed Dec 
11 22:09:22 2019(r355630)
@@ -1,9 +1,9 @@
 [
   {
-"ArchStdEvent": "EXC_IRQ",
+"ArchStdEvent": "EXC_IRQ"
   },
   {
-"ArchStdEvent": "EXC_FIQ",
+"ArchStdEvent": "EXC_FIQ"
   },
   {
 "EventCode": "0xC6",

Modified: head/lib/libpmc/pmu-events/arch/arm64/armv8-recommended.json
==
--- head/lib/libpmc/pmu-events/arch/arm64/armv8-recommended.jsonWed Dec 
11 19:40:30 2019(r355629)
+++ head/lib/libpmc/pmu-events/arch/arm64/armv8-recommended.jsonWed Dec 
11 22:09:22 2019(r355630)
@@ -154,297 +154,297 @@
 "EventCode": "0x61",
 "EventName": "BUS_ACCESS_WR",
 "BriefDescription": "Bus access write"
-   }
+   },
{
 "PublicDescription": "Bus access, Normal, Cacheable, Shareable",
 "EventCode": "0x62",
 "EventName": "BUS_ACCESS_SHARED",
 "BriefDescription": "Bus access, Normal, Cacheable, Shareable"
-   }
+   },
{
 "PublicDescription": "Bus access, not Normal, Cacheable, Shareable",
 "EventCode": "0x63",
 "EventName": "BUS_ACCESS_NOT_SHARED",
 "BriefDescription": "Bus access, not Normal, Cacheable, Shareable"
-   }
+   },
{
 "PublicDescription": "Bus access, Normal",
 "EventCode": "0x64",
 "EventName": "BUS_ACCESS_NORMAL",
 "BriefDescription": "Bus access, Normal"
-   }
+   },
{
 "PublicDescription": "Bus access, peripheral",
 "EventCode": "0x65",
 "EventName": "BUS_ACCESS_PERIPH",
 "BriefDescription": "Bus access, peripheral"
-   }
+   },
{
 "PublicDescription": "Data memory access, read",
 "EventCode": "0x66",
 "EventName": "MEM_ACCESS_RD",
 "BriefDescription": "Data memory access, read"
-   }
+   },
{
 "PublicDescription": "Data memory access, write",
 "EventCode": "0x67",
 "EventName": "MEM_ACCESS_WR",
 "BriefDescription": "Data memory access, write"
-   }
+   },
{
 "PublicDescription": "Unaligned access, read",
 "EventCode": "0x68",
 "EventName": "UNALIGNED_LD_SPEC",
 "BriefDescription": "Unaligned access, read"
-   }
+   },
{
 "PublicDescription": "Unaligned access, write",
 "EventCode": "0x69",
 "EventName": "UNALIGNED_ST_SPEC",
 "BriefDescription": "Unaligned access, write"
-   }
+   },
{
 "PublicDescription": "Unaligned access",
 "EventCode": "0x6a",
 "EventName": "UNALIGNED_LDST_SPEC",
 "BriefDescription": "Unaligned 

Re: svn commit: r355611 - head/sys/kern

2019-12-11 Thread Konstantin Belousov
On Wed, Dec 11, 2019 at 03:52:30PM +, Andriy Gapon wrote:
> Author: avg
> Date: Wed Dec 11 15:52:29 2019
> New Revision: 355611
> URL: https://svnweb.freebsd.org/changeset/base/355611
> 
> Log:
>   add a sanity check to the system call registration code
>   
>   A system call number should be at least reserved.
>   We do not expect an attempt to register a fixed number system call
>   when nothing at all is known about it.
>   
>   MFC after:  3 weeks
>   Sponsored by:   Panzura
> 
> Modified:
>   head/sys/kern/kern_syscalls.c
> 
> Modified: head/sys/kern/kern_syscalls.c
> ==
> --- head/sys/kern/kern_syscalls.c Wed Dec 11 15:15:21 2019
> (r355610)
> +++ head/sys/kern/kern_syscalls.c Wed Dec 11 15:52:29 2019
> (r355611)
> @@ -120,11 +120,14 @@ kern_syscall_register(struct sysent *sysents, int *off
>   if (i == SYS_MAXSYSCALL)
>   return (ENFILE);
>   *offset = i;
> - } else if (*offset < 0 || *offset >= SYS_MAXSYSCALL)
> + } else if (*offset < 0 || *offset >= SYS_MAXSYSCALL) {
>   return (EINVAL);
> - else if (sysents[*offset].sy_call != (sy_call_t *)lkmnosys &&
> - sysents[*offset].sy_call != (sy_call_t *)lkmressys)
> + } else if (sysents[*offset].sy_call != (sy_call_t *)lkmnosys &&
> + sysents[*offset].sy_call != (sy_call_t *)lkmressys) {
> + KASSERT(sysents[*offset].sy_call != NULL,
> + ("undefined syscall %d", *offset));
I do not think that the assert is very useful.  On debug kernels, where
the development would most likely take place, its only function is to annoy
developer by requiring him to reboot the host if he did not guessed a
free syscall number right.

I suggest to convert this into printf, might be also under bootverbose.

Also, why do you say that the syscall is undefined ?  I would state that
it is not reusable for dynamically loaded syscall, instead.

>   return (EEXIST);
> + }
>  
>   KASSERT(sysents[*offset].sy_thrcnt == SY_THR_ABSENT,
>   ("dynamic syscall is not protected"));
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355629 - head/sys/dev/mmc/host

2019-12-11 Thread Emmanuel Vadot
Author: manu
Date: Wed Dec 11 19:40:30 2019
New Revision: 355629
URL: https://svnweb.freebsd.org/changeset/base/355629

Log:
  dwmmc: Use device_delete_children
  
  Instead of first detaching the children(s) and then delete them,
  use the device_delete_children function that does all of that.
  
  MFC after:1 month
  Suggested by: ian

Modified:
  head/sys/dev/mmc/host/dwmmc.c

Modified: head/sys/dev/mmc/host/dwmmc.c
==
--- head/sys/dev/mmc/host/dwmmc.c   Wed Dec 11 19:32:52 2019
(r355628)
+++ head/sys/dev/mmc/host/dwmmc.c   Wed Dec 11 19:40:30 2019
(r355629)
@@ -752,7 +752,7 @@ dwmmc_detach(device_t dev)
 
sc = device_get_softc(dev);
 
-   ret = bus_generic_detach(dev);
+   ret = device_delete_children(dev);
if (ret != 0)
return (ret);
 
@@ -765,12 +765,6 @@ dwmmc_detach(device_t dev)
return (ret);
}
bus_release_resources(dev, dwmmc_spec, sc->res);
-
-   if (sc->child) {
-   ret = device_delete_child(dev, sc->child);
-   if (ret != 0)
-   return (ret);
-   }
 
DWMMC_LOCK_DESTROY(sc);
 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355628 - head/sys/tools

2019-12-11 Thread Kyle Evans
Author: kevans
Date: Wed Dec 11 19:32:52 2019
New Revision: 355628
URL: https://svnweb.freebsd.org/changeset/base/355628

Log:
  makesyscalls.lua: trim trailing spaces/commas from args
  
  These are insignificant as far as declarations go, and we've historically
  allowed it. fhlinkat in ^/sys/kern/syscalls.master, for example, currently
  has a trailing comma after its final argument that this version of
  makesyscalls is ignoring (not by conscious decision).
  
  Fix it for now by actively stripping off trailing whitespace/commas until
  we decide to actively prohibit it.

Modified:
  head/sys/tools/makesyscalls.lua

Modified: head/sys/tools/makesyscalls.lua
==
--- head/sys/tools/makesyscalls.lua Wed Dec 11 18:50:23 2019
(r355627)
+++ head/sys/tools/makesyscalls.lua Wed Dec 11 19:32:52 2019
(r355628)
@@ -1010,6 +1010,7 @@ process_syscall_def = function(line)
abort(1, "Not a signature? " .. line)
end
args = line:match("^[^(]+%((.+)%)[^)]*$")
+   args = trim(args, '[,%s]')
end
 
::skipalt::
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355627 - head/sys/dev/mmc/host

2019-12-11 Thread Emmanuel Vadot
Author: manu
Date: Wed Dec 11 18:50:23 2019
New Revision: 355627
URL: https://svnweb.freebsd.org/changeset/base/355627

Log:
  dwmmc: Handle the card detect interrupt
  
  The driver used to always add the mmc device as it's child even
  it no card was detected. Add a function that will detect if the
  card is present or not and that will attach/detach the mmc device.
  The function is either call on attach (as we won't have the interrupt
  fired) or from two taskqueues. The first taskqueue will directly call
  the function when the sdcard was present and is now removed and the other
  one will delay a bit the attach when we didn't had a card and now have one.
  This is mostly based on comments from the sdhci driver where it describe
  a situation when the CD pin is detected before the others pins are connected.
  
  MFC after:1 month

Modified:
  head/sys/dev/mmc/host/dwmmc.c
  head/sys/dev/mmc/host/dwmmc_altera.c
  head/sys/dev/mmc/host/dwmmc_hisi.c
  head/sys/dev/mmc/host/dwmmc_rockchip.c
  head/sys/dev/mmc/host/dwmmc_samsung.c
  head/sys/dev/mmc/host/dwmmc_var.h

Modified: head/sys/dev/mmc/host/dwmmc.c
==
--- head/sys/dev/mmc/host/dwmmc.c   Wed Dec 11 18:43:39 2019
(r355626)
+++ head/sys/dev/mmc/host/dwmmc.c   Wed Dec 11 18:50:23 2019
(r355627)
@@ -45,6 +45,8 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 #include 
+#include 
+#include 
 
 #include 
 #include 
@@ -127,6 +129,7 @@ static int dma_done(struct dwmmc_softc *, struct mmc_c
 static int dma_stop(struct dwmmc_softc *);
 static void pio_read(struct dwmmc_softc *, struct mmc_command *);
 static void pio_write(struct dwmmc_softc *, struct mmc_command *);
+static void dwmmc_handle_card_present(struct dwmmc_softc *sc, bool is_present);
 
 static struct resource_spec dwmmc_spec[] = {
{ SYS_RES_MEMORY,   0,  RF_ACTIVE },
@@ -374,7 +377,8 @@ dwmmc_intr(void *arg)
sc->dto_rcvd = 1;
 
if (reg & SDMMC_INTMASK_CD) {
-   /* XXX: Handle card detect */
+   dwmmc_handle_card_present(sc,
+   READ4(sc, SDMMC_CDETECT) == 0 ? true : false);
}
}
 
@@ -407,6 +411,56 @@ dwmmc_intr(void *arg)
DWMMC_UNLOCK(sc);
 }
 
+static void
+dwmmc_handle_card_present(struct dwmmc_softc *sc, bool is_present)
+{
+   bool was_present;
+
+   was_present = sc->child != NULL;
+
+   if (!was_present && is_present) {
+   taskqueue_enqueue_timeout(taskqueue_swi_giant,
+ >card_delayed_task, -(hz / 2));
+   } else if (was_present && !is_present) {
+   taskqueue_enqueue(taskqueue_swi_giant, >card_task);
+   }
+}
+
+static void
+dwmmc_card_task(void *arg, int pending __unused)
+{
+   struct dwmmc_softc *sc = arg;
+
+   DWMMC_LOCK(sc);
+
+   if (READ4(sc, SDMMC_CDETECT) == 0) {
+   if (sc->child == NULL) {
+   if (bootverbose)
+   device_printf(sc->dev, "Card inserted\n");
+
+   sc->child = device_add_child(sc->dev, "mmc", -1);
+   DWMMC_UNLOCK(sc);
+   if (sc->child) {
+   device_set_ivars(sc->child, sc);
+   (void)device_probe_and_attach(sc->child);
+   }
+   } else
+   DWMMC_UNLOCK(sc);
+   
+   } else {
+   /* Card isn't present, detach if necessary */
+   if (sc->child != NULL) {
+   if (bootverbose)
+   device_printf(sc->dev, "Card removed\n");
+
+   DWMMC_UNLOCK(sc);
+   device_delete_child(sc->dev, sc->child);
+   sc->child = NULL;
+   } else
+   DWMMC_UNLOCK(sc);
+   }
+}
+
 static int
 parse_fdt(struct dwmmc_softc *sc)
 {
@@ -677,8 +731,17 @@ dwmmc_attach(device_t dev)
sc->host.caps |= MMC_CAP_HSPEED;
sc->host.caps |= MMC_CAP_SIGNALING_330;
 
-   sc->child = device_add_child(dev, "mmc", -1);
-   return (bus_generic_attach(dev));
+   TASK_INIT(>card_task, 0, dwmmc_card_task, sc);
+   TIMEOUT_TASK_INIT(taskqueue_swi_giant, >card_delayed_task, 0,
+   dwmmc_card_task, sc);
+
+   /* 
+* Schedule a card detection as we won't get an interrupt
+* if the card is inserted when we attach
+*/
+   dwmmc_card_task(sc, 0);
+
+   return (0);
 }
 
 int
@@ -693,7 +756,9 @@ dwmmc_detach(device_t dev)
if (ret != 0)
return (ret);
 
-   DWMMC_LOCK_DESTROY(sc);
+   taskqueue_drain(taskqueue_swi_giant, >card_task);
+   taskqueue_drain_timeout(taskqueue_swi_giant, >card_delayed_task);
+
if (sc->intr_cookie != NULL) {
ret = 

svn commit: r355626 - in head/sys/modules/rockchip: . rk_dwmmc

2019-12-11 Thread Emmanuel Vadot
Author: manu
Date: Wed Dec 11 18:43:39 2019
New Revision: 355626
URL: https://svnweb.freebsd.org/changeset/base/355626

Log:
  arm64: rockchip: Add a module for rk_dwmmc
  
  This is mostly needed for dev/debug as most users will have their root
  on the sdcard or emmc.
  
  MFC after:1 month

Added:
  head/sys/modules/rockchip/rk_dwmmc/
  head/sys/modules/rockchip/rk_dwmmc/Makefile   (contents, props changed)
Modified:
  head/sys/modules/rockchip/Makefile

Modified: head/sys/modules/rockchip/Makefile
==
--- head/sys/modules/rockchip/Makefile  Wed Dec 11 18:41:13 2019
(r355625)
+++ head/sys/modules/rockchip/Makefile  Wed Dec 11 18:43:39 2019
(r355626)
@@ -3,6 +3,7 @@
 
 SUBDIR = \
rk_i2c \
-   rk805
+   rk805 \
+   rk_dwmmc
 
 .include 

Added: head/sys/modules/rockchip/rk_dwmmc/Makefile
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sys/modules/rockchip/rk_dwmmc/Makefile Wed Dec 11 18:43:39 2019
(r355626)
@@ -0,0 +1,14 @@
+# $FreeBSD$
+
+.PATH: ${SRCTOP}/sys/dev/mmc/host/
+
+KMOD=  rk_dwmmc
+SRCS=  dwmmc.c dwmmc_rockchip.c
+
+SRCS+= \
+   bus_if.h \
+   clknode_if.h \
+   device_if.h \
+   ofw_bus_if.h
+
+.include 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355625 - head/sys/dev/mmc/host

2019-12-11 Thread Emmanuel Vadot
Author: manu
Date: Wed Dec 11 18:41:13 2019
New Revision: 355625
URL: https://svnweb.freebsd.org/changeset/base/355625

Log:
  dwmmc: Add a detach method
  
  This method will disable the regulators, clocks and assert the reset of
  the module. It will also detach it's children (the mmc device) and release
  it's resources.
  While here enable the regulators on attach as we need them to power up
  the sdcard or emmc.
  
  MFC after:1 month

Modified:
  head/sys/dev/mmc/host/dwmmc.c
  head/sys/dev/mmc/host/dwmmc_rockchip.c
  head/sys/dev/mmc/host/dwmmc_var.h

Modified: head/sys/dev/mmc/host/dwmmc.c
==
--- head/sys/dev/mmc/host/dwmmc.c   Wed Dec 11 18:39:05 2019
(r355624)
+++ head/sys/dev/mmc/host/dwmmc.c   Wed Dec 11 18:41:13 2019
(r355625)
@@ -537,6 +537,22 @@ parse_fdt(struct dwmmc_softc *sc)
clk_get_freq(sc->ciu, >bus_hz);
}
 
+   /* Enable regulators */
+   if (sc->vmmc != NULL) {
+   error = regulator_enable(sc->vmmc);
+   if (error != 0) {
+   device_printf(sc->dev, "Cannot enable vmmc 
regulator\n");
+   goto fail;
+   }
+   }
+   if (sc->vqmmc != NULL) {
+   error = regulator_enable(sc->vqmmc);
+   if (error != 0) {
+   device_printf(sc->dev, "Cannot enable vqmmc 
regulator\n");
+   goto fail;
+   }
+   }
+
/* Take dwmmc out of reset */
if (sc->hwreset != NULL) {
error = hwreset_deassert(sc->hwreset);
@@ -661,8 +677,51 @@ dwmmc_attach(device_t dev)
sc->host.caps |= MMC_CAP_HSPEED;
sc->host.caps |= MMC_CAP_SIGNALING_330;
 
-   device_add_child(dev, "mmc", -1);
+   sc->child = device_add_child(dev, "mmc", -1);
return (bus_generic_attach(dev));
+}
+
+int
+dwmmc_detach(device_t dev)
+{
+   struct dwmmc_softc *sc;
+   int ret;
+
+   sc = device_get_softc(dev);
+
+   ret = bus_generic_detach(dev);
+   if (ret != 0)
+   return (ret);
+
+   DWMMC_LOCK_DESTROY(sc);
+   if (sc->intr_cookie != NULL) {
+   ret = bus_teardown_intr(dev, sc->res[1], sc->intr_cookie);
+   if (ret != 0)
+   return (ret);
+   }
+   bus_release_resources(dev, dwmmc_spec, sc->res);
+
+   if (sc->child) {
+   ret = device_delete_child(dev, sc->child);
+   if (ret != 0)
+   return (ret);
+   }
+
+#ifdef EXT_RESOURCES
+   if (sc->hwreset != NULL && hwreset_deassert(sc->hwreset) != 0)
+   device_printf(sc->dev, "cannot deassert reset\n");
+   if (sc->biu != NULL && clk_disable(sc->biu) != 0)
+   device_printf(sc->dev, "cannot disable biu clock\n");
+   if (sc->ciu != NULL && clk_disable(sc->ciu) != 0)
+   device_printf(sc->dev, "cannot disable ciu clock\n");
+
+   if (sc->vmmc && regulator_disable(sc->vmmc) != 0)
+   device_printf(sc->dev, "Cannot disable vmmc regulator\n");
+   if (sc->vqmmc && regulator_disable(sc->vqmmc) != 0)
+   device_printf(sc->dev, "Cannot disable vqmmc regulator\n");
+#endif
+
+   return (0);
 }
 
 static int

Modified: head/sys/dev/mmc/host/dwmmc_rockchip.c
==
--- head/sys/dev/mmc/host/dwmmc_rockchip.c  Wed Dec 11 18:39:05 2019
(r355624)
+++ head/sys/dev/mmc/host/dwmmc_rockchip.c  Wed Dec 11 18:41:13 2019
(r355625)
@@ -133,6 +133,7 @@ static device_method_t rockchip_dwmmc_methods[] = {
/* bus interface */
DEVMETHOD(device_probe, rockchip_dwmmc_probe),
DEVMETHOD(device_attach, rockchip_dwmmc_attach),
+   DEVMETHOD(device_detach, dwmmc_detach),
 
DEVMETHOD_END
 };

Modified: head/sys/dev/mmc/host/dwmmc_var.h
==
--- head/sys/dev/mmc/host/dwmmc_var.h   Wed Dec 11 18:39:05 2019
(r355624)
+++ head/sys/dev/mmc/host/dwmmc_var.h   Wed Dec 11 18:41:13 2019
(r355625)
@@ -61,6 +61,7 @@ struct dwmmc_softc {
uint32_tuse_pio;
uint32_tpwren_inverted;
u_int   desc_count;
+   device_tchild;
 
int (*update_ios)(struct dwmmc_softc *sc, struct 
mmc_ios *ios);
 
@@ -94,5 +95,6 @@ struct dwmmc_softc {
 DECLARE_CLASS(dwmmc_driver);
 
 int dwmmc_attach(device_t);
+int dwmmc_detach(device_t);
 
 #endif
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355624 - head/sys/arm64/rockchip/clk

2019-12-11 Thread Emmanuel Vadot
Author: manu
Date: Wed Dec 11 18:39:05 2019
New Revision: 355624
URL: https://svnweb.freebsd.org/changeset/base/355624

Log:
  arm64: rk3328: Add the *clk_peri_niu clocks
  
  Those clocks are always enable by default and are not really explained
  in the TRM but the reason we had them is that they have the periph clock
  as a parent and those parent should never be disable which can happen
  if we disable all the childs. The current childs are the sd/emmc/sdio clocks
  so the board will hang if we disable them.
  
  MFC after:1 month

Modified:
  head/sys/arm64/rockchip/clk/rk3328_cru.c

Modified: head/sys/arm64/rockchip/clk/rk3328_cru.c
==
--- head/sys/arm64/rockchip/clk/rk3328_cru.cWed Dec 11 18:36:07 2019
(r355623)
+++ head/sys/arm64/rockchip/clk/rk3328_cru.cWed Dec 11 18:39:05 2019
(r355624)
@@ -102,6 +102,8 @@ static struct rk_cru_gate rk3328_gates[] = {
CRU_GATE(HCLK_SDMMC, "hclk_sdmmc", "hclk_peri", 0x24C, 0)
CRU_GATE(HCLK_SDIO, "hclk_sdio", "hclk_peri", 0x24C, 1)
CRU_GATE(HCLK_EMMC, "hclk_emmc", "hclk_peri", 0x24C, 2)
+   CRU_GATE(0, "hclk_peri_niu", "hclk_peri", 0x24C, 12)
+   CRU_GATE(0, "pclk_peri_niu", "hclk_peri", 0x24C, 13)
CRU_GATE(HCLK_SDMMC_EXT, "hclk_sdmmc_ext", "hclk_peri", 0x24C, 15)
 };
 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355623 - in head/sys: arm64/conf conf

2019-12-11 Thread Emmanuel Vadot
Author: manu
Date: Wed Dec 11 18:36:07 2019
New Revision: 355623
URL: https://svnweb.freebsd.org/changeset/base/355623

Log:
  arm64: Add explicit devices for dwmmc variant
  
  We used to include the hisi version if soc_hisi_hi6220 was present,
  include the altera version if dwmmc_altera was present and include
  the rockchip version if soc_rockchip_rk3328 was present.
  Now every version have it's own device directive.
  The rockchip version isn't named dwmmc_rockchip because all other
  rockchip driver are named rk_XXX.
  
  MFC after:1 month

Modified:
  head/sys/arm64/conf/GENERIC
  head/sys/conf/files.arm64

Modified: head/sys/arm64/conf/GENERIC
==
--- head/sys/arm64/conf/GENERIC Wed Dec 11 18:24:43 2019(r355622)
+++ head/sys/arm64/conf/GENERIC Wed Dec 11 18:36:07 2019(r355623)
@@ -196,6 +196,8 @@ device  mmc # mmc/sd bus
 device mmcsd   # mmc/sd flash cards
 device dwmmc
 device dwmmc_altera
+device dwmmc_hisi
+device rk_dwmmc
 device rk_emmcphy
 
 # Serial (COM) ports

Modified: head/sys/conf/files.arm64
==
--- head/sys/conf/files.arm64   Wed Dec 11 18:24:43 2019(r355622)
+++ head/sys/conf/files.arm64   Wed Dec 11 18:36:07 2019(r355623)
@@ -241,9 +241,9 @@ dev/hwpmc/hwpmc_arm64.c optionalhwpmc
 dev/hwpmc/hwpmc_arm64_md.c optionalhwpmc
 dev/mbox/mbox_if.m optionalsoc_brcm_bcm2837
 dev/mmc/host/dwmmc.c   optionaldwmmc fdt
-dev/mmc/host/dwmmc_altera.coptionaldwmmc fdt dwmmc_altera
-dev/mmc/host/dwmmc_hisi.c  optionaldwmmc fdt soc_hisi_hi6220
-dev/mmc/host/dwmmc_rockchip.c  optionaldwmmc fdt soc_rockchip_rk3328
+dev/mmc/host/dwmmc_altera.coptionaldwmmc dwmmc_altera fdt
+dev/mmc/host/dwmmc_hisi.c  optionaldwmmc dwmmc_hisi fdt
+dev/mmc/host/dwmmc_rockchip.c  optionaldwmmc rk_dwmmc fdt
 dev/neta/if_mvneta_fdt.c   optionalneta fdt
 dev/neta/if_mvneta.c   optionalneta mdio mii
 dev/ofw/ofw_cpu.c  optionalfdt
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355622 - head/sys/arm/linux

2019-12-11 Thread Ed Maste
Author: emaste
Date: Wed Dec 11 18:24:43 2019
New Revision: 355622
URL: https://svnweb.freebsd.org/changeset/base/355622

Log:
  arm linuxulator: regen sysent after r355621

Modified:
  head/sys/arm/linux/linux_proto.h
  head/sys/arm/linux/linux_systrace_args.c

Modified: head/sys/arm/linux/linux_proto.h
==
--- head/sys/arm/linux/linux_proto.hWed Dec 11 18:21:35 2019
(r355621)
+++ head/sys/arm/linux/linux_proto.hWed Dec 11 18:24:43 2019
(r355622)
@@ -761,14 +761,14 @@ struct linux_mq_timedsend_args {
char msg_ptr_l_[PADL_(const char *)]; const char * msg_ptr; char 
msg_ptr_r_[PADR_(const char *)];
char msg_len_l_[PADL_(size_t)]; size_t msg_len; char 
msg_len_r_[PADR_(size_t)];
char msg_prio_l_[PADL_(unsigned int)]; unsigned int msg_prio; char 
msg_prio_r_[PADR_(unsigned int)];
-   char abs_timeout_l_[PADL_(const structl_timespec *)]; const 
structl_timespec * abs_timeout; char abs_timeout_r_[PADR_(const 
structl_timespec *)];
+   char abs_timeout_l_[PADL_(const struct l_timespec *)]; const struct 
l_timespec * abs_timeout; char abs_timeout_r_[PADR_(const struct l_timespec *)];
 };
 struct linux_mq_timedreceive_args {
char mqd_l_[PADL_(l_mqd_t)]; l_mqd_t mqd; char mqd_r_[PADR_(l_mqd_t)];
char msg_ptr_l_[PADL_(char *)]; char * msg_ptr; char 
msg_ptr_r_[PADR_(char *)];
char msg_len_l_[PADL_(size_t)]; size_t msg_len; char 
msg_len_r_[PADR_(size_t)];
char msg_prio_l_[PADL_(unsigned int)]; unsigned int msg_prio; char 
msg_prio_r_[PADR_(unsigned int)];
-   char abs_timeout_l_[PADL_(const structl_timespec *)]; const 
structl_timespec * abs_timeout; char abs_timeout_r_[PADR_(const 
structl_timespec *)];
+   char abs_timeout_l_[PADL_(const struct l_timespec *)]; const struct 
l_timespec * abs_timeout; char abs_timeout_r_[PADR_(const struct l_timespec *)];
 };
 struct linux_mq_notify_args {
char mqd_l_[PADL_(l_mqd_t)]; l_mqd_t mqd; char mqd_r_[PADR_(l_mqd_t)];

Modified: head/sys/arm/linux/linux_systrace_args.c
==
--- head/sys/arm/linux/linux_systrace_args.cWed Dec 11 18:21:35 2019
(r355621)
+++ head/sys/arm/linux/linux_systrace_args.cWed Dec 11 18:24:43 2019
(r355622)
@@ -1684,7 +1684,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
uarg[1] = (intptr_t) p->msg_ptr; /* const char * */
uarg[2] = p->msg_len; /* size_t */
uarg[3] = p->msg_prio; /* unsigned int */
-   uarg[4] = (intptr_t) p->abs_timeout; /* const structl_timespec 
* */
+   uarg[4] = (intptr_t) p->abs_timeout; /* const struct l_timespec 
* */
*n_args = 5;
break;
}
@@ -1695,7 +1695,7 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
uarg[1] = (intptr_t) p->msg_ptr; /* char * */
uarg[2] = p->msg_len; /* size_t */
uarg[3] = p->msg_prio; /* unsigned int */
-   uarg[4] = (intptr_t) p->abs_timeout; /* const structl_timespec 
* */
+   uarg[4] = (intptr_t) p->abs_timeout; /* const struct l_timespec 
* */
*n_args = 5;
break;
}
@@ -5060,7 +5060,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
p = "unsigned int";
break;
case 4:
-   p = "userland const structl_timespec *";
+   p = "userland const struct l_timespec *";
break;
default:
break;
@@ -5082,7 +5082,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
p = "unsigned int";
break;
case 4:
-   p = "userland const structl_timespec *";
+   p = "userland const struct l_timespec *";
break;
default:
break;
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355621 - head/sys/arm/linux

2019-12-11 Thread Ed Maste
Author: emaste
Date: Wed Dec 11 18:21:35 2019
New Revision: 355621
URL: https://svnweb.freebsd.org/changeset/base/355621

Log:
  arm linuxulator: put syscall type and argument on one line

Modified:
  head/sys/arm/linux/syscalls.master

Modified: head/sys/arm/linux/syscalls.master
==
--- head/sys/arm/linux/syscalls.master  Wed Dec 11 17:52:06 2019
(r355620)
+++ head/sys/arm/linux/syscalls.master  Wed Dec 11 18:21:35 2019
(r355621)
@@ -1270,8 +1270,7 @@
const char *msg_ptr,
size_t msg_len,
unsigned int msg_prio,
-   const struct
-   l_timespec *abs_timeout
+   const struct l_timespec *abs_timeout
);
}
 277AUE_NULLSTD {
@@ -1280,8 +1279,7 @@
char *msg_ptr,
size_t msg_len,
unsigned int msg_prio,
-   const struct
-   l_timespec *abs_timeout
+   const struct l_timespec *abs_timeout
);
}
 278AUE_NULLSTD {
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355620 - head/sys/arm/linux

2019-12-11 Thread Ed Maste
Author: emaste
Date: Wed Dec 11 17:52:06 2019
New Revision: 355620
URL: https://svnweb.freebsd.org/changeset/base/355620

Log:
  arm linuxulator: add "make sysent" generated files
  
  Sponsored by: The FreeBSD Foundation

Added:
  head/sys/arm/linux/linux_proto.h   (contents, props changed)
  head/sys/arm/linux/linux_syscall.h   (contents, props changed)
  head/sys/arm/linux/linux_syscalls.c   (contents, props changed)
  head/sys/arm/linux/linux_sysent.c   (contents, props changed)
  head/sys/arm/linux/linux_systrace_args.c   (contents, props changed)

Added: head/sys/arm/linux/linux_proto.h
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sys/arm/linux/linux_proto.hWed Dec 11 17:52:06 2019
(r355620)
@@ -0,0 +1,1826 @@
+/*
+ * System call prototypes.
+ *
+ * DO NOT EDIT-- this file is automatically @generated.
+ * $FreeBSD$
+ */
+
+#ifndef _LINUX_SYSPROTO_H_
+#define_LINUX_SYSPROTO_H_
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include 
+
+struct proc;
+
+struct thread;
+
+#definePAD_(t) (sizeof(register_t) <= sizeof(t) ? \
+   0 : sizeof(register_t) - sizeof(t))
+
+#if BYTE_ORDER == LITTLE_ENDIAN
+#definePADL_(t)0
+#definePADR_(t)PAD_(t)
+#else
+#definePADL_(t)PAD_(t)
+#definePADR_(t)0
+#endif
+
+#definenosys   linux_nosys
+struct linux_exit_args {
+   char rval_l_[PADL_(int)]; int rval; char rval_r_[PADR_(int)];
+};
+struct linux_fork_args {
+   register_t dummy;
+};
+struct linux_open_args {
+   char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
+   char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+   char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)];
+};
+struct linux_creat_args {
+   char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
+   char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)];
+};
+struct linux_link_args {
+   char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
+   char to_l_[PADL_(char *)]; char * to; char to_r_[PADR_(char *)];
+};
+struct linux_unlink_args {
+   char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
+};
+struct linux_execve_args {
+   char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
+   char argp_l_[PADL_(char **)]; char ** argp; char argp_r_[PADR_(char 
**)];
+   char envp_l_[PADL_(char **)]; char ** envp; char envp_r_[PADR_(char 
**)];
+};
+struct linux_chdir_args {
+   char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
+};
+struct linux_mknod_args {
+   char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
+   char mode_l_[PADL_(l_int)]; l_int mode; char mode_r_[PADR_(l_int)];
+   char dev_l_[PADL_(l_dev_t)]; l_dev_t dev; char dev_r_[PADR_(l_dev_t)];
+};
+struct linux_chmod_args {
+   char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
+   char mode_l_[PADL_(l_mode_t)]; l_mode_t mode; char 
mode_r_[PADR_(l_mode_t)];
+};
+struct linux_lchown16_args {
+   char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
+   char uid_l_[PADL_(l_uid16_t)]; l_uid16_t uid; char 
uid_r_[PADR_(l_uid16_t)];
+   char gid_l_[PADL_(l_gid16_t)]; l_gid16_t gid; char 
gid_r_[PADR_(l_gid16_t)];
+};
+struct linux_lseek_args {
+   char fdes_l_[PADL_(l_uint)]; l_uint fdes; char fdes_r_[PADR_(l_uint)];
+   char off_l_[PADL_(l_off_t)]; l_off_t off; char off_r_[PADR_(l_off_t)];
+   char whence_l_[PADL_(l_int)]; l_int whence; char 
whence_r_[PADR_(l_int)];
+};
+struct linux_getpid_args {
+   register_t dummy;
+};
+struct linux_mount_args {
+   char specialfile_l_[PADL_(char *)]; char * specialfile; char 
specialfile_r_[PADR_(char *)];
+   char dir_l_[PADL_(char *)]; char * dir; char dir_r_[PADR_(char *)];
+   char filesystemtype_l_[PADL_(char *)]; char * filesystemtype; char 
filesystemtype_r_[PADR_(char *)];
+   char rwflag_l_[PADL_(l_ulong)]; l_ulong rwflag; char 
rwflag_r_[PADR_(l_ulong)];
+   char data_l_[PADL_(void *)]; void * data; char data_r_[PADR_(void *)];
+};
+struct linux_setuid16_args {
+   char uid_l_[PADL_(l_uid16_t)]; l_uid16_t uid; char 
uid_r_[PADR_(l_uid16_t)];
+};
+struct linux_getuid16_args {
+   register_t dummy;
+};
+struct linux_pause_args {
+   register_t dummy;
+};
+struct linux_access_args {
+   char path_l_[PADL_(char *)]; char * path; char path_r_[PADR_(char *)];
+   char amode_l_[PADL_(l_int)]; l_int amode; char amode_r_[PADR_(l_int)];
+};
+struct linux_nice_args {
+   char inc_l_[PADL_(l_int)]; l_int inc; char inc_r_[PADR_(l_int)];
+};
+struct linux_kill_args {
+   char pid_l_[PADL_(l_int)]; l_int pid; char pid_r_[PADR_(l_int)];
+  

svn commit: r355619 - head

2019-12-11 Thread Ed Maste
Author: emaste
Date: Wed Dec 11 17:48:34 2019
New Revision: 355619
URL: https://svnweb.freebsd.org/changeset/base/355619

Log:
  connect arm linuxulator to top-level make sysent
  
  Reported by:  kevans

Modified:
  head/Makefile.inc1

Modified: head/Makefile.inc1
==
--- head/Makefile.inc1  Wed Dec 11 17:38:15 2019(r355618)
+++ head/Makefile.inc1  Wed Dec 11 17:48:34 2019(r355619)
@@ -1509,6 +1509,7 @@ _sysent_dirs+=sys/compat/cloudabi32   \
sys/compat/cloudabi64
 _sysent_dirs+= sys/amd64/linux \
sys/amd64/linux32   \
+   sys/arm/linux   \
sys/arm64/linux \
sys/i386/linux
 sysent: .PHONY
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r355430 - head/sys/cam/scsi

2019-12-11 Thread Warner Losh
At some point, we used to replace bad chars with spaces, but that may have
been two ata stacks ago..

Warner

On Wed, Dec 11, 2019, 9:35 AM Alan Somers  wrote:

> No, and there's no possibility of connecting a Windows host to this
> particular device.  We have some Oracle Solaris servers hooked up to these
> expanders, but it looks like Solaris completely ignores the offending
> element type.
> -Alan
>
> On Wed, Dec 11, 2019 at 10:19 AM Scott Long  wrote:
>
>> U+FFFD doesn’t make sense for an ASCII string, but 0x3F might.  Any idea
>> what Windows shows for this device?
>>
>> Scott
>>
>> > On Dec 11, 2019, at 8:42 AM, Alan Somers  wrote:
>> >
>> > In this case the offending descriptor is solid 0xFF, so replacing
>> individual characters wouldn't accomplish anything.  I can imagine a
>> different buggy expander that has just one or two bad characters.  In that
>> case, it would make sense to replace them.  But replace them with what?
>> The UTF replacement character 0xFFFD isn't an option, because the result is
>> supposed to be ASCII.  There's no other obvious choice, which is why I
>> chose to replace the whole thing.
>> > -Alan
>> >
>> > On Fri, Dec 6, 2019 at 2:40 AM Steven Hartland <
>> steven.hartl...@multiplay.co.uk> wrote:
>> > If the illegal chars where removed or replaced would the result be
>> useful, if so might that be a better approach?
>> >
>> > On Fri, 6 Dec 2019 at 00:06, Alan Somers  wrote:
>> > Author: asomers
>> > Date: Fri Dec  6 00:06:05 2019
>> > New Revision: 355430
>> > URL: https://svnweb.freebsd.org/changeset/base/355430
>> >
>> > Log:
>> >   ses: sanitize illegal strings in SES element descriptors
>> >
>> >   The SES4r3 standard requires that element descriptors may only
>> contain ASCII
>> >   characters in the range 0x20 to 0x7e.  Some SuperMicro expanders
>> violate
>> >   that rule.  This patch adds a sanity check to ses(4).  Descriptors in
>> >   violation will be replaced by "".
>> >
>> >   This patch fixes "sesutil --libxo xml" on such systems.  Previously
>> it would
>> >   generate non-well-formed XML output.
>> >
>> >   PR:   241929
>> >   Reviewed by:  allanjude
>> >   MFC after:2 weeks
>> >   Sponsored by: Axcient
>> >
>> > Modified:
>> >   head/sys/cam/scsi/scsi_enc_ses.c
>> >
>> > Modified: head/sys/cam/scsi/scsi_enc_ses.c
>> >
>> ==
>> > --- head/sys/cam/scsi/scsi_enc_ses.cThu Dec  5 19:39:51 2019
>> (r355429)
>> > +++ head/sys/cam/scsi/scsi_enc_ses.cFri Dec  6 00:06:05 2019
>> (r355430)
>> > @@ -110,7 +110,7 @@ typedef struct ses_addl_status {
>> >  typedef struct ses_element {
>> > uint8_t eip;/* eip bit is set */
>> > uint16_t descr_len; /* length of the descriptor */
>> > -   char *descr;/* descriptor for this object */
>> > +   const char *descr;  /* descriptor for this object */
>> > struct ses_addl_status addl;/* additional status info */
>> >  } ses_element_t;
>> >
>> > @@ -1977,6 +1977,35 @@ ses_publish_cache(enc_softc_t *enc, struct
>> enc_fsm_sta
>> > return (0);
>> >  }
>> >
>> > +/*
>> > + * \brief Sanitize an element descriptor
>> > + *
>> > + * The SES4r3 standard, sections 3.1.2 and 6.1.10, specifies that
>> element
>> > + * descriptors may only contain ASCII characters in the range 0x20 to
>> 0x7e.
>> > + * But some vendors violate that rule.  Ensure that we only expose
>> compliant
>> > + * descriptors to userland.
>> > + *
>> > + * \param desc SES element descriptor as reported by the
>> hardware
>> > + * \param len  Length of desc in bytes, not necessarily
>> including
>> > + * trailing NUL.  It will be modified if desc is
>> invalid.
>> > + */
>> > +static const char*
>> > +ses_sanitize_elm_desc(const char *desc, uint16_t *len)
>> > +{
>> > +   const char *invalid = "";
>> > +   int i;
>> > +
>> > +   for (i = 0; i < *len; i++) {
>> > +   if (desc[i] < 0x20 || desc[i] > 0x7e) {
>> > +   *len = strlen(invalid);
>> > +   return (invalid);
>> > +   } else if (desc[i] == 0) {
>> > +   break;
>> > +   }
>> > +   }
>> > +   return (desc);
>> > +}
>> > +
>> >  /**
>> >   * \brief Parse the descriptors for each object.
>> >   *
>> > @@ -2061,7 +2090,8 @@ ses_process_elm_descs(enc_softc_t *enc, struct
>> enc_fsm
>> > if (length > 0) {
>> > elmpriv = element->elm_private;
>> > elmpriv->descr_len = length;
>> > -   elmpriv->descr = [offset];
>> > +   elmpriv->descr =
>> ses_sanitize_elm_desc([offset],
>> > +   >descr_len);
>> > }
>> >
>> > /* skip over the descriptor itself */
>>
>>
___

svn commit: r355616 - in head: bin/ls lib/libarchive lib/libbsnmp/libbsnmp lib/libc lib/libfetch lib/libpam/modules/pam_unix lib/libpcap lib/libproc lib/libradius libexec/fingerd libexec/ftpd libex...

2019-12-11 Thread Simon J. Gerraty
Author: sjg
Date: Wed Dec 11 17:37:37 2019
New Revision: 355616
URL: https://svnweb.freebsd.org/changeset/base/355616

Log:
  Add Makefile.depend.options
  
  Leaf directories that have dependencies impacted
  by options need a Makefile.depend.options file
  to avoid churn in Makefile.depend
  
  DIRDEPS for cases such as OPENSSL, TCP_WRAPPERS etc
  can be set in local.dirdeps-options.mk
  which can add to those set in Makefile.depend.options
  
  See share/mk/dirdeps-options.mk
  
  Reviewed by:   bdrewery
  MFC after:1 week
  Sponsored by:   Juniper Networks
  Differential Revision:  https://reviews.freebsd.org/D22469

Added:
  head/bin/ls/Makefile.depend.options   (contents, props changed)
  head/lib/libarchive/Makefile.depend.options   (contents, props changed)
  head/lib/libbsnmp/libbsnmp/Makefile.depend.options   (contents, props changed)
  head/lib/libc/Makefile.depend.options   (contents, props changed)
  head/lib/libfetch/Makefile.depend.options   (contents, props changed)
  head/lib/libpam/modules/pam_unix/Makefile.depend.options   (contents, props 
changed)
  head/lib/libpcap/Makefile.depend.options   (contents, props changed)
  head/lib/libproc/Makefile.depend.options   (contents, props changed)
  head/lib/libradius/Makefile.depend.options   (contents, props changed)
  head/libexec/fingerd/Makefile.depend.options   (contents, props changed)
  head/libexec/ftpd/Makefile.depend.options   (contents, props changed)
  head/libexec/telnetd/Makefile.depend.options   (contents, props changed)
  head/libexec/tftpd/Makefile.depend.options   (contents, props changed)
  head/sbin/dhclient/Makefile.depend.options   (contents, props changed)
  head/sbin/dumpon/Makefile.depend.options   (contents, props changed)
  head/sbin/ifconfig/Makefile.depend.options   (contents, props changed)
  head/sbin/ping/Makefile.depend.options   (contents, props changed)
  head/sbin/ping6/Makefile.depend.options   (contents, props changed)
  head/sbin/rtsol/Makefile.depend.options   (contents, props changed)
  head/sbin/savecore/Makefile.depend.options   (contents, props changed)
  head/secure/usr.bin/ssh/Makefile.depend.options   (contents, props changed)
  head/secure/usr.sbin/sshd/Makefile.depend.options   (contents, props changed)
  head/usr.bin/brandelf/Makefile.depend.options   (contents, props changed)
  head/usr.bin/chkey/Makefile.depend.options   (contents, props changed)
  head/usr.bin/chpass/Makefile.depend.options   (contents, props changed)
  head/usr.bin/factor/Makefile.depend.options   (contents, props changed)
  head/usr.bin/grep/Makefile.depend.options   (contents, props changed)
  head/usr.bin/gzip/Makefile.depend.options   (contents, props changed)
  head/usr.bin/head/Makefile.depend.options   (contents, props changed)
  head/usr.bin/kdump/Makefile.depend.options   (contents, props changed)
  head/usr.bin/login/Makefile.depend.options   (contents, props changed)
  head/usr.bin/netstat/Makefile.depend.options   (contents, props changed)
  head/usr.bin/nm/Makefile.depend.options   (contents, props changed)
  head/usr.bin/readelf/Makefile.depend.options   (contents, props changed)
  head/usr.bin/size/Makefile.depend.options   (contents, props changed)
  head/usr.bin/sort/Makefile.depend.options   (contents, props changed)
  head/usr.bin/strings/Makefile.depend.options   (contents, props changed)
  head/usr.bin/su/Makefile.depend.options   (contents, props changed)
  head/usr.bin/tail/Makefile.depend.options   (contents, props changed)
  head/usr.bin/telnet/Makefile.depend.options   (contents, props changed)
  head/usr.bin/wc/Makefile.depend.options   (contents, props changed)
  head/usr.sbin/amd/amd/Makefile.depend.options   (contents, props changed)
  head/usr.sbin/bhyve/Makefile.depend.options   (contents, props changed)
  head/usr.sbin/bsnmpd/bsnmpd/Makefile.depend.options   (contents, props 
changed)
  head/usr.sbin/fstyp/Makefile.depend.options   (contents, props changed)
  head/usr.sbin/gssd/Makefile.depend.options   (contents, props changed)
  head/usr.sbin/inetd/Makefile.depend.options   (contents, props changed)
  head/usr.sbin/ngctl/Makefile.depend.options   (contents, props changed)
  head/usr.sbin/ntp/ntp-keygen/Makefile.depend.options   (contents, props 
changed)
  head/usr.sbin/ntp/ntpd/Makefile.depend.options   (contents, props changed)
  head/usr.sbin/ntp/ntpdate/Makefile.depend.options   (contents, props changed)
  head/usr.sbin/ntp/ntpdc/Makefile.depend.options   (contents, props changed)
  head/usr.sbin/ntp/ntpq/Makefile.depend.options   (contents, props changed)
  head/usr.sbin/ntp/sntp/Makefile.depend.options   (contents, props changed)
  head/usr.sbin/rpcbind/Makefile.depend.options   (contents, props changed)
  head/usr.sbin/rtsold/Makefile.depend.options   (contents, props changed)
  head/usr.sbin/sendmail/Makefile.depend.options   (contents, props changed)
  head/usr.sbin/tcpdump/tcpdump/Makefile.depend.options   (contents, props 
changed)
  

svn commit: r355618 - in head: lib/libbsnmp/libbsnmp lib/libgcc_eh lib/libmagic lib/libpmc share/mk targets

2019-12-11 Thread Simon J. Gerraty
Author: sjg
Date: Wed Dec 11 17:38:15 2019
New Revision: 355618
URL: https://svnweb.freebsd.org/changeset/base/355618

Log:
  Update dirdeps.mk and gendirdeps.mk
  
  The env space consumed by exporting all libc's .meta files
  left little room for command line,
  so unexport when done.
  
  Update dirdeps.mk to latest and add
  dirdeps-targets.mk to simplify/update targets/Makefile
  
  Makefile changes to go with Makefile.depend changes in D22494
  
  Reviewed by:   bdrewery
  MFC after:1 week
  Sponsored by:   Juniper Networks
  Differential Revision:  https://reviews.freebsd.org/D22495

Added:
  head/share/mk/dirdeps-targets.mk   (contents, props changed)
  head/share/mk/local.dirdeps-options.mk   (contents, props changed)
Modified:
  head/lib/libbsnmp/libbsnmp/Makefile
  head/lib/libgcc_eh/Makefile
  head/lib/libmagic/Makefile
  head/lib/libpmc/Makefile
  head/share/mk/dirdeps.mk
  head/share/mk/gendirdeps.mk
  head/share/mk/local.dirdeps.mk
  head/share/mk/local.gendirdeps.mk
  head/share/mk/local.meta.sys.mk
  head/share/mk/meta.sys.mk
  head/targets/Makefile
  head/targets/Makefile.inc

Modified: head/lib/libbsnmp/libbsnmp/Makefile
==
--- head/lib/libbsnmp/libbsnmp/Makefile Wed Dec 11 17:37:53 2019
(r355617)
+++ head/lib/libbsnmp/libbsnmp/Makefile Wed Dec 11 17:38:15 2019
(r355618)
@@ -24,12 +24,17 @@ SRCS+=  snmptc.h
 INCS=  asn1.h snmp.h snmpagent.h snmpclient.h
 MAN=   asn1.3 bsnmpagent.3 bsnmpclient.3 bsnmplib.3
 
+.if ${MK_DIRDEPS_BUILD} == "yes"
+GENSNMPTREE?= ${HOST_OBJTOP}/usr.sbin/bsnmpd/gensnmptree/gensnmptree
+.endif
+GENSNMPTREE?= gensnmptree
+
 snmptc.h : tc.def
(\
echo "/* autogenerated from tc.def */";\
echo "#ifndef snmptc_h_1529923773";\
echo "#define snmptc_h_1529923773";\
-   gensnmptree -E -f <${.ALLSRC};\
+   ${GENSNMPTREE} -E -f <${.ALLSRC};\
echo "#endif" ; \
) >${.TARGET}
 

Modified: head/lib/libgcc_eh/Makefile
==
--- head/lib/libgcc_eh/Makefile Wed Dec 11 17:37:53 2019(r355617)
+++ head/lib/libgcc_eh/Makefile Wed Dec 11 17:38:15 2019(r355618)
@@ -10,4 +10,10 @@ WARNS?=  2
 
 .include "Makefile.inc"
 
+.if ${.MAKE.LEVEL} > 0
+# avoid circular dependencies
+GENDIRDEPS_FILTER+= Nlib/msun
+CFLAGS+= -I${SRCTOP}/lib/msun/src
+.endif
+
 .include 

Modified: head/lib/libmagic/Makefile
==
--- head/lib/libmagic/Makefile  Wed Dec 11 17:37:53 2019(r355617)
+++ head/lib/libmagic/Makefile  Wed Dec 11 17:38:15 2019(r355618)
@@ -40,12 +40,18 @@ magic: ${MAGFILES}
 magic.mgc: mkmagic magic
${BTOOLSPATH:U.}/mkmagic magic
 
+.if ${MACHINE} == "host" || ${MK_DIRDEPS_BUILD} == "no"
 CLEANFILES+=   mkmagic
 DEPENDOBJS+=   mkmagic
 build-tools: mkmagic
 mkmagic: apprentice.c cdf_time.c encoding.c funcs.c magic.c print.c ${INCS} 
${BUILD_TOOLS_META}
${CC:N${CCACHE_BIN}} ${CFLAGS} -DCOMPILE_ONLY ${LDFLAGS} -o ${.TARGET} \
${.ALLSRC:N*.h:O:u} ${LDADD}
+
+.endif
+.if ${MK_DIRDEPS_BUILD} == "yes"
+BTOOLSPATH= ${HOST_OBJTOP}/${RELDIR}
+.endif
 
 FILEVER!= awk '$$1 == "\#define" && $$2 == "VERSION" { print $$3; exit }' \
${.CURDIR}/config.h

Modified: head/lib/libpmc/Makefile
==
--- head/lib/libpmc/MakefileWed Dec 11 17:37:53 2019(r355617)
+++ head/lib/libpmc/MakefileWed Dec 11 17:38:15 2019(r355618)
@@ -17,11 +17,19 @@ EVENT_ARCH="x86"
 EVENT_ARCH="powerpc"
 .endif
 
+.if ${MK_DIRDEPS_BUILD} == "yes"
+# avoid circular dependency
+CFLAGS+= -I${RELDIR:H}/libpmcstat
+GENDIRDEPS_FILTER+= N${RELDIR:H}/libpmcstat
+JEVENTS?= ${HOST_OBJTOP}/${RELDIR}/pmu-events/jevents
+.else
 JEVENTS= ${BTOOLSPATH:U.}/pmu-events/jevents
+
 # This file is built in a subdirectory so never try to rebuild it here.
 ${JEVENTS}: .PHONY
 .if make(*clean*)
 SUBDIR+= pmu-events
+.endif
 .endif
 
 libpmc_events.c: ${JEVENTS}

Added: head/share/mk/dirdeps-targets.mk
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/share/mk/dirdeps-targets.mkWed Dec 11 17:38:15 2019
(r355618)
@@ -0,0 +1,134 @@
+# $FreeBSD$
+# RCSid:
+#   $Id: dirdeps-targets.mk,v 1.9 2019/10/06 20:07:50 sjg Exp $
+#
+#   @(#) Copyright (c) 2019 Simon J. Gerraty
+#
+#   This file is provided in the hope that it will
+#   be of use.  There is absolutely NO WARRANTY.
+#   Permission to copy, redistribute or otherwise
+#   use this file is hereby granted provided that 
+#   the above copyright notice and this notice are
+#   left intact. 
+#  
+#   Please send copies of changes and bug-fixes to:
+#   s...@crufty.net
+#
+
+##

svn commit: r355617 - in head: bin/ls cddl/lib/libavl cddl/lib/libctf cddl/lib/libnvpair cddl/lib/libumem cddl/lib/libuutil cddl/lib/libzfs cddl/lib/libzfs_core gnu/lib/libdialog gnu/lib/libgomp gn...

2019-12-11 Thread Simon J. Gerraty
Author: sjg
Date: Wed Dec 11 17:37:53 2019
New Revision: 355617
URL: https://svnweb.freebsd.org/changeset/base/355617

Log:
  Update Makefile.depend files
  
  Update a bunch of Makefile.depend files as
  a result of adding Makefile.depend.options files
  
  Reviewed by:   bdrewery
  MFC after:1 week
  Sponsored by:   Juniper Networks
  Differential Revision:  https://reviews.freebsd.org/D22494

Added:
  head/lib/libbe/Makefile.depend   (contents, props changed)
  head/lib/libcasper/services/cap_fileargs/Makefile.depend   (contents, props 
changed)
  head/lib/libcasper/services/cap_syslog/Makefile.depend   (contents, props 
changed)
  head/lib/libedit/Makefile.depend   (contents, props changed)
  head/lib/libedit/readline/Makefile.depend   (contents, props changed)
  head/lib/libmagic/Makefile.depend.inc   (contents, props changed)
  head/lib/libomp/Makefile.depend   (contents, props changed)
  head/lib/libopencsd/Makefile.depend   (contents, props changed)
  head/lib/libsecureboot/Makefile.depend.amd64   (contents, props changed)
  head/lib/libveriexec/Makefile.depend   (contents, props changed)
  head/lib/ofed/complib/Makefile.depend   (contents, props changed)
  head/lib/ofed/include/Makefile.depend   (contents, props changed)
  head/lib/ofed/libcxgb4/Makefile.depend   (contents, props changed)
  head/lib/ofed/libibcm/Makefile.depend   (contents, props changed)
  head/lib/ofed/libibmad/Makefile.depend   (contents, props changed)
  head/lib/ofed/libibnetdisc/Makefile.depend   (contents, props changed)
  head/lib/ofed/libibverbs/Makefile.depend   (contents, props changed)
  head/lib/ofed/libmlx4/Makefile.depend   (contents, props changed)
  head/lib/ofed/libmlx5/Makefile.depend   (contents, props changed)
  head/lib/ofed/libopensm/Makefile.depend   (contents, props changed)
  head/lib/ofed/librdmacm/Makefile.depend   (contents, props changed)
  head/lib/ofed/libvendor/Makefile.depend   (contents, props changed)
  head/sbin/bectl/Makefile.depend   (contents, props changed)
  head/sbin/devmatch/Makefile.depend   (contents, props changed)
  head/sbin/geom/Makefile.depend   (contents, props changed)
  head/stand/i386/loader_4th/Makefile.depend   (contents, props changed)
Modified:
  head/bin/ls/Makefile.depend
  head/cddl/lib/libavl/Makefile.depend
  head/cddl/lib/libctf/Makefile.depend
  head/cddl/lib/libnvpair/Makefile.depend
  head/cddl/lib/libumem/Makefile.depend
  head/cddl/lib/libuutil/Makefile.depend
  head/cddl/lib/libzfs/Makefile.depend
  head/cddl/lib/libzfs_core/Makefile.depend
  head/gnu/lib/libdialog/Makefile.depend
  head/gnu/lib/libgomp/Makefile.depend
  head/gnu/lib/libregex/Makefile.depend
  head/gnu/lib/libssp/Makefile.depend
  head/gnu/lib/libstdc++/Makefile.depend
  head/gnu/lib/libsupc++/Makefile.depend
  head/kerberos5/lib/libasn1/Makefile.depend
  head/kerberos5/lib/libgssapi_krb5/Makefile.depend
  head/kerberos5/lib/libhdb/Makefile.depend
  head/kerberos5/lib/libheimbase/Makefile.depend
  head/kerberos5/lib/libheimipcc/Makefile.depend
  head/kerberos5/lib/libheimntlm/Makefile.depend
  head/kerberos5/lib/libhx509/Makefile.depend
  head/kerberos5/lib/libkadm5clnt/Makefile.depend
  head/kerberos5/lib/libkafs5/Makefile.depend
  head/kerberos5/lib/libkdc/Makefile.depend
  head/kerberos5/lib/libkrb5/Makefile.depend
  head/kerberos5/lib/libroken/Makefile.depend
  head/kerberos5/lib/libwind/Makefile.depend
  head/lib/atf/libatf-c/Makefile.depend
  head/lib/lib80211/Makefile.depend
  head/lib/libalias/libalias/Makefile.depend
  head/lib/libarchive/Makefile.depend
  head/lib/libbegemot/Makefile.depend
  head/lib/libblacklist/Makefile.depend
  head/lib/libblocksruntime/Makefile.depend
  head/lib/libbluetooth/Makefile.depend
  head/lib/libbsdstat/Makefile.depend
  head/lib/libbsm/Makefile.depend
  head/lib/libbsnmp/libbsnmp/Makefile.depend
  head/lib/libbz2/Makefile.depend
  head/lib/libc++/Makefile.depend
  head/lib/libc/Makefile.depend
  head/lib/libc/tests/tls_dso/Makefile.depend
  head/lib/libcalendar/Makefile.depend
  head/lib/libcam/Makefile.depend
  head/lib/libcasper/libcasper/Makefile.depend
  head/lib/libcasper/services/cap_dns/Makefile.depend
  head/lib/libcasper/services/cap_grp/Makefile.depend
  head/lib/libcasper/services/cap_pwd/Makefile.depend
  head/lib/libcasper/services/cap_sysctl/Makefile.depend
  head/lib/libcom_err/Makefile.depend
  head/lib/libcrypt/Makefile.depend
  head/lib/libcuse/Makefile.depend
  head/lib/libcxxrt/Makefile.depend
  head/lib/libdevctl/Makefile.depend
  head/lib/libdevdctl/Makefile.depend
  head/lib/libdevinfo/Makefile.depend
  head/lib/libdevstat/Makefile.depend
  head/lib/libdpv/Makefile.depend
  head/lib/libdwarf/Makefile.depend
  head/lib/libefivar/Makefile.depend
  head/lib/libelf/Makefile.depend
  head/lib/libevent/Makefile.depend
  head/lib/libexecinfo/Makefile.depend
  head/lib/libexpat/Makefile.depend
  head/lib/libfetch/Makefile.depend
  head/lib/libfigpar/Makefile.depend
  head/lib/libgcc_s/Makefile.depend
  

Re: svn commit: r355430 - head/sys/cam/scsi

2019-12-11 Thread Alan Somers
No, and there's no possibility of connecting a Windows host to this
particular device.  We have some Oracle Solaris servers hooked up to these
expanders, but it looks like Solaris completely ignores the offending
element type.
-Alan

On Wed, Dec 11, 2019 at 10:19 AM Scott Long  wrote:

> U+FFFD doesn’t make sense for an ASCII string, but 0x3F might.  Any idea
> what Windows shows for this device?
>
> Scott
>
> > On Dec 11, 2019, at 8:42 AM, Alan Somers  wrote:
> >
> > In this case the offending descriptor is solid 0xFF, so replacing
> individual characters wouldn't accomplish anything.  I can imagine a
> different buggy expander that has just one or two bad characters.  In that
> case, it would make sense to replace them.  But replace them with what?
> The UTF replacement character 0xFFFD isn't an option, because the result is
> supposed to be ASCII.  There's no other obvious choice, which is why I
> chose to replace the whole thing.
> > -Alan
> >
> > On Fri, Dec 6, 2019 at 2:40 AM Steven Hartland <
> steven.hartl...@multiplay.co.uk> wrote:
> > If the illegal chars where removed or replaced would the result be
> useful, if so might that be a better approach?
> >
> > On Fri, 6 Dec 2019 at 00:06, Alan Somers  wrote:
> > Author: asomers
> > Date: Fri Dec  6 00:06:05 2019
> > New Revision: 355430
> > URL: https://svnweb.freebsd.org/changeset/base/355430
> >
> > Log:
> >   ses: sanitize illegal strings in SES element descriptors
> >
> >   The SES4r3 standard requires that element descriptors may only contain
> ASCII
> >   characters in the range 0x20 to 0x7e.  Some SuperMicro expanders
> violate
> >   that rule.  This patch adds a sanity check to ses(4).  Descriptors in
> >   violation will be replaced by "".
> >
> >   This patch fixes "sesutil --libxo xml" on such systems.  Previously it
> would
> >   generate non-well-formed XML output.
> >
> >   PR:   241929
> >   Reviewed by:  allanjude
> >   MFC after:2 weeks
> >   Sponsored by: Axcient
> >
> > Modified:
> >   head/sys/cam/scsi/scsi_enc_ses.c
> >
> > Modified: head/sys/cam/scsi/scsi_enc_ses.c
> >
> ==
> > --- head/sys/cam/scsi/scsi_enc_ses.cThu Dec  5 19:39:51 2019
> (r355429)
> > +++ head/sys/cam/scsi/scsi_enc_ses.cFri Dec  6 00:06:05 2019
> (r355430)
> > @@ -110,7 +110,7 @@ typedef struct ses_addl_status {
> >  typedef struct ses_element {
> > uint8_t eip;/* eip bit is set */
> > uint16_t descr_len; /* length of the descriptor */
> > -   char *descr;/* descriptor for this object */
> > +   const char *descr;  /* descriptor for this object */
> > struct ses_addl_status addl;/* additional status info */
> >  } ses_element_t;
> >
> > @@ -1977,6 +1977,35 @@ ses_publish_cache(enc_softc_t *enc, struct
> enc_fsm_sta
> > return (0);
> >  }
> >
> > +/*
> > + * \brief Sanitize an element descriptor
> > + *
> > + * The SES4r3 standard, sections 3.1.2 and 6.1.10, specifies that
> element
> > + * descriptors may only contain ASCII characters in the range 0x20 to
> 0x7e.
> > + * But some vendors violate that rule.  Ensure that we only expose
> compliant
> > + * descriptors to userland.
> > + *
> > + * \param desc SES element descriptor as reported by the
> hardware
> > + * \param len  Length of desc in bytes, not necessarily
> including
> > + * trailing NUL.  It will be modified if desc is
> invalid.
> > + */
> > +static const char*
> > +ses_sanitize_elm_desc(const char *desc, uint16_t *len)
> > +{
> > +   const char *invalid = "";
> > +   int i;
> > +
> > +   for (i = 0; i < *len; i++) {
> > +   if (desc[i] < 0x20 || desc[i] > 0x7e) {
> > +   *len = strlen(invalid);
> > +   return (invalid);
> > +   } else if (desc[i] == 0) {
> > +   break;
> > +   }
> > +   }
> > +   return (desc);
> > +}
> > +
> >  /**
> >   * \brief Parse the descriptors for each object.
> >   *
> > @@ -2061,7 +2090,8 @@ ses_process_elm_descs(enc_softc_t *enc, struct
> enc_fsm
> > if (length > 0) {
> > elmpriv = element->elm_private;
> > elmpriv->descr_len = length;
> > -   elmpriv->descr = [offset];
> > +   elmpriv->descr =
> ses_sanitize_elm_desc([offset],
> > +   >descr_len);
> > }
> >
> > /* skip over the descriptor itself */
>
>
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r355615 - head/sys/arm/linux

2019-12-11 Thread Kyle Evans
On Wed, Dec 11, 2019 at 11:28 AM Ed Maste  wrote:
>
> Author: emaste
> Date: Wed Dec 11 17:28:49 2019
> New Revision: 355615
> URL: https://svnweb.freebsd.org/changeset/base/355615
>
> Log:
>   arm linuxulator: add syscalls.conf and Makefile for "make sysent"
>
>   Differential Revision:https://reviews.freebsd.org/D7973
>

This should also feature an addition in ^/Makefile.inc1 if that's not
already on your radar. =)

Thanks,

Kyle Evans
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355615 - head/sys/arm/linux

2019-12-11 Thread Ed Maste
Author: emaste
Date: Wed Dec 11 17:28:49 2019
New Revision: 355615
URL: https://svnweb.freebsd.org/changeset/base/355615

Log:
  arm linuxulator: add syscalls.conf and Makefile for "make sysent"
  
  Differential Revision:https://reviews.freebsd.org/D7973

Added:
  head/sys/arm/linux/Makefile   (contents, props changed)
  head/sys/arm/linux/syscalls.conf   (contents, props changed)

Added: head/sys/arm/linux/Makefile
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sys/arm/linux/Makefile Wed Dec 11 17:28:49 2019(r355615)
@@ -0,0 +1,25 @@
+# Makefile for syscall tables
+#
+# $FreeBSD$
+
+# Don't use an OBJDIR
+.OBJDIR: ${.CURDIR}
+
+.include 
+
+MAKESYSCALLS=  ../../tools/makesyscalls.lua
+SRCS=  syscalls.conf   \
+   syscalls.master
+GENERATED= linux_proto.h   \
+   linux_syscall.h \
+   linux_syscalls.c\
+   linux_sysent.c  \
+   linux_systrace_args.c
+
+all:
+   @echo "make sysent only"
+
+sysent: ${GENERATED}
+
+${GENERATED}: ${MAKESYSCALLS} ${SRCS}
+   ${LUA} ${MAKESYSCALLS} syscalls.master syscalls.conf

Added: head/sys/arm/linux/syscalls.conf
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sys/arm/linux/syscalls.confWed Dec 11 17:28:49 2019
(r355615)
@@ -0,0 +1,11 @@
+# $FreeBSD$
+sysnames="linux_syscalls.c"
+sysproto="linux_proto.h"
+sysproto_h=_LINUX_SYSPROTO_H_
+syshdr="linux_syscall.h"
+syssw="linux_sysent.c"
+sysmk="/dev/null"
+syscallprefix="LINUX_SYS_"
+switchname="linux_sysent"
+namesname="linux_syscallnames"
+systrace="linux_systrace_args.c"
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355614 - head/usr.sbin/kbdmap

2019-12-11 Thread Ed Maste
Author: emaste
Date: Wed Dec 11 17:19:36 2019
New Revision: 355614
URL: https://svnweb.freebsd.org/changeset/base/355614

Log:
  kbdmap: allow INDEX.keymaps to provide the dialog title
  
  Previously kbdmap had a localized menu heading ("Choose your keyboard
  layout") but not the dialog title ("Keyboard Menu").
  
  MFC after:2 weeks
  Sponsored by: The FreeBSD Foundation

Modified:
  head/usr.sbin/kbdmap/kbdmap.c

Modified: head/usr.sbin/kbdmap/kbdmap.c
==
--- head/usr.sbin/kbdmap/kbdmap.c   Wed Dec 11 16:43:54 2019
(r355613)
+++ head/usr.sbin/kbdmap/kbdmap.c   Wed Dec 11 17:19:36 2019
(r355614)
@@ -57,6 +57,7 @@ static const char *sysconfig = DEFAULT_SYSCONFIG;
 static const char *font_current;
 static const char *dir;
 static const char *menu = "";
+static const char *title = "Keyboard Menu";
 
 static int x11;
 static int using_vt;
@@ -360,8 +361,8 @@ show_dialog(struct keymap **km_sorted, int num_keymaps
tmp_name);
exit(1);
}
-   asprintf(, "/usr/bin/dialog --clear --title \"Keyboard Menu\" "
- "--menu \"%s\" 0 0 0", menu);
+   asprintf(, "/usr/bin/dialog --clear --title \"%s\" "
+ "--menu \"%s\" 0 0 0", title, menu);
 
/* start right font, assume that current font is equal
 * to default font in /etc/rc.conf
@@ -627,8 +628,9 @@ menu_read(void)
matches = sscanf(p, "%64[^:]:%64[^:]:%256[^:\n]", 
keym, lng, desc);
if (matches == 3) {
-   if (strcmp(keym, "FONT")
-   && strcmp(keym, "MENU")) {
+   if (strcmp(keym, "FONT") != 0 &&
+   strcmp(keym, "MENU") != 0 &&
+   strcmp(keym, "TITLE") != 0) {
/* Check file exists & is readable */
if (check_file(keym) == -1)
continue;
@@ -705,6 +707,10 @@ menu_read(void)
exit(0);
}
 
+   km = get_keymap("TITLE");
+   if (km)
+   /* Take note of dialog title */
+   title = strdup(km->desc);
km = get_keymap("MENU");
if (km)
/* Take note of menu title */
@@ -715,8 +721,9 @@ menu_read(void)
font = strdup(km->desc);
 
/* Remove unwanted items from list */
-   remove_keymap("MENU");
remove_keymap("FONT");
+   remove_keymap("MENU");
+   remove_keymap("TITLE");
 
/* Look for keymaps not in database */
dirp = opendir(dir);
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r355430 - head/sys/cam/scsi

2019-12-11 Thread Scott Long
U+FFFD doesn’t make sense for an ASCII string, but 0x3F might.  Any idea what 
Windows shows for this device?

Scott

> On Dec 11, 2019, at 8:42 AM, Alan Somers  wrote:
> 
> In this case the offending descriptor is solid 0xFF, so replacing individual 
> characters wouldn't accomplish anything.  I can imagine a different buggy 
> expander that has just one or two bad characters.  In that case, it would 
> make sense to replace them.  But replace them with what?  The UTF replacement 
> character 0xFFFD isn't an option, because the result is supposed to be ASCII. 
>  There's no other obvious choice, which is why I chose to replace the whole 
> thing.
> -Alan
> 
> On Fri, Dec 6, 2019 at 2:40 AM Steven Hartland 
>  wrote:
> If the illegal chars where removed or replaced would the result be useful, if 
> so might that be a better approach?
> 
> On Fri, 6 Dec 2019 at 00:06, Alan Somers  wrote:
> Author: asomers
> Date: Fri Dec  6 00:06:05 2019
> New Revision: 355430
> URL: https://svnweb.freebsd.org/changeset/base/355430
> 
> Log:
>   ses: sanitize illegal strings in SES element descriptors
> 
>   The SES4r3 standard requires that element descriptors may only contain ASCII
>   characters in the range 0x20 to 0x7e.  Some SuperMicro expanders violate
>   that rule.  This patch adds a sanity check to ses(4).  Descriptors in
>   violation will be replaced by "".
> 
>   This patch fixes "sesutil --libxo xml" on such systems.  Previously it would
>   generate non-well-formed XML output.
> 
>   PR:   241929
>   Reviewed by:  allanjude
>   MFC after:2 weeks
>   Sponsored by: Axcient
> 
> Modified:
>   head/sys/cam/scsi/scsi_enc_ses.c
> 
> Modified: head/sys/cam/scsi/scsi_enc_ses.c
> ==
> --- head/sys/cam/scsi/scsi_enc_ses.cThu Dec  5 19:39:51 2019
> (r355429)
> +++ head/sys/cam/scsi/scsi_enc_ses.cFri Dec  6 00:06:05 2019
> (r355430)
> @@ -110,7 +110,7 @@ typedef struct ses_addl_status {
>  typedef struct ses_element {
> uint8_t eip;/* eip bit is set */
> uint16_t descr_len; /* length of the descriptor */
> -   char *descr;/* descriptor for this object */
> +   const char *descr;  /* descriptor for this object */
> struct ses_addl_status addl;/* additional status info */
>  } ses_element_t;
> 
> @@ -1977,6 +1977,35 @@ ses_publish_cache(enc_softc_t *enc, struct enc_fsm_sta
> return (0);
>  }
> 
> +/*
> + * \brief Sanitize an element descriptor
> + *
> + * The SES4r3 standard, sections 3.1.2 and 6.1.10, specifies that element
> + * descriptors may only contain ASCII characters in the range 0x20 to 0x7e.
> + * But some vendors violate that rule.  Ensure that we only expose compliant
> + * descriptors to userland.
> + *
> + * \param desc SES element descriptor as reported by the hardware
> + * \param len  Length of desc in bytes, not necessarily including
> + * trailing NUL.  It will be modified if desc is invalid.
> + */
> +static const char*
> +ses_sanitize_elm_desc(const char *desc, uint16_t *len)
> +{
> +   const char *invalid = "";
> +   int i;
> +
> +   for (i = 0; i < *len; i++) {
> +   if (desc[i] < 0x20 || desc[i] > 0x7e) {
> +   *len = strlen(invalid);
> +   return (invalid);
> +   } else if (desc[i] == 0) {
> +   break;
> +   }
> +   }
> +   return (desc);
> +}
> +
>  /**
>   * \brief Parse the descriptors for each object.
>   *
> @@ -2061,7 +2090,8 @@ ses_process_elm_descs(enc_softc_t *enc, struct enc_fsm
> if (length > 0) {
> elmpriv = element->elm_private;
> elmpriv->descr_len = length;
> -   elmpriv->descr = [offset];
> +   elmpriv->descr = ses_sanitize_elm_desc([offset],
> +   >descr_len);
> }
> 
> /* skip over the descriptor itself */

___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355613 - head/share/man/man7

2019-12-11 Thread Ed Maste
Author: emaste
Date: Wed Dec 11 16:43:54 2019
New Revision: 355613
URL: https://svnweb.freebsd.org/changeset/base/355613

Log:
  security.7: add caveat about interim sysctl paths from r355436
  
  r355436 moved mitigation sysctls to machdep.mitigations but did not
  rationalize the sense of the invidual knobs.  Clarify that the old
  names remain the canonical way to set these mitigations.
  
  Backwards compatibility will be maintained for the original names
  (e.g. hw.ibrs_disable), but not from the interim names
  (e.g. machdep.mitigations.ibrs.disable).
  
  Sponsored by: The FreeBSD Foundation

Modified:
  head/share/man/man7/security.7

Modified: head/share/man/man7/security.7
==
--- head/share/man/man7/security.7  Wed Dec 11 16:09:57 2019
(r355612)
+++ head/share/man/man7/security.7  Wed Dec 11 16:43:54 2019
(r355613)
@@ -28,7 +28,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd November 12, 2019
+.Dd December 11, 2019
 .Dt SECURITY 7
 .Os
 .Sh NAME
@@ -944,6 +944,17 @@ information access more restricted.
 Some people consider this as improving system security, so the knobs are
 briefly listed there, together with controls which enable some mitigations
 of the hardware state leaks.
+.Pp
+Hardware mitigation sysctl knobs described below have been moved under
+.Pa machdep.mitigations ,
+with backwards-compatibility shims to accept the existing names.
+A future change will rationalize the sense of the individual sysctls
+(so that enabled / true always indicates that the mitigation is active).
+For that reason the previous names remain the canonical way to set the
+mitigations, and are documented here.
+Backwards compatibility shims for the interim sysctls under
+.Pa machdep.mitigations
+will not be added.
 .Bl -tag -width security.bsd.unprivileged_proc_debug
 .It Dv security.bsd.see_other_uids
 Controls visibility of processes owned by different uid.
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355612 - head/sys/vm

2019-12-11 Thread Doug Moore
Author: dougm
Date: Wed Dec 11 16:09:57 2019
New Revision: 355612
URL: https://svnweb.freebsd.org/changeset/base/355612

Log:
  Extract code common to _vm_map_clip_start and _vm_map_clip_end into a
  function, vm_map_entry_clone, that can be invoked by each.
  
  Reviewed by: kib, markj
  Differential Revision: https://reviews.freebsd.org/D22760

Modified:
  head/sys/vm/vm_map.c

Modified: head/sys/vm/vm_map.c
==
--- head/sys/vm/vm_map.cWed Dec 11 15:52:29 2019(r355611)
+++ head/sys/vm/vm_map.cWed Dec 11 16:09:57 2019(r355612)
@@ -2291,6 +2291,42 @@ vm_map_entry_charge_object(vm_map_t map, vm_map_entry_
 }
 
 /*
+ * vm_map_entry_clone
+ *
+ * Create a duplicate map entry for clipping.
+ */
+static vm_map_entry_t
+vm_map_entry_clone(vm_map_t map, vm_map_entry_t entry)
+{
+   vm_map_entry_t new_entry;
+
+   VM_MAP_ASSERT_LOCKED(map);
+
+   /*
+* Create a backing object now, if none exists, so that more individual
+* objects won't be created after the map entry is split.
+*/
+   vm_map_entry_charge_object(map, entry);
+
+   /* Clone the entry. */
+   new_entry = vm_map_entry_create(map);
+   *new_entry = *entry;
+   if (new_entry->cred != NULL)
+   crhold(entry->cred);
+   if ((entry->eflags & MAP_ENTRY_IS_SUB_MAP) == 0) {
+   vm_object_reference(new_entry->object.vm_object);
+   vm_map_entry_set_vnode_text(new_entry, true);
+   /*
+* The object->un_pager.vnp.writemappings for the object of
+* MAP_ENTRY_WRITECNT type entry shall be kept as is here.  The
+* virtual pages are re-distributed among the clipped entries,
+* so the sum is left the same.
+*/
+   }
+   return (new_entry);
+}
+
+/*
  * vm_map_clip_start:  [ internal use only ]
  *
  * Asserts that the given entry begins at or after
@@ -2316,16 +2352,8 @@ _vm_map_clip_start(vm_map_t map, vm_map_entry_t entry,
KASSERT(entry->end > start && entry->start < start,
("_vm_map_clip_start: invalid clip of entry %p", entry));
 
-   /*
-* Create a backing object now, if none exists, so that more individual
-* objects won't be created after the map entry is split.
-*/
-   vm_map_entry_charge_object(map, entry);
+   new_entry = vm_map_entry_clone(map, entry);
 
-   /* Clone the entry. */
-   new_entry = vm_map_entry_create(map);
-   *new_entry = *entry;
-
/*
 * Split off the front portion.  Insert the new entry BEFORE this one,
 * so that this entry has the specified starting address.
@@ -2333,22 +2361,7 @@ _vm_map_clip_start(vm_map_t map, vm_map_entry_t entry,
new_entry->end = start;
entry->offset += (start - entry->start);
entry->start = start;
-   if (new_entry->cred != NULL)
-   crhold(entry->cred);
-
vm_map_entry_link(map, new_entry);
-
-   if ((entry->eflags & MAP_ENTRY_IS_SUB_MAP) == 0) {
-   vm_object_reference(new_entry->object.vm_object);
-   vm_map_entry_set_vnode_text(new_entry, true);
-   /*
-* The object->un_pager.vnp.writemappings for the
-* object of MAP_ENTRY_WRITECNT type entry shall be
-* kept as is here.  The virtual pages are
-* re-distributed among the clipped entries, so the sum is
-* left the same.
-*/
-   }
 }
 
 /*
@@ -2377,31 +2390,15 @@ _vm_map_clip_end(vm_map_t map, vm_map_entry_t entry, v
KASSERT(entry->start < end && entry->end > end,
("_vm_map_clip_end: invalid clip of entry %p", entry));
 
-   /*
-* Create a backing object now, if none exists, so that more individual
-* objects won't be created after the map entry is split.
-*/
-   vm_map_entry_charge_object(map, entry);
+   new_entry = vm_map_entry_clone(map, entry);
 
-   /* Clone the entry. */
-   new_entry = vm_map_entry_create(map);
-   *new_entry = *entry;
-
/*
 * Split off the back portion.  Insert the new entry AFTER this one,
 * so that this entry has the specified ending address.
 */
new_entry->start = entry->end = end;
new_entry->offset += (end - entry->start);
-   if (new_entry->cred != NULL)
-   crhold(entry->cred);
-
vm_map_entry_link(map, new_entry);
-
-   if ((entry->eflags & MAP_ENTRY_IS_SUB_MAP) == 0) {
-   vm_object_reference(new_entry->object.vm_object);
-   vm_map_entry_set_vnode_text(new_entry, true);
-   }
 }
 
 /*
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to 

svn commit: r355611 - head/sys/kern

2019-12-11 Thread Andriy Gapon
Author: avg
Date: Wed Dec 11 15:52:29 2019
New Revision: 355611
URL: https://svnweb.freebsd.org/changeset/base/355611

Log:
  add a sanity check to the system call registration code
  
  A system call number should be at least reserved.
  We do not expect an attempt to register a fixed number system call
  when nothing at all is known about it.
  
  MFC after:3 weeks
  Sponsored by: Panzura

Modified:
  head/sys/kern/kern_syscalls.c

Modified: head/sys/kern/kern_syscalls.c
==
--- head/sys/kern/kern_syscalls.c   Wed Dec 11 15:15:21 2019
(r355610)
+++ head/sys/kern/kern_syscalls.c   Wed Dec 11 15:52:29 2019
(r355611)
@@ -120,11 +120,14 @@ kern_syscall_register(struct sysent *sysents, int *off
if (i == SYS_MAXSYSCALL)
return (ENFILE);
*offset = i;
-   } else if (*offset < 0 || *offset >= SYS_MAXSYSCALL)
+   } else if (*offset < 0 || *offset >= SYS_MAXSYSCALL) {
return (EINVAL);
-   else if (sysents[*offset].sy_call != (sy_call_t *)lkmnosys &&
-   sysents[*offset].sy_call != (sy_call_t *)lkmressys)
+   } else if (sysents[*offset].sy_call != (sy_call_t *)lkmnosys &&
+   sysents[*offset].sy_call != (sy_call_t *)lkmressys) {
+   KASSERT(sysents[*offset].sy_call != NULL,
+   ("undefined syscall %d", *offset));
return (EEXIST);
+   }
 
KASSERT(sysents[*offset].sy_thrcnt == SY_THR_ABSENT,
("dynamic syscall is not protected"));
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r355430 - head/sys/cam/scsi

2019-12-11 Thread Alan Somers
In this case the offending descriptor is solid 0xFF, so replacing
individual characters wouldn't accomplish anything.  I can imagine a
different buggy expander that has just one or two bad characters.  In that
case, it would make sense to replace them.  But replace them with what?
The UTF replacement character 0xFFFD isn't an option, because the result is
supposed to be ASCII.  There's no other obvious choice, which is why I
chose to replace the whole thing.
-Alan

On Fri, Dec 6, 2019 at 2:40 AM Steven Hartland <
steven.hartl...@multiplay.co.uk> wrote:

> If the illegal chars where removed or replaced would the result be useful,
> if so might that be a better approach?
>
> On Fri, 6 Dec 2019 at 00:06, Alan Somers  wrote:
>
>> Author: asomers
>> Date: Fri Dec  6 00:06:05 2019
>> New Revision: 355430
>> URL: https://svnweb.freebsd.org/changeset/base/355430
>>
>> Log:
>>   ses: sanitize illegal strings in SES element descriptors
>>
>>   The SES4r3 standard requires that element descriptors may only contain
>> ASCII
>>   characters in the range 0x20 to 0x7e.  Some SuperMicro expanders violate
>>   that rule.  This patch adds a sanity check to ses(4).  Descriptors in
>>   violation will be replaced by "".
>>
>>   This patch fixes "sesutil --libxo xml" on such systems.  Previously it
>> would
>>   generate non-well-formed XML output.
>>
>>   PR:   241929
>>   Reviewed by:  allanjude
>>   MFC after:2 weeks
>>   Sponsored by: Axcient
>>
>> Modified:
>>   head/sys/cam/scsi/scsi_enc_ses.c
>>
>> Modified: head/sys/cam/scsi/scsi_enc_ses.c
>>
>> ==
>> --- head/sys/cam/scsi/scsi_enc_ses.cThu Dec  5 19:39:51 2019
>> (r355429)
>> +++ head/sys/cam/scsi/scsi_enc_ses.cFri Dec  6 00:06:05 2019
>> (r355430)
>> @@ -110,7 +110,7 @@ typedef struct ses_addl_status {
>>  typedef struct ses_element {
>> uint8_t eip;/* eip bit is set */
>> uint16_t descr_len; /* length of the descriptor */
>> -   char *descr;/* descriptor for this object */
>> +   const char *descr;  /* descriptor for this object */
>> struct ses_addl_status addl;/* additional status info */
>>  } ses_element_t;
>>
>> @@ -1977,6 +1977,35 @@ ses_publish_cache(enc_softc_t *enc, struct
>> enc_fsm_sta
>> return (0);
>>  }
>>
>> +/*
>> + * \brief Sanitize an element descriptor
>> + *
>> + * The SES4r3 standard, sections 3.1.2 and 6.1.10, specifies that element
>> + * descriptors may only contain ASCII characters in the range 0x20 to
>> 0x7e.
>> + * But some vendors violate that rule.  Ensure that we only expose
>> compliant
>> + * descriptors to userland.
>> + *
>> + * \param desc SES element descriptor as reported by the hardware
>> + * \param len  Length of desc in bytes, not necessarily including
>> + * trailing NUL.  It will be modified if desc is
>> invalid.
>> + */
>> +static const char*
>> +ses_sanitize_elm_desc(const char *desc, uint16_t *len)
>> +{
>> +   const char *invalid = "";
>> +   int i;
>> +
>> +   for (i = 0; i < *len; i++) {
>> +   if (desc[i] < 0x20 || desc[i] > 0x7e) {
>> +   *len = strlen(invalid);
>> +   return (invalid);
>> +   } else if (desc[i] == 0) {
>> +   break;
>> +   }
>> +   }
>> +   return (desc);
>> +}
>> +
>>  /**
>>   * \brief Parse the descriptors for each object.
>>   *
>> @@ -2061,7 +2090,8 @@ ses_process_elm_descs(enc_softc_t *enc, struct
>> enc_fsm
>> if (length > 0) {
>> elmpriv = element->elm_private;
>> elmpriv->descr_len = length;
>> -   elmpriv->descr = [offset];
>> +   elmpriv->descr =
>> ses_sanitize_elm_desc([offset],
>> +   >descr_len);
>> }
>>
>> /* skip over the descriptor itself */
>>
>
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355610 - in stable/12/sys: cam geom kern

2019-12-11 Thread Alexander Motin
Author: mav
Date: Wed Dec 11 15:15:21 2019
New Revision: 355610
URL: https://svnweb.freebsd.org/changeset/base/355610

Log:
  MFC r355404: Mark some more hot global variables with __read_mostly.

Modified:
  stable/12/sys/cam/cam_xpt.c
  stable/12/sys/geom/geom_io.c
  stable/12/sys/geom/geom_kern.c
  stable/12/sys/kern/kern_mtxpool.c
  stable/12/sys/kern/kern_shutdown.c
  stable/12/sys/kern/kern_timeout.c
  stable/12/sys/kern/sched_4bsd.c
  stable/12/sys/kern/sched_ule.c
  stable/12/sys/kern/vfs_bio.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/cam/cam_xpt.c
==
--- stable/12/sys/cam/cam_xpt.c Wed Dec 11 14:54:29 2019(r355609)
+++ stable/12/sys/cam/cam_xpt.c Wed Dec 11 15:15:21 2019(r355610)
@@ -214,7 +214,7 @@ static struct cdevsw xpt_cdevsw = {
 
 /* Storage for debugging datastructures */
 struct cam_path *cam_dpath;
-u_int32_t cam_dflags = CAM_DEBUG_FLAGS;
+u_int32_t __read_mostly cam_dflags = CAM_DEBUG_FLAGS;
 SYSCTL_UINT(_kern_cam, OID_AUTO, dflags, CTLFLAG_RWTUN,
_dflags, 0, "Enabled debug flags");
 u_int32_t cam_debug_delay = CAM_DEBUG_DELAY;

Modified: stable/12/sys/geom/geom_io.c
==
--- stable/12/sys/geom/geom_io.cWed Dec 11 14:54:29 2019
(r355609)
+++ stable/12/sys/geom/geom_io.cWed Dec 11 15:15:21 2019
(r355610)
@@ -81,9 +81,9 @@ static struct g_bioq g_bio_run_up;
  * pressures exist. See g_io_schedule_down() for more details
  * and limitations.
  */
-static volatile u_int pace;
+static volatile u_int __read_mostly pace;
 
-static uma_zone_t  biozone;
+static uma_zone_t __read_mostly biozone;
 
 /*
  * The head of the list of classifiers used in g_io_request.
@@ -91,8 +91,8 @@ static uma_zone_t biozone;
  * to add/remove entries to the list.
  * Classifiers are invoked in registration order.
  */
-static TAILQ_HEAD(g_classifier_tailq, g_classifier_hook)
-g_classifier_tailq = TAILQ_HEAD_INITIALIZER(g_classifier_tailq);
+static TAILQ_HEAD(, g_classifier_hook) g_classifier_tailq __read_mostly =
+TAILQ_HEAD_INITIALIZER(g_classifier_tailq);
 
 #include 
 

Modified: stable/12/sys/geom/geom_kern.c
==
--- stable/12/sys/geom/geom_kern.c  Wed Dec 11 14:54:29 2019
(r355609)
+++ stable/12/sys/geom/geom_kern.c  Wed Dec 11 15:15:21 2019
(r355610)
@@ -61,12 +61,12 @@ MALLOC_DEFINE(M_GEOM, "GEOM", "Geom data structures");
 struct sx topology_lock;
 
 static struct proc *g_proc;
-static struct thread *g_up_td;
-static struct thread *g_down_td;
-static struct thread *g_event_td;
+static struct thread __read_mostly *g_up_td;
+static struct thread __read_mostly *g_down_td;
+static struct thread __read_mostly *g_event_td;
 
-int g_debugflags;
-int g_collectstats = 1;
+int __read_mostly g_debugflags;
+int __read_mostly g_collectstats = G_STATS_PROVIDERS;
 int g_shutdown;
 int g_notaste;
 

Modified: stable/12/sys/kern/kern_mtxpool.c
==
--- stable/12/sys/kern/kern_mtxpool.c   Wed Dec 11 14:54:29 2019
(r355609)
+++ stable/12/sys/kern/kern_mtxpool.c   Wed Dec 11 15:15:21 2019
(r355610)
@@ -82,7 +82,7 @@ struct mtx_pool {
 #define mtx_pool_shift mtx_pool_header.mtxpool_shift
 #define mtx_pool_next  mtx_pool_header.mtxpool_next
 
-struct mtx_pool *mtxpool_sleep;
+struct mtx_pool __read_frequently *mtxpool_sleep;
 
 #if UINTPTR_MAX == UINT64_MAX  /* 64 bits */
 # define POINTER_BITS  64

Modified: stable/12/sys/kern/kern_shutdown.c
==
--- stable/12/sys/kern/kern_shutdown.c  Wed Dec 11 14:54:29 2019
(r355609)
+++ stable/12/sys/kern/kern_shutdown.c  Wed Dec 11 15:15:21 2019
(r355610)
@@ -205,9 +205,9 @@ SYSCTL_INT(_kern, OID_AUTO, kerneldump_gzlevel, CTLFLA
  * Variable panicstr contains argument to first call to panic; used as flag
  * to indicate that the kernel has already called panic.
  */
-const char *panicstr;
+const char __read_mostly *panicstr;
 
-int dumping;   /* system is dumping */
+int __read_mostly dumping; /* system is dumping */
 int rebooting; /* system is rebooting */
 static struct dumperinfo dumper;   /* our selected dumper */
 

Modified: stable/12/sys/kern/kern_timeout.c
==
--- stable/12/sys/kern/kern_timeout.c   Wed Dec 11 14:54:29 2019
(r355609)
+++ stable/12/sys/kern/kern_timeout.c   Wed Dec 11 15:15:21 2019
(r355610)
@@ -129,7 +129,8 @@ SYSCTL_INT(_kern, OID_AUTO, pin_pcpu_swi, CTLFLAG_RDTU
  * TODO:
  * allocate more timeout table slots when table overflows.
  */
-u_int callwheelsize, 

svn commit: r355609 - head

2019-12-11 Thread Ed Maste
Author: emaste
Date: Wed Dec 11 14:54:29 2019
New Revision: 355609
URL: https://svnweb.freebsd.org/changeset/base/355609

Log:
  Make NOCLEAN an error instead of a warning
  
  The warning was added in r289728 (over four years ago) and at that time
  NO_CLEAN was already the correct spelling for over a decade.
  
  Make NOCLEAN an error as the next step to removing these backward
  compatibility shims.

Modified:
  head/Makefile.inc1

Modified: head/Makefile.inc1
==
--- head/Makefile.inc1  Wed Dec 11 14:28:13 2019(r355608)
+++ head/Makefile.inc1  Wed Dec 11 14:54:29 2019(r355609)
@@ -458,8 +458,7 @@ SUBDIR+=etc
 .endif # !empty(SUBDIR_OVERRIDE)
 
 .if defined(NOCLEAN)
-.warning NOCLEAN option is deprecated. Use NO_CLEAN instead.
-NO_CLEAN=  ${NOCLEAN}
+.error NOCLEAN option is deprecated. Use NO_CLEAN instead.
 .endif
 .if defined(NO_CLEANDIR)
 CLEANDIR=  clean cleandepend
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355608 - stable/12/sys/dev/iwm

2019-12-11 Thread Mark Johnston
Author: markj
Date: Wed Dec 11 14:28:13 2019
New Revision: 355608
URL: https://svnweb.freebsd.org/changeset/base/355608

Log:
  MFC r355144:
  iwm(4): Remove _mvm from the namespace.

Modified:
  stable/12/sys/dev/iwm/if_iwm.c
  stable/12/sys/dev/iwm/if_iwm_binding.c
  stable/12/sys/dev/iwm/if_iwm_binding.h
  stable/12/sys/dev/iwm/if_iwm_constants.h
  stable/12/sys/dev/iwm/if_iwm_fw.c
  stable/12/sys/dev/iwm/if_iwm_led.c
  stable/12/sys/dev/iwm/if_iwm_led.h
  stable/12/sys/dev/iwm/if_iwm_mac_ctxt.c
  stable/12/sys/dev/iwm/if_iwm_mac_ctxt.h
  stable/12/sys/dev/iwm/if_iwm_phy_ctxt.c
  stable/12/sys/dev/iwm/if_iwm_phy_ctxt.h
  stable/12/sys/dev/iwm/if_iwm_power.c
  stable/12/sys/dev/iwm/if_iwm_power.h
  stable/12/sys/dev/iwm/if_iwm_scan.c
  stable/12/sys/dev/iwm/if_iwm_scan.h
  stable/12/sys/dev/iwm/if_iwm_sf.c
  stable/12/sys/dev/iwm/if_iwm_sf.h
  stable/12/sys/dev/iwm/if_iwm_sta.c
  stable/12/sys/dev/iwm/if_iwm_sta.h
  stable/12/sys/dev/iwm/if_iwm_time_event.c
  stable/12/sys/dev/iwm/if_iwm_time_event.h
  stable/12/sys/dev/iwm/if_iwm_util.c
  stable/12/sys/dev/iwm/if_iwm_util.h
  stable/12/sys/dev/iwm/if_iwmreg.h
  stable/12/sys/dev/iwm/if_iwmvar.h
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/dev/iwm/if_iwm.c
==
--- stable/12/sys/dev/iwm/if_iwm.c  Wed Dec 11 14:27:33 2019
(r355607)
+++ stable/12/sys/dev/iwm/if_iwm.c  Wed Dec 11 14:28:13 2019
(r355608)
@@ -231,10 +231,10 @@ struct iwm_nvm_section {
uint8_t *data;
 };
 
-#define IWM_MVM_UCODE_ALIVE_TIMEOUThz
-#define IWM_MVM_UCODE_CALIB_TIMEOUT(2*hz)
+#define IWM_UCODE_ALIVE_TIMEOUThz
+#define IWM_UCODE_CALIB_TIMEOUT(2*hz)
 
-struct iwm_mvm_alive_data {
+struct iwm_alive_data {
int valid;
uint32_t scd_base_addr;
 };
@@ -263,7 +263,7 @@ static void iwm_disable_interrupts(struct iwm_softc *)
 static voidiwm_ict_reset(struct iwm_softc *);
 static int iwm_allow_mcast(struct ieee80211vap *, struct iwm_softc *);
 static voidiwm_stop_device(struct iwm_softc *);
-static voidiwm_mvm_nic_config(struct iwm_softc *);
+static voidiwm_nic_config(struct iwm_softc *);
 static int iwm_nic_rx_init(struct iwm_softc *);
 static int iwm_nic_tx_init(struct iwm_softc *);
 static int iwm_nic_init(struct iwm_softc *);
@@ -317,23 +317,23 @@ static intiwm_pcie_load_given_ucode(struct 
iwm_softc 
 static int iwm_start_fw(struct iwm_softc *, const struct iwm_fw_img *);
 static int iwm_send_tx_ant_cfg(struct iwm_softc *, uint8_t);
 static int iwm_send_phy_cfg_cmd(struct iwm_softc *);
-static int iwm_mvm_load_ucode_wait_alive(struct iwm_softc *,
+static int iwm_load_ucode_wait_alive(struct iwm_softc *,
   enum iwm_ucode_type);
-static int iwm_run_init_mvm_ucode(struct iwm_softc *, int);
-static int iwm_mvm_config_ltr(struct iwm_softc *sc);
+static int iwm_run_init_ucode(struct iwm_softc *, int);
+static int iwm_config_ltr(struct iwm_softc *sc);
 static int iwm_rx_addbuf(struct iwm_softc *, int, int);
-static voidiwm_mvm_rx_rx_phy_cmd(struct iwm_softc *,
+static voidiwm_rx_rx_phy_cmd(struct iwm_softc *,
   struct iwm_rx_packet *);
 static int iwm_get_noise(struct iwm_softc *,
-   const struct iwm_mvm_statistics_rx_non_phy *);
-static voidiwm_mvm_handle_rx_statistics(struct iwm_softc *,
+   const struct iwm_statistics_rx_non_phy *);
+static voidiwm_handle_rx_statistics(struct iwm_softc *,
struct iwm_rx_packet *);
-static booliwm_mvm_rx_mpdu(struct iwm_softc *, struct mbuf *,
+static booliwm_rx_mpdu(struct iwm_softc *, struct mbuf *,
uint32_t, bool);
-static int iwm_mvm_rx_tx_cmd_single(struct iwm_softc *,
+static int iwm_rx_tx_cmd_single(struct iwm_softc *,
  struct iwm_rx_packet *,
 struct iwm_node *);
-static voidiwm_mvm_rx_tx_cmd(struct iwm_softc *, struct iwm_rx_packet *);
+static voidiwm_rx_tx_cmd(struct iwm_softc *, struct iwm_rx_packet *);
 static voidiwm_cmd_done(struct iwm_softc *, struct iwm_rx_packet *);
 #if 0
 static voidiwm_update_sched(struct iwm_softc *, int, int, uint8_t,
@@ -346,7 +346,7 @@ static int  iwm_tx(struct iwm_softc *, struct mbuf *,
struct ieee80211_node *, int);
 static int iwm_raw_xmit(struct ieee80211_node *, struct mbuf *,
 const struct ieee80211_bpf_params *);
-static int iwm_mvm_update_quotas(struct iwm_softc *, struct iwm_vap *);
+static int iwm_update_quotas(struct iwm_softc *, struct iwm_vap *);
 static int iwm_auth(struct ieee80211vap *, struct iwm_softc *);
 static struct ieee80211_node *
iwm_node_alloc(struct ieee80211vap *,
@@ 

svn commit: r355607 - stable/12/sys/dev/iwm

2019-12-11 Thread Mark Johnston
Author: markj
Date: Wed Dec 11 14:27:33 2019
New Revision: 355607
URL: https://svnweb.freebsd.org/changeset/base/355607

Log:
  MFC r355143:
  iwm(4): Fix version string formatting.

Modified:
  stable/12/sys/dev/iwm/if_iwm.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/dev/iwm/if_iwm.c
==
--- stable/12/sys/dev/iwm/if_iwm.c  Wed Dec 11 14:27:00 2019
(r355606)
+++ stable/12/sys/dev/iwm/if_iwm.c  Wed Dec 11 14:27:33 2019
(r355607)
@@ -851,7 +851,7 @@ iwm_read_firmware(struct iwm_softc *sc)
goto parse_out;
}
snprintf(sc->sc_fwver, sizeof(sc->sc_fwver),
-   "%d.%d.%d",
+   "%u.%u.%u",
le32toh(((const uint32_t *)tlv_data)[0]),
le32toh(((const uint32_t *)tlv_data)[1]),
le32toh(((const uint32_t *)tlv_data)[2]));
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r355606 - stable/12/sys/vm

2019-12-11 Thread Mark Johnston
Author: markj
Date: Wed Dec 11 14:27:00 2019
New Revision: 355606
URL: https://svnweb.freebsd.org/changeset/base/355606

Log:
  MFC r355399:
  Fix an off-by-one error in vm_map_pmap_enter().

Modified:
  stable/12/sys/vm/vm_map.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/vm/vm_map.c
==
--- stable/12/sys/vm/vm_map.c   Wed Dec 11 06:50:55 2019(r355605)
+++ stable/12/sys/vm/vm_map.c   Wed Dec 11 14:27:00 2019(r355606)
@@ -2385,7 +2385,7 @@ vm_map_pmap_enter(vm_map_t map, vm_offset_t addr, vm_p
 
psize = atop(size);
if (psize + pindex > object->size) {
-   if (object->size < pindex) {
+   if (pindex >= object->size) {
VM_OBJECT_RUNLOCK(object);
return;
}
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r355600 - in head: share/man/man9 sys/kern sys/sys

2019-12-11 Thread Hans Petter Selasky

On 2019-12-11 10:26, Alexey Dokuchaev wrote:

That's one of those things that make Linux so unpleasant to work with.
Frankly, I don't think we want that for FreeBSD.


The argument for the current callback is still a "void *".
container_of() has some type checks at least.

It is not a big deal though.

--HPS
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r355600 - in head: share/man/man9 sys/kern sys/sys

2019-12-11 Thread Alexey Dokuchaev
On Tue, Dec 10, 2019 at 11:09:41PM +0100, Hans Petter Selasky wrote:
> On 2019-12-10 22:58, John Baldwin wrote:
> >   While here, add  to the manpage.
> 
> FYI:
> 
> Linux guys eliminated the "void *c_arg" in their timer implementation by
> using container_of() to get callback argument. We could possibly do the
> same!

#define container_of(ptr, type, member) ({  \
void *__mptr = (void *)(ptr);   \
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
 !__same_type(*(ptr), void),\
 "pointer type mismatch in container_of()");\
((type *)(__mptr - offsetof(type, member))); })

That's one of those things that make Linux so unpleasant to work with.
Frankly, I don't think we want that for FreeBSD.

./danfe
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r355600 - in head: share/man/man9 sys/kern sys/sys

2019-12-11 Thread Hans Petter Selasky

On 2019-12-10 23:47, John Baldwin wrote:

You mean passing the pointer to the callout itself and using that to get to the
relevant pointer?


Yes.

--HPS
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"