aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/DMA-API.txt12
-rw-r--r--Documentation/DocBook/kernel-api.tmpl32
-rw-r--r--Documentation/IPMI.txt34
-rw-r--r--Documentation/block/as-iosched.txt6
-rw-r--r--Documentation/devices.txt102
-rw-r--r--Documentation/filesystems/Locking2
-rw-r--r--Documentation/filesystems/fuse.txt21
-rw-r--r--Documentation/filesystems/sysv-fs.txt177
-rw-r--r--Documentation/i386/boot.txt6
-rw-r--r--Documentation/kernel-parameters.txt32
-rw-r--r--Documentation/networking/00-INDEX2
-rw-r--r--Documentation/networking/generic_netlink.txt3
-rw-r--r--Documentation/power/s2ram.txt56
-rw-r--r--Documentation/power/swsusp-and-swap-files.txt60
-rw-r--r--Documentation/power/swsusp.txt18
-rw-r--r--Documentation/power/userland-swsusp.txt64
-rw-r--r--Documentation/stable_api_nonsense.txt3
-rw-r--r--Documentation/sysctl/kernel.txt8
-rw-r--r--Documentation/x86_64/boot-options.txt7
19 files changed, 547 insertions, 98 deletions
diff --git a/Documentation/DMA-API.txt b/Documentation/DMA-API.txt
index 05431621c861..805db4b2cba6 100644
--- a/Documentation/DMA-API.txt
+++ b/Documentation/DMA-API.txt
@@ -77,7 +77,7 @@ To get this part of the dma_ API, you must #include <linux/dmapool.h>
77Many drivers need lots of small dma-coherent memory regions for DMA 77Many drivers need lots of small dma-coherent memory regions for DMA
78descriptors or I/O buffers. Rather than allocating in units of a page 78descriptors or I/O buffers. Rather than allocating in units of a page
79or more using dma_alloc_coherent(), you can use DMA pools. These work 79or more using dma_alloc_coherent(), you can use DMA pools. These work
80much like a kmem_cache_t, except that they use the dma-coherent allocator 80much like a struct kmem_cache, except that they use the dma-coherent allocator
81not __get_free_pages(). Also, they understand common hardware constraints 81not __get_free_pages(). Also, they understand common hardware constraints
82for alignment, like queue heads needing to be aligned on N byte boundaries. 82for alignment, like queue heads needing to be aligned on N byte boundaries.
83 83
@@ -94,7 +94,7 @@ The pool create() routines initialize a pool of dma-coherent buffers
94for use with a given device. It must be called in a context which 94for use with a given device. It must be called in a context which
95can sleep. 95can sleep.
96 96
97The "name" is for diagnostics (like a kmem_cache_t name); dev and size 97The "name" is for diagnostics (like a struct kmem_cache name); dev and size
98are like what you'd pass to dma_alloc_coherent(). The device's hardware 98are like what you'd pass to dma_alloc_coherent(). The device's hardware
99alignment requirement for this type of data is "align" (which is expressed 99alignment requirement for this type of data is "align" (which is expressed
100in bytes, and must be a power of two). If your device has no boundary 100in bytes, and must be a power of two). If your device has no boundary
@@ -431,10 +431,10 @@ be identical to those passed in (and returned by
431dma_alloc_noncoherent()). 431dma_alloc_noncoherent()).
432 432
433int 433int
434dma_is_consistent(dma_addr_t dma_handle) 434dma_is_consistent(struct device *dev, dma_addr_t dma_handle)
435 435
436returns true if the memory pointed to by the dma_handle is actually 436returns true if the device dev is performing consistent DMA on the memory
437consistent. 437area pointed to by the dma_handle.
438 438
439int 439int
440dma_get_cache_alignment(void) 440dma_get_cache_alignment(void)
@@ -459,7 +459,7 @@ anything like this. You must also be extra careful about accessing
459memory you intend to sync partially. 459memory you intend to sync partially.
460 460
461void 461void
462dma_cache_sync(void *vaddr, size_t size, 462dma_cache_sync(struct device *dev, void *vaddr, size_t size,
463 enum dma_data_direction direction) 463 enum dma_data_direction direction)
464 464
465Do a partial sync of memory that was allocated by 465Do a partial sync of memory that was allocated by
diff --git a/Documentation/DocBook/kernel-api.tmpl b/Documentation/DocBook/kernel-api.tmpl
index a166675c4303..ca094913c555 100644
--- a/Documentation/DocBook/kernel-api.tmpl
+++ b/Documentation/DocBook/kernel-api.tmpl
@@ -418,9 +418,35 @@ X!Edrivers/pnp/system.c
418!Idrivers/parport/daisy.c 418!Idrivers/parport/daisy.c
419 </chapter> 419 </chapter>
420 420
421 <chapter id="viddev"> 421 <chapter id="message_devices">
422 <title>Video4Linux</title> 422 <title>Message-based devices</title>
423!Edrivers/media/video/videodev.c 423 <sect1><title>Fusion message devices</title>
424!Edrivers/message/fusion/mptbase.c
425!Idrivers/message/fusion/mptbase.c
426!Edrivers/message/fusion/mptscsih.c
427!Idrivers/message/fusion/mptscsih.c
428!Idrivers/message/fusion/mptctl.c
429!Idrivers/message/fusion/mptspi.c
430!Idrivers/message/fusion/mptfc.c
431!Idrivers/message/fusion/mptlan.c
432 </sect1>
433 <sect1><title>I2O message devices</title>
434!Iinclude/linux/i2o.h
435!Idrivers/message/i2o/core.h
436!Edrivers/message/i2o/iop.c
437!Idrivers/message/i2o/iop.c
438!Idrivers/message/i2o/config-osm.c
439!Edrivers/message/i2o/exec-osm.c
440!Idrivers/message/i2o/exec-osm.c
441!Idrivers/message/i2o/bus-osm.c
442!Edrivers/message/i2o/device.c
443!Idrivers/message/i2o/device.c
444!Idrivers/message/i2o/driver.c
445!Idrivers/message/i2o/pci.c
446!Idrivers/message/i2o/i2o_block.c
447!Idrivers/message/i2o/i2o_scsi.c
448!Idrivers/message/i2o/i2o_proc.c
449 </sect1>
424 </chapter> 450 </chapter>
425 451
426 <chapter id="snddev"> 452 <chapter id="snddev">
diff --git a/Documentation/IPMI.txt b/Documentation/IPMI.txt
index 0e3924ecd76b..24dc3fcf1594 100644
--- a/Documentation/IPMI.txt
+++ b/Documentation/IPMI.txt
@@ -365,6 +365,7 @@ You can change this at module load time (for a module) with:
365 regshifts=<shift1>,<shift2>,... 365 regshifts=<shift1>,<shift2>,...
366 slave_addrs=<addr1>,<addr2>,... 366 slave_addrs=<addr1>,<addr2>,...
367 force_kipmid=<enable1>,<enable2>,... 367 force_kipmid=<enable1>,<enable2>,...
368 unload_when_empty=[0|1]
368 369
369Each of these except si_trydefaults is a list, the first item for the 370Each of these except si_trydefaults is a list, the first item for the
370first interface, second item for the second interface, etc. 371first interface, second item for the second interface, etc.
@@ -416,6 +417,11 @@ by the driver, but systems with broken interrupts might need an enable,
416or users that don't want the daemon (don't need the performance, don't 417or users that don't want the daemon (don't need the performance, don't
417want the CPU hit) can disable it. 418want the CPU hit) can disable it.
418 419
420If unload_when_empty is set to 1, the driver will be unloaded if it
421doesn't find any interfaces or all the interfaces fail to work. The
422default is one. Setting to 0 is useful with the hotmod, but is
423obviously only useful for modules.
424
419When compiled into the kernel, the parameters can be specified on the 425When compiled into the kernel, the parameters can be specified on the
420kernel command line as: 426kernel command line as:
421 427
@@ -441,6 +447,25 @@ have high-res timers enabled in the kernel and you don't have
441interrupts enabled, the driver will run VERY slowly. Don't blame me, 447interrupts enabled, the driver will run VERY slowly. Don't blame me,
442these interfaces suck. 448these interfaces suck.
443 449
450The driver supports a hot add and remove of interfaces. This way,
451interfaces can be added or removed after the kernel is up and running.
452This is done using /sys/modules/ipmi_si/hotmod, which is a write-only
453parameter. You write a string to this interface. The string has the
454format:
455 <op1>[:op2[:op3...]]
456The "op"s are:
457 add|remove,kcs|bt|smic,mem|i/o,<address>[,<opt1>[,<opt2>[,...]]]
458You can specify more than one interface on the line. The "opt"s are:
459 rsp=<regspacing>
460 rsi=<regsize>
461 rsh=<regshift>
462 irq=<irq>
463 ipmb=<ipmb slave addr>
464and these have the same meanings as discussed above. Note that you
465can also use this on the kernel command line for a more compact format
466for specifying an interface. Note that when removing an interface,
467only the first three parameters (si type, address type, and address)
468are used for the comparison. Any options are ignored for removing.
444 469
445The SMBus Driver 470The SMBus Driver
446---------------- 471----------------
@@ -502,7 +527,10 @@ used to control it:
502 527
503 modprobe ipmi_watchdog timeout=<t> pretimeout=<t> action=<action type> 528 modprobe ipmi_watchdog timeout=<t> pretimeout=<t> action=<action type>
504 preaction=<preaction type> preop=<preop type> start_now=x 529 preaction=<preaction type> preop=<preop type> start_now=x
505 nowayout=x 530 nowayout=x ifnum_to_use=n
531
532ifnum_to_use specifies which interface the watchdog timer should use.
533The default is -1, which means to pick the first one registered.
506 534
507The timeout is the number of seconds to the action, and the pretimeout 535The timeout is the number of seconds to the action, and the pretimeout
508is the amount of seconds before the reset that the pre-timeout panic will 536is the amount of seconds before the reset that the pre-timeout panic will
@@ -624,5 +652,9 @@ command line. The parameter is also available via the proc filesystem
624in /proc/sys/dev/ipmi/poweroff_powercycle. Note that if the system 652in /proc/sys/dev/ipmi/poweroff_powercycle. Note that if the system
625does not support power cycling, it will always do the power off. 653does not support power cycling, it will always do the power off.
626 654
655The "ifnum_to_use" parameter specifies which interface the poweroff
656code should use. The default is -1, which means to pick the first one
657registered.
658
627Note that if you have ACPI enabled, the system will prefer using ACPI to 659Note that if you have ACPI enabled, the system will prefer using ACPI to
628power off. 660power off.
diff --git a/Documentation/block/as-iosched.txt b/Documentation/block/as-iosched.txt
index e2a66f8143c5..a598fe10a297 100644
--- a/Documentation/block/as-iosched.txt
+++ b/Documentation/block/as-iosched.txt
@@ -24,8 +24,10 @@ very similar behavior to the deadline IO scheduler.
24Selecting IO schedulers 24Selecting IO schedulers
25----------------------- 25-----------------------
26To choose IO schedulers at boot time, use the argument 'elevator=deadline'. 26To choose IO schedulers at boot time, use the argument 'elevator=deadline'.
27'noop' and 'as' (the default) are also available. IO schedulers are assigned 27'noop', 'as' and 'cfq' (the default) are also available. IO schedulers are
28globally at boot time only presently. 28assigned globally at boot time only presently. It's also possible to change
29the IO scheduler for a determined device on the fly, as described in
30Documentation/block/switching-sched.txt.
29 31
30 32
31Anticipatory IO scheduler Policies 33Anticipatory IO scheduler Policies
diff --git a/Documentation/devices.txt b/Documentation/devices.txt
index 70690f1a14af..8de132a02ba9 100644
--- a/Documentation/devices.txt
+++ b/Documentation/devices.txt
@@ -3,7 +3,7 @@
3 3
4 Maintained by Torben Mathiasen <device@lanana.org> 4 Maintained by Torben Mathiasen <device@lanana.org>
5 5
6 Last revised: 15 May 2006 6 Last revised: 29 November 2006
7 7
8This list is the Linux Device List, the official registry of allocated 8This list is the Linux Device List, the official registry of allocated
9device numbers and /dev directory nodes for the Linux operating 9device numbers and /dev directory nodes for the Linux operating
@@ -94,6 +94,7 @@ Your cooperation is appreciated.
94 9 = /dev/urandom Faster, less secure random number gen. 94 9 = /dev/urandom Faster, less secure random number gen.
95 10 = /dev/aio Asynchronous I/O notification interface 95 10 = /dev/aio Asynchronous I/O notification interface
96 11 = /dev/kmsg Writes to this come out as printk's 96 11 = /dev/kmsg Writes to this come out as printk's
97
97 1 block RAM disk 98 1 block RAM disk
98 0 = /dev/ram0 First RAM disk 99 0 = /dev/ram0 First RAM disk
99 1 = /dev/ram1 Second RAM disk 100 1 = /dev/ram1 Second RAM disk
@@ -122,7 +123,7 @@ Your cooperation is appreciated.
122 devices are on major 128 and above and use the PTY 123 devices are on major 128 and above and use the PTY
123 master multiplex (/dev/ptmx) to acquire a PTY on 124 master multiplex (/dev/ptmx) to acquire a PTY on
124 demand. 125 demand.
125 126
126 2 block Floppy disks 127 2 block Floppy disks
127 0 = /dev/fd0 Controller 0, drive 0, autodetect 128 0 = /dev/fd0 Controller 0, drive 0, autodetect
128 1 = /dev/fd1 Controller 0, drive 1, autodetect 129 1 = /dev/fd1 Controller 0, drive 1, autodetect
@@ -257,7 +258,7 @@ Your cooperation is appreciated.
257 129 = /dev/vcsa1 tty1 text/attribute contents 258 129 = /dev/vcsa1 tty1 text/attribute contents
258 ... 259 ...
259 191 = /dev/vcsa63 tty63 text/attribute contents 260 191 = /dev/vcsa63 tty63 text/attribute contents
260 261
261 NOTE: These devices permit both read and write access. 262 NOTE: These devices permit both read and write access.
262 263
263 7 block Loopback devices 264 7 block Loopback devices
@@ -411,7 +412,7 @@ Your cooperation is appreciated.
411 207 = /dev/video/em8300_sp EM8300 DVD decoder subpicture 412 207 = /dev/video/em8300_sp EM8300 DVD decoder subpicture
412 208 = /dev/compaq/cpqphpc Compaq PCI Hot Plug Controller 413 208 = /dev/compaq/cpqphpc Compaq PCI Hot Plug Controller
413 209 = /dev/compaq/cpqrid Compaq Remote Insight Driver 414 209 = /dev/compaq/cpqrid Compaq Remote Insight Driver
414 210 = /dev/impi/bt IMPI coprocessor block transfer 415 210 = /dev/impi/bt IMPI coprocessor block transfer
415 211 = /dev/impi/smic IMPI coprocessor stream interface 416 211 = /dev/impi/smic IMPI coprocessor stream interface
416 212 = /dev/watchdogs/0 First watchdog device 417 212 = /dev/watchdogs/0 First watchdog device
417 213 = /dev/watchdogs/1 Second watchdog device 418 213 = /dev/watchdogs/1 Second watchdog device
@@ -506,6 +507,7 @@ Your cooperation is appreciated.
506 33 = /dev/patmgr1 Sequencer patch manager 507 33 = /dev/patmgr1 Sequencer patch manager
507 34 = /dev/midi02 Third MIDI port 508 34 = /dev/midi02 Third MIDI port
508 50 = /dev/midi03 Fourth MIDI port 509 50 = /dev/midi03 Fourth MIDI port
510
509 14 block BIOS harddrive callback support {2.6} 511 14 block BIOS harddrive callback support {2.6}
510 0 = /dev/dos_hda First BIOS harddrive whole disk 512 0 = /dev/dos_hda First BIOS harddrive whole disk
511 64 = /dev/dos_hdb Second BIOS harddrive whole disk 513 64 = /dev/dos_hdb Second BIOS harddrive whole disk
@@ -527,6 +529,7 @@ Your cooperation is appreciated.
527 529
528 16 char Non-SCSI scanners 530 16 char Non-SCSI scanners
529 0 = /dev/gs4500 Genius 4500 handheld scanner 531 0 = /dev/gs4500 Genius 4500 handheld scanner
532
530 16 block GoldStar CD-ROM 533 16 block GoldStar CD-ROM
531 0 = /dev/gscd GoldStar CD-ROM 534 0 = /dev/gscd GoldStar CD-ROM
532 535
@@ -548,6 +551,7 @@ Your cooperation is appreciated.
548 0 = /dev/ttyC0 First Cyclades port 551 0 = /dev/ttyC0 First Cyclades port
549 ... 552 ...
550 31 = /dev/ttyC31 32nd Cyclades port 553 31 = /dev/ttyC31 32nd Cyclades port
554
551 19 block "Double" compressed disk 555 19 block "Double" compressed disk
552 0 = /dev/double0 First compressed disk 556 0 = /dev/double0 First compressed disk
553 ... 557 ...
@@ -563,6 +567,7 @@ Your cooperation is appreciated.
563 0 = /dev/cub0 Callout device for ttyC0 567 0 = /dev/cub0 Callout device for ttyC0
564 ... 568 ...
565 31 = /dev/cub31 Callout device for ttyC31 569 31 = /dev/cub31 Callout device for ttyC31
570
566 20 block Hitachi CD-ROM (under development) 571 20 block Hitachi CD-ROM (under development)
567 0 = /dev/hitcd Hitachi CD-ROM 572 0 = /dev/hitcd Hitachi CD-ROM
568 573
@@ -582,7 +587,7 @@ Your cooperation is appreciated.
582 587
583 This device is used on the ARM-based Acorn RiscPC. 588 This device is used on the ARM-based Acorn RiscPC.
584 Partitions are handled the same way as for IDE disks 589 Partitions are handled the same way as for IDE disks
585 (see major number 3). 590 (see major number 3).
586 591
587 22 char Digiboard serial card 592 22 char Digiboard serial card
588 0 = /dev/ttyD0 First Digiboard port 593 0 = /dev/ttyD0 First Digiboard port
@@ -591,7 +596,7 @@ Your cooperation is appreciated.
591 22 block Second IDE hard disk/CD-ROM interface 596 22 block Second IDE hard disk/CD-ROM interface
592 0 = /dev/hdc Master: whole disk (or CD-ROM) 597 0 = /dev/hdc Master: whole disk (or CD-ROM)
593 64 = /dev/hdd Slave: whole disk (or CD-ROM) 598 64 = /dev/hdd Slave: whole disk (or CD-ROM)
594 599
595 Partitions are handled the same way as for the first 600 Partitions are handled the same way as for the first
596 interface (see major number 3). 601 interface (see major number 3).
597 602
@@ -639,6 +644,7 @@ Your cooperation is appreciated.
639 644
640 26 char Quanta WinVision frame grabber {2.6} 645 26 char Quanta WinVision frame grabber {2.6}
641 0 = /dev/wvisfgrab Quanta WinVision frame grabber 646 0 = /dev/wvisfgrab Quanta WinVision frame grabber
647
642 26 block Second Matsushita (Panasonic/SoundBlaster) CD-ROM 648 26 block Second Matsushita (Panasonic/SoundBlaster) CD-ROM
643 0 = /dev/sbpcd4 Panasonic CD-ROM controller 1 unit 0 649 0 = /dev/sbpcd4 Panasonic CD-ROM controller 1 unit 0
644 1 = /dev/sbpcd5 Panasonic CD-ROM controller 1 unit 1 650 1 = /dev/sbpcd5 Panasonic CD-ROM controller 1 unit 1
@@ -670,6 +676,7 @@ Your cooperation is appreciated.
670 37 = /dev/nrawqft1 Unit 1, no rewind-on-close, no file marks 676 37 = /dev/nrawqft1 Unit 1, no rewind-on-close, no file marks
671 38 = /dev/nrawqft2 Unit 2, no rewind-on-close, no file marks 677 38 = /dev/nrawqft2 Unit 2, no rewind-on-close, no file marks
672 39 = /dev/nrawqft3 Unit 3, no rewind-on-close, no file marks 678 39 = /dev/nrawqft3 Unit 3, no rewind-on-close, no file marks
679
673 27 block Third Matsushita (Panasonic/SoundBlaster) CD-ROM 680 27 block Third Matsushita (Panasonic/SoundBlaster) CD-ROM
674 0 = /dev/sbpcd8 Panasonic CD-ROM controller 2 unit 0 681 0 = /dev/sbpcd8 Panasonic CD-ROM controller 2 unit 0
675 1 = /dev/sbpcd9 Panasonic CD-ROM controller 2 unit 1 682 1 = /dev/sbpcd9 Panasonic CD-ROM controller 2 unit 1
@@ -681,6 +688,7 @@ Your cooperation is appreciated.
681 1 = /dev/staliomem1 Second Stallion card I/O memory 688 1 = /dev/staliomem1 Second Stallion card I/O memory
682 2 = /dev/staliomem2 Third Stallion card I/O memory 689 2 = /dev/staliomem2 Third Stallion card I/O memory
683 3 = /dev/staliomem3 Fourth Stallion card I/O memory 690 3 = /dev/staliomem3 Fourth Stallion card I/O memory
691
684 28 char Atari SLM ACSI laser printer (68k/Atari) 692 28 char Atari SLM ACSI laser printer (68k/Atari)
685 0 = /dev/slm0 First SLM laser printer 693 0 = /dev/slm0 First SLM laser printer
686 1 = /dev/slm1 Second SLM laser printer 694 1 = /dev/slm1 Second SLM laser printer
@@ -690,6 +698,7 @@ Your cooperation is appreciated.
690 1 = /dev/sbpcd13 Panasonic CD-ROM controller 3 unit 1 698 1 = /dev/sbpcd13 Panasonic CD-ROM controller 3 unit 1
691 2 = /dev/sbpcd14 Panasonic CD-ROM controller 3 unit 2 699 2 = /dev/sbpcd14 Panasonic CD-ROM controller 3 unit 2
692 3 = /dev/sbpcd15 Panasonic CD-ROM controller 3 unit 3 700 3 = /dev/sbpcd15 Panasonic CD-ROM controller 3 unit 3
701
693 28 block ACSI disk (68k/Atari) 702 28 block ACSI disk (68k/Atari)
694 0 = /dev/ada First ACSI disk whole disk 703 0 = /dev/ada First ACSI disk whole disk
695 16 = /dev/adb Second ACSI disk whole disk 704 16 = /dev/adb Second ACSI disk whole disk
@@ -750,6 +759,7 @@ Your cooperation is appreciated.
750 31 char MPU-401 MIDI 759 31 char MPU-401 MIDI
751 0 = /dev/mpu401data MPU-401 data port 760 0 = /dev/mpu401data MPU-401 data port
752 1 = /dev/mpu401stat MPU-401 status port 761 1 = /dev/mpu401stat MPU-401 status port
762
753 31 block ROM/flash memory card 763 31 block ROM/flash memory card
754 0 = /dev/rom0 First ROM card (rw) 764 0 = /dev/rom0 First ROM card (rw)
755 ... 765 ...
@@ -801,7 +811,7 @@ Your cooperation is appreciated.
801 34 block Fourth IDE hard disk/CD-ROM interface 811 34 block Fourth IDE hard disk/CD-ROM interface
802 0 = /dev/hdg Master: whole disk (or CD-ROM) 812 0 = /dev/hdg Master: whole disk (or CD-ROM)
803 64 = /dev/hdh Slave: whole disk (or CD-ROM) 813 64 = /dev/hdh Slave: whole disk (or CD-ROM)
804 814
805 Partitions are handled the same way as for the first 815 Partitions are handled the same way as for the first
806 interface (see major number 3). 816 interface (see major number 3).
807 817
@@ -818,6 +828,7 @@ Your cooperation is appreciated.
818 129 = /dev/smpte1 Second MIDI port, SMPTE timed 828 129 = /dev/smpte1 Second MIDI port, SMPTE timed
819 130 = /dev/smpte2 Third MIDI port, SMPTE timed 829 130 = /dev/smpte2 Third MIDI port, SMPTE timed
820 131 = /dev/smpte3 Fourth MIDI port, SMPTE timed 830 131 = /dev/smpte3 Fourth MIDI port, SMPTE timed
831
821 35 block Slow memory ramdisk 832 35 block Slow memory ramdisk
822 0 = /dev/slram Slow memory ramdisk 833 0 = /dev/slram Slow memory ramdisk
823 834
@@ -828,6 +839,7 @@ Your cooperation is appreciated.
828 16 = /dev/tap0 First Ethertap device 839 16 = /dev/tap0 First Ethertap device
829 ... 840 ...
830 31 = /dev/tap15 16th Ethertap device 841 31 = /dev/tap15 16th Ethertap device
842
831 36 block MCA ESDI hard disk 843 36 block MCA ESDI hard disk
832 0 = /dev/eda First ESDI disk whole disk 844 0 = /dev/eda First ESDI disk whole disk
833 64 = /dev/edb Second ESDI disk whole disk 845 64 = /dev/edb Second ESDI disk whole disk
@@ -882,6 +894,7 @@ Your cooperation is appreciated.
882 894
883 40 char Matrox Meteor frame grabber {2.6} 895 40 char Matrox Meteor frame grabber {2.6}
884 0 = /dev/mmetfgrab Matrox Meteor frame grabber 896 0 = /dev/mmetfgrab Matrox Meteor frame grabber
897
885 40 block Syquest EZ135 parallel port removable drive 898 40 block Syquest EZ135 parallel port removable drive
886 0 = /dev/eza Parallel EZ135 drive, whole disk 899 0 = /dev/eza Parallel EZ135 drive, whole disk
887 900
@@ -893,6 +906,7 @@ Your cooperation is appreciated.
893 906
894 41 char Yet Another Micro Monitor 907 41 char Yet Another Micro Monitor
895 0 = /dev/yamm Yet Another Micro Monitor 908 0 = /dev/yamm Yet Another Micro Monitor
909
896 41 block MicroSolutions BackPack parallel port CD-ROM 910 41 block MicroSolutions BackPack parallel port CD-ROM
897 0 = /dev/bpcd BackPack CD-ROM 911 0 = /dev/bpcd BackPack CD-ROM
898 912
@@ -901,6 +915,7 @@ Your cooperation is appreciated.
901 the parallel port ATAPI CD-ROM driver at major number 46. 915 the parallel port ATAPI CD-ROM driver at major number 46.
902 916
903 42 char Demo/sample use 917 42 char Demo/sample use
918
904 42 block Demo/sample use 919 42 block Demo/sample use
905 920
906 This number is intended for use in sample code, as 921 This number is intended for use in sample code, as
@@ -918,6 +933,7 @@ Your cooperation is appreciated.
918 0 = /dev/ttyI0 First virtual modem 933 0 = /dev/ttyI0 First virtual modem
919 ... 934 ...
920 63 = /dev/ttyI63 64th virtual modem 935 63 = /dev/ttyI63 64th virtual modem
936
921 43 block Network block devices 937 43 block Network block devices
922 0 = /dev/nb0 First network block device 938 0 = /dev/nb0 First network block device
923 1 = /dev/nb1 Second network block device 939 1 = /dev/nb1 Second network block device
@@ -934,12 +950,13 @@ Your cooperation is appreciated.
934 0 = /dev/cui0 Callout device for ttyI0 950 0 = /dev/cui0 Callout device for ttyI0
935 ... 951 ...
936 63 = /dev/cui63 Callout device for ttyI63 952 63 = /dev/cui63 Callout device for ttyI63
953
937 44 block Flash Translation Layer (FTL) filesystems 954 44 block Flash Translation Layer (FTL) filesystems
938 0 = /dev/ftla FTL on first Memory Technology Device 955 0 = /dev/ftla FTL on first Memory Technology Device
939 16 = /dev/ftlb FTL on second Memory Technology Device 956 16 = /dev/ftlb FTL on second Memory Technology Device
940 32 = /dev/ftlc FTL on third Memory Technology Device 957 32 = /dev/ftlc FTL on third Memory Technology Device
941 ... 958 ...
942 240 = /dev/ftlp FTL on 16th Memory Technology Device 959 240 = /dev/ftlp FTL on 16th Memory Technology Device
943 960
944 Partitions are handled in the same way as for IDE 961 Partitions are handled in the same way as for IDE
945 disks (see major number 3) except that the partition 962 disks (see major number 3) except that the partition
@@ -958,6 +975,7 @@ Your cooperation is appreciated.
958 191 = /dev/ippp63 64th SyncPPP device 975 191 = /dev/ippp63 64th SyncPPP device
959 976
960 255 = /dev/isdninfo ISDN monitor interface 977 255 = /dev/isdninfo ISDN monitor interface
978
961 45 block Parallel port IDE disk devices 979 45 block Parallel port IDE disk devices
962 0 = /dev/pda First parallel port IDE disk 980 0 = /dev/pda First parallel port IDE disk
963 16 = /dev/pdb Second parallel port IDE disk 981 16 = /dev/pdb Second parallel port IDE disk
@@ -1044,6 +1062,7 @@ Your cooperation is appreciated.
1044 1 = /dev/dcbri1 Second DataComm card 1062 1 = /dev/dcbri1 Second DataComm card
1045 2 = /dev/dcbri2 Third DataComm card 1063 2 = /dev/dcbri2 Third DataComm card
1046 3 = /dev/dcbri3 Fourth DataComm card 1064 3 = /dev/dcbri3 Fourth DataComm card
1065
1047 52 block Mylex DAC960 PCI RAID controller; fifth controller 1066 52 block Mylex DAC960 PCI RAID controller; fifth controller
1048 0 = /dev/rd/c4d0 First disk, whole disk 1067 0 = /dev/rd/c4d0 First disk, whole disk
1049 8 = /dev/rd/c4d1 Second disk, whole disk 1068 8 = /dev/rd/c4d1 Second disk, whole disk
@@ -1093,6 +1112,7 @@ Your cooperation is appreciated.
1093 1112
1094 55 char DSP56001 digital signal processor 1113 55 char DSP56001 digital signal processor
1095 0 = /dev/dsp56k First DSP56001 1114 0 = /dev/dsp56k First DSP56001
1115
1096 55 block Mylex DAC960 PCI RAID controller; eighth controller 1116 55 block Mylex DAC960 PCI RAID controller; eighth controller
1097 0 = /dev/rd/c7d0 First disk, whole disk 1117 0 = /dev/rd/c7d0 First disk, whole disk
1098 8 = /dev/rd/c7d1 Second disk, whole disk 1118 8 = /dev/rd/c7d1 Second disk, whole disk
@@ -1130,6 +1150,7 @@ Your cooperation is appreciated.
1130 0 = /dev/cup0 Callout device for ttyP0 1150 0 = /dev/cup0 Callout device for ttyP0
1131 1 = /dev/cup1 Callout device for ttyP1 1151 1 = /dev/cup1 Callout device for ttyP1
1132 ... 1152 ...
1153
1133 58 block Reserved for logical volume manager 1154 58 block Reserved for logical volume manager
1134 1155
1135 59 char sf firewall package 1156 59 char sf firewall package
@@ -1149,6 +1170,7 @@ Your cooperation is appreciated.
1149 NAMING CONFLICT -- PROPOSED REVISED NAME /dev/rpda0 etc 1170 NAMING CONFLICT -- PROPOSED REVISED NAME /dev/rpda0 etc
1150 1171
1151 60-63 char LOCAL/EXPERIMENTAL USE 1172 60-63 char LOCAL/EXPERIMENTAL USE
1173
1152 60-63 block LOCAL/EXPERIMENTAL USE 1174 60-63 block LOCAL/EXPERIMENTAL USE
1153 Allocated for local/experimental use. For devices not 1175 Allocated for local/experimental use. For devices not
1154 assigned official numbers, these ranges should be 1176 assigned official numbers, these ranges should be
@@ -1434,7 +1456,6 @@ Your cooperation is appreciated.
1434 DAC960 (see major number 48) except that the limit on 1456 DAC960 (see major number 48) except that the limit on
1435 partitions is 15. 1457 partitions is 15.
1436 1458
1437
1438 78 char PAM Software's multimodem boards 1459 78 char PAM Software's multimodem boards
1439 0 = /dev/ttyM0 First PAM modem 1460 0 = /dev/ttyM0 First PAM modem
1440 1 = /dev/ttyM1 Second PAM modem 1461 1 = /dev/ttyM1 Second PAM modem
@@ -1450,7 +1471,6 @@ Your cooperation is appreciated.
1450 DAC960 (see major number 48) except that the limit on 1471 DAC960 (see major number 48) except that the limit on
1451 partitions is 15. 1472 partitions is 15.
1452 1473
1453
1454 79 char PAM Software's multimodem boards - alternate devices 1474 79 char PAM Software's multimodem boards - alternate devices
1455 0 = /dev/cum0 Callout device for ttyM0 1475 0 = /dev/cum0 Callout device for ttyM0
1456 1 = /dev/cum1 Callout device for ttyM1 1476 1 = /dev/cum1 Callout device for ttyM1
@@ -1466,7 +1486,6 @@ Your cooperation is appreciated.
1466 DAC960 (see major number 48) except that the limit on 1486 DAC960 (see major number 48) except that the limit on
1467 partitions is 15. 1487 partitions is 15.
1468 1488
1469
1470 80 char Photometrics AT200 CCD camera 1489 80 char Photometrics AT200 CCD camera
1471 0 = /dev/at200 Photometrics AT200 CCD camera 1490 0 = /dev/at200 Photometrics AT200 CCD camera
1472 1491
@@ -1679,7 +1698,7 @@ Your cooperation is appreciated.
1679 1 = /dev/dcxx1 Second capture card 1698 1 = /dev/dcxx1 Second capture card
1680 ... 1699 ...
1681 1700
1682 94 block IBM S/390 DASD block storage 1701 94 block IBM S/390 DASD block storage
1683 0 = /dev/dasda First DASD device, major 1702 0 = /dev/dasda First DASD device, major
1684 1 = /dev/dasda1 First DASD device, block 1 1703 1 = /dev/dasda1 First DASD device, block 1
1685 2 = /dev/dasda2 First DASD device, block 2 1704 2 = /dev/dasda2 First DASD device, block 2
@@ -1695,7 +1714,7 @@ Your cooperation is appreciated.
1695 1 = /dev/ipnat NAT control device/log file 1714 1 = /dev/ipnat NAT control device/log file
1696 2 = /dev/ipstate State information log file 1715 2 = /dev/ipstate State information log file
1697 3 = /dev/ipauth Authentication control device/log file 1716 3 = /dev/ipauth Authentication control device/log file
1698 ... 1717 ...
1699 1718
1700 96 char Parallel port ATAPI tape devices 1719 96 char Parallel port ATAPI tape devices
1701 0 = /dev/pt0 First parallel port ATAPI tape 1720 0 = /dev/pt0 First parallel port ATAPI tape
@@ -1705,7 +1724,7 @@ Your cooperation is appreciated.
1705 129 = /dev/npt1 Second p.p. ATAPI tape, no rewind 1724 129 = /dev/npt1 Second p.p. ATAPI tape, no rewind
1706 ... 1725 ...
1707 1726
1708 96 block Inverse NAND Flash Translation Layer 1727 96 block Inverse NAND Flash Translation Layer
1709 0 = /dev/inftla First INFTL layer 1728 0 = /dev/inftla First INFTL layer
1710 16 = /dev/inftlb Second INFTL layer 1729 16 = /dev/inftlb Second INFTL layer
1711 ... 1730 ...
@@ -1937,7 +1956,6 @@ Your cooperation is appreciated.
1937 ... 1956 ...
1938 1957
1939113 block IBM iSeries virtual CD-ROM 1958113 block IBM iSeries virtual CD-ROM
1940
1941 0 = /dev/iseries/vcda First virtual CD-ROM 1959 0 = /dev/iseries/vcda First virtual CD-ROM
1942 1 = /dev/iseries/vcdb Second virtual CD-ROM 1960 1 = /dev/iseries/vcdb Second virtual CD-ROM
1943 ... 1961 ...
@@ -2059,11 +2077,12 @@ Your cooperation is appreciated.
2059 ... 2077 ...
2060 2078
2061119 char VMware virtual network control 2079119 char VMware virtual network control
2062 0 = /dev/vnet0 1st virtual network 2080 0 = /dev/vmnet0 1st virtual network
2063 1 = /dev/vnet1 2nd virtual network 2081 1 = /dev/vmnet1 2nd virtual network
2064 ... 2082 ...
2065 2083
2066120-127 char LOCAL/EXPERIMENTAL USE 2084120-127 char LOCAL/EXPERIMENTAL USE
2085
2067120-127 block LOCAL/EXPERIMENTAL USE 2086120-127 block LOCAL/EXPERIMENTAL USE
2068 Allocated for local/experimental use. For devices not 2087 Allocated for local/experimental use. For devices not
2069 assigned official numbers, these ranges should be 2088 assigned official numbers, these ranges should be
@@ -2075,7 +2094,6 @@ Your cooperation is appreciated.
2075 nodes; instead they should be accessed through the 2094 nodes; instead they should be accessed through the
2076 /dev/ptmx cloning interface. 2095 /dev/ptmx cloning interface.
2077 2096
2078
2079128 block SCSI disk devices (128-143) 2097128 block SCSI disk devices (128-143)
2080 0 = /dev/sddy 129th SCSI disk whole disk 2098 0 = /dev/sddy 129th SCSI disk whole disk
2081 16 = /dev/sddz 130th SCSI disk whole disk 2099 16 = /dev/sddz 130th SCSI disk whole disk
@@ -2087,7 +2105,6 @@ Your cooperation is appreciated.
2087 disks (see major number 3) except that the limit on 2105 disks (see major number 3) except that the limit on
2088 partitions is 15. 2106 partitions is 15.
2089 2107
2090
2091129 block SCSI disk devices (144-159) 2108129 block SCSI disk devices (144-159)
2092 0 = /dev/sdeo 145th SCSI disk whole disk 2109 0 = /dev/sdeo 145th SCSI disk whole disk
2093 16 = /dev/sdep 146th SCSI disk whole disk 2110 16 = /dev/sdep 146th SCSI disk whole disk
@@ -2123,7 +2140,6 @@ Your cooperation is appreciated.
2123 disks (see major number 3) except that the limit on 2140 disks (see major number 3) except that the limit on
2124 partitions is 15. 2141 partitions is 15.
2125 2142
2126
2127132 block SCSI disk devices (192-207) 2143132 block SCSI disk devices (192-207)
2128 0 = /dev/sdgk 193rd SCSI disk whole disk 2144 0 = /dev/sdgk 193rd SCSI disk whole disk
2129 16 = /dev/sdgl 194th SCSI disk whole disk 2145 16 = /dev/sdgl 194th SCSI disk whole disk
@@ -2135,7 +2151,6 @@ Your cooperation is appreciated.
2135 disks (see major number 3) except that the limit on 2151 disks (see major number 3) except that the limit on
2136 partitions is 15. 2152 partitions is 15.
2137 2153
2138
2139133 block SCSI disk devices (208-223) 2154133 block SCSI disk devices (208-223)
2140 0 = /dev/sdha 209th SCSI disk whole disk 2155 0 = /dev/sdha 209th SCSI disk whole disk
2141 16 = /dev/sdhb 210th SCSI disk whole disk 2156 16 = /dev/sdhb 210th SCSI disk whole disk
@@ -2147,7 +2162,6 @@ Your cooperation is appreciated.
2147 disks (see major number 3) except that the limit on 2162 disks (see major number 3) except that the limit on
2148 partitions is 15. 2163 partitions is 15.
2149 2164
2150
2151134 block SCSI disk devices (224-239) 2165134 block SCSI disk devices (224-239)
2152 0 = /dev/sdhq 225th SCSI disk whole disk 2166 0 = /dev/sdhq 225th SCSI disk whole disk
2153 16 = /dev/sdhr 226th SCSI disk whole disk 2167 16 = /dev/sdhr 226th SCSI disk whole disk
@@ -2159,7 +2173,6 @@ Your cooperation is appreciated.
2159 disks (see major number 3) except that the limit on 2173 disks (see major number 3) except that the limit on
2160 partitions is 15. 2174 partitions is 15.
2161 2175
2162
2163135 block SCSI disk devices (240-255) 2176135 block SCSI disk devices (240-255)
2164 0 = /dev/sdig 241st SCSI disk whole disk 2177 0 = /dev/sdig 241st SCSI disk whole disk
2165 16 = /dev/sdih 242nd SCSI disk whole disk 2178 16 = /dev/sdih 242nd SCSI disk whole disk
@@ -2171,7 +2184,6 @@ Your cooperation is appreciated.
2171 disks (see major number 3) except that the limit on 2184 disks (see major number 3) except that the limit on
2172 partitions is 15. 2185 partitions is 15.
2173 2186
2174
2175136-143 char Unix98 PTY slaves 2187136-143 char Unix98 PTY slaves
2176 0 = /dev/pts/0 First Unix98 pseudo-TTY 2188 0 = /dev/pts/0 First Unix98 pseudo-TTY
2177 1 = /dev/pts/1 Second Unix98 pesudo-TTY 2189 1 = /dev/pts/1 Second Unix98 pesudo-TTY
@@ -2384,6 +2396,7 @@ Your cooperation is appreciated.
2384 ... 2396 ...
2385 2397
2386159 char RESERVED 2398159 char RESERVED
2399
2387159 block RESERVED 2400159 block RESERVED
2388 2401
2389160 char General Purpose Instrument Bus (GPIB) 2402160 char General Purpose Instrument Bus (GPIB)
@@ -2427,7 +2440,7 @@ Your cooperation is appreciated.
2427 2440
2428 Partitions are handled in the same way as for IDE 2441 Partitions are handled in the same way as for IDE
2429 disks (see major number 3) except that the limit on 2442 disks (see major number 3) except that the limit on
2430 partitions is 31. 2443 partitions is 31.
2431 2444
2432162 char Raw block device interface 2445162 char Raw block device interface
2433 0 = /dev/rawctl Raw I/O control device 2446 0 = /dev/rawctl Raw I/O control device
@@ -2483,7 +2496,6 @@ Your cooperation is appreciated.
2483 2496
2484171 char Reserved for IEEE 1394 (Firewire) 2497171 char Reserved for IEEE 1394 (Firewire)
2485 2498
2486
2487172 char Moxa Intellio serial card 2499172 char Moxa Intellio serial card
2488 0 = /dev/ttyMX0 First Moxa port 2500 0 = /dev/ttyMX0 First Moxa port
2489 1 = /dev/ttyMX1 Second Moxa port 2501 1 = /dev/ttyMX1 Second Moxa port
@@ -2543,9 +2555,6 @@ Your cooperation is appreciated.
2543 64 = /dev/usb/rio500 Diamond Rio 500 2555 64 = /dev/usb/rio500 Diamond Rio 500
2544 65 = /dev/usb/usblcd USBLCD Interface (info@usblcd.de) 2556 65 = /dev/usb/usblcd USBLCD Interface (info@usblcd.de)
2545 66 = /dev/usb/cpad0 Synaptics cPad (mouse/LCD) 2557 66 = /dev/usb/cpad0 Synaptics cPad (mouse/LCD)
2546 67 = /dev/usb/adutux0 1st Ontrak ADU device
2547 ...
2548 76 = /dev/usb/adutux10 10th Ontrak ADU device
2549 96 = /dev/usb/hiddev0 1st USB HID device 2558 96 = /dev/usb/hiddev0 1st USB HID device
2550 ... 2559 ...
2551 111 = /dev/usb/hiddev15 16th USB HID device 2560 111 = /dev/usb/hiddev15 16th USB HID device
@@ -2558,7 +2567,7 @@ Your cooperation is appreciated.
2558 132 = /dev/usb/idmouse ID Mouse (fingerprint scanner) device 2567 132 = /dev/usb/idmouse ID Mouse (fingerprint scanner) device
2559 133 = /dev/usb/sisusbvga1 First SiSUSB VGA device 2568 133 = /dev/usb/sisusbvga1 First SiSUSB VGA device
2560 ... 2569 ...
2561 140 = /dev/usb/sisusbvga8 Eigth SISUSB VGA device 2570 140 = /dev/usb/sisusbvga8 Eighth SISUSB VGA device
2562 144 = /dev/usb/lcd USB LCD device 2571 144 = /dev/usb/lcd USB LCD device
2563 160 = /dev/usb/legousbtower0 1st USB Legotower device 2572 160 = /dev/usb/legousbtower0 1st USB Legotower device
2564 ... 2573 ...
@@ -2571,7 +2580,7 @@ Your cooperation is appreciated.
2571 0 = /dev/uba First USB block device 2580 0 = /dev/uba First USB block device
2572 8 = /dev/ubb Second USB block device 2581 8 = /dev/ubb Second USB block device
2573 16 = /dev/ubc Third USB block device 2582 16 = /dev/ubc Third USB block device
2574 ... 2583 ...
2575 2584
2576181 char Conrad Electronic parallel port radio clocks 2585181 char Conrad Electronic parallel port radio clocks
2577 0 = /dev/pcfclock0 First Conrad radio clock 2586 0 = /dev/pcfclock0 First Conrad radio clock
@@ -2657,7 +2666,7 @@ Your cooperation is appreciated.
2657 32 = /dev/mvideo/status2 Third device 2666 32 = /dev/mvideo/status2 Third device
2658 ... 2667 ...
2659 ... 2668 ...
2660 240 = /dev/mvideo/status15 16th device 2669 240 = /dev/mvideo/status15 16th device
2661 ... 2670 ...
2662 2671
2663195 char Nvidia graphics devices 2672195 char Nvidia graphics devices
@@ -2795,6 +2804,10 @@ Your cooperation is appreciated.
2795 ... 2804 ...
2796 185 = /dev/ttyNX15 Hilscher netX serial port 15 2805 185 = /dev/ttyNX15 Hilscher netX serial port 15
2797 186 = /dev/ttyJ0 JTAG1 DCC protocol based serial port emulation 2806 186 = /dev/ttyJ0 JTAG1 DCC protocol based serial port emulation
2807 187 = /dev/ttyUL0 Xilinx uartlite - port 0
2808 ...
2809 190 = /dev/ttyUL3 Xilinx uartlite - port 3
2810 191 = /dev/xvc0 Xen virtual console - port 0
2798 2811
2799205 char Low-density serial ports (alternate device) 2812205 char Low-density serial ports (alternate device)
2800 0 = /dev/culu0 Callout device for ttyLU0 2813 0 = /dev/culu0 Callout device for ttyLU0
@@ -2832,7 +2845,6 @@ Your cooperation is appreciated.
2832 82 = /dev/cuvr0 Callout device for ttyVR0 2845 82 = /dev/cuvr0 Callout device for ttyVR0
2833 83 = /dev/cuvr1 Callout device for ttyVR1 2846 83 = /dev/cuvr1 Callout device for ttyVR1
2834 2847
2835
2836206 char OnStream SC-x0 tape devices 2848206 char OnStream SC-x0 tape devices
2837 0 = /dev/osst0 First OnStream SCSI tape, mode 0 2849 0 = /dev/osst0 First OnStream SCSI tape, mode 0
2838 1 = /dev/osst1 Second OnStream SCSI tape, mode 0 2850 1 = /dev/osst1 Second OnStream SCSI tape, mode 0
@@ -2922,7 +2934,6 @@ Your cooperation is appreciated.
2922 ... 2934 ...
2923 2935
2924212 char LinuxTV.org DVB driver subsystem 2936212 char LinuxTV.org DVB driver subsystem
2925
2926 0 = /dev/dvb/adapter0/video0 first video decoder of first card 2937 0 = /dev/dvb/adapter0/video0 first video decoder of first card
2927 1 = /dev/dvb/adapter0/audio0 first audio decoder of first card 2938 1 = /dev/dvb/adapter0/audio0 first audio decoder of first card
2928 2 = /dev/dvb/adapter0/sec0 (obsolete/unused) 2939 2 = /dev/dvb/adapter0/sec0 (obsolete/unused)
@@ -3008,9 +3019,9 @@ Your cooperation is appreciated.
3008 2 = /dev/3270/tub2 Second 3270 terminal 3019 2 = /dev/3270/tub2 Second 3270 terminal
3009 ... 3020 ...
3010 3021
3011229 char IBM iSeries virtual console 3022229 char IBM iSeries/pSeries virtual console
3012 0 = /dev/iseries/vtty0 First console port 3023 0 = /dev/hvc0 First console port
3013 1 = /dev/iseries/vtty1 Second console port 3024 1 = /dev/hvc1 Second console port
3014 ... 3025 ...
3015 3026
3016230 char IBM iSeries virtual tape 3027230 char IBM iSeries virtual tape
@@ -3083,12 +3094,14 @@ Your cooperation is appreciated.
3083234-239 UNASSIGNED 3094234-239 UNASSIGNED
3084 3095
3085240-254 char LOCAL/EXPERIMENTAL USE 3096240-254 char LOCAL/EXPERIMENTAL USE
3097
3086240-254 block LOCAL/EXPERIMENTAL USE 3098240-254 block LOCAL/EXPERIMENTAL USE
3087 Allocated for local/experimental use. For devices not 3099 Allocated for local/experimental use. For devices not
3088 assigned official numbers, these ranges should be 3100 assigned official numbers, these ranges should be
3089 used in order to avoid conflicting with future assignments. 3101 used in order to avoid conflicting with future assignments.
3090 3102
3091255 char RESERVED 3103255 char RESERVED
3104
3092255 block RESERVED 3105255 block RESERVED
3093 3106
3094 This major is reserved to assist the expansion to a 3107 This major is reserved to assist the expansion to a
@@ -3115,7 +3128,20 @@ Your cooperation is appreciated.
3115257 char Phoenix Technologies Cryptographic Services Driver 3128257 char Phoenix Technologies Cryptographic Services Driver
3116 0 = /dev/ptlsec Crypto Services Driver 3129 0 = /dev/ptlsec Crypto Services Driver
3117 3130
3118 3131257 block SSFDC Flash Translation Layer filesystem
3132 0 = /dev/ssfdca First SSFDC layer
3133 8 = /dev/ssfdcb Second SSFDC layer
3134 16 = /dev/ssfdcc Third SSFDC layer
3135 24 = /dev/ssfdcd 4th SSFDC layer
3136 32 = /dev/ssfdce 5th SSFDC layer
3137 40 = /dev/ssfdcf 6th SSFDC layer
3138 48 = /dev/ssfdcg 7th SSFDC layer
3139 56 = /dev/ssfdch 8th SSFDC layer
3140
3141258 block ROM/Flash read-only translation layer
3142 0 = /dev/blockrom0 First ROM card's translation layer interface
3143 1 = /dev/blockrom1 Second ROM card's translation layer interface
3144 ...
3119 3145
3120 **** ADDITIONAL /dev DIRECTORY ENTRIES 3146 **** ADDITIONAL /dev DIRECTORY ENTRIES
3121 3147
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking
index eb1a6cad21e6..790ef6fbe495 100644
--- a/Documentation/filesystems/Locking
+++ b/Documentation/filesystems/Locking
@@ -124,7 +124,7 @@ sync_fs: no no read
124write_super_lockfs: ? 124write_super_lockfs: ?
125unlockfs: ? 125unlockfs: ?
126statfs: no no no 126statfs: no no no
127remount_fs: no yes maybe (see below) 127remount_fs: yes yes maybe (see below)
128clear_inode: no 128clear_inode: no
129umount_begin: yes no no 129umount_begin: yes no no
130show_options: no (vfsmount->sem) 130show_options: no (vfsmount->sem)
diff --git a/Documentation/filesystems/fuse.txt b/Documentation/filesystems/fuse.txt
index 3d7447738958..345392c4caeb 100644
--- a/Documentation/filesystems/fuse.txt
+++ b/Documentation/filesystems/fuse.txt
@@ -51,6 +51,22 @@ homepage:
51 51
52 http://fuse.sourceforge.net/ 52 http://fuse.sourceforge.net/
53 53
54Filesystem type
55~~~~~~~~~~~~~~~
56
57The filesystem type given to mount(2) can be one of the following:
58
59'fuse'
60
61 This is the usual way to mount a FUSE filesystem. The first
62 argument of the mount system call may contain an arbitrary string,
63 which is not interpreted by the kernel.
64
65'fuseblk'
66
67 The filesystem is block device based. The first argument of the
68 mount system call is interpreted as the name of the device.
69
54Mount options 70Mount options
55~~~~~~~~~~~~~ 71~~~~~~~~~~~~~
56 72
@@ -94,6 +110,11 @@ Mount options
94 The default is infinite. Note that the size of read requests is 110 The default is infinite. Note that the size of read requests is
95 limited anyway to 32 pages (which is 128kbyte on i386). 111 limited anyway to 32 pages (which is 128kbyte on i386).
96 112
113'blksize=N'
114
115 Set the block size for the filesystem. The default is 512. This
116 option is only valid for 'fuseblk' type mounts.
117
97Control filesystem 118Control filesystem
98~~~~~~~~~~~~~~~~~~ 119~~~~~~~~~~~~~~~~~~
99 120
diff --git a/Documentation/filesystems/sysv-fs.txt b/Documentation/filesystems/sysv-fs.txt
index d81722418010..253b50d1328e 100644
--- a/Documentation/filesystems/sysv-fs.txt
+++ b/Documentation/filesystems/sysv-fs.txt
@@ -1,11 +1,8 @@
1This is the implementation of the SystemV/Coherent filesystem for Linux.
2It implements all of 1It implements all of
3 - Xenix FS, 2 - Xenix FS,
4 - SystemV/386 FS, 3 - SystemV/386 FS,
5 - Coherent FS. 4 - Coherent FS.
6 5
7This is version beta 4.
8
9To install: 6To install:
10* Answer the 'System V and Coherent filesystem support' question with 'y' 7* Answer the 'System V and Coherent filesystem support' question with 'y'
11 when configuring the kernel. 8 when configuring the kernel.
@@ -28,11 +25,173 @@ Bugs in the present implementation:
28 for this FS on hard disk yet. 25 for this FS on hard disk yet.
29 26
30 27
31Please report any bugs and suggestions to 28These filesystems are rather similar. Here is a comparison with Minix FS:
32 Bruno Haible <haible@ma2s2.mathematik.uni-karlsruhe.de> 29
33 Pascal Haible <haible@izfm.uni-stuttgart.de> 30* Linux fdisk reports on partitions
34 Krzysztof G. Baranowski <kgb@manjak.knm.org.pl> 31 - Minix FS 0x81 Linux/Minix
32 - Xenix FS ??
33 - SystemV FS ??
34 - Coherent FS 0x08 AIX bootable
35
36* Size of a block or zone (data allocation unit on disk)
37 - Minix FS 1024
38 - Xenix FS 1024 (also 512 ??)
39 - SystemV FS 1024 (also 512 and 2048)
40 - Coherent FS 512
41
42* General layout: all have one boot block, one super block and
43 separate areas for inodes and for directories/data.
44 On SystemV Release 2 FS (e.g. Microport) the first track is reserved and
45 all the block numbers (including the super block) are offset by one track.
46
47* Byte ordering of "short" (16 bit entities) on disk:
48 - Minix FS little endian 0 1
49 - Xenix FS little endian 0 1
50 - SystemV FS little endian 0 1
51 - Coherent FS little endian 0 1
52 Of course, this affects only the file system, not the data of files on it!
53
54* Byte ordering of "long" (32 bit entities) on disk:
55 - Minix FS little endian 0 1 2 3
56 - Xenix FS little endian 0 1 2 3
57 - SystemV FS little endian 0 1 2 3
58 - Coherent FS PDP-11 2 3 0 1
59 Of course, this affects only the file system, not the data of files on it!
60
61* Inode on disk: "short", 0 means non-existent, the root dir ino is:
62 - Minix FS 1
63 - Xenix FS, SystemV FS, Coherent FS 2
64
65* Maximum number of hard links to a file:
66 - Minix FS 250
67 - Xenix FS ??
68 - SystemV FS ??
69 - Coherent FS >=10000
70
71* Free inode management:
72 - Minix FS a bitmap
73 - Xenix FS, SystemV FS, Coherent FS
74 There is a cache of a certain number of free inodes in the super-block.
75 When it is exhausted, new free inodes are found using a linear search.
76
77* Free block management:
78 - Minix FS a bitmap
79 - Xenix FS, SystemV FS, Coherent FS
80 Free blocks are organized in a "free list". Maybe a misleading term,
81 since it is not true that every free block contains a pointer to
82 the next free block. Rather, the free blocks are organized in chunks
83 of limited size, and every now and then a free block contains pointers
84 to the free blocks pertaining to the next chunk; the first of these
85 contains pointers and so on. The list terminates with a "block number"
86 0 on Xenix FS and SystemV FS, with a block zeroed out on Coherent FS.
87
88* Super-block location:
89 - Minix FS block 1 = bytes 1024..2047
90 - Xenix FS block 1 = bytes 1024..2047
91 - SystemV FS bytes 512..1023
92 - Coherent FS block 1 = bytes 512..1023
93
94* Super-block layout:
95 - Minix FS
96 unsigned short s_ninodes;
97 unsigned short s_nzones;
98 unsigned short s_imap_blocks;
99 unsigned short s_zmap_blocks;
100 unsigned short s_firstdatazone;
101 unsigned short s_log_zone_size;
102 unsigned long s_max_size;
103 unsigned short s_magic;
104 - Xenix FS, SystemV FS, Coherent FS
105 unsigned short s_firstdatazone;
106 unsigned long s_nzones;
107 unsigned short s_fzone_count;
108 unsigned long s_fzones[NICFREE];
109 unsigned short s_finode_count;
110 unsigned short s_finodes[NICINOD];
111 char s_flock;
112 char s_ilock;
113 char s_modified;
114 char s_rdonly;
115 unsigned long s_time;
116 short s_dinfo[4]; -- SystemV FS only
117 unsigned long s_free_zones;
118 unsigned short s_free_inodes;
119 short s_dinfo[4]; -- Xenix FS only
120 unsigned short s_interleave_m,s_interleave_n; -- Coherent FS only
121 char s_fname[6];
122 char s_fpack[6];
123 then they differ considerably:
124 Xenix FS
125 char s_clean;
126 char s_fill[371];
127 long s_magic;
128 long s_type;
129 SystemV FS
130 long s_fill[12 or 14];
131 long s_state;
132 long s_magic;
133 long s_type;
134 Coherent FS
135 unsigned long s_unique;
136 Note that Coherent FS has no magic.
137
138* Inode layout:
139 - Minix FS
140 unsigned short i_mode;
141 unsigned short i_uid;
142 unsigned long i_size;
143 unsigned long i_time;
144 unsigned char i_gid;
145 unsigned char i_nlinks;
146 unsigned short i_zone[7+1+1];
147 - Xenix FS, SystemV FS, Coherent FS
148 unsigned short i_mode;
149 unsigned short i_nlink;
150 unsigned short i_uid;
151 unsigned short i_gid;
152 unsigned long i_size;
153 unsigned char i_zone[3*(10+1+1+1)];
154 unsigned long i_atime;
155 unsigned long i_mtime;
156 unsigned long i_ctime;
157
158* Regular file data blocks are organized as
159 - Minix FS
160 7 direct blocks
161 1 indirect block (pointers to blocks)
162 1 double-indirect block (pointer to pointers to blocks)
163 - Xenix FS, SystemV FS, Coherent FS
164 10 direct blocks
165 1 indirect block (pointers to blocks)
166 1 double-indirect block (pointer to pointers to blocks)
167 1 triple-indirect block (pointer to pointers to pointers to blocks)
168
169* Inode size, inodes per block
170 - Minix FS 32 32
171 - Xenix FS 64 16
172 - SystemV FS 64 16
173 - Coherent FS 64 8
174
175* Directory entry on disk
176 - Minix FS
177 unsigned short inode;
178 char name[14/30];
179 - Xenix FS, SystemV FS, Coherent FS
180 unsigned short inode;
181 char name[14];
182
183* Dir entry size, dir entries per block
184 - Minix FS 16/32 64/32
185 - Xenix FS 16 64
186 - SystemV FS 16 64
187 - Coherent FS 16 32
188
189* How to implement symbolic links such that the host fsck doesn't scream:
190 - Minix FS normal
191 - Xenix FS kludge: as regular files with chmod 1000
192 - SystemV FS ??
193 - Coherent FS kludge: as regular files with chmod 1000
35 194
36Bruno Haible
37<haible@ma2s2.mathematik.uni-karlsruhe.de>
38 195
196Notation: We often speak of a "block" but mean a zone (the allocation unit)
197and not the disk driver's notion of "block".
diff --git a/Documentation/i386/boot.txt b/Documentation/i386/boot.txt
index c51314b1a463..9575de300a61 100644
--- a/Documentation/i386/boot.txt
+++ b/Documentation/i386/boot.txt
@@ -2,7 +2,7 @@
2 ---------------------------- 2 ----------------------------
3 3
4 H. Peter Anvin <hpa@zytor.com> 4 H. Peter Anvin <hpa@zytor.com>
5 Last update 2005-09-02 5 Last update 2006-11-17
6 6
7On the i386 platform, the Linux kernel uses a rather complicated boot 7On the i386 platform, the Linux kernel uses a rather complicated boot
8convention. This has evolved partially due to historical aspects, as 8convention. This has evolved partially due to historical aspects, as
@@ -35,6 +35,8 @@ Protocol 2.03: (Kernel 2.4.18-pre1) Explicitly makes the highest possible
35 initrd address available to the bootloader. 35 initrd address available to the bootloader.
36 36
37Protocol 2.04: (Kernel 2.6.14) Extend the syssize field to four bytes. 37Protocol 2.04: (Kernel 2.6.14) Extend the syssize field to four bytes.
38Protocol 2.05: (Kernel 2.6.20) Make protected mode kernel relocatable.
39 Introduce relocatable_kernel and kernel_alignment fields.
38 40
39 41
40**** MEMORY LAYOUT 42**** MEMORY LAYOUT
@@ -129,6 +131,8 @@ Offset Proto Name Meaning
1290226/2 N/A pad1 Unused 1310226/2 N/A pad1 Unused
1300228/4 2.02+ cmd_line_ptr 32-bit pointer to the kernel command line 1320228/4 2.02+ cmd_line_ptr 32-bit pointer to the kernel command line
131022C/4 2.03+ initrd_addr_max Highest legal initrd address 133022C/4 2.03+ initrd_addr_max Highest legal initrd address
1340230/4 2.05+ kernel_alignment Physical addr alignment required for kernel
1350234/1 2.05+ relocatable_kernel Whether kernel is relocatable or not
132 136
133(1) For backwards compatibility, if the setup_sects field contains 0, the 137(1) For backwards compatibility, if the setup_sects field contains 0, the
134 real value is 4. 138 real value is 4.
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 2e1898e4e8fd..b79bcdf16319 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -599,8 +599,6 @@ and is between 256 and 4096 characters. It is defined in the file
599 599
600 hugepages= [HW,IA-32,IA-64] Maximal number of HugeTLB pages. 600 hugepages= [HW,IA-32,IA-64] Maximal number of HugeTLB pages.
601 601
602 noirqbalance [IA-32,SMP,KNL] Disable kernel irq balancing
603
604 i8042.direct [HW] Put keyboard port into non-translated mode 602 i8042.direct [HW] Put keyboard port into non-translated mode
605 i8042.dumbkbd [HW] Pretend that controller can only read data from 603 i8042.dumbkbd [HW] Pretend that controller can only read data from
606 keyboard and cannot control its state 604 keyboard and cannot control its state
@@ -650,6 +648,10 @@ and is between 256 and 4096 characters. It is defined in the file
650 idle= [HW] 648 idle= [HW]
651 Format: idle=poll or idle=halt 649 Format: idle=poll or idle=halt
652 650
651 ignore_loglevel [KNL]
652 Ignore loglevel setting - this will print /all/
653 kernel messages to the console. Useful for debugging.
654
653 ihash_entries= [KNL] 655 ihash_entries= [KNL]
654 Set number of hash buckets for inode cache. 656 Set number of hash buckets for inode cache.
655 657
@@ -714,7 +716,12 @@ and is between 256 and 4096 characters. It is defined in the file
714 Format: <RDP>,<reset>,<pci_scan>,<verbosity> 716 Format: <RDP>,<reset>,<pci_scan>,<verbosity>
715 717
716 isolcpus= [KNL,SMP] Isolate CPUs from the general scheduler. 718 isolcpus= [KNL,SMP] Isolate CPUs from the general scheduler.
717 Format: <cpu number>,...,<cpu number> 719 Format:
720 <cpu number>,...,<cpu number>
721 or
722 <cpu number>-<cpu number> (must be a positive range in ascending order)
723 or a mixture
724 <cpu number>,...,<cpu number>-<cpu number>
718 This option can be used to specify one or more CPUs 725 This option can be used to specify one or more CPUs
719 to isolate from the general SMP balancing and scheduling 726 to isolate from the general SMP balancing and scheduling
720 algorithms. The only way to move a process onto or off 727 algorithms. The only way to move a process onto or off
@@ -1012,6 +1019,10 @@ and is between 256 and 4096 characters. It is defined in the file
1012 emulation library even if a 387 maths coprocessor 1019 emulation library even if a 387 maths coprocessor
1013 is present. 1020 is present.
1014 1021
1022 noaliencache [MM, NUMA] Disables the allcoation of alien caches in
1023 the slab allocator. Saves per-node memory, but will
1024 impact performance on real NUMA hardware.
1025
1015 noalign [KNL,ARM] 1026 noalign [KNL,ARM]
1016 1027
1017 noapic [SMP,APIC] Tells the kernel to not make use of any 1028 noapic [SMP,APIC] Tells the kernel to not make use of any
@@ -1052,9 +1063,14 @@ and is between 256 and 4096 characters. It is defined in the file
1052 in certain environments such as networked servers or 1063 in certain environments such as networked servers or
1053 real-time systems. 1064 real-time systems.
1054 1065
1066 noirqbalance [IA-32,SMP,KNL] Disable kernel irq balancing
1067
1055 noirqdebug [IA-32] Disables the code which attempts to detect and 1068 noirqdebug [IA-32] Disables the code which attempts to detect and
1056 disable unhandled interrupt sources. 1069 disable unhandled interrupt sources.
1057 1070
1071 no_timer_check [IA-32,X86_64,APIC] Disables the code which tests for
1072 broken timer IRQ sources.
1073
1058 noisapnp [ISAPNP] Disables ISA PnP code. 1074 noisapnp [ISAPNP] Disables ISA PnP code.
1059 1075
1060 noinitrd [RAM] Tells the kernel not to load any configured 1076 noinitrd [RAM] Tells the kernel not to load any configured
@@ -1285,6 +1301,7 @@ and is between 256 and 4096 characters. It is defined in the file
1285 Param: "schedule" - profile schedule points. 1301 Param: "schedule" - profile schedule points.
1286 Param: <number> - step/bucket size as a power of 2 for 1302 Param: <number> - step/bucket size as a power of 2 for
1287 statistical time based profiling. 1303 statistical time based profiling.
1304 Param: "sleep" - profile D-state sleeping (millisecs)
1288 1305
1289 processor.max_cstate= [HW,ACPI] 1306 processor.max_cstate= [HW,ACPI]
1290 Limit processor to maximum C-state 1307 Limit processor to maximum C-state
@@ -1366,6 +1383,12 @@ and is between 256 and 4096 characters. It is defined in the file
1366 resume= [SWSUSP] 1383 resume= [SWSUSP]
1367 Specify the partition device for software suspend 1384 Specify the partition device for software suspend
1368 1385
1386 resume_offset= [SWSUSP]
1387 Specify the offset from the beginning of the partition
1388 given by "resume=" at which the swap header is located,
1389 in <PAGE_SIZE> units (needed only for swap files).
1390 See Documentation/power/swsusp-and-swap-files.txt
1391
1369 rhash_entries= [KNL,NET] 1392 rhash_entries= [KNL,NET]
1370 Set number of hash buckets for route cache 1393 Set number of hash buckets for route cache
1371 1394
@@ -1732,6 +1755,9 @@ and is between 256 and 4096 characters. It is defined in the file
1732 norandmaps Don't use address space randomization 1755 norandmaps Don't use address space randomization
1733 Equivalent to echo 0 > /proc/sys/kernel/randomize_va_space 1756 Equivalent to echo 0 > /proc/sys/kernel/randomize_va_space
1734 1757
1758 unwind_debug=N N > 0 will enable dwarf2 unwinder debugging
1759 This is useful to get more information why
1760 you got a "dwarf2 unwinder stuck"
1735 1761
1736______________________________________________________________________ 1762______________________________________________________________________
1737 1763
diff --git a/Documentation/networking/00-INDEX b/Documentation/networking/00-INDEX
index b1181ce232d9..e06b6e3c1db5 100644
--- a/Documentation/networking/00-INDEX
+++ b/Documentation/networking/00-INDEX
@@ -58,6 +58,8 @@ fore200e.txt
58 - FORE Systems PCA-200E/SBA-200E ATM NIC driver info. 58 - FORE Systems PCA-200E/SBA-200E ATM NIC driver info.
59framerelay.txt 59framerelay.txt
60 - info on using Frame Relay/Data Link Connection Identifier (DLCI). 60 - info on using Frame Relay/Data Link Connection Identifier (DLCI).
61generic_netlink.txt
62 - info on Generic Netlink
61ip-sysctl.txt 63ip-sysctl.txt
62 - /proc/sys/net/ipv4/* variables 64 - /proc/sys/net/ipv4/* variables
63ip_dynaddr.txt 65ip_dynaddr.txt
diff --git a/Documentation/networking/generic_netlink.txt b/Documentation/networking/generic_netlink.txt
new file mode 100644
index 000000000000..d4f8b8b9b53c
--- /dev/null
+++ b/Documentation/networking/generic_netlink.txt
@@ -0,0 +1,3 @@
1A wiki document on how to use Generic Netlink can be found here:
2
3 * http://linux-net.osdl.org/index.php/Generic_Netlink_HOWTO
diff --git a/Documentation/power/s2ram.txt b/Documentation/power/s2ram.txt
new file mode 100644
index 000000000000..b05f512130ea
--- /dev/null
+++ b/Documentation/power/s2ram.txt
@@ -0,0 +1,56 @@
1 How to get s2ram working
2 ~~~~~~~~~~~~~~~~~~~~~~~~
3 2006 Linus Torvalds
4 2006 Pavel Machek
5
61) Check suspend.sf.net, program s2ram there has long whitelist of
7 "known ok" machines, along with tricks to use on each one.
8
92) If that does not help, try reading tricks.txt and
10 video.txt. Perhaps problem is as simple as broken module, and
11 simple module unload can fix it.
12
133) You can use Linus' TRACE_RESUME infrastructure, described below.
14
15 Using TRACE_RESUME
16 ~~~~~~~~~~~~~~~~~~
17
18I've been working at making the machines I have able to STR, and almost
19always it's a driver that is buggy. Thank God for the suspend/resume
20debugging - the thing that Chuck tried to disable. That's often the _only_
21way to debug these things, and it's actually pretty powerful (but
22time-consuming - having to insert TRACE_RESUME() markers into the device
23driver that doesn't resume and recompile and reboot).
24
25Anyway, the way to debug this for people who are interested (have a
26machine that doesn't boot) is:
27
28 - enable PM_DEBUG, and PM_TRACE
29
30 - use a script like this:
31
32 #!/bin/sh
33 sync
34 echo 1 > /sys/power/pm_trace
35 echo mem > /sys/power/state
36
37 to suspend
38
39 - if it doesn't come back up (which is usually the problem), reboot by
40 holding the power button down, and look at the dmesg output for things
41 like
42
43 Magic number: 4:156:725
44 hash matches drivers/base/power/resume.c:28
45 hash matches device 0000:01:00.0
46
47 which means that the last trace event was just before trying to resume
48 device 0000:01:00.0. Then figure out what driver is controlling that
49 device (lspci and /sys/devices/pci* is your friend), and see if you can
50 fix it, disable it, or trace into its resume function.
51
52For example, the above happens to be the VGA device on my EVO, which I
53used to run with "radeonfb" (it's an ATI Radeon mobility). It turns out
54that "radeonfb" simply cannot resume that device - it tries to set the
55PLL's, and it just _hangs_. Using the regular VGA console and letting X
56resume it instead works fine.
diff --git a/Documentation/power/swsusp-and-swap-files.txt b/Documentation/power/swsusp-and-swap-files.txt
new file mode 100644
index 000000000000..06f911a5f885
--- /dev/null
+++ b/Documentation/power/swsusp-and-swap-files.txt
@@ -0,0 +1,60 @@
1Using swap files with software suspend (swsusp)
2 (C) 2006 Rafael J. Wysocki <rjw@sisk.pl>
3
4The Linux kernel handles swap files almost in the same way as it handles swap
5partitions and there are only two differences between these two types of swap
6areas:
7(1) swap files need not be contiguous,
8(2) the header of a swap file is not in the first block of the partition that
9holds it. From the swsusp's point of view (1) is not a problem, because it is
10already taken care of by the swap-handling code, but (2) has to be taken into
11consideration.
12
13In principle the location of a swap file's header may be determined with the
14help of appropriate filesystem driver. Unfortunately, however, it requires the
15filesystem holding the swap file to be mounted, and if this filesystem is
16journaled, it cannot be mounted during resume from disk. For this reason to
17identify a swap file swsusp uses the name of the partition that holds the file
18and the offset from the beginning of the partition at which the swap file's
19header is located. For convenience, this offset is expressed in <PAGE_SIZE>
20units.
21
22In order to use a swap file with swsusp, you need to:
23
241) Create the swap file and make it active, eg.
25
26# dd if=/dev/zero of=<swap_file_path> bs=1024 count=<swap_file_size_in_k>
27# mkswap <swap_file_path>
28# swapon <swap_file_path>
29
302) Use an application that will bmap the swap file with the help of the
31FIBMAP ioctl and determine the location of the file's swap header, as the
32offset, in <PAGE_SIZE> units, from the beginning of the partition which
33holds the swap file.
34
353) Add the following parameters to the kernel command line:
36
37resume=<swap_file_partition> resume_offset=<swap_file_offset>
38
39where <swap_file_partition> is the partition on which the swap file is located
40and <swap_file_offset> is the offset of the swap header determined by the
41application in 2) (of course, this step may be carried out automatically
42by the same application that determies the swap file's header offset using the
43FIBMAP ioctl)
44
45OR
46
47Use a userland suspend application that will set the partition and offset
48with the help of the SNAPSHOT_SET_SWAP_AREA ioctl described in
49Documentation/power/userland-swsusp.txt (this is the only method to suspend
50to a swap file allowing the resume to be initiated from an initrd or initramfs
51image).
52
53Now, swsusp will use the swap file in the same way in which it would use a swap
54partition. In particular, the swap file has to be active (ie. be present in
55/proc/swaps) so that it can be used for suspending.
56
57Note that if the swap file used for suspending is deleted and recreated,
58the location of its header need not be the same as before. Thus every time
59this happens the value of the "resume_offset=" kernel command line parameter
60has to be updated.
diff --git a/Documentation/power/swsusp.txt b/Documentation/power/swsusp.txt
index e635e6f1e316..0761ff6c57ed 100644
--- a/Documentation/power/swsusp.txt
+++ b/Documentation/power/swsusp.txt
@@ -297,20 +297,12 @@ system is shut down or suspended. Additionally use the encrypted
297suspend image to prevent sensitive data from being stolen after 297suspend image to prevent sensitive data from being stolen after
298resume. 298resume.
299 299
300Q: Why can't we suspend to a swap file? 300Q: Can I suspend to a swap file?
301 301
302A: Because accessing swap file needs the filesystem mounted, and 302A: Generally, yes, you can. However, it requires you to use the "resume=" and
303filesystem might do something wrong (like replaying the journal) 303"resume_offset=" kernel command line parameters, so the resume from a swap file
304during mount. 304cannot be initiated from an initrd or initramfs image. See
305 305swsusp-and-swap-files.txt for details.
306There are few ways to get that fixed:
307
3081) Probably could be solved by modifying every filesystem to support
309some kind of "really read-only!" option. Patches welcome.
310
3112) suspend2 gets around that by storing absolute positions in on-disk
312image (and blocksize), with resume parameter pointing directly to
313suspend header.
314 306
315Q: Is there a maximum system RAM size that is supported by swsusp? 307Q: Is there a maximum system RAM size that is supported by swsusp?
316 308
diff --git a/Documentation/power/userland-swsusp.txt b/Documentation/power/userland-swsusp.txt
index 64755e9285db..000556c932e9 100644
--- a/Documentation/power/userland-swsusp.txt
+++ b/Documentation/power/userland-swsusp.txt
@@ -9,9 +9,8 @@ done it already.
9Now, to use the userland interface for software suspend you need special 9Now, to use the userland interface for software suspend you need special
10utilities that will read/write the system memory snapshot from/to the 10utilities that will read/write the system memory snapshot from/to the
11kernel. Such utilities are available, for example, from 11kernel. Such utilities are available, for example, from
12<http://www.sisk.pl/kernel/utilities/suspend>. You may want to have 12<http://suspend.sourceforge.net>. You may want to have a look at them if you
13a look at them if you are going to develop your own suspend/resume 13are going to develop your own suspend/resume utilities.
14utilities.
15 14
16The interface consists of a character device providing the open(), 15The interface consists of a character device providing the open(),
17release(), read(), and write() operations as well as several ioctl() 16release(), read(), and write() operations as well as several ioctl()
@@ -21,9 +20,9 @@ be read from /sys/class/misc/snapshot/dev.
21 20
22The device can be open either for reading or for writing. If open for 21The device can be open either for reading or for writing. If open for
23reading, it is considered to be in the suspend mode. Otherwise it is 22reading, it is considered to be in the suspend mode. Otherwise it is
24assumed to be in the resume mode. The device cannot be open for reading 23assumed to be in the resume mode. The device cannot be open for simultaneous
25and writing. It is also impossible to have the device open more than once 24reading and writing. It is also impossible to have the device open more than
26at a time. 25once at a time.
27 26
28The ioctl() commands recognized by the device are: 27The ioctl() commands recognized by the device are:
29 28
@@ -69,9 +68,46 @@ SNAPSHOT_FREE_SWAP_PAGES - free all swap pages allocated with
69SNAPSHOT_SET_SWAP_FILE - set the resume partition (the last ioctl() argument 68SNAPSHOT_SET_SWAP_FILE - set the resume partition (the last ioctl() argument
70 should specify the device's major and minor numbers in the old 69 should specify the device's major and minor numbers in the old
71 two-byte format, as returned by the stat() function in the .st_rdev 70 two-byte format, as returned by the stat() function in the .st_rdev
72 member of the stat structure); it is recommended to always use this 71 member of the stat structure)
73 call, because the code to set the resume partition could be removed from 72
74 future kernels 73SNAPSHOT_SET_SWAP_AREA - set the resume partition and the offset (in <PAGE_SIZE>
74 units) from the beginning of the partition at which the swap header is
75 located (the last ioctl() argument should point to a struct
76 resume_swap_area, as defined in kernel/power/power.h, containing the
77 resume device specification, as for the SNAPSHOT_SET_SWAP_FILE ioctl(),
78 and the offset); for swap partitions the offset is always 0, but it is
79 different to zero for swap files (please see
80 Documentation/swsusp-and-swap-files.txt for details).
81 The SNAPSHOT_SET_SWAP_AREA ioctl() is considered as a replacement for
82 SNAPSHOT_SET_SWAP_FILE which is regarded as obsolete. It is
83 recommended to always use this call, because the code to set the resume
84 partition may be removed from future kernels
85
86SNAPSHOT_S2RAM - suspend to RAM; using this call causes the kernel to
87 immediately enter the suspend-to-RAM state, so this call must always
88 be preceded by the SNAPSHOT_FREEZE call and it is also necessary
89 to use the SNAPSHOT_UNFREEZE call after the system wakes up. This call
90 is needed to implement the suspend-to-both mechanism in which the
91 suspend image is first created, as though the system had been suspended
92 to disk, and then the system is suspended to RAM (this makes it possible
93 to resume the system from RAM if there's enough battery power or restore
94 its state on the basis of the saved suspend image otherwise)
95
96SNAPSHOT_PMOPS - enable the usage of the pmops->prepare, pmops->enter and
97 pmops->finish methods (the in-kernel swsusp knows these as the "platform
98 method") which are needed on many machines to (among others) speed up
99 the resume by letting the BIOS skip some steps or to let the system
100 recognise the correct state of the hardware after the resume (in
101 particular on many machines this ensures that unplugged AC
102 adapters get correctly detected and that kacpid does not run wild after
103 the resume). The last ioctl() argument can take one of the three
104 values, defined in kernel/power/power.h:
105 PMOPS_PREPARE - make the kernel carry out the
106 pm_ops->prepare(PM_SUSPEND_DISK) operation
107 PMOPS_ENTER - make the kernel power off the system by calling
108 pm_ops->enter(PM_SUSPEND_DISK)
109 PMOPS_FINISH - make the kernel carry out the
110 pm_ops->finish(PM_SUSPEND_DISK) operation
75 111
76The device's read() operation can be used to transfer the snapshot image from 112The device's read() operation can be used to transfer the snapshot image from
77the kernel. It has the following limitations: 113the kernel. It has the following limitations:
@@ -91,10 +127,12 @@ unfreeze user space processes frozen by SNAPSHOT_UNFREEZE if they are
91still frozen when the device is being closed). 127still frozen when the device is being closed).
92 128
93Currently it is assumed that the userland utilities reading/writing the 129Currently it is assumed that the userland utilities reading/writing the
94snapshot image from/to the kernel will use a swap partition, called the resume 130snapshot image from/to the kernel will use a swap parition, called the resume
95partition, as storage space. However, this is not really required, as they 131partition, or a swap file as storage space (if a swap file is used, the resume
96can use, for example, a special (blank) suspend partition or a file on a partition 132partition is the partition that holds this file). However, this is not really
97that is unmounted before SNAPSHOT_ATOMIC_SNAPSHOT and mounted afterwards. 133required, as they can use, for example, a special (blank) suspend partition or
134a file on a partition that is unmounted before SNAPSHOT_ATOMIC_SNAPSHOT and
135mounted afterwards.
98 136
99These utilities SHOULD NOT make any assumptions regarding the ordering of 137These utilities SHOULD NOT make any assumptions regarding the ordering of
100data within the snapshot image, except for the image header that MAY be 138data within the snapshot image, except for the image header that MAY be
diff --git a/Documentation/stable_api_nonsense.txt b/Documentation/stable_api_nonsense.txt
index f39c9d714db3..a2afca3b2bab 100644
--- a/Documentation/stable_api_nonsense.txt
+++ b/Documentation/stable_api_nonsense.txt
@@ -62,9 +62,6 @@ consider the following facts about the Linux kernel:
62 - different structures can contain different fields 62 - different structures can contain different fields
63 - Some functions may not be implemented at all, (i.e. some locks 63 - Some functions may not be implemented at all, (i.e. some locks
64 compile away to nothing for non-SMP builds.) 64 compile away to nothing for non-SMP builds.)
65 - Parameter passing of variables from function to function can be
66 done in different ways (the CONFIG_REGPARM option controls
67 this.)
68 - Memory within the kernel can be aligned in different ways, 65 - Memory within the kernel can be aligned in different ways,
69 depending on the build options. 66 depending on the build options.
70 - Linux runs on a wide range of different processor architectures. 67 - Linux runs on a wide range of different processor architectures.
diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt
index 0bc7f1e3c9e6..5922e84d9133 100644
--- a/Documentation/sysctl/kernel.txt
+++ b/Documentation/sysctl/kernel.txt
@@ -27,6 +27,7 @@ show up in /proc/sys/kernel:
27- hotplug 27- hotplug
28- java-appletviewer [ binfmt_java, obsolete ] 28- java-appletviewer [ binfmt_java, obsolete ]
29- java-interpreter [ binfmt_java, obsolete ] 29- java-interpreter [ binfmt_java, obsolete ]
30- kstack_depth_to_print [ X86 only ]
30- l2cr [ PPC only ] 31- l2cr [ PPC only ]
31- modprobe ==> Documentation/kmod.txt 32- modprobe ==> Documentation/kmod.txt
32- msgmax 33- msgmax
@@ -170,6 +171,13 @@ This flag controls the L2 cache of G3 processor boards. If
170 171
171============================================================== 172==============================================================
172 173
174kstack_depth_to_print: (X86 only)
175
176Controls the number of words to print when dumping the raw
177kernel stack.
178
179==============================================================
180
173osrelease, ostype & version: 181osrelease, ostype & version:
174 182
175# cat osrelease 183# cat osrelease
diff --git a/Documentation/x86_64/boot-options.txt b/Documentation/x86_64/boot-options.txt
index f3c57f43ba64..dbdcaf68e3ea 100644
--- a/Documentation/x86_64/boot-options.txt
+++ b/Documentation/x86_64/boot-options.txt
@@ -52,10 +52,6 @@ APICs
52 apicmaintimer. Useful when your PIT timer is totally 52 apicmaintimer. Useful when your PIT timer is totally
53 broken. 53 broken.
54 54
55 disable_8254_timer / enable_8254_timer
56 Enable interrupt 0 timer routing over the 8254 in addition to over
57 the IO-APIC. The kernel tries to set a sensible default.
58
59Early Console 55Early Console
60 56
61 syntax: earlyprintk=vga 57 syntax: earlyprintk=vga
@@ -183,7 +179,7 @@ PCI
183IOMMU 179IOMMU
184 180
185 iommu=[size][,noagp][,off][,force][,noforce][,leak][,memaper[=order]][,merge] 181 iommu=[size][,noagp][,off][,force][,noforce][,leak][,memaper[=order]][,merge]
186 [,forcesac][,fullflush][,nomerge][,noaperture] 182 [,forcesac][,fullflush][,nomerge][,noaperture][,calgary]
187 size set size of iommu (in bytes) 183 size set size of iommu (in bytes)
188 noagp don't initialize the AGP driver and use full aperture. 184 noagp don't initialize the AGP driver and use full aperture.
189 off don't use the IOMMU 185 off don't use the IOMMU
@@ -204,6 +200,7 @@ IOMMU
204 buffering. 200 buffering.
205 nodac Forbid DMA >4GB 201 nodac Forbid DMA >4GB
206 panic Always panic when IOMMU overflows 202 panic Always panic when IOMMU overflows
203 calgary Use the Calgary IOMMU if it is available
207 204
208 swiotlb=pages[,force] 205 swiotlb=pages[,force]
209 206