Based on kernel version 4.9. Page generated on 2016-12-21 14:27 EST.
1 2 This is a brief list of all the files in ./linux/Documentation and what 3 they contain. If you add a documentation file, please list it here in 4 alphabetical order as well, or risk being hunted down like a rabid dog. 5 Please keep the descriptions small enough to fit on one line. 6 Thanks -- Paul G. 7 8 Following translations are available on the WWW: 9 10 - Japanese, maintained by the JF Project (email@example.com), at 11 http://linuxjf.sourceforge.jp/ 12 13 00-INDEX 14 - this file. 15 ABI/ 16 - info on kernel <-> userspace ABI and relative interface stability. 17 18 BUG-HUNTING 19 - brute force method of doing binary search of patches to find bug. 20 Changes 21 - list of changes that break older software packages. 22 CodingStyle 23 - how the maintainers expect the C code in the kernel to look. 24 DMA-API.txt 25 - DMA API, pci_ API & extensions for non-consistent memory machines. 26 DMA-API-HOWTO.txt 27 - Dynamic DMA mapping Guide 28 DMA-ISA-LPC.txt 29 - How to do DMA with ISA (and LPC) devices. 30 DMA-attributes.txt 31 - listing of the various possible attributes a DMA region can have 32 DocBook/ 33 - directory with DocBook templates etc. for kernel documentation. 34 EDID/ 35 - directory with info on customizing EDID for broken gfx/displays. 36 HOWTO 37 - the process and procedures of how to do Linux kernel development. 38 IPMI.txt 39 - info on Linux Intelligent Platform Management Interface (IPMI) Driver. 40 IRQ-affinity.txt 41 - how to select which CPU(s) handle which interrupt events on SMP. 42 IRQ-domain.txt 43 - info on interrupt numbering and setting up IRQ domains. 44 IRQ.txt 45 - description of what an IRQ is. 46 Intel-IOMMU.txt 47 - basic info on the Intel IOMMU virtualization support. 48 Makefile 49 - This file does nothing. Removing it breaks make htmldocs and 50 make distclean. 51 ManagementStyle 52 - how to (attempt to) manage kernel hackers. 53 RCU/ 54 - directory with info on RCU (read-copy update). 55 SAK.txt 56 - info on Secure Attention Keys. 57 SM501.txt 58 - Silicon Motion SM501 multimedia companion chip 59 SecurityBugs 60 - procedure for reporting security bugs found in the kernel. 61 SubmitChecklist 62 - Linux kernel patch submission checklist. 63 SubmittingDrivers 64 - procedure to get a new driver source included into the kernel tree. 65 SubmittingPatches 66 - procedure to get a source patch included into the kernel tree. 67 VGA-softcursor.txt 68 - how to change your VGA cursor from a blinking underscore. 69 accounting/ 70 - documentation on accounting and taskstats. 71 acpi/ 72 - info on ACPI-specific hooks in the kernel. 73 aoe/ 74 - description of AoE (ATA over Ethernet) along with config examples. 75 applying-patches.txt 76 - description of various trees and how to apply their patches. 77 arm/ 78 - directory with info about Linux on the ARM architecture. 79 arm64/ 80 - directory with info about Linux on the 64 bit ARM architecture. 81 assoc_array.txt 82 - generic associative array intro. 83 atomic_ops.txt 84 - semantics and behavior of atomic and bitmask operations. 85 auxdisplay/ 86 - misc. LCD driver documentation (cfag12864b, ks0108). 87 backlight/ 88 - directory with info on controlling backlights in flat panel displays 89 bad_memory.txt 90 - how to use kernel parameters to exclude bad RAM regions. 91 basic_profiling.txt 92 - basic instructions for those who wants to profile Linux kernel. 93 bcache.txt 94 - Block-layer cache on fast SSDs to improve slow (raid) I/O performance. 95 binfmt_misc.txt 96 - info on the kernel support for extra binary formats. 97 blackfin/ 98 - directory with documentation for the Blackfin arch. 99 block/ 100 - info on the Block I/O (BIO) layer. 101 blockdev/ 102 - info on block devices & drivers 103 braille-console.txt 104 - info on how to use serial devices for Braille support. 105 bt8xxgpio.txt 106 - info on how to modify a bt8xx video card for GPIO usage. 107 btmrvl.txt 108 - info on Marvell Bluetooth driver usage. 109 bus-devices/ 110 - directory with info on TI GPMC (General Purpose Memory Controller) 111 bus-virt-phys-mapping.txt 112 - how to access I/O mapped memory from within device drivers. 113 cachetlb.txt 114 - describes the cache/TLB flushing interfaces Linux uses. 115 cdrom/ 116 - directory with information on the CD-ROM drivers that Linux has. 117 cgroups/ 118 - cgroups features, including cpusets and memory controller. 119 circular-buffers.txt 120 - how to make use of the existing circular buffer infrastructure 121 clk.txt 122 - info on the common clock framework 123 coccinelle.txt 124 - info on how to get and use the Coccinelle code checking tool. 125 connector/ 126 - docs on the netlink based userspace<->kernel space communication mod. 127 console/ 128 - documentation on Linux console drivers. 129 cpu-freq/ 130 - info on CPU frequency and voltage scaling. 131 cpu-hotplug.txt 132 - document describing CPU hotplug support in the Linux kernel. 133 cpu-load.txt 134 - document describing how CPU load statistics are collected. 135 cpuidle/ 136 - info on CPU_IDLE, CPU idle state management subsystem. 137 cputopology.txt 138 - documentation on how CPU topology info is exported via sysfs. 139 crc32.txt 140 - brief tutorial on CRC computation 141 cris/ 142 - directory with info about Linux on CRIS architecture. 143 crypto/ 144 - directory with info on the Crypto API. 145 dcdbas.txt 146 - information on the Dell Systems Management Base Driver. 147 debugging-modules.txt 148 - some notes on debugging modules after Linux 2.6.3. 149 debugging-via-ohci1394.txt 150 - how to use firewire like a hardware debugger memory reader. 151 dell_rbu.txt 152 - document demonstrating the use of the Dell Remote BIOS Update driver. 153 development-process/ 154 - how to work with the mainline kernel development process. 155 device-mapper/ 156 - directory with info on Device Mapper. 157 devices.txt 158 - plain ASCII listing of all the nodes in /dev/ with major minor #'s. 159 devicetree/ 160 - directory with info on device tree files used by OF/PowerPC/ARM 161 digsig.txt 162 -info on the Digital Signature Verification API 163 dma-buf-sharing.txt 164 - the DMA Buffer Sharing API Guide 165 dontdiff 166 - file containing a list of files that should never be diff'ed. 167 driver-model/ 168 - directory with info about Linux driver model. 169 dvb/ 170 - info on Linux Digital Video Broadcast (DVB) subsystem. 171 dynamic-debug-howto.txt 172 - how to use the dynamic debug (dyndbg) feature. 173 early-userspace/ 174 - info about initramfs, klibc, and userspace early during boot. 175 edac.txt 176 - information on EDAC - Error Detection And Correction 177 efi-stub.txt 178 - How to use the EFI boot stub to bypass GRUB or elilo on EFI systems. 179 eisa.txt 180 - info on EISA bus support. 181 email-clients.txt 182 - info on how to use e-mail to send un-mangled (git) patches. 183 extcon/ 184 - directory with porting guide for Android kernel switch driver. 185 fault-injection/ 186 - dir with docs about the fault injection capabilities infrastructure. 187 fb/ 188 - directory with info on the frame buffer graphics abstraction layer. 189 filesystems/ 190 - info on the vfs and the various filesystems that Linux supports. 191 firmware_class/ 192 - request_firmware() hotplug interface info. 193 flexible-arrays.txt 194 - how to make use of flexible sized arrays in linux 195 fmc/ 196 - information about the FMC bus abstraction 197 frv/ 198 - Fujitsu FR-V Linux documentation. 199 futex-requeue-pi.txt 200 - info on requeueing of tasks from a non-PI futex to a PI futex 201 gcov.txt 202 - use of GCC's coverage testing tool "gcov" with the Linux kernel 203 gpio/ 204 - gpio related documentation 205 hid/ 206 - directory with information on human interface devices 207 highuid.txt 208 - notes on the change from 16 bit to 32 bit user/group IDs. 209 hsi.txt 210 - HSI subsystem overview. 211 hwspinlock.txt 212 - hardware spinlock provides hardware assistance for synchronization 213 timers/ 214 - info on the timer related topics 215 hw_random.txt 216 - info on Linux support for random number generator in i8xx chipsets. 217 hwmon/ 218 - directory with docs on various hardware monitoring drivers. 219 i2c/ 220 - directory with info about the I2C bus/protocol (2 wire, kHz speed). 221 i2o/ 222 - directory with info about the Linux I2O subsystem. 223 x86/i386/ 224 - directory with info about Linux on Intel 32 bit architecture. 225 ia64/ 226 - directory with info about Linux on Intel 64 bit architecture. 227 infiniband/ 228 - directory with documents concerning Linux InfiniBand support. 229 init.txt 230 - what to do when the kernel can't find the 1st process to run. 231 initrd.txt 232 - how to use the RAM disk as an initial/temporary root filesystem. 233 input/ 234 - info on Linux input device support. 235 intel_txt.txt 236 - info on intel Trusted Execution Technology (intel TXT). 237 io-mapping.txt 238 - description of io_mapping functions in linux/io-mapping.h 239 io_ordering.txt 240 - info on ordering I/O writes to memory-mapped addresses. 241 ioctl/ 242 - directory with documents describing various IOCTL calls. 243 iostats.txt 244 - info on I/O statistics Linux kernel provides. 245 irqflags-tracing.txt 246 - how to use the irq-flags tracing feature. 247 isapnp.txt 248 - info on Linux ISA Plug & Play support. 249 isdn/ 250 - directory with info on the Linux ISDN support, and supported cards. 251 java.txt 252 - info on the in-kernel binary support for Java(tm). 253 ja_JP/ 254 - directory with Japanese translations of various documents 255 kbuild/ 256 - directory with info about the kernel build process. 257 kdump/ 258 - directory with mini HowTo on getting the crash dump code to work. 259 kernel-docs.txt 260 - listing of various WWW + books that document kernel internals. 261 kernel-documentation.rst 262 - how to write and format reStructuredText kernel documentation 263 kernel-parameters.txt 264 - summary listing of command line / boot prompt args for the kernel. 265 kernel-per-CPU-kthreads.txt 266 - List of all per-CPU kthreads and how they introduce jitter. 267 kmemcheck.txt 268 - info on dynamic checker that detects uses of uninitialized memory. 269 kmemleak.txt 270 - info on how to make use of the kernel memory leak detection system 271 ko_KR/ 272 - directory with Korean translations of various documents 273 kobject.txt 274 - info of the kobject infrastructure of the Linux kernel. 275 kprobes.txt 276 - documents the kernel probes debugging feature. 277 kref.txt 278 - docs on adding reference counters (krefs) to kernel objects. 279 kselftest.txt 280 - small unittests for (some) individual codepaths in the kernel. 281 laptops/ 282 - directory with laptop related info and laptop driver documentation. 283 ldm.txt 284 - a brief description of LDM (Windows Dynamic Disks). 285 leds/ 286 - directory with info about LED handling under Linux. 287 local_ops.txt 288 - semantics and behavior of local atomic operations. 289 locking/ 290 - directory with info about kernel locking primitives 291 lockup-watchdogs.txt 292 - info on soft and hard lockup detectors (aka nmi_watchdog). 293 logo.gif 294 - full colour GIF image of Linux logo (penguin - Tux). 295 logo.txt 296 - info on creator of above logo & site to get additional images from. 297 lzo.txt 298 - kernel LZO decompressor input formats 299 m68k/ 300 - directory with info about Linux on Motorola 68k architecture. 301 magic-number.txt 302 - list of magic numbers used to mark/protect kernel data structures. 303 mailbox.txt 304 - How to write drivers for the common mailbox framework (IPC). 305 md.txt 306 - info on boot arguments for the multiple devices driver. 307 media-framework.txt 308 - info on media framework, its data structures, functions and usage. 309 memory-barriers.txt 310 - info on Linux kernel memory barriers. 311 memory-devices/ 312 - directory with info on parts like the Texas Instruments EMIF driver 313 memory-hotplug.txt 314 - Hotpluggable memory support, how to use and current status. 315 metag/ 316 - directory with info about Linux on Meta architecture. 317 mips/ 318 - directory with info about Linux on MIPS architecture. 319 misc-devices/ 320 - directory with info about devices using the misc dev subsystem 321 mmc/ 322 - directory with info about the MMC subsystem 323 mn10300/ 324 - directory with info about the mn10300 architecture port 325 module-signing.txt 326 - Kernel module signing for increased security when loading modules. 327 mtd/ 328 - directory with info about memory technology devices (flash) 329 mono.txt 330 - how to execute Mono-based .NET binaries with the help of BINFMT_MISC. 331 namespaces/ 332 - directory with various information about namespaces 333 netlabel/ 334 - directory with information on the NetLabel subsystem. 335 networking/ 336 - directory with info on various aspects of networking with Linux. 337 nfc/ 338 - directory relating info about Near Field Communications support. 339 nommu-mmap.txt 340 - documentation about no-mmu memory mapping support. 341 numastat.txt 342 - info on how to read Numa policy hit/miss statistics in sysfs. 343 oops-tracing.txt 344 - how to decode those nasty internal kernel error dump messages. 345 padata.txt 346 - An introduction to the "padata" parallel execution API 347 parisc/ 348 - directory with info on using Linux on PA-RISC architecture. 349 parport.txt 350 - how to use the parallel-port driver. 351 parport-lowlevel.txt 352 - description and usage of the low level parallel port functions. 353 pcmcia/ 354 - info on the Linux PCMCIA driver. 355 percpu-rw-semaphore.txt 356 - RCU based read-write semaphore optimized for locking for reading 357 phy.txt 358 - Description of the generic PHY framework. 359 pi-futex.txt 360 - documentation on lightweight priority inheritance futexes. 361 pinctrl.txt 362 - info on pinctrl subsystem and the PINMUX/PINCONF and drivers 363 pnp.txt 364 - Linux Plug and Play documentation. 365 power/ 366 - directory with info on Linux PCI power management. 367 powerpc/ 368 - directory with info on using Linux with the PowerPC. 369 prctl/ 370 - directory with info on the priveledge control subsystem 371 preempt-locking.txt 372 - info on locking under a preemptive kernel. 373 printk-formats.txt 374 - how to get printk format specifiers right 375 pps/ 376 - directory with information on the pulse-per-second support 377 ptp/ 378 - directory with info on support for IEEE 1588 PTP clocks in Linux. 379 pwm.txt 380 - info on the pulse width modulation driver subsystem 381 ramoops.txt 382 - documentation of the ramoops oops/panic logging module. 383 rapidio/ 384 - directory with info on RapidIO packet-based fabric interconnect 385 rbtree.txt 386 - info on what red-black trees are and what they are for. 387 remoteproc.txt 388 - info on how to handle remote processor (e.g. AMP) offloads/usage. 389 rfkill.txt 390 - info on the radio frequency kill switch subsystem/support. 391 robust-futex-ABI.txt 392 - documentation of the robust futex ABI. 393 robust-futexes.txt 394 - a description of what robust futexes are. 395 rpmsg.txt 396 - info on the Remote Processor Messaging (rpmsg) Framework 397 rtc.txt 398 - notes on how to use the Real Time Clock (aka CMOS clock) driver. 399 s390/ 400 - directory with info on using Linux on the IBM S390. 401 scheduler/ 402 - directory with info on the scheduler. 403 scsi/ 404 - directory with info on Linux scsi support. 405 security/ 406 - directory that contains security-related info 407 serial/ 408 - directory with info on the low level serial API. 409 serial-console.txt 410 - how to set up Linux with a serial line console as the default. 411 sgi-ioc4.txt 412 - description of the SGI IOC4 PCI (multi function) device. 413 sh/ 414 - directory with info on porting Linux to a new architecture. 415 smsc_ece1099.txt 416 -info on the smsc Keyboard Scan Expansion/GPIO Expansion device. 417 sound/ 418 - directory with info on sound card support. 419 sparse.txt 420 - info on how to obtain and use the sparse tool for typechecking. 421 spi/ 422 - overview of Linux kernel Serial Peripheral Interface (SPI) support. 423 stable_api_nonsense.txt 424 - info on why the kernel does not have a stable in-kernel api or abi. 425 stable_kernel_rules.txt 426 - rules and procedures for the -stable kernel releases. 427 static-keys.txt 428 - info on how static keys allow debug code in hotpaths via patching 429 svga.txt 430 - short guide on selecting video modes at boot via VGA BIOS. 431 sysfs-rules.txt 432 - How not to use sysfs. 433 sysctl/ 434 - directory with info on the /proc/sys/* files. 435 sysrq.txt 436 - info on the magic SysRq key. 437 target/ 438 - directory with info on generating TCM v4 fabric .ko modules 439 this_cpu_ops.txt 440 - List rationale behind and the way to use this_cpu operations. 441 thermal/ 442 - directory with information on managing thermal issues (CPU/temp) 443 trace/ 444 - directory with info on tracing technologies within linux 445 unaligned-memory-access.txt 446 - info on how to avoid arch breaking unaligned memory access in code. 447 unicode.txt 448 - info on the Unicode character/font mapping used in Linux. 449 unshare.txt 450 - description of the Linux unshare system call. 451 usb/ 452 - directory with info regarding the Universal Serial Bus. 453 vDSO/ 454 - directory with info regarding virtual dynamic shared objects 455 vfio.txt 456 - info on Virtual Function I/O used in guest/hypervisor instances. 457 vgaarbiter.txt 458 - info on enable/disable the legacy decoding on different VGA devices 459 video-output.txt 460 - sysfs class driver interface to enable/disable a video output device. 461 video4linux/ 462 - directory with info regarding video/TV/radio cards and linux. 463 virtual/ 464 - directory with information on the various linux virtualizations. 465 vm/ 466 - directory with info on the Linux vm code. 467 vme_api.txt 468 - file relating info on the VME bus API in linux 469 volatile-considered-harmful.txt 470 - Why the "volatile" type class should not be used 471 w1/ 472 - directory with documents regarding the 1-wire (w1) subsystem. 473 watchdog/ 474 - how to auto-reboot Linux if it has "fallen and can't get up". ;-) 475 wimax/ 476 - directory with info about Intel Wireless Wimax Connections 477 workqueue.txt 478 - information on the Concurrency Managed Workqueue implementation 479 x86/x86_64/ 480 - directory with info on Linux support for AMD x86-64 (Hammer) machines. 481 xillybus.txt 482 - Overview and basic ui of xillybus driver 483 xtensa/ 484 - directory with documents relating to arch/xtensa port/implementation 485 xz.txt 486 - how to make use of the XZ data compression within linux kernel 487 zh_CN/ 488 - directory with Chinese translations of various documents 489 zorro.txt 490 - info on writing drivers for Zorro bus devices found on Amigas.