xref: /freebsd/sbin/kldstat/kldstat.8 (revision 9f44a47fd07924afc035991af15d84e6585dea4f)
1.\"
2.\" Copyright (c) 1997 Doug Rabson
3.\" All rights reserved.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\"    notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\"    notice, this list of conditions and the following disclaimer in the
12.\"    documentation and/or other materials provided with the distribution.
13.\"
14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24.\" SUCH DAMAGE.
25.\"
26.\" $FreeBSD$
27.\"
28.Dd January 19, 2016
29.Dt KLDSTAT 8
30.Os
31.Sh NAME
32.Nm kldstat
33.Nd display status of dynamic kernel linker
34.Sh SYNOPSIS
35.Nm
36.Op Fl h
37.Op Fl q
38.Op Fl v
39.Op Fl d
40.Op Fl i Ar id
41.Op Fl n Ar filename
42.Nm
43.Op Fl q
44.Op Fl d
45.Op Fl m Ar modname
46.Sh DESCRIPTION
47The
48.Nm
49utility displays the status of any files dynamically linked into the
50kernel.
51.Pp
52The following options are available:
53.Bl -tag -width indentXX
54.It Fl h
55Display the size field in a human-readable form, using unit suffixes
56instead of hex values.
57.It Fl v
58Be more verbose.
59.It Fl d
60Show the module specific data (as int, unsigned int and unsigned long)
61.It Fl i Ar id
62Display the status of only the file with this ID.
63.It Fl n Ar filename
64Display the status of only the file with this filename.
65.It Fl q
66Only check if file is loaded or compiled into the kernel.
67.It Fl m Ar modname
68Display the status of only the module with this modname.
69.El
70.Sh EXIT STATUS
71.Ex -std
72.Sh EXAMPLES
73Show files dynamically linked into the kernel.
74Note the kernel itself is shown in the list.
75.Em Refs
76shows the number of modules referenced by each file:
77.Bd -literal -offset indent
78$ kldstat
79Id Refs Address                Size Name
80 1   38 0xffffffff80200000  2448f20 kernel
81 2    3 0xffffffff82649000    b7bd8 linux.ko
82 3    5 0xffffffff82701000     9698 linux_common.ko
83 4    1 0xffffffff82b11000     1eae linsysfs.ko
84 5    1 0xffffffff82b13000    f2af8 nvidia-modeset.ko
85 6    1 0xffffffff82c06000  122b020 nvidia.ko
86 7    1 0xffffffff83e32000     2668 intpm.ko
87 8    1 0xffffffff83e35000      b50 smbus.ko
88 9    1 0xffffffff83e36000     18a0 uhid.ko
8910    1 0xffffffff83e38000     2928 ums.ko
9011    1 0xffffffff83e3b000     1aa0 wmt.ko
9112    1 0xffffffff83e3d000     cd70 snd_uaudio.ko
92.Ed
93.Pp
94Show the verbose status of the
95.Em linux
96file and show the size in a human readable fashion:
97.Bd -literal -offset indent
98$ kldstat -h -v -n linux
99Id Refs Address             Size Name
100 2    3 0xffffffff82649000  735K linux.ko (/boot/kernel/linux.ko)
101        Contains modules:
102                 Id Name
103                  2 linuxelf
104.Ed
105.Pp
106Same as above using the
107.Em id
108of the file:
109.Bd -literal -offset indent
110$ kldstat -h -i 2 -v
111Id Refs Address             Size Name
112 2    3 0xffffffff82649000  735K linux.ko (/boot/kernel/linux.ko)
113        Contains modules:
114                 Id Name
115                  2 linuxelf
116.Ed
117.Pp
118Show the status of the
119.Em linuxelf
120module obtained from the example above:
121.Bd -literal -offset indent
122$ kldstat -v -m linuxelf
123Id  Refs Name
124  2    1 linuxelf
125.Ed
126.Pp
127Show the module specific data for the
128.Em g_raid
129module:
130.Bd -literal -offset indent
131$ kldstat -d -m g_raid
132Id  Refs Name data..(int, uint, ulong)
133366    1 g_raid (0, 0, 0x0)
134.Ed
135.Pp
136Check if the module
137.Em fakefile
138is linked.
139Returns 0 if it is, 1 otherwise:
140.Bd -literal -offset indent
141$ kldstat -q -n fakefile || echo file not linked
142file not linked
143.Ed
144.Sh SEE ALSO
145.Xr kldstat 2 ,
146.Xr kldload 8 ,
147.Xr kldunload 8
148.Sh HISTORY
149The
150.Nm
151utility first appeared in
152.Fx 3.0 ,
153replacing the
154.Nm lkm
155interface.
156.Sh AUTHORS
157.An Doug Rabson Aq Mt dfr@FreeBSD.org
158