|  |  | 
|  | This is a brief list of all the files in ./linux/Documentation and what | 
|  | they contain. If you add a documentation file, please list it here in | 
|  | alphabetical order as well, or risk being hunted down like a rabid dog. | 
|  | Please keep the descriptions small enough to fit on one line. | 
|  | Thanks -- Paul G. | 
|  |  | 
|  | Following translations are available on the WWW: | 
|  |  | 
|  | - Japanese, maintained by the JF Project (jf@listserv.linux.or.jp), at | 
|  | http://linuxjf.sourceforge.jp/ | 
|  |  | 
|  | 00-INDEX | 
|  | - this file. | 
|  | ABI/ | 
|  | - info on kernel <-> userspace ABI and relative interface stability. | 
|  |  | 
|  | BUG-HUNTING | 
|  | - brute force method of doing binary search of patches to find bug. | 
|  | Changes | 
|  | - list of changes that break older software packages. | 
|  | CodingStyle | 
|  | - how the maintainers expect the C code in the kernel to look. | 
|  | DMA-API.txt | 
|  | - DMA API, pci_ API & extensions for non-consistent memory machines. | 
|  | DMA-API-HOWTO.txt | 
|  | - Dynamic DMA mapping Guide | 
|  | DMA-ISA-LPC.txt | 
|  | - How to do DMA with ISA (and LPC) devices. | 
|  | DMA-attributes.txt | 
|  | - listing of the various possible attributes a DMA region can have | 
|  | dmatest.txt | 
|  | - how to compile, configure and use the dmatest system. | 
|  | DocBook/ | 
|  | - directory with DocBook templates etc. for kernel documentation. | 
|  | EDID/ | 
|  | - directory with info on customizing EDID for broken gfx/displays. | 
|  | HOWTO | 
|  | - the process and procedures of how to do Linux kernel development. | 
|  | IPMI.txt | 
|  | - info on Linux Intelligent Platform Management Interface (IPMI) Driver. | 
|  | IRQ-affinity.txt | 
|  | - how to select which CPU(s) handle which interrupt events on SMP. | 
|  | IRQ-domain.txt | 
|  | - info on interrupt numbering and setting up IRQ domains. | 
|  | IRQ.txt | 
|  | - description of what an IRQ is. | 
|  | Intel-IOMMU.txt | 
|  | - basic info on the Intel IOMMU virtualization support. | 
|  | Makefile | 
|  | - some files in Documentation dir are actually sample code to build | 
|  | ManagementStyle | 
|  | - how to (attempt to) manage kernel hackers. | 
|  | RCU/ | 
|  | - directory with info on RCU (read-copy update). | 
|  | SAK.txt | 
|  | - info on Secure Attention Keys. | 
|  | SM501.txt | 
|  | - Silicon Motion SM501 multimedia companion chip | 
|  | SecurityBugs | 
|  | - procedure for reporting security bugs found in the kernel. | 
|  | SubmitChecklist | 
|  | - Linux kernel patch submission checklist. | 
|  | SubmittingDrivers | 
|  | - procedure to get a new driver source included into the kernel tree. | 
|  | SubmittingPatches | 
|  | - procedure to get a source patch included into the kernel tree. | 
|  | VGA-softcursor.txt | 
|  | - how to change your VGA cursor from a blinking underscore. | 
|  | accounting/ | 
|  | - documentation on accounting and taskstats. | 
|  | acpi/ | 
|  | - info on ACPI-specific hooks in the kernel. | 
|  | aoe/ | 
|  | - description of AoE (ATA over Ethernet) along with config examples. | 
|  | applying-patches.txt | 
|  | - description of various trees and how to apply their patches. | 
|  | arm/ | 
|  | - directory with info about Linux on the ARM architecture. | 
|  | arm64/ | 
|  | - directory with info about Linux on the 64 bit ARM architecture. | 
|  | assoc_array.txt | 
|  | - generic associative array intro. | 
|  | atomic_ops.txt | 
|  | - semantics and behavior of atomic and bitmask operations. | 
|  | auxdisplay/ | 
|  | - misc. LCD driver documentation (cfag12864b, ks0108). | 
|  | backlight/ | 
|  | - directory with info on controlling backlights in flat panel displays | 
|  | bad_memory.txt | 
|  | - how to use kernel parameters to exclude bad RAM regions. | 
|  | basic_profiling.txt | 
|  | - basic instructions for those who wants to profile Linux kernel. | 
|  | bcache.txt | 
|  | - Block-layer cache on fast SSDs to improve slow (raid) I/O performance. | 
|  | binfmt_misc.txt | 
|  | - info on the kernel support for extra binary formats. | 
|  | blackfin/ | 
|  | - directory with documentation for the Blackfin arch. | 
|  | block/ | 
|  | - info on the Block I/O (BIO) layer. | 
|  | blockdev/ | 
|  | - info on block devices & drivers | 
|  | braille-console.txt | 
|  | - info on how to use serial devices for Braille support. | 
|  | bt8xxgpio.txt | 
|  | - info on how to modify a bt8xx video card for GPIO usage. | 
|  | btmrvl.txt | 
|  | - info on Marvell Bluetooth driver usage. | 
|  | bus-devices/ | 
|  | - directory with info on TI GPMC (General Purpose Memory Controller) | 
|  | bus-virt-phys-mapping.txt | 
|  | - how to access I/O mapped memory from within device drivers. | 
|  | cachetlb.txt | 
|  | - describes the cache/TLB flushing interfaces Linux uses. | 
|  | cdrom/ | 
|  | - directory with information on the CD-ROM drivers that Linux has. | 
|  | cgroups/ | 
|  | - cgroups features, including cpusets and memory controller. | 
|  | circular-buffers.txt | 
|  | - how to make use of the existing circular buffer infrastructure | 
|  | clk.txt | 
|  | - info on the common clock framework | 
|  | coccinelle.txt | 
|  | - info on how to get and use the Coccinelle code checking tool. | 
|  | connector/ | 
|  | - docs on the netlink based userspace<->kernel space communication mod. | 
|  | console/ | 
|  | - documentation on Linux console drivers. | 
|  | cpu-freq/ | 
|  | - info on CPU frequency and voltage scaling. | 
|  | cpu-hotplug.txt | 
|  | - document describing CPU hotplug support in the Linux kernel. | 
|  | cpu-load.txt | 
|  | - document describing how CPU load statistics are collected. | 
|  | cpuidle/ | 
|  | - info on CPU_IDLE, CPU idle state management subsystem. | 
|  | cputopology.txt | 
|  | - documentation on how CPU topology info is exported via sysfs. | 
|  | crc32.txt | 
|  | - brief tutorial on CRC computation | 
|  | cris/ | 
|  | - directory with info about Linux on CRIS architecture. | 
|  | crypto/ | 
|  | - directory with info on the Crypto API. | 
|  | dcdbas.txt | 
|  | - information on the Dell Systems Management Base Driver. | 
|  | debugging-modules.txt | 
|  | - some notes on debugging modules after Linux 2.6.3. | 
|  | debugging-via-ohci1394.txt | 
|  | - how to use firewire like a hardware debugger memory reader. | 
|  | dell_rbu.txt | 
|  | - document demonstrating the use of the Dell Remote BIOS Update driver. | 
|  | development-process/ | 
|  | - how to work with the mainline kernel development process. | 
|  | device-mapper/ | 
|  | - directory with info on Device Mapper. | 
|  | devices.txt | 
|  | - plain ASCII listing of all the nodes in /dev/ with major minor #'s. | 
|  | devicetree/ | 
|  | - directory with info on device tree files used by OF/PowerPC/ARM | 
|  | digsig.txt | 
|  | -info on the Digital Signature Verification API | 
|  | dma-buf-sharing.txt | 
|  | - the DMA Buffer Sharing API Guide | 
|  | dmaengine.txt | 
|  | -the DMA Engine API Guide | 
|  | dontdiff | 
|  | - file containing a list of files that should never be diff'ed. | 
|  | driver-model/ | 
|  | - directory with info about Linux driver model. | 
|  | dvb/ | 
|  | - info on Linux Digital Video Broadcast (DVB) subsystem. | 
|  | dynamic-debug-howto.txt | 
|  | - how to use the dynamic debug (dyndbg) feature. | 
|  | early-userspace/ | 
|  | - info about initramfs, klibc, and userspace early during boot. | 
|  | edac.txt | 
|  | - information on EDAC - Error Detection And Correction | 
|  | efi-stub.txt | 
|  | - How to use the EFI boot stub to bypass GRUB or elilo on EFI systems. | 
|  | eisa.txt | 
|  | - info on EISA bus support. | 
|  | email-clients.txt | 
|  | - info on how to use e-mail to send un-mangled (git) patches. | 
|  | extcon/ | 
|  | - directory with porting guide for Android kernel switch driver. | 
|  | fault-injection/ | 
|  | - dir with docs about the fault injection capabilities infrastructure. | 
|  | fb/ | 
|  | - directory with info on the frame buffer graphics abstraction layer. | 
|  | filesystems/ | 
|  | - info on the vfs and the various filesystems that Linux supports. | 
|  | firmware_class/ | 
|  | - request_firmware() hotplug interface info. | 
|  | flexible-arrays.txt | 
|  | - how to make use of flexible sized arrays in linux | 
|  | fmc/ | 
|  | - information about the FMC bus abstraction | 
|  | frv/ | 
|  | - Fujitsu FR-V Linux documentation. | 
|  | futex-requeue-pi.txt | 
|  | - info on requeueing of tasks from a non-PI futex to a PI futex | 
|  | gcov.txt | 
|  | - use of GCC's coverage testing tool "gcov" with the Linux kernel | 
|  | gpio/ | 
|  | - gpio related documentation | 
|  | hid/ | 
|  | - directory with information on human interface devices | 
|  | highuid.txt | 
|  | - notes on the change from 16 bit to 32 bit user/group IDs. | 
|  | hwspinlock.txt | 
|  | - hardware spinlock provides hardware assistance for synchronization | 
|  | timers/ | 
|  | - info on the timer related topics | 
|  | hw_random.txt | 
|  | - info on Linux support for random number generator in i8xx chipsets. | 
|  | hwmon/ | 
|  | - directory with docs on various hardware monitoring drivers. | 
|  | i2c/ | 
|  | - directory with info about the I2C bus/protocol (2 wire, kHz speed). | 
|  | i2o/ | 
|  | - directory with info about the Linux I2O subsystem. | 
|  | x86/i386/ | 
|  | - directory with info about Linux on Intel 32 bit architecture. | 
|  | ia64/ | 
|  | - directory with info about Linux on Intel 64 bit architecture. | 
|  | infiniband/ | 
|  | - directory with documents concerning Linux InfiniBand support. | 
|  | init.txt | 
|  | - what to do when the kernel can't find the 1st process to run. | 
|  | initrd.txt | 
|  | - how to use the RAM disk as an initial/temporary root filesystem. | 
|  | input/ | 
|  | - info on Linux input device support. | 
|  | intel_txt.txt | 
|  | - info on intel Trusted Execution Technology (intel TXT). | 
|  | io-mapping.txt | 
|  | - description of io_mapping functions in linux/io-mapping.h | 
|  | io_ordering.txt | 
|  | - info on ordering I/O writes to memory-mapped addresses. | 
|  | ioctl/ | 
|  | - directory with documents describing various IOCTL calls. | 
|  | iostats.txt | 
|  | - info on I/O statistics Linux kernel provides. | 
|  | irqflags-tracing.txt | 
|  | - how to use the irq-flags tracing feature. | 
|  | isapnp.txt | 
|  | - info on Linux ISA Plug & Play support. | 
|  | isdn/ | 
|  | - directory with info on the Linux ISDN support, and supported cards. | 
|  | java.txt | 
|  | - info on the in-kernel binary support for Java(tm). | 
|  | ja_JP/ | 
|  | - directory with Japanese translations of various documents | 
|  | kbuild/ | 
|  | - directory with info about the kernel build process. | 
|  | kdump/ | 
|  | - directory with mini HowTo on getting the crash dump code to work. | 
|  | kernel-doc-nano-HOWTO.txt | 
|  | - mini HowTo on generation and location of kernel documentation files. | 
|  | kernel-docs.txt | 
|  | - listing of various WWW + books that document kernel internals. | 
|  | kernel-parameters.txt | 
|  | - summary listing of command line / boot prompt args for the kernel. | 
|  | kernel-per-CPU-kthreads.txt | 
|  | - List of all per-CPU kthreads and how they introduce jitter. | 
|  | kmemcheck.txt | 
|  | - info on dynamic checker that detects uses of uninitialized memory. | 
|  | kmemleak.txt | 
|  | - info on how to make use of the kernel memory leak detection system | 
|  | ko_KR/ | 
|  | - directory with Korean translations of various documents | 
|  | kobject.txt | 
|  | - info of the kobject infrastructure of the Linux kernel. | 
|  | kprobes.txt | 
|  | - documents the kernel probes debugging feature. | 
|  | kref.txt | 
|  | - docs on adding reference counters (krefs) to kernel objects. | 
|  | laptops/ | 
|  | - directory with laptop related info and laptop driver documentation. | 
|  | ldm.txt | 
|  | - a brief description of LDM (Windows Dynamic Disks). | 
|  | leds/ | 
|  | - directory with info about LED handling under Linux. | 
|  | local_ops.txt | 
|  | - semantics and behavior of local atomic operations. | 
|  | lockdep-design.txt | 
|  | - documentation on the runtime locking correctness validator. | 
|  | lockstat.txt | 
|  | - info on collecting statistics on locks (and contention). | 
|  | lockup-watchdogs.txt | 
|  | - info on soft and hard lockup detectors (aka nmi_watchdog). | 
|  | logo.gif | 
|  | - full colour GIF image of Linux logo (penguin - Tux). | 
|  | logo.txt | 
|  | - info on creator of above logo & site to get additional images from. | 
|  | m68k/ | 
|  | - directory with info about Linux on Motorola 68k architecture. | 
|  | magic-number.txt | 
|  | - list of magic numbers used to mark/protect kernel data structures. | 
|  | md.txt | 
|  | - info on boot arguments for the multiple devices driver. | 
|  | media-framework.txt | 
|  | - info on media framework, its data structures, functions and usage. | 
|  | memory-barriers.txt | 
|  | - info on Linux kernel memory barriers. | 
|  | memory-devices/ | 
|  | - directory with info on parts like the Texas Instruments EMIF driver | 
|  | memory-hotplug.txt | 
|  | - Hotpluggable memory support, how to use and current status. | 
|  | metag/ | 
|  | - directory with info about Linux on Meta architecture. | 
|  | mips/ | 
|  | - directory with info about Linux on MIPS architecture. | 
|  | misc-devices/ | 
|  | - directory with info about devices using the misc dev subsystem | 
|  | mmc/ | 
|  | - directory with info about the MMC subsystem | 
|  | mn10300/ | 
|  | - directory with info about the mn10300 architecture port | 
|  | module-signing.txt | 
|  | - Kernel module signing for increased security when loading modules. | 
|  | mtd/ | 
|  | - directory with info about memory technology devices (flash) | 
|  | mono.txt | 
|  | - how to execute Mono-based .NET binaries with the help of BINFMT_MISC. | 
|  | mutex-design.txt | 
|  | - info on the generic mutex subsystem. | 
|  | namespaces/ | 
|  | - directory with various information about namespaces | 
|  | netlabel/ | 
|  | - directory with information on the NetLabel subsystem. | 
|  | networking/ | 
|  | - directory with info on various aspects of networking with Linux. | 
|  | nfc/ | 
|  | - directory relating info about Near Field Communications support. | 
|  | nommu-mmap.txt | 
|  | - documentation about no-mmu memory mapping support. | 
|  | numastat.txt | 
|  | - info on how to read Numa policy hit/miss statistics in sysfs. | 
|  | oops-tracing.txt | 
|  | - how to decode those nasty internal kernel error dump messages. | 
|  | padata.txt | 
|  | - An introduction to the "padata" parallel execution API | 
|  | parisc/ | 
|  | - directory with info on using Linux on PA-RISC architecture. | 
|  | parport.txt | 
|  | - how to use the parallel-port driver. | 
|  | parport-lowlevel.txt | 
|  | - description and usage of the low level parallel port functions. | 
|  | pcmcia/ | 
|  | - info on the Linux PCMCIA driver. | 
|  | percpu-rw-semaphore.txt | 
|  | - RCU based read-write semaphore optimized for locking for reading | 
|  | phy.txt | 
|  | - Description of the generic PHY framework. | 
|  | pi-futex.txt | 
|  | - documentation on lightweight priority inheritance futexes. | 
|  | pinctrl.txt | 
|  | - info on pinctrl subsystem and the PINMUX/PINCONF and drivers | 
|  | pnp.txt | 
|  | - Linux Plug and Play documentation. | 
|  | power/ | 
|  | - directory with info on Linux PCI power management. | 
|  | powerpc/ | 
|  | - directory with info on using Linux with the PowerPC. | 
|  | prctl/ | 
|  | - directory with info on the priveledge control subsystem | 
|  | preempt-locking.txt | 
|  | - info on locking under a preemptive kernel. | 
|  | printk-formats.txt | 
|  | - how to get printk format specifiers right | 
|  | pps/ | 
|  | - directory with information on the pulse-per-second support | 
|  | ptp/ | 
|  | - directory with info on support for IEEE 1588 PTP clocks in Linux. | 
|  | pwm.txt | 
|  | - info on the pulse width modulation driver subsystem | 
|  | ramoops.txt | 
|  | - documentation of the ramoops oops/panic logging module. | 
|  | rapidio/ | 
|  | - directory with info on RapidIO packet-based fabric interconnect | 
|  | rbtree.txt | 
|  | - info on what red-black trees are and what they are for. | 
|  | remoteproc.txt | 
|  | - info on how to handle remote processor (e.g. AMP) offloads/usage. | 
|  | rfkill.txt | 
|  | - info on the radio frequency kill switch subsystem/support. | 
|  | robust-futex-ABI.txt | 
|  | - documentation of the robust futex ABI. | 
|  | robust-futexes.txt | 
|  | - a description of what robust futexes are. | 
|  | rpmsg.txt | 
|  | - info on the Remote Processor Messaging (rpmsg) Framework | 
|  | rt-mutex-design.txt | 
|  | - description of the RealTime mutex implementation design. | 
|  | rt-mutex.txt | 
|  | - desc. of RT-mutex subsystem with PI (Priority Inheritance) support. | 
|  | rtc.txt | 
|  | - notes on how to use the Real Time Clock (aka CMOS clock) driver. | 
|  | s390/ | 
|  | - directory with info on using Linux on the IBM S390. | 
|  | scheduler/ | 
|  | - directory with info on the scheduler. | 
|  | scsi/ | 
|  | - directory with info on Linux scsi support. | 
|  | security/ | 
|  | - directory that contains security-related info | 
|  | serial/ | 
|  | - directory with info on the low level serial API. | 
|  | serial-console.txt | 
|  | - how to set up Linux with a serial line console as the default. | 
|  | sgi-ioc4.txt | 
|  | - description of the SGI IOC4 PCI (multi function) device. | 
|  | sh/ | 
|  | - directory with info on porting Linux to a new architecture. | 
|  | smsc_ece1099.txt | 
|  | -info on the smsc Keyboard Scan Expansion/GPIO Expansion device. | 
|  | sound/ | 
|  | - directory with info on sound card support. | 
|  | sparse.txt | 
|  | - info on how to obtain and use the sparse tool for typechecking. | 
|  | spi/ | 
|  | - overview of Linux kernel Serial Peripheral Interface (SPI) support. | 
|  | spinlocks.txt | 
|  | - info on using spinlocks to provide exclusive access in kernel. | 
|  | stable_api_nonsense.txt | 
|  | - info on why the kernel does not have a stable in-kernel api or abi. | 
|  | stable_kernel_rules.txt | 
|  | - rules and procedures for the -stable kernel releases. | 
|  | static-keys.txt | 
|  | - info on how static keys allow debug code in hotpaths via patching | 
|  | svga.txt | 
|  | - short guide on selecting video modes at boot via VGA BIOS. | 
|  | sysfs-rules.txt | 
|  | - How not to use sysfs. | 
|  | sysctl/ | 
|  | - directory with info on the /proc/sys/* files. | 
|  | sysrq.txt | 
|  | - info on the magic SysRq key. | 
|  | target/ | 
|  | - directory with info on generating TCM v4 fabric .ko modules | 
|  | this_cpu_ops.txt | 
|  | - List rationale behind and the way to use this_cpu operations. | 
|  | thermal/ | 
|  | - directory with information on managing thermal issues (CPU/temp) | 
|  | trace/ | 
|  | - directory with info on tracing technologies within linux | 
|  | unaligned-memory-access.txt | 
|  | - info on how to avoid arch breaking unaligned memory access in code. | 
|  | unicode.txt | 
|  | - info on the Unicode character/font mapping used in Linux. | 
|  | unshare.txt | 
|  | - description of the Linux unshare system call. | 
|  | usb/ | 
|  | - directory with info regarding the Universal Serial Bus. | 
|  | vDSO/ | 
|  | - directory with info regarding virtual dynamic shared objects | 
|  | vfio.txt | 
|  | - info on Virtual Function I/O used in guest/hypervisor instances. | 
|  | vgaarbiter.txt | 
|  | - info on enable/disable the legacy decoding on different VGA devices | 
|  | video-output.txt | 
|  | - sysfs class driver interface to enable/disable a video output device. | 
|  | video4linux/ | 
|  | - directory with info regarding video/TV/radio cards and linux. | 
|  | virtual/ | 
|  | - directory with information on the various linux virtualizations. | 
|  | vm/ | 
|  | - directory with info on the Linux vm code. | 
|  | vme_api.txt | 
|  | - file relating info on the VME bus API in linux | 
|  | volatile-considered-harmful.txt | 
|  | - Why the "volatile" type class should not be used | 
|  | w1/ | 
|  | - directory with documents regarding the 1-wire (w1) subsystem. | 
|  | watchdog/ | 
|  | - how to auto-reboot Linux if it has "fallen and can't get up". ;-) | 
|  | wimax/ | 
|  | - directory with info about Intel Wireless Wimax Connections | 
|  | workqueue.txt | 
|  | - information on the Concurrency Managed Workqueue implementation | 
|  | ww-mutex-design.txt | 
|  | - Intro to Mutex wait/would deadlock handling.s | 
|  | x86/x86_64/ | 
|  | - directory with info on Linux support for AMD x86-64 (Hammer) machines. | 
|  | xtensa/ | 
|  | - directory with documents relating to arch/xtensa port/implementation | 
|  | xz.txt | 
|  | - how to make use of the XZ data compression within linux kernel | 
|  | zh_CN/ | 
|  | - directory with Chinese translations of various documents | 
|  | zorro.txt | 
|  | - info on writing drivers for Zorro bus devices found on Amigas. |