[PATCH] USB: only make /sys/class/usb show up when there is something in it
[safe/jmp/linux-2.6] / Documentation / kernel-parameters.txt
index 12b7d93..a9d3a17 100644 (file)
@@ -1,4 +1,4 @@
-February 2003             Kernel Parameters                     v2.5.59
+                          Kernel Parameters
                           ~~~~~~~~~~~~~~~~~
 
 The following is a consolidated list of the kernel parameters as implemented
@@ -17,9 +17,17 @@ are specified on the kernel command line with the module name plus
 
        usbcore.blinkenlights=1
 
-The text in square brackets at the beginning of the description states the
-restrictions on the kernel for the said kernel parameter to be valid. The
-restrictions referred to are that the relevant option is valid if:
+This document may not be entirely up to date and comprehensive. The command
+"modinfo -p ${modulename}" shows a current list of all parameters of a loadable
+module. Loadable modules, after being loaded into the running kernel, also
+reveal their parameters in /sys/module/${modulename}/parameters/. Some of these
+parameters may be changed at runtime by the command
+"echo -n ${value} > /sys/module/${modulename}/parameters/${parm}".
+
+The parameters listed below are only valid if certain kernel build options were
+enabled and if respective hardware is present. The text in square brackets at
+the beginning of each description states the restrictions within which a
+parameter is applicable:
 
        ACPI    ACPI support is enabled.
        ALSA    ALSA sound support is enabled.
@@ -49,6 +57,7 @@ restrictions referred to are that the relevant option is valid if:
        MCA     MCA bus support is enabled.
        MDA     MDA console support is enabled.
        MOUSE   Appropriate mouse support is enabled.
+       MSI     Message Signaled Interrupts (PCI).
        MTD     MTD support is enabled.
        NET     Appropriate network support is enabled.
        NUMA    NUMA support is enabled.
@@ -335,6 +344,12 @@ running once the system is up.
                        timesource is not avalible, it defaults to PIT.
                        Format: { pit | tsc | cyclone | pmtmr }
 
+       disable_8254_timer
+       enable_8254_timer
+                       [IA32/X86_64] Disable/Enable interrupt 0 timer routing
+                       over the 8254 in addition to over the IO-APIC. The
+                       kernel tries to set a sensible default.
+
        hpet=           [IA-32,HPET] option to disable HPET and use PIT.
                        Format: disable
 
@@ -360,12 +375,17 @@ running once the system is up.
                tty<n>  Use the virtual console device <n>.
 
                ttyS<n>[,options]
+               ttyUSB0[,options]
                        Use the specified serial port.  The options are of
-                       the form "bbbbpn", where "bbbb" is the baud rate,
-                       "p" is parity ("n", "o", or "e"), and "n" is bits.
-                       Default is "9600n8".
+                       the form "bbbbpnf", where "bbbb" is the baud rate,
+                       "p" is parity ("n", "o", or "e"), "n" is number of
+                       bits, and "f" is flow control ("r" for RTS or
+                       omit it).  Default is "9600n8".
 
-                       See also Documentation/serial-console.txt.
+                       See Documentation/serial-console.txt for more
+                       information.  See
+                       Documentation/networking/netconsole.txt for an
+                       alternative.
 
                uart,io,<addr>[,options]
                uart,mmio,<addr>[,options]
@@ -452,6 +472,11 @@ running once the system is up.
 
        eata=           [HW,SCSI]
 
+       ec_intr=        [HW,ACPI] ACPI Embedded Controller interrupt mode
+                       Format: <int>
+                       0: polling mode
+                       non-0: interrupt mode (default)
+
        eda=            [HW,PS2]
 
        edb=            [HW,PS2]
@@ -471,14 +496,15 @@ running once the system is up.
                        arch/i386/kernel/cpu/cpufreq/elanfreq.c.
 
        elevator=       [IOSCHED]
-                       Format: {"as" | "cfq" | "deadline" | "noop"}
+                       Format: {"anticipatory" | "cfq" | "deadline" | "noop"}
                        See Documentation/block/as-iosched.txt and
                        Documentation/block/deadline-iosched.txt for details.
 
