Merge branch 'core-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / Documentation / admin-guide / kernel-parameters.txt
index 79b5b473001b207202a963b9341831a0b73e7442..2b8ee90bb64470d0d6d6ccadccf8b8fbbf86509d 100644 (file)
                        APC and your system crashes randomly.
 
        apic=           [APIC,X86] Advanced Programmable Interrupt Controller
-                       Change the output verbosity whilst booting
+                       Change the output verbosity while booting
                        Format: { quiet (default) | verbose | debug }
                        Change the amount of debugging information output
                        when initialising the APIC and IO-APIC components.
                        possible to determine what the correct size should be.
                        This option provides an override for these situations.
 
+       carrier_timeout=
+                       [NET] Specifies amount of time (in seconds) that
+                       the kernel should wait for a network carrier. By default
+                       it waits 120 seconds.
+
        ca_keys=        [KEYS] This parameter identifies a specific key(s) on
                        the system trusted keyring to be used for certificate
                        trust validation.
                        cut the overhead, others just disable the usage. So
                        only cgroup_disable=memory is actually worthy}
 
-       cgroup_no_v1=   [KNL] Disable one, multiple, all cgroup controllers in v1
-                       Format: { controller[,controller...] | "all" }
+       cgroup_no_v1=   [KNL] Disable cgroup controllers and named hierarchies in v1
+                       Format: { { controller | "all" | "named" }
+                                 [,{ controller | "all" | "named" }...] }
                        Like cgroup_disable, but only applies to cgroup v1;
                        the blacklisted controllers remain available in cgroup2.
+                       "all" blacklists all controllers and "named" disables
+                       named mounts. Specifying both "all" and "named" disables
+                       all v1 hierarchies.
 
        cgroup.memory=  [KNL] Pass options to the cgroup memory controller.
                        Format: <string>
        cpuidle.off=1   [CPU_IDLE]
                        disable the cpuidle sub-system
 
+       cpuidle.governor=
+                       [CPU_IDLE] Name of the cpuidle governor to use.
+
        cpufreq.off=1   [CPU_FREQ]
                        disable the cpufreq sub-system
 
                        causing system reset or hang due to sending
                        INIT from AP to BSP.
 
-       disable_counter_freezing [HW]
+       perf_v4_pmi=    [X86,INTEL]
+                       Format: <bool>
                        Disable Intel PMU counter freezing feature.
                        The feature only exists starting from
                        Arch Perfmon v4 (Skylake and newer).
                        The filter can be disabled or changed to another
                        driver later using sysfs.
 
+       driver_async_probe=  [KNL]
+                       List of driver names to be probed asynchronously.
+                       Format: <driver_name1>,<driver_name2>...
+
        drm.edid_firmware=[<connector>:]<file>[,[<connector>:]<file>]
                        Broken monitors, graphic adapters, KVMs and EDIDless
                        panels may send no or incorrect EDID data sets.
                        specified address. The serial port must already be
                        setup and configured. Options are not yet supported.
 
+               rda,<addr>
+                       Start an early, polled-mode console on a serial port
+                       of an RDA Micro SoC, such as RDA8810PL, at the
+                       specified address. The serial port must already be
+                       setup and configured. Options are not yet supported.
+
                smh     Use ARM semihosting calls for early console.
 
                s3c2410,<addr>
                        specified address. The serial port must already be
                        setup and configured. Options are not yet supported.
 
+               efifb,[options]
+                       Start an early, unaccelerated console on the EFI
+                       memory mapped framebuffer (if available). On cache
+                       coherent non-x86 systems that use system memory for
+                       the framebuffer, pass the 'ram' option so that it is
+                       mapped with the correct attributes.
+
        earlyprintk=    [X86,SH,ARM,M68k,S390]
                        earlyprintk=vga
