diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/DMA-API.txt | 12 | ||||
-rw-r--r-- | Documentation/DocBook/Makefile | 10 | ||||
-rw-r--r-- | Documentation/DocBook/kernel-api.tmpl | 32 | ||||
-rw-r--r-- | Documentation/IPMI.txt | 34 | ||||
-rw-r--r-- | Documentation/block/as-iosched.txt | 6 | ||||
-rw-r--r-- | Documentation/devices.txt | 102 | ||||
-rw-r--r-- | Documentation/filesystems/Locking | 2 | ||||
-rw-r--r-- | Documentation/filesystems/fuse.txt | 21 | ||||
-rw-r--r-- | Documentation/filesystems/sysv-fs.txt | 177 | ||||
-rw-r--r-- | Documentation/kernel-parameters.txt | 22 | ||||
-rw-r--r-- | Documentation/power/s2ram.txt | 56 | ||||
-rw-r--r-- | Documentation/power/swsusp-and-swap-files.txt | 60 | ||||
-rw-r--r-- | Documentation/power/swsusp.txt | 18 | ||||
-rw-r--r-- | Documentation/power/userland-swsusp.txt | 64 |
14 files changed, 526 insertions, 90 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> | |||
77 | Many drivers need lots of small dma-coherent memory regions for DMA | 77 | Many drivers need lots of small dma-coherent memory regions for DMA |
78 | descriptors or I/O buffers. Rather than allocating in units of a page | 78 | descriptors or I/O buffers. Rather than allocating in units of a page |
79 | or more using dma_alloc_coherent(), you can use DMA pools. These work | 79 | or more using dma_alloc_coherent(), you can use DMA pools. These work |
80 | much like a kmem_cache_t, except that they use the dma-coherent allocator | 80 | much like a struct kmem_cache, except that they use the dma-coherent allocator |
81 | not __get_free_pages(). Also, they understand common hardware constraints | 81 | not __get_free_pages(). Also, they understand common hardware constraints |
82 | for alignment, like queue heads needing to be aligned on N byte boundaries. | 82 | for 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 | |||
94 | for use with a given device. It must be called in a context which | 94 | for use with a given device. It must be called in a context which |
95 | can sleep. | 95 | can sleep. |
96 | 96 | ||
97 | The "name" is for diagnostics (like a kmem_cache_t name); dev and size | 97 | The "name" is for diagnostics (like a struct kmem_cache name); dev and size |
98 | are like what you'd pass to dma_alloc_coherent(). The device's hardware | 98 | are like what you'd pass to dma_alloc_coherent(). The device's hardware |
99 | alignment requirement for this type of data is "align" (which is expressed | 99 | alignment requirement for this type of data is "align" (which is expressed |
100 | in bytes, and must be a power of two). If your device has no boundary | 100 | in 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 | |||
431 | dma_alloc_noncoherent()). | 431 | dma_alloc_noncoherent()). |
432 | 432 | ||
433 | int | 433 | int |
434 | dma_is_consistent(dma_addr_t dma_handle) | 434 | dma_is_consistent(struct device *dev, dma_addr_t dma_handle) |
435 | 435 | ||
436 | returns true if the memory pointed to by the dma_handle is actually | 436 | returns true if the device dev is performing consistent DMA on the memory |
437 | consistent. | 437 | area pointed to by the dma_handle. |
438 | 438 | ||
439 | int | 439 | int |
440 | dma_get_cache_alignment(void) | 440 | dma_get_cache_alignment(void) |
@@ -459,7 +459,7 @@ anything like this. You must also be extra careful about accessing | |||
459 | memory you intend to sync partially. | 459 | memory you intend to sync partially. |
460 | 460 | ||
461 | void | 461 | void |
462 | dma_cache_sync(void *vaddr, size_t size, | 462 | dma_cache_sync(struct device *dev, void *vaddr, size_t size, |
463 | enum dma_data_direction direction) | 463 | enum dma_data_direction direction) |
464 | 464 | ||
465 | Do a partial sync of memory that was allocated by | 465 | Do a partial sync of memory that was allocated by |
diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile index db9499adbed4..36526a1e76d7 100644 --- a/Documentation/DocBook/Makefile +++ b/Documentation/DocBook/Makefile | |||
@@ -190,9 +190,13 @@ quiet_cmd_fig2png = FIG2PNG $@ | |||
190 | ### | 190 | ### |
191 | # Help targets as used by the top-level makefile | 191 | # Help targets as used by the top-level makefile |
192 | dochelp: | 192 | dochelp: |
193 | @echo ' Linux kernel internal documentation in different formats:' | 193 | @echo ' Linux kernel internal documentation in different formats:' |
194 | @echo ' xmldocs (XML DocBook), psdocs (Postscript), pdfdocs (PDF)' | 194 | @echo ' htmldocs - HTML' |
195 | @echo ' htmldocs (HTML), mandocs (man pages, use installmandocs to install)' | 195 | @echo ' installmandocs - install man pages generated by mandocs' |
196 | @echo ' mandocs - man pages' | ||
197 | @echo ' pdfdocs - PDF' | ||
198 | @echo ' psdocs - Postscript' | ||
199 | @echo ' xmldocs - XML DocBook' | ||
196 | 200 | ||
197 | ### | 201 | ### |
198 | # Temporary files left by various tools | 202 | # Temporary files left by various tools |
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 | ||
369 | Each of these except si_trydefaults is a list, the first item for the | 370 | Each of these except si_trydefaults is a list, the first item for the |
370 | first interface, second item for the second interface, etc. | 371 | first interface, second item for the second interface, etc. |
@@ -416,6 +417,11 @@ by the driver, but systems with broken interrupts might need an enable, | |||
416 | or users that don't want the daemon (don't need the performance, don't | 417 | or users that don't want the daemon (don't need the performance, don't |
417 | want the CPU hit) can disable it. | 418 | want the CPU hit) can disable it. |
418 | 419 | ||
420 | If unload_when_empty is set to 1, the driver will be unloaded if it | ||
421 | doesn't find any interfaces or all the interfaces fail to work. The | ||
422 | default is one. Setting to 0 is useful with the hotmod, but is | ||
423 | obviously only useful for modules. | ||
424 | |||
419 | When compiled into the kernel, the parameters can be specified on the | 425 | When compiled into the kernel, the parameters can be specified on the |
420 | kernel command line as: | 426 | kernel command line as: |
421 | 427 | ||
@@ -441,6 +447,25 @@ have high-res timers enabled in the kernel and you don't have | |||
441 | interrupts enabled, the driver will run VERY slowly. Don't blame me, | 447 | interrupts enabled, the driver will run VERY slowly. Don't blame me, |
442 | these interfaces suck. | 448 | these interfaces suck. |
443 | 449 | ||
450 | The driver supports a hot add and remove of interfaces. This way, | ||
451 | interfaces can be added or removed after the kernel is up and running. | ||
452 | This is done using /sys/modules/ipmi_si/hotmod, which is a write-only | ||
453 | parameter. You write a string to this interface. The string has the | ||
454 | format: | ||
455 | <op1>[:op2[:op3...]] | ||
456 | The "op"s are: | ||
457 | add|remove,kcs|bt|smic,mem|i/o,<address>[,<opt1>[,<opt2>[,...]]] | ||
458 | You 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> | ||
464 | and these have the same meanings as discussed above. Note that you | ||
465 | can also use this on the kernel command line for a more compact format | ||
466 | for specifying an interface. Note that when removing an interface, | ||
467 | only the first three parameters (si type, address type, and address) | ||
468 | are used for the comparison. Any options are ignored for removing. | ||
444 | 469 | ||
445 | The SMBus Driver | 470 | The 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 | |||
532 | ifnum_to_use specifies which interface the watchdog timer should use. | ||
533 | The default is -1, which means to pick the first one registered. | ||
506 | 534 | ||
507 | The timeout is the number of seconds to the action, and the pretimeout | 535 | The timeout is the number of seconds to the action, and the pretimeout |
508 | is the amount of seconds before the reset that the pre-timeout panic will | 536 | is 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 | |||
624 | in /proc/sys/dev/ipmi/poweroff_powercycle. Note that if the system | 652 | in /proc/sys/dev/ipmi/poweroff_powercycle. Note that if the system |
625 | does not support power cycling, it will always do the power off. | 653 | does not support power cycling, it will always do the power off. |
626 | 654 | ||
655 | The "ifnum_to_use" parameter specifies which interface the poweroff | ||
656 | code should use. The default is -1, which means to pick the first one | ||
657 | registered. | ||
658 | |||
627 | Note that if you have ACPI enabled, the system will prefer using ACPI to | 659 | Note that if you have ACPI enabled, the system will prefer using ACPI to |
628 | power off. | 660 | power 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. | |||
24 | Selecting IO schedulers | 24 | Selecting IO schedulers |
25 | ----------------------- | 25 | ----------------------- |
26 | To choose IO schedulers at boot time, use the argument 'elevator=deadline'. | 26 | To 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 |
28 | globally at boot time only presently. | 28 | assigned globally at boot time only presently. It's also possible to change |
29 | the IO scheduler for a determined device on the fly, as described in | ||
30 | Documentation/block/switching-sched.txt. | ||
29 | 31 | ||
30 | 32 | ||
31 | Anticipatory IO scheduler Policies | 33 | Anticipatory 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 | ||
8 | This list is the Linux Device List, the official registry of allocated | 8 | This list is the Linux Device List, the official registry of allocated |
9 | device numbers and /dev directory nodes for the Linux operating | 9 | device 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 | ||
1939 | 113 block IBM iSeries virtual CD-ROM | 1958 | 113 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 | ||
2061 | 119 char VMware virtual network control | 2079 | 119 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 | ||
2066 | 120-127 char LOCAL/EXPERIMENTAL USE | 2084 | 120-127 char LOCAL/EXPERIMENTAL USE |
2085 | |||
2067 | 120-127 block LOCAL/EXPERIMENTAL USE | 2086 | 120-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 | |||
2079 | 128 block SCSI disk devices (128-143) | 2097 | 128 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 | |||
2091 | 129 block SCSI disk devices (144-159) | 2108 | 129 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 | |||
2127 | 132 block SCSI disk devices (192-207) | 2143 | 132 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 | |||
2139 | 133 block SCSI disk devices (208-223) | 2154 | 133 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 | |||
2151 | 134 block SCSI disk devices (224-239) | 2165 | 134 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 | |||
2163 | 135 block SCSI disk devices (240-255) | 2176 | 135 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 | |||
2175 | 136-143 char Unix98 PTY slaves | 2187 | 136-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 | ||
2386 | 159 char RESERVED | 2398 | 159 char RESERVED |
2399 | |||
2387 | 159 block RESERVED | 2400 | 159 block RESERVED |
2388 | 2401 | ||
2389 | 160 char General Purpose Instrument Bus (GPIB) | 2402 | 160 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 | ||
2432 | 162 char Raw block device interface | 2445 | 162 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 | ||
2484 | 171 char Reserved for IEEE 1394 (Firewire) | 2497 | 171 char Reserved for IEEE 1394 (Firewire) |
2485 | 2498 | ||
2486 | |||
2487 | 172 char Moxa Intellio serial card | 2499 | 172 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 | ||
2576 | 181 char Conrad Electronic parallel port radio clocks | 2585 | 181 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 | ||
2663 | 195 char Nvidia graphics devices | 2672 | 195 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 | ||
2799 | 205 char Low-density serial ports (alternate device) | 2812 | 205 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 | |||
2836 | 206 char OnStream SC-x0 tape devices | 2848 | 206 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 | ||
2924 | 212 char LinuxTV.org DVB driver subsystem | 2936 | 212 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 | ||
3011 | 229 char IBM iSeries virtual console | 3022 | 229 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 | ||
3016 | 230 char IBM iSeries virtual tape | 3027 | 230 char IBM iSeries virtual tape |
@@ -3083,12 +3094,14 @@ Your cooperation is appreciated. | |||
3083 | 234-239 UNASSIGNED | 3094 | 234-239 UNASSIGNED |
3084 | 3095 | ||
3085 | 240-254 char LOCAL/EXPERIMENTAL USE | 3096 | 240-254 char LOCAL/EXPERIMENTAL USE |
3097 | |||
3086 | 240-254 block LOCAL/EXPERIMENTAL USE | 3098 | 240-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 | ||
3091 | 255 char RESERVED | 3103 | 255 char RESERVED |
3104 | |||
3092 | 255 block RESERVED | 3105 | 255 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. | |||
3115 | 257 char Phoenix Technologies Cryptographic Services Driver | 3128 | 257 char Phoenix Technologies Cryptographic Services Driver |
3116 | 0 = /dev/ptlsec Crypto Services Driver | 3129 | 0 = /dev/ptlsec Crypto Services Driver |
3117 | 3130 | ||
3118 | 3131 | 257 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 | |||
3141 | 258 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 | |||
124 | write_super_lockfs: ? | 124 | write_super_lockfs: ? |
125 | unlockfs: ? | 125 | unlockfs: ? |
126 | statfs: no no no | 126 | statfs: no no no |
127 | remount_fs: no yes maybe (see below) | 127 | remount_fs: yes yes maybe (see below) |
128 | clear_inode: no | 128 | clear_inode: no |
129 | umount_begin: yes no no | 129 | umount_begin: yes no no |
130 | show_options: no (vfsmount->sem) | 130 | show_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 | ||
54 | Filesystem type | ||
55 | ~~~~~~~~~~~~~~~ | ||
56 | |||
57 | The 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 | |||
54 | Mount options | 70 | Mount 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 | |||
97 | Control filesystem | 118 | Control 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 @@ | |||
1 | This is the implementation of the SystemV/Coherent filesystem for Linux. | ||
2 | It implements all of | 1 | It 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 | ||
7 | This is version beta 4. | ||
8 | |||
9 | To install: | 6 | To 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 | ||
31 | Please report any bugs and suggestions to | 28 | These 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 | ||
36 | Bruno Haible | ||
37 | <haible@ma2s2.mathematik.uni-karlsruhe.de> | ||
38 | 195 | ||
196 | Notation: We often speak of a "block" but mean a zone (the allocation unit) | ||
197 | and not the disk driver's notion of "block". | ||
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index d34fd6a28faa..b79bcdf16319 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -648,6 +648,10 @@ and is between 256 and 4096 characters. It is defined in the file | |||
648 | idle= [HW] | 648 | idle= [HW] |
649 | Format: idle=poll or idle=halt | 649 | Format: idle=poll or idle=halt |
650 | 650 | ||
651 | ignore_loglevel [KNL] | ||
652 | Ignore loglevel setting - this will print /all/ | ||
653 | kernel messages to the console. Useful for debugging. | ||
654 | |||
651 | ihash_entries= [KNL] | 655 | ihash_entries= [KNL] |
652 | Set number of hash buckets for inode cache. | 656 | Set number of hash buckets for inode cache. |
653 | 657 | ||
@@ -712,7 +716,12 @@ and is between 256 and 4096 characters. It is defined in the file | |||
712 | Format: <RDP>,<reset>,<pci_scan>,<verbosity> | 716 | Format: <RDP>,<reset>,<pci_scan>,<verbosity> |
713 | 717 | ||
714 | isolcpus= [KNL,SMP] Isolate CPUs from the general scheduler. | 718 | isolcpus= [KNL,SMP] Isolate CPUs from the general scheduler. |
715 | 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> | ||
716 | This option can be used to specify one or more CPUs | 725 | This option can be used to specify one or more CPUs |
717 | to isolate from the general SMP balancing and scheduling | 726 | to isolate from the general SMP balancing and scheduling |
718 | algorithms. The only way to move a process onto or off | 727 | algorithms. The only way to move a process onto or off |
@@ -1010,6 +1019,10 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1010 | emulation library even if a 387 maths coprocessor | 1019 | emulation library even if a 387 maths coprocessor |
1011 | is present. | 1020 | is present. |
1012 | 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 | |||
1013 | noalign [KNL,ARM] | 1026 | noalign [KNL,ARM] |
1014 | 1027 | ||
1015 | 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 |
@@ -1288,6 +1301,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1288 | Param: "schedule" - profile schedule points. | 1301 | Param: "schedule" - profile schedule points. |
1289 | Param: <number> - step/bucket size as a power of 2 for | 1302 | Param: <number> - step/bucket size as a power of 2 for |
1290 | statistical time based profiling. | 1303 | statistical time based profiling. |
1304 | Param: "sleep" - profile D-state sleeping (millisecs) | ||
1291 | 1305 | ||
1292 | processor.max_cstate= [HW,ACPI] | 1306 | processor.max_cstate= [HW,ACPI] |
1293 | Limit processor to maximum C-state | 1307 | Limit processor to maximum C-state |
@@ -1369,6 +1383,12 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1369 | resume= [SWSUSP] | 1383 | resume= [SWSUSP] |
1370 | Specify the partition device for software suspend | 1384 | Specify the partition device for software suspend |
1371 | 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 | |||
1372 | rhash_entries= [KNL,NET] | 1392 | rhash_entries= [KNL,NET] |
1373 | Set number of hash buckets for route cache | 1393 | Set number of hash buckets for route cache |
1374 | 1394 | ||
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 | |||
6 | 1) Check suspend.sf.net, program s2ram there has long whitelist of | ||
7 | "known ok" machines, along with tricks to use on each one. | ||
8 | |||
9 | 2) 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 | |||
13 | 3) You can use Linus' TRACE_RESUME infrastructure, described below. | ||
14 | |||
15 | Using TRACE_RESUME | ||
16 | ~~~~~~~~~~~~~~~~~~ | ||
17 | |||
18 | I've been working at making the machines I have able to STR, and almost | ||
19 | always it's a driver that is buggy. Thank God for the suspend/resume | ||
20 | debugging - the thing that Chuck tried to disable. That's often the _only_ | ||
21 | way to debug these things, and it's actually pretty powerful (but | ||
22 | time-consuming - having to insert TRACE_RESUME() markers into the device | ||
23 | driver that doesn't resume and recompile and reboot). | ||
24 | |||
25 | Anyway, the way to debug this for people who are interested (have a | ||
26 | machine 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 | |||
52 | For example, the above happens to be the VGA device on my EVO, which I | ||
53 | used to run with "radeonfb" (it's an ATI Radeon mobility). It turns out | ||
54 | that "radeonfb" simply cannot resume that device - it tries to set the | ||
55 | PLL's, and it just _hangs_. Using the regular VGA console and letting X | ||
56 | resume 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 @@ | |||
1 | Using swap files with software suspend (swsusp) | ||
2 | (C) 2006 Rafael J. Wysocki <rjw@sisk.pl> | ||
3 | |||
4 | The Linux kernel handles swap files almost in the same way as it handles swap | ||
5 | partitions and there are only two differences between these two types of swap | ||
6 | areas: | ||
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 | ||
9 | holds it. From the swsusp's point of view (1) is not a problem, because it is | ||
10 | already taken care of by the swap-handling code, but (2) has to be taken into | ||
11 | consideration. | ||
12 | |||
13 | In principle the location of a swap file's header may be determined with the | ||
14 | help of appropriate filesystem driver. Unfortunately, however, it requires the | ||
15 | filesystem holding the swap file to be mounted, and if this filesystem is | ||
16 | journaled, it cannot be mounted during resume from disk. For this reason to | ||
17 | identify a swap file swsusp uses the name of the partition that holds the file | ||
18 | and the offset from the beginning of the partition at which the swap file's | ||
19 | header is located. For convenience, this offset is expressed in <PAGE_SIZE> | ||
20 | units. | ||
21 | |||
22 | In order to use a swap file with swsusp, you need to: | ||
23 | |||
24 | 1) 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 | |||
30 | 2) Use an application that will bmap the swap file with the help of the | ||
31 | FIBMAP ioctl and determine the location of the file's swap header, as the | ||
32 | offset, in <PAGE_SIZE> units, from the beginning of the partition which | ||
33 | holds the swap file. | ||
34 | |||
35 | 3) Add the following parameters to the kernel command line: | ||
36 | |||
37 | resume=<swap_file_partition> resume_offset=<swap_file_offset> | ||
38 | |||
39 | where <swap_file_partition> is the partition on which the swap file is located | ||
40 | and <swap_file_offset> is the offset of the swap header determined by the | ||
41 | application in 2) (of course, this step may be carried out automatically | ||
42 | by the same application that determies the swap file's header offset using the | ||
43 | FIBMAP ioctl) | ||
44 | |||
45 | OR | ||
46 | |||
47 | Use a userland suspend application that will set the partition and offset | ||
48 | with the help of the SNAPSHOT_SET_SWAP_AREA ioctl described in | ||
49 | Documentation/power/userland-swsusp.txt (this is the only method to suspend | ||
50 | to a swap file allowing the resume to be initiated from an initrd or initramfs | ||
51 | image). | ||
52 | |||
53 | Now, swsusp will use the swap file in the same way in which it would use a swap | ||
54 | partition. 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 | |||
57 | Note that if the swap file used for suspending is deleted and recreated, | ||
58 | the location of its header need not be the same as before. Thus every time | ||
59 | this happens the value of the "resume_offset=" kernel command line parameter | ||
60 | has 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 | |||
297 | suspend image to prevent sensitive data from being stolen after | 297 | suspend image to prevent sensitive data from being stolen after |
298 | resume. | 298 | resume. |
299 | 299 | ||
300 | Q: Why can't we suspend to a swap file? | 300 | Q: Can I suspend to a swap file? |
301 | 301 | ||
302 | A: Because accessing swap file needs the filesystem mounted, and | 302 | A: Generally, yes, you can. However, it requires you to use the "resume=" and |
303 | filesystem might do something wrong (like replaying the journal) | 303 | "resume_offset=" kernel command line parameters, so the resume from a swap file |
304 | during mount. | 304 | cannot be initiated from an initrd or initramfs image. See |
305 | 305 | swsusp-and-swap-files.txt for details. | |
306 | There are few ways to get that fixed: | ||
307 | |||
308 | 1) Probably could be solved by modifying every filesystem to support | ||
309 | some kind of "really read-only!" option. Patches welcome. | ||
310 | |||
311 | 2) suspend2 gets around that by storing absolute positions in on-disk | ||
312 | image (and blocksize), with resume parameter pointing directly to | ||
313 | suspend header. | ||
314 | 306 | ||
315 | Q: Is there a maximum system RAM size that is supported by swsusp? | 307 | Q: 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. | |||
9 | Now, to use the userland interface for software suspend you need special | 9 | Now, to use the userland interface for software suspend you need special |
10 | utilities that will read/write the system memory snapshot from/to the | 10 | utilities that will read/write the system memory snapshot from/to the |
11 | kernel. Such utilities are available, for example, from | 11 | kernel. 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 |
13 | a look at them if you are going to develop your own suspend/resume | 13 | are going to develop your own suspend/resume utilities. |
14 | utilities. | ||
15 | 14 | ||
16 | The interface consists of a character device providing the open(), | 15 | The interface consists of a character device providing the open(), |
17 | release(), read(), and write() operations as well as several ioctl() | 16 | release(), read(), and write() operations as well as several ioctl() |
@@ -21,9 +20,9 @@ be read from /sys/class/misc/snapshot/dev. | |||
21 | 20 | ||
22 | The device can be open either for reading or for writing. If open for | 21 | The device can be open either for reading or for writing. If open for |
23 | reading, it is considered to be in the suspend mode. Otherwise it is | 22 | reading, it is considered to be in the suspend mode. Otherwise it is |
24 | assumed to be in the resume mode. The device cannot be open for reading | 23 | assumed to be in the resume mode. The device cannot be open for simultaneous |
25 | and writing. It is also impossible to have the device open more than once | 24 | reading and writing. It is also impossible to have the device open more than |
26 | at a time. | 25 | once at a time. |
27 | 26 | ||
28 | The ioctl() commands recognized by the device are: | 27 | The ioctl() commands recognized by the device are: |
29 | 28 | ||
@@ -69,9 +68,46 @@ SNAPSHOT_FREE_SWAP_PAGES - free all swap pages allocated with | |||
69 | SNAPSHOT_SET_SWAP_FILE - set the resume partition (the last ioctl() argument | 68 | SNAPSHOT_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 | 73 | SNAPSHOT_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 | |||
86 | SNAPSHOT_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 | |||
96 | SNAPSHOT_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 | ||
76 | The device's read() operation can be used to transfer the snapshot image from | 112 | The device's read() operation can be used to transfer the snapshot image from |
77 | the kernel. It has the following limitations: | 113 | the kernel. It has the following limitations: |
@@ -91,10 +127,12 @@ unfreeze user space processes frozen by SNAPSHOT_UNFREEZE if they are | |||
91 | still frozen when the device is being closed). | 127 | still frozen when the device is being closed). |
92 | 128 | ||
93 | Currently it is assumed that the userland utilities reading/writing the | 129 | Currently it is assumed that the userland utilities reading/writing the |
94 | snapshot image from/to the kernel will use a swap partition, called the resume | 130 | snapshot image from/to the kernel will use a swap parition, called the resume |
95 | partition, as storage space. However, this is not really required, as they | 131 | partition, or a swap file as storage space (if a swap file is used, the resume |
96 | can use, for example, a special (blank) suspend partition or a file on a partition | 132 | partition is the partition that holds this file). However, this is not really |
97 | that is unmounted before SNAPSHOT_ATOMIC_SNAPSHOT and mounted afterwards. | 133 | required, as they can use, for example, a special (blank) suspend partition or |
134 | a file on a partition that is unmounted before SNAPSHOT_ATOMIC_SNAPSHOT and | ||
135 | mounted afterwards. | ||
98 | 136 | ||
99 | These utilities SHOULD NOT make any assumptions regarding the ordering of | 137 | These utilities SHOULD NOT make any assumptions regarding the ordering of |
100 | data within the snapshot image, except for the image header that MAY be | 138 | data within the snapshot image, except for the image header that MAY be |