-       elfcorehdr=     [IA-32]
+       elfcorehdr=     [IA-32, X86_64]
                        Specifies physical address of start of kernel core
-                       image elf header.
-                       See Documentation/kdump.txt for details.
+                       image elf header. Generally kexec loader will
+                       pass this option to capture kernel.
+                       See Documentation/kdump/kdump.txt for details.
 
        enforcing       [SELINUX] Set initial enforcing status.
                        Format: {"0" | "1"}
@@ -711,9 +737,17 @@ running once the system is up.
        load_ramdisk=   [RAM] List of ramdisks to load from floppy
                        See Documentation/ramdisk.txt.
 
-       lockd.udpport=  [NFS]
+       lockd.nlm_grace_period=P  [NFS] Assign grace period.
+                       Format: <integer>
+
+       lockd.nlm_tcpport=N     [NFS] Assign TCP port.
+                       Format: <integer>
+
+       lockd.nlm_timeout=T     [NFS] Assign timeout value.
+                       Format: <integer>
 
-       lockd.tcpport=  [NFS]
+       lockd.nlm_udpport=M     [NFS] Assign UDP port.
+                       Format: <integer>
 
        logibm.irq=     [HW,MOUSE] Logitech Bus Mouse Driver
                        Format: <irq>
@@ -855,6 +889,49 @@ running once the system is up.
 
        mga=            [HW,DRM]
 
+       migration_cost=
+                       [KNL,SMP] debug: override scheduler migration costs
+                       Format: <level-1-usecs>,<level-2-usecs>,...
+                       This debugging option can be used to override the
+                       default scheduler migration cost matrix. The numbers
+                       are indexed by 'CPU domain distance'.
+                       E.g. migration_cost=1000,2000,3000 on an SMT NUMA
+                       box will set up an intra-core migration cost of
+                       1 msec, an inter-core migration cost of 2 msecs,
+                       and an inter-node migration cost of 3 msecs.
+
+                       WARNING: using the wrong values here can break
+                       scheduler performance, so it's only for scheduler
+                       development purposes, not production environments.
+
+       migration_debug=
+                       [KNL,SMP] migration cost auto-detect verbosity
+                       Format=<0|1|2>
+                       If a system's migration matrix reported at bootup
+                       seems erroneous then this option can be used to
+                       increase verbosity of the detection process.
+                       We default to 0 (no extra messages), 1 will print
+                       some more information, and 2 will be really
+                       verbose (probably only useful if you also have a
+                       serial console attached to the system).
+
+       migration_factor=
+                       [KNL,SMP] multiply/divide migration costs by a factor
+                       Format=<percent>
+                       This debug option can be used to proportionally
+                       increase or decrease the auto-detected migration
+                       costs for all entries of the migration matrix.
+                       E.g. migration_factor=150 will increase migration
+                       costs by 50%. (and thus the scheduler will be less
+                       eager migrating cache-hot tasks)
+                       migration_factor=80 will decrease migration costs
+                       by 20%. (thus the scheduler will be more eager to
+                       migrate tasks)
+
+                       WARNING: using the wrong values here can break
+                       scheduler performance, so it's only for scheduler
+                       development purposes, not production environments.
+
        mousedev.tap_time=
                        [MOUSE] Maximum time between finger touching and
                        leaving touchpad surface for touch to be considered
@@ -945,7 +1022,9 @@ running once the system is up.
                        noexec=on: enable non-executable mappings (default)
                        noexec=off: disable nn-executable mappings
 
-       nofxsr          [BUGS=IA-32]
+       nofxsr          [BUGS=IA-32] Disables x86 floating point extended
+                       register save and restore. The kernel will only save
+                       legacy floating-point registers on task switch.
 
        nohlt           [BUGS=ARM]
 
@@ -975,6 +1054,8 @@ running once the system is up.
        noltlbs         [PPC] Do not use large page/tlb entries for kernel
                        lowmem mapping on PPC40x.
 
