xref: /freebsd/sbin/kldstat/kldstat.8 (revision e0c4386e)
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.Dd January 19, 2016
27.Dt KLDSTAT 8
28.Os
29.Sh NAME
30.Nm kldstat
31.Nd display status of dynamic kernel linker
32.Sh SYNOPSIS
33.Nm
34.Op Fl h
35.Op Fl q
36.Op Fl v
37.Op Fl d
38.Op Fl i Ar id
39.Op Fl n Ar filename
40.Nm
41.Op Fl q
42.Op Fl d
43.Op Fl m Ar modname
44.Sh DESCRIPTION
45The
46.Nm
47utility displays the status of any files dynamically linked into the
48kernel.
49.Pp
50The following options are available:
51.Bl -tag -width indentXX
52.It Fl h
53Display the size field in a human-readable form, using unit suffixes
54instead of hex values.
55.It Fl v
56Be more verbose.
57.It Fl d
58Show the module specific data (as int, unsigned int and unsigned long)
59.It Fl i Ar id
60Display the status of only the file with this ID.
61.It Fl n Ar filename
62Display the status of only the file with this filename.
63.It Fl q
64Only check if file is loaded or compiled into the kernel.
65.It Fl m Ar modname
66Display the status of only the module with this modname.
67.El
68.Sh EXIT STATUS
69.Ex -std
70.Sh EXAMPLES
71Show files dynamically linked into the kernel.
72Note the kernel itself is shown in the list.
73.Em Refs
74shows the number of modules referenced by each file:
75.Bd -literal -offset indent
76$ kldstat
77Id Refs Address                Size Name
78 1   38 0xffffffff80200000  2448f20 kernel
79 2    3 0xffffffff82649000    b7bd8 linux.ko
80 3    5 0xffffffff82701000     9698 linux_common.ko
81 4    1 0xffffffff82b11000     1eae linsysfs.ko
82 5    1 0xffffffff82b13000    f2af8 nvidia-modeset.ko
83 6    1 0xffffffff82c06000  122b020 nvidia.ko
84 7    1 0xffffffff83e32000     2668 intpm.ko
85 8    1 0xffffffff83e35000      b50 smbus.ko
86 9    1 0xffffffff83e36000     18a0 uhid.ko
8710    1 0xffffffff83e38000     2928 ums.ko
8811    1 0xffffffff83e3b000     1aa0 wmt.ko
8912    1 0xffffffff83e3d000     cd70 snd_uaudio.ko
90.Ed
91.Pp
92Show the verbose status of the
93.Em linux
94file and show the size in a human readable fashion:
95.Bd -literal -offset indent
96$ kldstat -h -v -n linux
97Id Refs Address             Size Name
98 2    3 0xffffffff82649000  735K linux.ko (/boot/kernel/linux.ko)
99        Contains modules:
100                 Id Name
101                  2 linuxelf
102.Ed
103.Pp
104Same as above using the
105.Em id
106of the file:
107.Bd -literal -offset indent
108$ kldstat -h -i 2 -v
109Id Refs Address             Size Name
110 2    3 0xffffffff82649000  735K linux.ko (/boot/kernel/linux.ko)
111        Contains modules:
112                 Id Name
113                  2 linuxelf
114.Ed
115.Pp
116Show the status of the
117.Em linuxelf
118module obtained from the example above:
119.Bd -literal -offset indent
120$ kldstat -v -m linuxelf
121Id  Refs Name
122  2    1 linuxelf
123.Ed
124.Pp
125Show the module specific data for the
126.Em g_raid
127module:
128.Bd -literal -offset indent
129$ kldstat -d -m g_raid
130Id  Refs Name data..(int, uint, ulong)
131366    1 g_raid (0, 0, 0x0)
132.Ed
133.Pp
134Check if the module
135.Em fakefile
136is linked.
137Returns 0 if it is, 1 otherwise:
138.Bd -literal -offset indent
139$ kldstat -q -n fakefile || echo file not linked
140file not linked
141.Ed
142.Sh SEE ALSO
143.Xr kldstat 2 ,
144.Xr kldload 8 ,
145.Xr kldunload 8
146.Sh HISTORY
147The
148.Nm
149utility first appeared in
150.Fx 3.0 ,
151replacing the
152.Nm lkm
153interface.
154.Sh AUTHORS
155.An Doug Rabson Aq Mt dfr@FreeBSD.org
156