summaryrefslogtreecommitdiff
path: root/Documentation/00-INDEX
blob: 27e67a98b7be21c8457daef9e6921e6a7d17e7a4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495

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.