xref: /freebsd/share/man/man4/lindebugfs.4 (revision 6e1fc0118033f42b7c0d3623c8f67a89ebecabb2)
11687d771SAlexander Ziaee.\"  SPDX-License-Identifier: BSD-2-Clause
21687d771SAlexander Ziaee.\"
31687d771SAlexander Ziaee.\"  Copyright (c) 2022, Jake Freeland <jfree@freebsd.org>
41687d771SAlexander Ziaee.\"
51687d771SAlexander Ziaee.\"  Redistribution and use in source and binary forms, with or without
61687d771SAlexander Ziaee.\"  modification, are permitted provided that the following conditions
71687d771SAlexander Ziaee.\"  are met:
81687d771SAlexander Ziaee.\"  1. Redistributions of source code must retain the above copyright
91687d771SAlexander Ziaee.\"     notice, this list of conditions and the following disclaimer.
101687d771SAlexander Ziaee.\"  2. Redistributions in binary form must reproduce the above copyright
111687d771SAlexander Ziaee.\"     notice, this list of conditions and the following disclaimer in the
121687d771SAlexander Ziaee.\"     documentation and/or other materials provided with the distribution.
131687d771SAlexander Ziaee.\"
141687d771SAlexander Ziaee.\"  THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
151687d771SAlexander Ziaee.\"  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
161687d771SAlexander Ziaee.\"  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
171687d771SAlexander Ziaee.\"  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
181687d771SAlexander Ziaee.\"  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
191687d771SAlexander Ziaee.\"  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
201687d771SAlexander Ziaee.\"  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
211687d771SAlexander Ziaee.\"  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
221687d771SAlexander Ziaee.\"  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
231687d771SAlexander Ziaee.\"  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
241687d771SAlexander Ziaee.\"  SUCH DAMAGE.
251687d771SAlexander Ziaee
261687d771SAlexander Ziaee.Dd August 10, 2022
271687d771SAlexander Ziaee.Dt LINDEBUGFS 4
281687d771SAlexander Ziaee.Os
291687d771SAlexander Ziaee.Sh NAME
301687d771SAlexander Ziaee.Nm lindebugfs
311687d771SAlexander Ziaee.Nd Linux file system for debugging
321687d771SAlexander Ziaee.Sh SYNOPSIS
331687d771SAlexander Ziaee.Bd -literal
341687d771SAlexander Ziaeelindebugfs		/sys/kernel/debug	lindebugfs	rw 0 0
351687d771SAlexander Ziaee.Ed
361687d771SAlexander Ziaee.Sh DESCRIPTION
371687d771SAlexander ZiaeeThe debug file system, or debugfs, makes process debugging easier by
381687d771SAlexander Ziaeeproviding a simple API for data transfer between the kernel and user
391687d771SAlexander Ziaeespace.
401687d771SAlexander ZiaeeDebugfs is not a general-purpose file system and should not be used as
411687d771SAlexander Ziaeea storage medium.
421687d771SAlexander ZiaeeInstead, developers can implement the debugfs interface in their code
431687d771SAlexander Ziaeeto generate debug information about their program at runtime.
441687d771SAlexander ZiaeeFreeBSD's
451687d771SAlexander Ziaee.Nm
461687d771SAlexander Ziaeeuses the
471687d771SAlexander Ziaee.Xr pseudofs 9
481687d771SAlexander Ziaeefile system construction kit to model itself after Linux's debugfs.
491687d771SAlexander ZiaeeThe
501687d771SAlexander Ziaee.Nm
511687d771SAlexander ZiaeeAPI is intended for use with programs that take advantage of FreeBSD's
521687d771SAlexander ZiaeeLinuxKPI compatibility layer.
531687d771SAlexander Ziaee.Pp
541687d771SAlexander ZiaeeWhen mounted,
551687d771SAlexander Ziaee.Nm
561687d771SAlexander Ziaeewill populate with pseudo files from any running process that calls
571687d771SAlexander Ziaee.Nm debugfs_create_file() .
581687d771SAlexander ZiaeeSince
591687d771SAlexander Ziaee.Nm
601687d771SAlexander Ziaeeis a pseudo file system, file contents will be generated dynamically
611687d771SAlexander Ziaeebased on program provided file operations.
621687d771SAlexander ZiaeeThe current
631687d771SAlexander Ziaee.Nm
641687d771SAlexander Ziaeeimplementation formally supports seq_file and simple_attr_file virtual
651687d771SAlexander Ziaeefile formats.
661687d771SAlexander Ziaee.Sh EXAMPLES
671687d771SAlexander ZiaeeLoad the
681687d771SAlexander Ziaee.Nm
691687d771SAlexander Ziaeekernel module:
701687d771SAlexander Ziaee.Pp
711687d771SAlexander Ziaee.Dl "kldload lindebugfs"
721687d771SAlexander Ziaee.Pp
731687d771SAlexander ZiaeeMount the
741687d771SAlexander Ziaee.Nm
751687d771SAlexander Ziaeefile system on
761687d771SAlexander Ziaee.Pa /sys/kernel/debug :
771687d771SAlexander Ziaee.Pp
781687d771SAlexander Ziaee.Dl "mount -t lindebugfs lindebugfs /sys/kernel/debug"
791687d771SAlexander Ziaee.Sh SEE ALSO
80*6e1fc011SGraham Percival.Xr mount 1 ,
811a720cbeSAlexander Ziaee.Xr linprocfs 4 ,
821a720cbeSAlexander Ziaee.Xr linsysfs 4 ,
831687d771SAlexander Ziaee.Xr linux 4 ,
84*6e1fc011SGraham Percival.Xr pseudofs 9
851687d771SAlexander Ziaee.Sh HISTORY
861687d771SAlexander ZiaeeThe
871687d771SAlexander Ziaee.Nm
881687d771SAlexander Ziaeefile system first appeared in
891687d771SAlexander Ziaee.Fx 12.1 .
901687d771SAlexander Ziaee.Sh AUTHORS
911687d771SAlexander Ziaee.An -nosplit
921687d771SAlexander ZiaeeThe initial implementation for
931687d771SAlexander Ziaee.Nm
941687d771SAlexander Ziaeewas created by Matthew Macy.
951687d771SAlexander ZiaeeThis manual page was written by Jake Freeland.
96