Am Mon, 25 Dec 2017 18:56:08 + (UTC)
Warner Losh schrieb:
> Author: imp
> Date: Mon Dec 25 18:56:08 2017
> New Revision: 327177
> URL: https://svnweb.freebsd.org/changeset/base/327177
>
> Log:
> Match unattached devices on the system to potential kernel modules.
>
> devmatch(8) matchs up devices in the system device tree with drivers
> that may match them. For each unattached device in the system, it
> tries to find matching PNP info in the linker hints and prints modules
> to load to claim the devices.
>
> In --unbound mode, devmatch can look for drivers that have attached to
> devices in the device tree and have plug and play information, but for
> which no PNP info exists. This helps find drivers that haven't been
> converted yet that are in use on this system.
>
> In addition, the ability to dump out linker.hints is provided.
>
> Future commits will add hooks to devd.conf and rc.d to fully automate
> using this information.
>
> Added:
> head/usr.sbin/devmatch/
> head/usr.sbin/devmatch/Makefile (contents, props changed)
> head/usr.sbin/devmatch/devmatch.8 (contents, props changed)
> head/usr.sbin/devmatch/devmatch.c (contents, props changed)
> Modified:
> head/usr.sbin/Makefile
>
> Modified: head/usr.sbin/Makefile
> ==
> --- head/usr.sbin/MakefileMon Dec 25 16:40:09 2017(r327176)
> +++ head/usr.sbin/MakefileMon Dec 25 18:56:08 2017(r327177)
> @@ -21,6 +21,7 @@ SUBDIR= adduser \
> dconschat \
> devctl \
> devinfo \
> + devmath \
> digictl \
> diskinfo \
> dumpcis \
>
> Added: head/usr.sbin/devmatch/Makefile
> ==
> --- /dev/null 00:00:00 1970 (empty, because file is newly added)
> +++ head/usr.sbin/devmatch/Makefile Mon Dec 25 18:56:08 2017
> (r327177)
> @@ -0,0 +1,8 @@
> +# $FreeBSD$
> +
> +PROG=devmatch
> +MAN= devmatch.8
> +
> +LIBADD= devinfo
> +
> +.include
>
> Added: head/usr.sbin/devmatch/devmatch.8
> ==
> --- /dev/null 00:00:00 1970 (empty, because file is newly added)
> +++ head/usr.sbin/devmatch/devmatch.8 Mon Dec 25 18:56:08 2017
> (r327177)
> @@ -0,0 +1,85 @@
> +.\"
> +.\" Copyright (c) 2017 Netflix, Inc
> +.\"
> +.\" All rights reserved.
> +.\"
> +.\" Redistribution and use in source and binary forms, with or without
> +.\" modification, are permitted provided that the following conditions
> +.\" are met:
> +.\" 1. Redistributions of source code must retain the above copyright
> +.\"notice, this list of conditions and the following disclaimer.
> +.\" 2. Redistributions in binary form must reproduce the above copyright
> +.\"notice, this list of conditions and the following disclaimer in the
> +.\"documentation and/or other materials provided with the distribution.
> +.\"
> +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
> +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
> +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
> +.\" IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
> +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
> +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
> +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
> +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
> +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> +.\"
> +.\" $FreeBSD$
> +.\"
> +.Dd December 25, 2017
> +.Dt DEVMATCH 8
> +.Os
> +.Sh NAME
> +.Nm devinfo
> +.Nd print information about unattached devices
> +.Sh SYNOPSIS
> +.Nm
> +.Op Fl aduv
> +.Op Fl -all
> +.Op Fl -dump
> +.Op Fl -unbound
> +.Op Fl -verbose
> +.Sh DESCRIPTION
> +The
> +.Nm
> +utility, without any arguments, prints all the kernel modules it has
> +found for all the unattached, enabled devices in the system.
> +.Bl -tag -width 20m
> +.It Fl a Fl -all
> +Include all devices, not just the ones that are unattached.
> +.It Fl d Fl -dump
> +Produce a human readable dump of the
> +.Pa linker.hints
> +file.
> +.It Fl u Fl -unbound
> +Attempt to produce a list of those drivers with PNP info whose driver
> +tables with that PNP info can't be found.
> +.It Fl v Fl -verbose
> +Produce more verbose output.
> +.El
> +.Sh SEE ALSO
> +.Xr devinfo 8
> +.Sh BUGS
> +The kernel has hints in it, but we exclude it from the list of modules
> +to suggest for unmatched devices.
> +We exclude it when suggesting drivers, but include it when looking for
> +unbound devices or producing a full dump of
> +.Pa linker.hints .
> +This can be confusing.
> +.Pp
>