Merge tag 'platform-drivers-x86-v4.9-2' of git://git.infradead.org/users/dvhart/linux...
[cascardo/linux.git] / Documentation / kernel-parameters.txt
index 25037de..37babf9 100644 (file)
@@ -33,6 +33,37 @@ can also be entered as
 Double-quotes can be used to protect spaces in values, e.g.:
        param="spaces in here"
 
 Double-quotes can be used to protect spaces in values, e.g.:
        param="spaces in here"
 
+cpu lists:
+----------
+
+Some kernel parameters take a list of CPUs as a value, e.g.  isolcpus,
+nohz_full, irqaffinity, rcu_nocbs.  The format of this list is:
+
+       <cpu number>,...,<cpu number>
+
+or
+
+       <cpu number>-<cpu number>
+       (must be a positive range in ascending order)
+
+or a mixture
+
+<cpu number>,...,<cpu number>-<cpu number>
+
+Note that for the special case of a range one can split the range into equal
+sized groups and for each group use some amount from the beginning of that
+group:
+
+       <cpu number>-cpu number>:<used size>/<group size>
+
+For example one can add to the command line following parameter:
+
+       isolcpus=1,2,10-20,100-2000:2/25
+
+where the final item represents CPUs 100,101,125,126,150,151,...
+
+
+
 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
 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
@@ -460,6 +491,15 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
                        driver will print ACPI tables for AMD IOMMU during
                        IOMMU initialization.
 
                        driver will print ACPI tables for AMD IOMMU during
                        IOMMU initialization.
 
+       amd_iommu_intr= [HW,X86-64]
+                       Specifies one of the following AMD IOMMU interrupt
+                       remapping modes:
+                       legacy     - Use legacy interrupt remapping mode.
+                       vapic      - Use virtual APIC mode, which allows IOMMU
+                                    to inject interrupts directly into guest.
+                                    This mode requires kvm-amd.avic=1.
+                                    (Default when IOMMU HW support is present.)
+
        amijoy.map=     [HW,JOY] Amiga joystick support
                        Map of devices attached to JOY0DAT and JOY1DAT
                        Format: <a>,<b>
        amijoy.map=     [HW,JOY] Amiga joystick support
                        Map of devices attached to JOY0DAT and JOY1DAT
                        Format: <a>,<b>
@@ -1054,11 +1094,12 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
                        determined by the stdout-path property in device
                        tree's chosen node.
 
                        determined by the stdout-path property in device
                        tree's chosen node.
 
-               cdns,<addr>
-                       Start an early, polled-mode console on a cadence serial
-                       port at the specified address. The cadence serial port
-                       must already be setup and configured. Options are not
-                       yet supported.
+               cdns,<addr>[,options]
+                       Start an early, polled-mode console on a Cadence
+                       (xuartps) serial port at the specified address. Only
+                       supported option is baud rate. If baud rate is not
+                       specified, the serial port must already be setup and
+                       configured.
 
                uart[8250],io,<addr>[,options]
                uart[8250],mmio,<addr>[,options]
 
                uart[8250],io,<addr>[,options]
                uart[8250],mmio,<addr>[,options]
@@ -1373,6 +1414,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
                        Format: <unsigned int> such that (rxsize & ~0x1fffc0) == 0.
                        Default: 1024
 
                        Format: <unsigned int> such that (rxsize & ~0x1fffc0) == 0.
                        Default: 1024
 
+       gpio-mockup.gpio_mockup_ranges
+                       [HW] Sets the ranges of gpiochip of for this device.
+                       Format: <start1>,<end1>,<start2>,<end2>...
+
        hardlockup_all_cpu_backtrace=
                        [KNL] Should the hard-lockup detector generate
                        backtraces on all cpus.
        hardlockup_all_cpu_backtrace=
                        [KNL] Should the hard-lockup detector generate
                        backtraces on all cpus.
