xref: /freebsd/share/man/man4/lindebugfs.4 (revision 1687d77197c01c6ffd5bb233c7a15c6ebb9319af)
1*1687d771SAlexander Ziaee.\"  SPDX-License-Identifier: BSD-2-Clause
2*1687d771SAlexander Ziaee.\"
3*1687d771SAlexander Ziaee.\"  Copyright (c) 2022, Jake Freeland <jfree@freebsd.org>
4*1687d771SAlexander Ziaee.\"
5*1687d771SAlexander Ziaee.\"  Redistribution and use in source and binary forms, with or without
6*1687d771SAlexander Ziaee.\"  modification, are permitted provided that the following conditions
7*1687d771SAlexander Ziaee.\"  are met:
8*1687d771SAlexander Ziaee.\"  1. Redistributions of source code must retain the above copyright
9*1687d771SAlexander Ziaee.\"     notice, this list of conditions and the following disclaimer.
10*1687d771SAlexander Ziaee.\"  2. Redistributions in binary form must reproduce the above copyright
11*1687d771SAlexander Ziaee.\"     notice, this list of conditions and the following disclaimer in the
12*1687d771SAlexander Ziaee.\"     documentation and/or other materials provided with the distribution.
13*1687d771SAlexander Ziaee.\"
14*1687d771SAlexander Ziaee.\"  THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15*1687d771SAlexander Ziaee.\"  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16*1687d771SAlexander Ziaee.\"  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17*1687d771SAlexander Ziaee.\"  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18*1687d771SAlexander Ziaee.\"  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19*1687d771SAlexander Ziaee.\"  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20*1687d771SAlexander Ziaee.\"  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21*1687d771SAlexander Ziaee.\"  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22*1687d771SAlexander Ziaee.\"  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23*1687d771SAlexander Ziaee.\"  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24*1687d771SAlexander Ziaee.\"  SUCH DAMAGE.
25*1687d771SAlexander Ziaee
26*1687d771SAlexander Ziaee.Dd August 10, 2022
27*1687d771SAlexander Ziaee.Dt LINDEBUGFS 4
28*1687d771SAlexander Ziaee.Os
29*1687d771SAlexander Ziaee.Sh NAME
30*1687d771SAlexander Ziaee.Nm lindebugfs
31*1687d771SAlexander Ziaee.Nd Linux file system for debugging
32*1687d771SAlexander Ziaee.Sh SYNOPSIS
33*1687d771SAlexander Ziaee.Bd -literal
34*1687d771SAlexander Ziaeelindebugfs		/sys/kernel/debug	lindebugfs	rw 0 0
35*1687d771SAlexander Ziaee.Ed
36*1687d771SAlexander Ziaee.Sh DESCRIPTION
37*1687d771SAlexander ZiaeeThe debug file system, or debugfs, makes process debugging easier by
38*1687d771SAlexander Ziaeeproviding a simple API for data transfer between the kernel and user
39*1687d771SAlexander Ziaeespace.
40*1687d771SAlexander ZiaeeDebugfs is not a general-purpose file system and should not be used as
41*1687d771SAlexander Ziaeea storage medium.
42*1687d771SAlexander ZiaeeInstead, developers can implement the debugfs interface in their code
43*1687d771SAlexander Ziaeeto generate debug information about their program at runtime.
44*1687d771SAlexander ZiaeeFreeBSD's
45*1687d771SAlexander Ziaee.Nm
46*1687d771SAlexander Ziaeeuses the
47*1687d771SAlexander Ziaee.Xr pseudofs 9
48*1687d771SAlexander Ziaeefile system construction kit to model itself after Linux's debugfs.
49*1687d771SAlexander ZiaeeThe
50*1687d771SAlexander Ziaee.Nm
51*1687d771SAlexander ZiaeeAPI is intended for use with programs that take advantage of FreeBSD's
52*1687d771SAlexander ZiaeeLinuxKPI compatibility layer.
53*1687d771SAlexander Ziaee.Pp
54*1687d771SAlexander ZiaeeWhen mounted,
55*1687d771SAlexander Ziaee.Nm
56*1687d771SAlexander Ziaeewill populate with pseudo files from any running process that calls
57*1687d771SAlexander Ziaee.Nm debugfs_create_file() .
58*1687d771SAlexander ZiaeeSince
59*1687d771SAlexander Ziaee.Nm
60*1687d771SAlexander Ziaeeis a pseudo file system, file contents will be generated dynamically
61*1687d771SAlexander Ziaeebased on program provided file operations.
62*1687d771SAlexander ZiaeeThe current
63*1687d771SAlexander Ziaee.Nm
64*1687d771SAlexander Ziaeeimplementation formally supports seq_file and simple_attr_file virtual
65*1687d771SAlexander Ziaeefile formats.
66*1687d771SAlexander Ziaee.Sh EXAMPLES
67*1687d771SAlexander ZiaeeLoad the
68*1687d771SAlexander Ziaee.Nm
69*1687d771SAlexander Ziaeekernel module:
70*1687d771SAlexander Ziaee.Pp
71*1687d771SAlexander Ziaee.Dl "kldload lindebugfs"
72*1687d771SAlexander Ziaee.Pp
73*1687d771SAlexander ZiaeeMount the
74*1687d771SAlexander Ziaee.Nm
75*1687d771SAlexander Ziaeefile system on
76*1687d771SAlexander Ziaee.Pa /sys/kernel/debug :
77*1687d771SAlexander Ziaee.Pp
78*1687d771SAlexander Ziaee.Dl "mount -t lindebugfs lindebugfs /sys/kernel/debug"
79*1687d771SAlexander Ziaee.Sh SEE ALSO
80*1687d771SAlexander Ziaee.Xr linprocfs 5 ,
81*1687d771SAlexander Ziaee.Xr linsysfs 5 ,
82*1687d771SAlexander Ziaee.Xr pseudofs 9 ,
83*1687d771SAlexander Ziaee.Xr linux 4 ,
84*1687d771SAlexander Ziaee.Xr mount 1
85*1687d771SAlexander Ziaee.Sh HISTORY
86*1687d771SAlexander ZiaeeThe
87*1687d771SAlexander Ziaee.Nm
88*1687d771SAlexander Ziaeefile system first appeared in
89*1687d771SAlexander Ziaee.Fx 12.1 .
90*1687d771SAlexander Ziaee.Sh AUTHORS
91*1687d771SAlexander Ziaee.An -nosplit
92*1687d771SAlexander ZiaeeThe initial implementation for
93*1687d771SAlexander Ziaee.Nm
94*1687d771SAlexander Ziaeewas created by Matthew Macy.
95*1687d771SAlexander ZiaeeThis manual page was written by Jake Freeland.
96