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