@@ -1466,7 +1511,14 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
        i8042.nopnp     [HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX
                             controllers
        i8042.notimeout [HW] Ignore timeout condition signalled by controller
        i8042.nopnp     [HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX
                             controllers
        i8042.notimeout [HW] Ignore timeout condition signalled by controller
-       i8042.reset     [HW] Reset the controller during init and cleanup
+       i8042.reset     [HW] Reset the controller during init, cleanup and
+                            suspend-to-ram transitions, only during s2r
+                            transitions, or never reset
+                       Format: { 1 | Y | y | 0 | N | n }
+                       1, Y, y: always reset controller
+                       0, N, n: don't ever reset controller
+                       Default: only on s2r transitions on x86; most other
+                       architectures force reset to be always executed
        i8042.unlock    [HW] Unlock (ignore) the keylock
        i8042.kbdreset  [HW] Reset device connected to KBD port
 
        i8042.unlock    [HW] Unlock (ignore) the keylock
        i8042.kbdreset  [HW] Reset device connected to KBD port
 
@@ -1652,6 +1704,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
 
        initrd=         [BOOT] Specify the location of the initial ramdisk
 
 
        initrd=         [BOOT] Specify the location of the initial ramdisk
 
+       init_pkru=      [x86] Specify the default memory protection keys rights
+                       register contents for all processes.  0x55555554 by
+                       default (disallow access to all but pkey 0).  Can
+                       override in debugfs after boot.
+
        inport.irq=     [HW] Inport (ATI XL and Microsoft) busmouse driver
                        Format: <irq>
 
        inport.irq=     [HW] Inport (ATI XL and Microsoft) busmouse driver
                        Format: <irq>
 
@@ -1697,7 +1754,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
 
        intel_idle.max_cstate=  [KNL,HW,ACPI,X86]
                        0       disables intel_idle and fall back on acpi_idle.
 
        intel_idle.max_cstate=  [KNL,HW,ACPI,X86]
                        0       disables intel_idle and fall back on acpi_idle.
-                       1 to 6  specify maximum depth of C-state.
+                       1 to 9  specify maximum depth of C-state.
 
        intel_pstate=  [X86]
                       disable
 
        intel_pstate=  [X86]
                       disable
@@ -1770,13 +1827,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
                        See Documentation/filesystems/nfs/nfsroot.txt.
 
        irqaffinity=    [SMP] Set the default irq affinity mask
                        See Documentation/filesystems/nfs/nfsroot.txt.
 
        irqaffinity=    [SMP] Set the default irq affinity mask
-                       Format:
-                       <cpu number>,...,<cpu number>
-                       or
-                       <cpu number>-<cpu number>
-                       (must be a positive range in ascending order)
-                       or a mixture
-                       <cpu number>,...,<cpu number>-<cpu number>
+                       The argument is a cpu list, as described above.
 
        irqfixup        [HW]
                        When an interrupt is not handled search all handlers
 
        irqfixup        [HW]
                        When an interrupt is not handled search all handlers
@@ -1793,13 +1844,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
                        Format: <RDP>,<reset>,<pci_scan>,<verbosity>
 
        isolcpus=       [KNL,SMP] Isolate CPUs from the general scheduler.
                        Format: <RDP>,<reset>,<pci_scan>,<verbosity>
 
        isolcpus=       [KNL,SMP] Isolate CPUs from the general scheduler.
-                       Format:
-                       <cpu number>,...,<cpu number>
-                       or
-                       <cpu number>-<cpu number>
-                       (must be a positive range in ascending order)
-                       or a mixture
-                       <cpu number>,...,<cpu number>-<cpu number>
+                       The argument is a cpu list, as described above.
 
                        This option can be used to specify one or more CPUs
                        to isolate from the general SMP balancing and scheduling
 
                        This option can be used to specify one or more CPUs
                        to isolate from the general SMP balancing and scheduling
@@ -2170,10 +2215,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
                        than or equal to this physical address is ignored.
 
        maxcpus=        [SMP] Maximum number of processors that an SMP kernel
                        than or equal to this physical address is ignored.
 
        maxcpus=        [SMP] Maximum number of processors that an SMP kernel
-                       should make use of.  maxcpus=n : n >= 0 limits the
-                       kernel to using 'n' processors.  n=0 is a special case,
-                       it is equivalent to "nosmp", which also disables
-                       the IO APIC.
+                       will bring up during bootup.  maxcpus=n : n >= 0 limits
+                       the kernel to bring up 'n' processors. Surely after
+                       bootup you can bring up the other plugged cpu by executing
+                       "echo 1 > /sys/devices/system/cpu/cpuX/online". So maxcpus
+                       only takes effect during system bootup.
+                       While n=0 is a special case, it is equivalent to "nosmp",
+                       which also disables the IO APIC.
 
        max_loop=       [LOOP] The number of loop block devices that get
        (loop.max_loop) unconditionally pre-created at init time. The default
 
        max_loop=       [LOOP] The number of loop block devices that get
        (loop.max_loop) unconditionally pre-created at init time. The default
@@ -2429,6 +2477,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
        nfsrootdebug    [NFS] enable nfsroot debugging messages.
                        See Documentation/filesystems/nfs/nfsroot.txt.
 
        nfsrootdebug    [NFS] enable nfsroot debugging messages.
                        See Documentation/filesystems/nfs/nfsroot.txt.
 
+       nfs.callback_nr_threads=
+                       [NFSv4] set the total number of threads that the
+                       NFS client will assign to service NFSv4 callback
+                       requests.
+
        nfs.callback_tcpport=
                        [NFS] set the TCP port on which the NFSv4 callback
                        channel should listen.
        nfs.callback_tcpport=
                        [NFS] set the TCP port on which the NFSv4 callback
                        channel should listen.
@@ -2452,6 +2505,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
                        of returning the full 64-bit number.
                        The default is to return 64-bit inode numbers.
 
                        of returning the full 64-bit number.
                        The default is to return 64-bit inode numbers.
 
+       nfs.max_session_cb_slots=
+                       [NFSv4.1] Sets the maximum number of session
+                       slots the client will assign to the callback
+                       channel. This determines the maximum number of
+                       callbacks the client will process in parallel for
+                       a particular server.
+
        nfs.max_session_slots=
                        [NFSv4.1] Sets the maximum number of session slots
                        the client will attempt to negotiate with the server.
        nfs.max_session_slots=
                        [NFSv4.1] Sets the maximum number of session slots
                        the client will attempt to negotiate with the server.
@@ -2580,8 +2640,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
 
        nodelayacct     [KNL] Disable per-task delay accounting
 
 
        nodelayacct     [KNL] Disable per-task delay accounting
 
-       nodisconnect    [HW,SCSI,M68K] Disables SCSI disconnects.
-
        nodsp           [SH] Disable hardware DSP at boot time.
 
        noefi           Disable EFI runtime services support.
        nodsp           [SH] Disable hardware DSP at boot time.
 
        noefi           Disable EFI runtime services support.
@@ -2660,6 +2718,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
                        Default: on
 
        nohz_full=      [KNL,BOOT]
                        Default: on
 
        nohz_full=      [KNL,BOOT]
+                       The argument is a cpu list, as described above.
                        In kernels built with CONFIG_NO_HZ_FULL=y, set
                        the specified list of CPUs whose tick will be stopped
                        whenever possible. The boot CPU will be forced outside
                        In kernels built with CONFIG_NO_HZ_FULL=y, set
                        the specified list of CPUs whose tick will be stopped
                        whenever possible. The boot CPU will be forced outside
@@ -2782,9 +2841,12 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
 
        nr_cpus=        [SMP] Maximum number of processors that an SMP kernel
                        could support.  nr_cpus=n : n >= 1 limits the kernel to
 
        nr_cpus=        [SMP] Maximum number of processors that an SMP kernel
                        could support.  nr_cpus=n : n >= 1 limits the kernel to
-                       supporting 'n' processors. Later in runtime you can not
-                       use hotplug cpu feature to put more cpu back to online.
-                       just like you compile the kernel NR_CPUS=n
+                       support 'n' processors. It could be larger than the
+                       number of already plugged CPU during bootup, later in
+                       runtime you can physically add extra cpu until it reaches
+                       n. So during boot up some boot time memory for per-cpu
+                       variables need be pre-allocated for later physical cpu
+                       hot plugging.
 
        nr_uarts=       [SERIAL] maximum number of UARTs to be registered.
 
 
        nr_uarts=       [SERIAL] maximum number of UARTs to be registered.
 
@@ -3262,6 +3324,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
                        See Documentation/blockdev/ramdisk.txt.
 
        rcu_nocbs=      [KNL]
                        See Documentation/blockdev/ramdisk.txt.
 
        rcu_nocbs=      [KNL]
+                       The argument is a cpu list, as described above.
+
                        In kernels built with CONFIG_RCU_NOCB_CPU=y, set
                        the specified list of CPUs to be no-callback CPUs.
                        Invocation of these CPUs' RCU callbacks will
                        In kernels built with CONFIG_RCU_NOCB_CPU=y, set
                        the specified list of CPUs to be no-callback CPUs.
                        Invocation of these CPUs' RCU callbacks will
@@ -4247,6 +4311,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
                                u = IGNORE_UAS (don't bind to the uas driver);
                                w = NO_WP_DETECT (don't test whether the
                                        medium is write-protected).
                                u = IGNORE_UAS (don't bind to the uas driver);
                                w = NO_WP_DETECT (don't test whether the
                                        medium is write-protected).
+                               y = ALWAYS_SYNC (issue a SYNCHRONIZE_CACHE
+                                       even if the device claims no cache)
                        Example: quirks=0419:aaf5:rl,0421:0433:rc
 
        user_debug=     [KNL,ARM]
                        Example: quirks=0419:aaf5:rl,0421:0433:rc
 
        user_debug=     [KNL,ARM]