+       nomca           [IA-64] Disable machine check abort handling
+
        nomce           [IA-32] Machine Check Exception
 
        noresidual      [PPC] Don't use residual data on PReP machines.
@@ -988,6 +1069,8 @@ running once the system is up.
 
        nosbagart       [IA-64]
 
+       nosep           [BUGS=IA-32] Disables x86 SYSENTER/SYSEXIT support.
+
        nosmp           [SMP] Tells an SMP kernel to act as a UP kernel.
 
        nosync          [HW,M68K] Disables sync negotiation for all devices.
@@ -1057,6 +1140,11 @@ running once the system is up.
        pas16=          [HW,SCSI]
                        See header of drivers/scsi/pas16.c.
 
+       pause_on_oops=
+                       Halt all CPUs after the first oops has been printed for
+                       the specified number of seconds.  This is to be used if
+                       your oopses keep scrolling off the screen.
+
        pcbit=          [HW,ISDN]
 
        pcd.            [PARIDE]
@@ -1076,6 +1164,11 @@ running once the system is up.
                                Mechanism 1.
                conf2           [IA-32] Force use of PCI Configuration
                                Mechanism 2.
+               nommconf        [IA-32,X86_64] Disable use of MMCONFIG for PCI
+                               Configuration
+               nomsi           [MSI] If the PCI_MSI kernel config parameter is
+                               enabled, this kernel boot option can be used to
+                               disable the use of MSI interrupts system-wide.
                nosort          [IA-32] Don't sort PCI devices according to
                                order given by the PCI BIOS. This sorting is
                                done to get a device order compatible with
@@ -1223,6 +1316,19 @@ running once the system is up.
                        New name for the ramdisk parameter.
                        See Documentation/ramdisk.txt.
 
+       rcu.blimit=     [KNL,BOOT] Set maximum number of finished
+                       RCU callbacks to process in one batch.
+
+       rcu.qhimark=    [KNL,BOOT] Set threshold of queued
+                       RCU callbacks over which batch limiting is disabled.
+
+       rcu.qlowmark=   [KNL,BOOT] Set threshold of queued
+                       RCU callbacks below which batch limiting is re-enabled.
+
+       rcu.rsinterval= [KNL,BOOT,SMP] Set the number of additional
+                       RCU callbacks to queued before forcing reschedule
+                       on all cpus.
+
        rdinit=         [KNL]
                        Format: <full_path>
                        Run specified binary instead of /init from the ramdisk,
@@ -1296,6 +1402,15 @@ running once the system is up.
                        If enabled at boot time, /selinux/disable can be used
                        later to disable prior to initial policy load.
 
+       selinux_compat_net =
+                       [SELINUX] Set initial selinux_compat_net flag value.
+                        Format: { "0" | "1" }
+                        0 -- use new secmark-based packet controls
+                        1 -- use legacy packet controls
+                        Default value is 0 (preferred).
+                        Value can be changed at runtime via
+                        /selinux/compat_net.
+
        serialnumber    [BUGS=IA-32]
 
        sg_def_reserved_size=   [SCSI]
@@ -1579,22 +1694,11 @@ running once the system is up.
                        Format:
                        <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]]
 
+       norandmaps      Don't use address space randomization
+                       Equivalent to echo 0 > /proc/sys/kernel/randomize_va_space
 
-______________________________________________________________________
-Changelog:
-
-2000-06-??     Mr. Unknown
-       The last known update (for 2.4.0) - the changelog was not kept before.
 
-2002-11-24     Petr Baudis <pasky@ucw.cz>
-               Randy Dunlap <randy.dunlap@verizon.net>
-       Update for 2.5.49, description for most of the options introduced,
-       references to other documentation (C files, READMEs, ..), added S390,
-       PPC, SPARC, MTD, ALSA and OSS category. Minor corrections and
-       reformatting.
-
-2005-10-19     Randy Dunlap <rdunlap@xenotime.net>
-       Lots of typos, whitespace, some reformatting.
+______________________________________________________________________
 
 TODO: