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