-                       earlyprintk=efi
                        earlyprintk=sclp
                        earlyprintk=xen
                        earlyprintk=serial[,ttySn[,baudrate]]
                        earlyprintk=serial[,0x...[,baudrate]]
                        earlyprintk=ttySn[,baudrate]
                        earlyprintk=dbgp[debugController#]
-                       earlyprintk=pciserial,bus:device.function[,baudrate]
+                       earlyprintk=pciserial[,force],bus:device.function[,baudrate]
                        earlyprintk=xdbc[xhciController#]
 
                        earlyprintk is useful when the kernel crashes before
 
                        The sclp output can only be used on s390.
 
+                       The optional "force" to "pciserial" enables use of a
+                       PCI device even when its classcode is not of the
+                       UART class.
+
        edac_report=    [HW,EDAC] Control how to report EDAC event
                        Format: {"on" | "off" | "force"}
                        on: enable EDAC to report H/W event. May be overridden
                        arch/x86/kernel/cpu/cpufreq/elanfreq.c.
 
        elevator=       [IOSCHED]
-                       Format: {"cfq" | "deadline" | "noop"}
-                       See Documentation/block/cfq-iosched.txt and
-                       Documentation/block/deadline-iosched.txt for details.
+                       Format: { "mq-deadline" | "kyber" | "bfq" }
+                       See Documentation/block/deadline-iosched.txt,
+                       Documentation/block/kyber-iosched.txt and
+                       Documentation/block/bfq-iosched.txt for details.
 
        elfcorehdr=[size[KMG]@]offset[KMG] [IA64,PPC,SH,X86,S390]
                        Specifies physical address of start of kernel core
                        By default, super page will be supported if Intel IOMMU
                        has the capability. With this option, super page will
                        not be supported.
-               ecs_off [Default Off]
-                       By default, extended context tables will be supported if
-                       the hardware advertises that it has support both for the
-                       extended tables themselves, and also PASID support. With
-                       this option set, extended tables will not be used even
-                       on hardware which claims to support them.
+               sm_on [Default Off]
+                       By default, scalable mode will be disabled even if the
+                       hardware advertises that it has support for the scalable
+                       mode translation. With this option set, scalable mode
+                       will be used on hardware which claims to support it.
                tboot_noforce [Default Off]
                        Do not force the Intel IOMMU enabled under tboot.
                        By default, tboot will force Intel IOMMU on, which
                        to let secondary kernels in charge of setting up
                        LPIs.
 
+       irqchip.gicv3_pseudo_nmi= [ARM64]
+                       Enables support for pseudo-NMIs in the kernel. This
+                       requires the kernel to be built with
+                       CONFIG_ARM64_PSEUDO_NMI.
+
        irqfixup        [HW]
                        When an interrupt is not handled search all handlers
                        for it. Intended to get systems with badly broken
                        Built with CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y,
                        the default is off.
 
+       kpti=           [ARM64] Control page table isolation of user
+                       and kernel address spaces.
+                       Default: enabled on cores which need mitigation.
+                       0: force disabled
+                       1: force enabled
+
        kvm.ignore_msrs=[KVM] Ignore guest accesses to unhandled MSRs.
                        Default is 0 (don't ignore, but inject #GP)
 
                        off
                                Disables hypervisor mitigations and doesn't
                                emit any warnings.
+                               It also drops the swap size and available
+                               RAM limit restriction on both hypervisor and
+                               bare metal.
 
                        Default is 'flush'.
 
 
        lsm.debug       [SECURITY] Enable LSM initialization debugging output.
 
+       lsm=lsm1,...,lsmN
+                       [SECURITY] Choose order of LSM initialization. This
+                       overrides CONFIG_LSM, and the "security=" parameter.
+
        machvec=        [IA-64] Force the use of a particular machine-vector
                        (machvec) in a generic kernel.
                        Example: machvec=hpzx1_swiotlb
                        check bypass). With this option data leaks are possible
                        in the system.
 
-       nospectre_v2    [X86] Disable all mitigations for the Spectre variant 2
+       nospectre_v2    [X86,PPC_FSL_BOOK3E] Disable all mitigations for the Spectre variant 2
                        (indirect branch prediction) vulnerability. System may
                        allow data leaks with this option, which is equivalent
                        to spectre_v2=off.
                        timeout < 0: reboot immediately
                        Format: <timeout>
 
+       panic_print=    Bitmask for printing system info when panic happens.
+                       User can chose combination of the following bits:
+                       bit 0: print all tasks info
+                       bit 1: print system memory info
+                       bit 2: print timer info
+                       bit 3: print locks info if CONFIG_LOCKDEP is on
+                       bit 4: print ftrace buffer
+
        panic_on_warn   panic() instead of WARN().  Useful to cause kdump
                        on a WARN().
 
                        before loading.
                        See Documentation/blockdev/ramdisk.txt.
 
+       psi=            [KNL] Enable or disable pressure stall information
+                       tracking.
+                       Format: <bool>
+
        psmouse.proto=  [HW,MOUSE] Highest PS2 mouse protocol extension to
                        probe for; one of (bare|imps|exps|lifebook|any).
        psmouse.rate=   [HW,MOUSE] Set desired mouse report rate, in reports
                        latencies, which will choose a value aligned
                        with the appropriate hardware boundaries.
 
-       rcutree.jiffies_till_sched_qs= [KNL]
-                       Set required age in jiffies for a
-                       given grace period before RCU starts
-                       soliciting quiescent-state help from
-                       rcu_note_context_switch().  If not specified, the
-                       kernel will calculate a value based on the most
-                       recent settings of rcutree.jiffies_till_first_fqs
-                       and rcutree.jiffies_till_next_fqs.
-                       This calculated value may be viewed in
-                       rcutree.jiffies_to_sched_qs.  Any attempt to
-                       set rcutree.jiffies_to_sched_qs will be
-                       cheerfully overwritten.
-
        rcutree.jiffies_till_first_fqs= [KNL]
                        Set delay from grace-period initialization to
                        first attempt to force quiescent states.
                        quiescent states.  Units are jiffies, minimum
                        value is one, and maximum value is HZ.
 
+       rcutree.jiffies_till_sched_qs= [KNL]
+                       Set required age in jiffies for a
+                       given grace period before RCU starts
+                       soliciting quiescent-state help from
+                       rcu_note_context_switch() and cond_resched().
+                       If not specified, the kernel will calculate
+                       a value based on the most recent settings
+                       of rcutree.jiffies_till_first_fqs
+                       and rcutree.jiffies_till_next_fqs.
+                       This calculated value may be viewed in
+                       rcutree.jiffies_to_sched_qs.  Any attempt to set
+                       rcutree.jiffies_to_sched_qs will be cheerfully
+                       overwritten.
+
        rcutree.kthread_prio=    [KNL,BOOT]
                        Set the SCHED_FIFO priority of the RCU per-CPU
                        kthreads (rcuc/N). This value is also used for
                        This wake_up() will be accompanied by a
                        WARN_ONCE() splat and an ftrace_dump().
 
+       rcutree.sysrq_rcu= [KNL]
+                       Commandeer a sysrq key to dump out Tree RCU's
+                       rcu_node tree with an eye towards determining
+                       why a new grace period has not yet started.
+
        rcuperf.gp_async= [KNL]
                        Measure performance of asynchronous
                        grace-period primitives such as call_rcu().
                        in microseconds.  The default of zero says
                        no holdoff.
 
-       rcutorture.cbflood_inter_holdoff= [KNL]
-                       Set holdoff time (jiffies) between successive
-                       callback-flood tests.
-
-       rcutorture.cbflood_intra_holdoff= [KNL]
-                       Set holdoff time (jiffies) between successive
-                       bursts of callbacks within a given callback-flood
-                       test.
-
-       rcutorture.cbflood_n_burst= [KNL]
-                       Set the number of bursts making up a given
-                       callback-flood test.  Set this to zero to
-                       disable callback-flood testing.
-
-       rcutorture.cbflood_n_per_burst= [KNL]
-                       Set the number of callbacks to be registered
-                       in a given burst of a callback-flood test.
-
        rcutorture.fqs_duration= [KNL]
                        Set duration of force_quiescent_state bursts
                        in microseconds.
                        Set wait time between force_quiescent_state bursts
                        in seconds.
 
+       rcutorture.fwd_progress= [KNL]
+                       Enable RCU grace-period forward-progress testing
+                       for the types of RCU supporting this notion.
+
+       rcutorture.fwd_progress_div= [KNL]
+                       Specify the fraction of a CPU-stall-warning
+                       period to do tight-loop forward-progress testing.
+
+       rcutorture.fwd_progress_holdoff= [KNL]
+                       Number of seconds to wait between successive
+                       forward-progress tests.
+
+       rcutorture.fwd_progress_need_resched= [KNL]
+                       Enclose cond_resched() calls within checks for
+                       need_resched() during tight-loop forward-progress
+                       testing.
+
        rcutorture.gp_cond= [KNL]
                        Use conditional/asynchronous update-side
                        primitives, if available.
                        Note: increases power consumption, thus should only be
                        enabled if running jitter sensitive (HPC/RT) workloads.
 
-       security=       [SECURITY] Choose a security module to enable at boot.
-                       If this boot parameter is not specified, only the first
-                       security module asking for security registration will be
-                       loaded. An invalid security module name will be treated
-                       as if no module has been chosen.
+       security=       [SECURITY] Choose a legacy "major" security module to
+                       enable at boot. This has been deprecated by the
+                       "lsm=" parameter.
 
        selinux=        [SELINUX] Disable or enable SELinux at boot time.
                        Format: { "0" | "1" }
 
        spectre_v2=     [X86] Control mitigation of Spectre variant 2
                        (indirect branch speculation) vulnerability.
+                       The default operation protects the kernel from
+                       user space attacks.
 
-                       on   - unconditionally enable
-                       off  - unconditionally disable
+                       on   - unconditionally enable, implies
+                              spectre_v2_user=on
+                       off  - unconditionally disable, implies
+                              spectre_v2_user=off
                        auto - kernel detects whether your CPU model is
                               vulnerable
 
                        CONFIG_RETPOLINE configuration option, and the
                        compiler with which the kernel was built.
 
+                       Selecting 'on' will also enable the mitigation
+                       against user space to user space task attacks.
+
+                       Selecting 'off' will disable both the kernel and
+                       the user space protections.
+
                        Specific mitigations can also be selected manually:
 
                        retpoline         - replace indirect branches
                        Not specifying this option is equivalent to
                        spectre_v2=auto.
 
+       spectre_v2_user=
+                       [X86] Control mitigation of Spectre variant 2
+                       (indirect branch speculation) vulnerability between
+                       user space tasks
+
+                       on      - Unconditionally enable mitigations. Is
+                                 enforced by spectre_v2=on
+
+                       off     - Unconditionally disable mitigations. Is
+                                 enforced by spectre_v2=off
+
+                       prctl   - Indirect branch speculation is enabled,
+                                 but mitigation can be enabled via prctl
+                                 per thread.  The mitigation control state
+                                 is inherited on fork.
+
+                       prctl,ibpb
+                               - Like "prctl" above, but only STIBP is
+                                 controlled per thread. IBPB is issued
+                                 always when switching between different user
+                                 space processes.
+
+                       seccomp
+                               - Same as "prctl" above, but all seccomp
+                                 threads will enable the mitigation unless
+                                 they explicitly opt out.
+
+                       seccomp,ibpb
+                               - Like "seccomp" above, but only STIBP is
+                                 controlled per thread. IBPB is issued
+                                 always when switching between different
+                                 user space processes.
+
+                       auto    - Kernel selects the mitigation depending on
+                                 the available CPU features and vulnerability.
+
+                       Default mitigation:
+                       If CONFIG_SECCOMP=y then "seccomp", otherwise "prctl"
+
+                       Not specifying this option is equivalent to
+                       spectre_v2_user=auto.
+
        spec_store_bypass_disable=
                        [HW] Control Speculative Store Bypass (SSB) Disable mitigation
                        (Speculative Store Bypass vulnerability)
        usbcore.authorized_default=
                        [USB] Default USB device authorization:
                        (default -1 = authorized except for wireless USB,
-                       0 = not authorized, 1 = authorized)
+                       0 = not authorized, 1 = authorized, 2 = authorized
+                       if device connected to internal port)
 
        usbcore.autosuspend=
                        [USB] The autosuspend time delay (in seconds) used
                                        prevent spurious wakeup);
                                n = USB_QUIRK_DELAY_CTRL_MSG (Device needs a
                                        pause after every control message);
+                               o = USB_QUIRK_HUB_SLOW_RESET (Hub needs extra
+                                       delay after resetting its port);
                        Example: quirks=0781:5580:bk,0a5c:5834:gij
 
        usbhid.mousepoll=