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