linux/Documentation/admin-guide/kernel-parameters.txt
<<
>>
Prefs
   1        acpi=           [HW,ACPI,X86,ARM64]
   2                        Advanced Configuration and Power Interface
   3                        Format: { force | on | off | strict | noirq | rsdt |
   4                                  copy_dsdt }
   5                        force -- enable ACPI if default was off
   6                        on -- enable ACPI but allow fallback to DT [arm64]
   7                        off -- disable ACPI if default was on
   8                        noirq -- do not use ACPI for IRQ routing
   9                        strict -- Be less tolerant of platforms that are not
  10                                strictly ACPI specification compliant.
  11                        rsdt -- prefer RSDT over (default) XSDT
  12                        copy_dsdt -- copy DSDT to memory
  13                        For ARM64, ONLY "acpi=off", "acpi=on" or "acpi=force"
  14                        are available
  15
  16                        See also Documentation/power/runtime_pm.rst, pci=noacpi
  17
  18        acpi_apic_instance=     [ACPI, IOAPIC]
  19                        Format: <int>
  20                        2: use 2nd APIC table, if available
  21                        1,0: use 1st APIC table
  22                        default: 0
  23
  24        acpi_backlight= [HW,ACPI]
  25                        { vendor | video | native | none }
  26                        If set to vendor, prefer vendor-specific driver
  27                        (e.g. thinkpad_acpi, sony_acpi, etc.) instead
  28                        of the ACPI video.ko driver.
  29                        If set to video, use the ACPI video.ko driver.
  30                        If set to native, use the device's native backlight mode.
  31                        If set to none, disable the ACPI backlight interface.
  32
  33        acpi_force_32bit_fadt_addr
  34                        force FADT to use 32 bit addresses rather than the
  35                        64 bit X_* addresses. Some firmware have broken 64
  36                        bit addresses for force ACPI ignore these and use
  37                        the older legacy 32 bit addresses.
  38
  39        acpica_no_return_repair [HW, ACPI]
  40                        Disable AML predefined validation mechanism
  41                        This mechanism can repair the evaluation result to make
  42                        the return objects more ACPI specification compliant.
  43                        This option is useful for developers to identify the
  44                        root cause of an AML interpreter issue when the issue
  45                        has something to do with the repair mechanism.
  46
  47        acpi.debug_layer=       [HW,ACPI,ACPI_DEBUG]
  48        acpi.debug_level=       [HW,ACPI,ACPI_DEBUG]
  49                        Format: <int>
  50                        CONFIG_ACPI_DEBUG must be enabled to produce any ACPI
  51                        debug output.  Bits in debug_layer correspond to a
  52                        _COMPONENT in an ACPI source file, e.g.,
  53                            #define _COMPONENT ACPI_EVENTS
  54                        Bits in debug_level correspond to a level in
  55                        ACPI_DEBUG_PRINT statements, e.g.,
  56                            ACPI_DEBUG_PRINT((ACPI_DB_INFO, ...
  57                        The debug_level mask defaults to "info".  See
  58                        Documentation/firmware-guide/acpi/debug.rst for more information about
  59                        debug layers and levels.
  60
  61                        Enable processor driver info messages:
  62                            acpi.debug_layer=0x20000000
  63                        Enable AML "Debug" output, i.e., stores to the Debug
  64                        object while interpreting AML:
  65                            acpi.debug_layer=0xffffffff acpi.debug_level=0x2
  66                        Enable all messages related to ACPI hardware:
  67                            acpi.debug_layer=0x2 acpi.debug_level=0xffffffff
  68
  69                        Some values produce so much output that the system is
  70                        unusable.  The "log_buf_len" parameter may be useful
  71                        if you need to capture more output.
  72
  73        acpi_enforce_resources= [ACPI]
  74                        { strict | lax | no }
  75                        Check for resource conflicts between native drivers
  76                        and ACPI OperationRegions (SystemIO and SystemMemory
  77                        only). IO ports and memory declared in ACPI might be
  78                        used by the ACPI subsystem in arbitrary AML code and
  79                        can interfere with legacy drivers.
  80                        strict (default): access to resources claimed by ACPI
  81                        is denied; legacy drivers trying to access reserved
  82                        resources will fail to bind to device using them.
  83                        lax: access to resources claimed by ACPI is allowed;
  84                        legacy drivers trying to access reserved resources
  85                        will bind successfully but a warning message is logged.
  86                        no: ACPI OperationRegions are not marked as reserved,
  87                        no further checks are performed.
  88
  89        acpi_force_table_verification   [HW,ACPI]
  90                        Enable table checksum verification during early stage.
  91                        By default, this is disabled due to x86 early mapping
  92                        size limitation.
  93
  94        acpi_irq_balance [HW,ACPI]
  95                        ACPI will balance active IRQs
  96                        default in APIC mode
  97
  98        acpi_irq_nobalance [HW,ACPI]
  99                        ACPI will not move active IRQs (default)
 100                        default in PIC mode
 101
 102        acpi_irq_isa=   [HW,ACPI] If irq_balance, mark listed IRQs used by ISA
 103                        Format: <irq>,<irq>...
 104
 105        acpi_irq_pci=   [HW,ACPI] If irq_balance, clear listed IRQs for
 106                        use by PCI
 107                        Format: <irq>,<irq>...
 108
 109        acpi_mask_gpe=  [HW,ACPI]
 110                        Due to the existence of _Lxx/_Exx, some GPEs triggered
 111                        by unsupported hardware/firmware features can result in
 112                        GPE floodings that cannot be automatically disabled by
 113                        the GPE dispatcher.
 114                        This facility can be used to prevent such uncontrolled
 115                        GPE floodings.
 116                        Format: <byte> or <bitmap-list>
 117
 118        acpi_no_auto_serialize  [HW,ACPI]
 119                        Disable auto-serialization of AML methods
 120                        AML control methods that contain the opcodes to create
 121                        named objects will be marked as "Serialized" by the
 122                        auto-serialization feature.
 123                        This feature is enabled by default.
 124                        This option allows to turn off the feature.
 125
 126        acpi_no_memhotplug [ACPI] Disable memory hotplug.  Useful for kdump
 127                           kernels.
 128
 129        acpi_no_static_ssdt     [HW,ACPI]
 130                        Disable installation of static SSDTs at early boot time
 131                        By default, SSDTs contained in the RSDT/XSDT will be
 132                        installed automatically and they will appear under
 133                        /sys/firmware/acpi/tables.
 134                        This option turns off this feature.
 135                        Note that specifying this option does not affect
 136                        dynamic table installation which will install SSDT
 137                        tables to /sys/firmware/acpi/tables/dynamic.
 138
 139        acpi_no_watchdog        [HW,ACPI,WDT]
 140                        Ignore the ACPI-based watchdog interface (WDAT) and let
 141                        a native driver control the watchdog device instead.
 142
 143        acpi_rsdp=      [ACPI,EFI,KEXEC]
 144                        Pass the RSDP address to the kernel, mostly used
 145                        on machines running EFI runtime service to boot the
 146                        second kernel for kdump.
 147
 148        acpi_os_name=   [HW,ACPI] Tell ACPI BIOS the name of the OS
 149                        Format: To spoof as Windows 98: ="Microsoft Windows"
 150
 151        acpi_rev_override [ACPI] Override the _REV object to return 5 (instead
 152                        of 2 which is mandated by ACPI 6) as the supported ACPI
 153                        specification revision (when using this switch, it may
 154                        be necessary to carry out a cold reboot _twice_ in a
 155                        row to make it take effect on the platform firmware).
 156
 157        acpi_osi=       [HW,ACPI] Modify list of supported OS interface strings
 158                        acpi_osi="string1"      # add string1
 159                        acpi_osi="!string2"     # remove string2
 160                        acpi_osi=!*             # remove all strings
 161                        acpi_osi=!              # disable all built-in OS vendor
 162                                                  strings
 163                        acpi_osi=!!             # enable all built-in OS vendor
 164                                                  strings
 165                        acpi_osi=               # disable all strings
 166
 167                        'acpi_osi=!' can be used in combination with single or
 168                        multiple 'acpi_osi="string1"' to support specific OS
 169                        vendor string(s).  Note that such command can only
 170                        affect the default state of the OS vendor strings, thus
 171                        it cannot affect the default state of the feature group
 172                        strings and the current state of the OS vendor strings,
 173                        specifying it multiple times through kernel command line
 174                        is meaningless.  This command is useful when one do not
 175                        care about the state of the feature group strings which
 176                        should be controlled by the OSPM.
 177                        Examples:
 178                          1. 'acpi_osi=! acpi_osi="Windows 2000"' is equivalent
 179                             to 'acpi_osi="Windows 2000" acpi_osi=!', they all
 180                             can make '_OSI("Windows 2000")' TRUE.
 181
 182                        'acpi_osi=' cannot be used in combination with other
 183                        'acpi_osi=' command lines, the _OSI method will not
 184                        exist in the ACPI namespace.  NOTE that such command can
 185                        only affect the _OSI support state, thus specifying it
 186                        multiple times through kernel command line is also
 187                        meaningless.
 188                        Examples:
 189                          1. 'acpi_osi=' can make 'CondRefOf(_OSI, Local1)'
 190                             FALSE.
 191
 192                        'acpi_osi=!*' can be used in combination with single or
 193                        multiple 'acpi_osi="string1"' to support specific
 194                        string(s).  Note that such command can affect the
 195                        current state of both the OS vendor strings and the
 196                        feature group strings, thus specifying it multiple times
 197                        through kernel command line is meaningful.  But it may
 198                        still not able to affect the final state of a string if
 199                        there are quirks related to this string.  This command
 200                        is useful when one want to control the state of the
 201                        feature group strings to debug BIOS issues related to
 202                        the OSPM features.
 203                        Examples:
 204                          1. 'acpi_osi="Module Device" acpi_osi=!*' can make
 205                             '_OSI("Module Device")' FALSE.
 206                          2. 'acpi_osi=!* acpi_osi="Module Device"' can make
 207                             '_OSI("Module Device")' TRUE.
 208                          3. 'acpi_osi=! acpi_osi=!* acpi_osi="Windows 2000"' is
 209                             equivalent to
 210                             'acpi_osi=!* acpi_osi=! acpi_osi="Windows 2000"'
 211                             and
 212                             'acpi_osi=!* acpi_osi="Windows 2000" acpi_osi=!',
 213                             they all will make '_OSI("Windows 2000")' TRUE.
 214
 215        acpi_pm_good    [X86]
 216                        Override the pmtimer bug detection: force the kernel
 217                        to assume that this machine's pmtimer latches its value
 218                        and always returns good values.
 219
 220        acpi_sci=       [HW,ACPI] ACPI System Control Interrupt trigger mode
 221                        Format: { level | edge | high | low }
 222
 223        acpi_skip_timer_override [HW,ACPI]
 224                        Recognize and ignore IRQ0/pin2 Interrupt Override.
 225                        For broken nForce2 BIOS resulting in XT-PIC timer.
 226
 227        acpi_sleep=     [HW,ACPI] Sleep options
 228                        Format: { s3_bios, s3_mode, s3_beep, s4_nohwsig,
 229                                  old_ordering, nonvs, sci_force_enable, nobl }
 230                        See Documentation/power/video.rst for information on
 231                        s3_bios and s3_mode.
 232                        s3_beep is for debugging; it makes the PC's speaker beep
 233                        as soon as the kernel's real-mode entry point is called.
 234                        s4_nohwsig prevents ACPI hardware signature from being
 235                        used during resume from hibernation.
 236                        old_ordering causes the ACPI 1.0 ordering of the _PTS
 237                        control method, with respect to putting devices into
 238                        low power states, to be enforced (the ACPI 2.0 ordering
 239                        of _PTS is used by default).
 240                        nonvs prevents the kernel from saving/restoring the
 241                        ACPI NVS memory during suspend/hibernation and resume.
 242                        sci_force_enable causes the kernel to set SCI_EN directly
 243                        on resume from S1/S3 (which is against the ACPI spec,
 244                        but some broken systems don't work without it).
 245                        nobl causes the internal blacklist of systems known to
 246                        behave incorrectly in some ways with respect to system
 247                        suspend and resume to be ignored (use wisely).
 248
 249        acpi_use_timer_override [HW,ACPI]
 250                        Use timer override. For some broken Nvidia NF5 boards
 251                        that require a timer override, but don't have HPET
 252
 253        add_efi_memmap  [EFI; X86] Include EFI memory map in
 254                        kernel's map of available physical RAM.
 255
 256        agp=            [AGP]
 257                        { off | try_unsupported }
 258                        off: disable AGP support
 259                        try_unsupported: try to drive unsupported chipsets
 260                                (may crash computer or cause data corruption)
 261
 262        ALSA            [HW,ALSA]
 263                        See Documentation/sound/alsa-configuration.rst
 264
 265        alignment=      [KNL,ARM]
 266                        Allow the default userspace alignment fault handler
 267                        behaviour to be specified.  Bit 0 enables warnings,
 268                        bit 1 enables fixups, and bit 2 sends a segfault.
 269
 270        align_va_addr=  [X86-64]
 271                        Align virtual addresses by clearing slice [14:12] when
 272                        allocating a VMA at process creation time. This option
 273                        gives you up to 3% performance improvement on AMD F15h
 274                        machines (where it is enabled by default) for a
 275                        CPU-intensive style benchmark, and it can vary highly in
 276                        a microbenchmark depending on workload and compiler.
 277
 278                        32: only for 32-bit processes
 279                        64: only for 64-bit processes
 280                        on: enable for both 32- and 64-bit processes
 281                        off: disable for both 32- and 64-bit processes
 282
 283        alloc_snapshot  [FTRACE]
 284                        Allocate the ftrace snapshot buffer on boot up when the
 285                        main buffer is allocated. This is handy if debugging
 286                        and you need to use tracing_snapshot() on boot up, and
 287                        do not want to use tracing_snapshot_alloc() as it needs
 288                        to be done where GFP_KERNEL allocations are allowed.
 289
 290        allow_mismatched_32bit_el0 [ARM64]
 291                        Allow execve() of 32-bit applications and setting of the
 292                        PER_LINUX32 personality on systems where only a strict
 293                        subset of the CPUs support 32-bit EL0. When this
 294                        parameter is present, the set of CPUs supporting 32-bit
 295                        EL0 is indicated by /sys/devices/system/cpu/aarch32_el0
 296                        and hot-unplug operations may be restricted.
 297
 298                        See Documentation/arm64/asymmetric-32bit.rst for more
 299                        information.
 300
 301        amd_iommu=      [HW,X86-64]
 302                        Pass parameters to the AMD IOMMU driver in the system.
 303                        Possible values are:
 304                        fullflush - Deprecated, equivalent to iommu.strict=1
 305                        off       - do not initialize any AMD IOMMU found in
 306                                    the system
 307                        force_isolation - Force device isolation for all
 308                                          devices. The IOMMU driver is not
 309                                          allowed anymore to lift isolation
 310                                          requirements as needed. This option
 311                                          does not override iommu=pt
 312                        force_enable - Force enable the IOMMU on platforms known
 313                                       to be buggy with IOMMU enabled. Use this
 314                                       option with care.
 315
 316        amd_iommu_dump= [HW,X86-64]
 317                        Enable AMD IOMMU driver option to dump the ACPI table
 318                        for AMD IOMMU. With this option enabled, AMD IOMMU
 319                        driver will print ACPI tables for AMD IOMMU during
 320                        IOMMU initialization.
 321
 322        amd_iommu_intr= [HW,X86-64]
 323                        Specifies one of the following AMD IOMMU interrupt
 324                        remapping modes:
 325                        legacy     - Use legacy interrupt remapping mode.
 326                        vapic      - Use virtual APIC mode, which allows IOMMU
 327                                     to inject interrupts directly into guest.
 328                                     This mode requires kvm-amd.avic=1.
 329                                     (Default when IOMMU HW support is present.)
 330
 331        amijoy.map=     [HW,JOY] Amiga joystick support
 332                        Map of devices attached to JOY0DAT and JOY1DAT
 333                        Format: <a>,<b>
 334                        See also Documentation/input/joydev/joystick.rst
 335
 336        analog.map=     [HW,JOY] Analog joystick and gamepad support
 337                        Specifies type or capabilities of an analog joystick
 338                        connected to one of 16 gameports
 339                        Format: <type1>,<type2>,..<type16>
 340
 341        apc=            [HW,SPARC]
 342                        Power management functions (SPARCstation-4/5 + deriv.)
 343                        Format: noidle
 344                        Disable APC CPU standby support. SPARCstation-Fox does
 345                        not play well with APC CPU idle - disable it if you have
 346                        APC and your system crashes randomly.
 347
 348        apic=           [APIC,X86] Advanced Programmable Interrupt Controller
 349                        Change the output verbosity while booting
 350                        Format: { quiet (default) | verbose | debug }
 351                        Change the amount of debugging information output
 352                        when initialising the APIC and IO-APIC components.
 353                        For X86-32, this can also be used to specify an APIC
 354                        driver name.
 355                        Format: apic=driver_name
 356                        Examples: apic=bigsmp
 357
 358        apic_extnmi=    [APIC,X86] External NMI delivery setting
 359                        Format: { bsp (default) | all | none }
 360                        bsp:  External NMI is delivered only to CPU 0
 361                        all:  External NMIs are broadcast to all CPUs as a
 362                              backup of CPU 0
 363                        none: External NMI is masked for all CPUs. This is
 364                              useful so that a dump capture kernel won't be
 365                              shot down by NMI
 366
 367        autoconf=       [IPV6]
 368                        See Documentation/networking/ipv6.rst.
 369
 370        show_lapic=     [APIC,X86] Advanced Programmable Interrupt Controller
 371                        Limit apic dumping. The parameter defines the maximal
 372                        number of local apics being dumped. Also it is possible
 373                        to set it to "all" by meaning -- no limit here.
 374                        Format: { 1 (default) | 2 | ... | all }.
 375                        The parameter valid if only apic=debug or
 376                        apic=verbose is specified.
 377                        Example: apic=debug show_lapic=all
 378
 379        apm=            [APM] Advanced Power Management
 380                        See header of arch/x86/kernel/apm_32.c.
 381
 382        arcrimi=        [HW,NET] ARCnet - "RIM I" (entirely mem-mapped) cards
 383                        Format: <io>,<irq>,<nodeID>
 384
 385        arm64.nobti     [ARM64] Unconditionally disable Branch Target
 386                        Identification support
 387
 388        arm64.nopauth   [ARM64] Unconditionally disable Pointer Authentication
 389                        support
 390
 391        arm64.nomte     [ARM64] Unconditionally disable Memory Tagging Extension
 392                        support
 393
 394        ataflop=        [HW,M68k]
 395
 396        atarimouse=     [HW,MOUSE] Atari Mouse
 397
 398        atkbd.extra=    [HW] Enable extra LEDs and keys on IBM RapidAccess,
 399                        EzKey and similar keyboards
 400
 401        atkbd.reset=    [HW] Reset keyboard during initialization
 402
 403        atkbd.set=      [HW] Select keyboard code set
 404                        Format: <int> (2 = AT (default), 3 = PS/2)
 405
 406        atkbd.scroll=   [HW] Enable scroll wheel on MS Office and similar
 407                        keyboards
 408
 409        atkbd.softraw=  [HW] Choose between synthetic and real raw mode
 410                        Format: <bool> (0 = real, 1 = synthetic (default))
 411
 412        atkbd.softrepeat= [HW]
 413                        Use software keyboard repeat
 414
 415        audit=          [KNL] Enable the audit sub-system
 416                        Format: { "0" | "1" | "off" | "on" }
 417                        0 | off - kernel audit is disabled and can not be
 418                            enabled until the next reboot
 419                        unset - kernel audit is initialized but disabled and
 420                            will be fully enabled by the userspace auditd.
 421                        1 | on - kernel audit is initialized and partially
 422                            enabled, storing at most audit_backlog_limit
 423                            messages in RAM until it is fully enabled by the
 424                            userspace auditd.
 425                        Default: unset
 426
 427        audit_backlog_limit= [KNL] Set the audit queue size limit.
 428                        Format: <int> (must be >=0)
 429                        Default: 64
 430
 431        bau=            [X86_UV] Enable the BAU on SGI UV.  The default
 432                        behavior is to disable the BAU (i.e. bau=0).
 433                        Format: { "0" | "1" }
 434                        0 - Disable the BAU.
 435                        1 - Enable the BAU.
 436                        unset - Disable the BAU.
 437
 438        baycom_epp=     [HW,AX25]
 439                        Format: <io>,<mode>
 440
 441        baycom_par=     [HW,AX25] BayCom Parallel Port AX.25 Modem
 442                        Format: <io>,<mode>
 443                        See header of drivers/net/hamradio/baycom_par.c.
 444
 445        baycom_ser_fdx= [HW,AX25]
 446                        BayCom Serial Port AX.25 Modem (Full Duplex Mode)
 447                        Format: <io>,<irq>,<mode>[,<baud>]
 448                        See header of drivers/net/hamradio/baycom_ser_fdx.c.
 449
 450        baycom_ser_hdx= [HW,AX25]
 451                        BayCom Serial Port AX.25 Modem (Half Duplex Mode)
 452                        Format: <io>,<irq>,<mode>
 453                        See header of drivers/net/hamradio/baycom_ser_hdx.c.
 454
 455        blkdevparts=    Manual partition parsing of block device(s) for
 456                        embedded devices based on command line input.
 457                        See Documentation/block/cmdline-partition.rst
 458
 459        boot_delay=     Milliseconds to delay each printk during boot.
 460                        Values larger than 10 seconds (10000) are changed to
 461                        no delay (0).
 462                        Format: integer
 463
 464        bootconfig      [KNL]
 465                        Extended command line options can be added to an initrd
 466                        and this will cause the kernel to look for it.
 467
 468                        See Documentation/admin-guide/bootconfig.rst
 469
 470        bert_disable    [ACPI]
 471                        Disable BERT OS support on buggy BIOSes.
 472
 473        bgrt_disable    [ACPI][X86]
 474                        Disable BGRT to avoid flickering OEM logo.
 475
 476        bttv.card=      [HW,V4L] bttv (bt848 + bt878 based grabber cards)
 477        bttv.radio=     Most important insmod options are available as
 478                        kernel args too.
 479        bttv.pll=       See Documentation/admin-guide/media/bttv.rst
 480        bttv.tuner=
 481
 482        bulk_remove=off [PPC]  This parameter disables the use of the pSeries
 483                        firmware feature for flushing multiple hpte entries
 484                        at a time.
 485
 486        c101=           [NET] Moxa C101 synchronous serial card
 487
 488        cachesize=      [BUGS=X86-32] Override level 2 CPU cache size detection.
 489                        Sometimes CPU hardware bugs make them report the cache
 490                        size incorrectly. The kernel will attempt work arounds
 491                        to fix known problems, but for some CPUs it is not
 492                        possible to determine what the correct size should be.
 493                        This option provides an override for these situations.
 494
 495        carrier_timeout=
 496                        [NET] Specifies amount of time (in seconds) that
 497                        the kernel should wait for a network carrier. By default
 498                        it waits 120 seconds.
 499
 500        ca_keys=        [KEYS] This parameter identifies a specific key(s) on
 501                        the system trusted keyring to be used for certificate
 502                        trust validation.
 503                        format: { id:<keyid> | builtin }
 504
 505        cca=            [MIPS] Override the kernel pages' cache coherency
 506                        algorithm.  Accepted values range from 0 to 7
 507                        inclusive. See arch/mips/include/asm/pgtable-bits.h
 508                        for platform specific values (SB1, Loongson3 and
 509                        others).
 510
 511        ccw_timeout_log [S390]
 512                        See Documentation/s390/common_io.rst for details.
 513
 514        cgroup_disable= [KNL] Disable a particular controller or optional feature
 515                        Format: {name of the controller(s) or feature(s) to disable}
 516                        The effects of cgroup_disable=foo are:
 517                        - foo isn't auto-mounted if you mount all cgroups in
 518                          a single hierarchy
 519                        - foo isn't visible as an individually mountable
 520                          subsystem
 521                        - if foo is an optional feature then the feature is
 522                          disabled and corresponding cgroup files are not
 523                          created
 524                        {Currently only "memory" controller deal with this and
 525                        cut the overhead, others just disable the usage. So
 526                        only cgroup_disable=memory is actually worthy}
 527                        Specifying "pressure" disables per-cgroup pressure
 528                        stall information accounting feature
 529
 530        cgroup_no_v1=   [KNL] Disable cgroup controllers and named hierarchies in v1
 531                        Format: { { controller | "all" | "named" }
 532                                  [,{ controller | "all" | "named" }...] }
 533                        Like cgroup_disable, but only applies to cgroup v1;
 534                        the blacklisted controllers remain available in cgroup2.
 535                        "all" blacklists all controllers and "named" disables
 536                        named mounts. Specifying both "all" and "named" disables
 537                        all v1 hierarchies.
 538
 539        cgroup.memory=  [KNL] Pass options to the cgroup memory controller.
 540                        Format: <string>
 541                        nosocket -- Disable socket memory accounting.
 542                        nokmem -- Disable kernel memory accounting.
 543
 544        checkreqprot    [SELINUX] Set initial checkreqprot flag value.
 545                        Format: { "0" | "1" }
 546                        See security/selinux/Kconfig help text.
 547                        0 -- check protection applied by kernel (includes
 548                                any implied execute protection).
 549                        1 -- check protection requested by application.
 550                        Default value is set via a kernel config option.
 551                        Value can be changed at runtime via
 552                                /sys/fs/selinux/checkreqprot.
 553                        Setting checkreqprot to 1 is deprecated.
 554
 555        cio_ignore=     [S390]
 556                        See Documentation/s390/common_io.rst for details.
 557        clk_ignore_unused
 558                        [CLK]
 559                        Prevents the clock framework from automatically gating
 560                        clocks that have not been explicitly enabled by a Linux
 561                        device driver but are enabled in hardware at reset or
 562                        by the bootloader/firmware. Note that this does not
 563                        force such clocks to be always-on nor does it reserve
 564                        those clocks in any way. This parameter is useful for
 565                        debug and development, but should not be needed on a
 566                        platform with proper driver support.  For more
 567                        information, see Documentation/driver-api/clk.rst.
 568
 569        clock=          [BUGS=X86-32, HW] gettimeofday clocksource override.
 570                        [Deprecated]
 571                        Forces specified clocksource (if available) to be used
 572                        when calculating gettimeofday(). If specified
 573                        clocksource is not available, it defaults to PIT.
 574                        Format: { pit | tsc | cyclone | pmtmr }
 575
 576        clocksource=    Override the default clocksource
 577                        Format: <string>
 578                        Override the default clocksource and use the clocksource
 579                        with the name specified.
 580                        Some clocksource names to choose from, depending on
 581                        the platform:
 582                        [all] jiffies (this is the base, fallback clocksource)
 583                        [ACPI] acpi_pm
 584                        [ARM] imx_timer1,OSTS,netx_timer,mpu_timer2,
 585                                pxa_timer,timer3,32k_counter,timer0_1
 586                        [X86-32] pit,hpet,tsc;
 587                                scx200_hrt on Geode; cyclone on IBM x440
 588                        [MIPS] MIPS
 589                        [PARISC] cr16
 590                        [S390] tod
 591                        [SH] SuperH
 592                        [SPARC64] tick
 593                        [X86-64] hpet,tsc
 594
 595        clocksource.arm_arch_timer.evtstrm=
 596                        [ARM,ARM64]
 597                        Format: <bool>
 598                        Enable/disable the eventstream feature of the ARM
 599                        architected timer so that code using WFE-based polling
 600                        loops can be debugged more effectively on production
 601                        systems.
 602
 603        clocksource.max_cswd_read_retries= [KNL]
 604                        Number of clocksource_watchdog() retries due to
 605                        external delays before the clock will be marked
 606                        unstable.  Defaults to three retries, that is,
 607                        four attempts to read the clock under test.
 608
 609        clocksource.verify_n_cpus= [KNL]
 610                        Limit the number of CPUs checked for clocksources
 611                        marked with CLOCK_SOURCE_VERIFY_PERCPU that
 612                        are marked unstable due to excessive skew.
 613                        A negative value says to check all CPUs, while
 614                        zero says not to check any.  Values larger than
 615                        nr_cpu_ids are silently truncated to nr_cpu_ids.
 616                        The actual CPUs are chosen randomly, with
 617                        no replacement if the same CPU is chosen twice.
 618
 619        clocksource-wdtest.holdoff= [KNL]
 620                        Set the time in seconds that the clocksource
 621                        watchdog test waits before commencing its tests.
 622                        Defaults to zero when built as a module and to
 623                        10 seconds when built into the kernel.
 624
 625        clearcpuid=BITNUM[,BITNUM...] [X86]
 626                        Disable CPUID feature X for the kernel. See
 627                        arch/x86/include/asm/cpufeatures.h for the valid bit
 628                        numbers. Note the Linux specific bits are not necessarily
 629                        stable over kernel options, but the vendor specific
 630                        ones should be.
 631                        Also note that user programs calling CPUID directly
 632                        or using the feature without checking anything
 633                        will still see it. This just prevents it from
 634                        being used by the kernel or shown in /proc/cpuinfo.
 635                        Also note the kernel might malfunction if you disable
 636                        some critical bits.
 637
 638        cma=nn[MG]@[start[MG][-end[MG]]]
 639                        [KNL,CMA]
 640                        Sets the size of kernel global memory area for
 641                        contiguous memory allocations and optionally the
 642                        placement constraint by the physical address range of
 643                        memory allocations. A value of 0 disables CMA
 644                        altogether. For more information, see
 645                        kernel/dma/contiguous.c
 646
 647        cma_pernuma=nn[MG]
 648                        [ARM64,KNL,CMA]
 649                        Sets the size of kernel per-numa memory area for
 650                        contiguous memory allocations. A value of 0 disables
 651                        per-numa CMA altogether. And If this option is not
 652                        specificed, the default value is 0.
 653                        With per-numa CMA enabled, DMA users on node nid will
 654                        first try to allocate buffer from the pernuma area
 655                        which is located in node nid, if the allocation fails,
 656                        they will fallback to the global default memory area.
 657
 658        cmo_free_hint=  [PPC] Format: { yes | no }
 659                        Specify whether pages are marked as being inactive
 660                        when they are freed.  This is used in CMO environments
 661                        to determine OS memory pressure for page stealing by
 662                        a hypervisor.
 663                        Default: yes
 664
 665        coherent_pool=nn[KMG]   [ARM,KNL]
 666                        Sets the size of memory pool for coherent, atomic dma
 667                        allocations, by default set to 256K.
 668
 669        com20020=       [HW,NET] ARCnet - COM20020 chipset
 670                        Format:
 671                        <io>[,<irq>[,<nodeID>[,<backplane>[,<ckp>[,<timeout>]]]]]
 672
 673        com90io=        [HW,NET] ARCnet - COM90xx chipset (IO-mapped buffers)
 674                        Format: <io>[,<irq>]
 675
 676        com90xx=        [HW,NET]
 677                        ARCnet - COM90xx chipset (memory-mapped buffers)
 678                        Format: <io>[,<irq>[,<memstart>]]
 679
 680        condev=         [HW,S390] console device
 681        conmode=
 682
 683        console=        [KNL] Output console device and options.
 684
 685                tty<n>  Use the virtual console device <n>.
 686
 687                ttyS<n>[,options]
 688                ttyUSB0[,options]
 689                        Use the specified serial port.  The options are of
 690                        the form "bbbbpnf", where "bbbb" is the baud rate,
 691                        "p" is parity ("n", "o", or "e"), "n" is number of
 692                        bits, and "f" is flow control ("r" for RTS or
 693                        omit it).  Default is "9600n8".
 694
 695                        See Documentation/admin-guide/serial-console.rst for more
 696                        information.  See
 697                        Documentation/networking/netconsole.rst for an
 698                        alternative.
 699
 700                uart[8250],io,<addr>[,options]
 701                uart[8250],mmio,<addr>[,options]
 702                uart[8250],mmio16,<addr>[,options]
 703                uart[8250],mmio32,<addr>[,options]
 704                uart[8250],0x<addr>[,options]
 705                        Start an early, polled-mode console on the 8250/16550
 706                        UART at the specified I/O port or MMIO address,
 707                        switching to the matching ttyS device later.
 708                        MMIO inter-register address stride is either 8-bit
 709                        (mmio), 16-bit (mmio16), or 32-bit (mmio32).
 710                        If none of [io|mmio|mmio16|mmio32], <addr> is assumed
 711                        to be equivalent to 'mmio'. 'options' are specified in
 712                        the same format described for ttyS above; if unspecified,
 713                        the h/w is not re-initialized.
 714
 715                hvc<n>  Use the hypervisor console device <n>. This is for
 716                        both Xen and PowerPC hypervisors.
 717
 718                If the device connected to the port is not a TTY but a braille
 719                device, prepend "brl," before the device type, for instance
 720                        console=brl,ttyS0
 721                For now, only VisioBraille is supported.
 722
 723        console_msg_format=
 724                        [KNL] Change console messages format
 725                default
 726                        By default we print messages on consoles in
 727                        "[time stamp] text\n" format (time stamp may not be
 728                        printed, depending on CONFIG_PRINTK_TIME or
 729                        `printk_time' param).
 730                syslog
 731                        Switch to syslog format: "<%u>[time stamp] text\n"
 732                        IOW, each message will have a facility and loglevel
 733                        prefix. The format is similar to one used by syslog()
 734                        syscall, or to executing "dmesg -S --raw" or to reading
 735                        from /proc/kmsg.
 736
 737        consoleblank=   [KNL] The console blank (screen saver) timeout in
 738                        seconds. A value of 0 disables the blank timer.
 739                        Defaults to 0.
 740
 741        coredump_filter=
 742                        [KNL] Change the default value for
 743                        /proc/<pid>/coredump_filter.
 744                        See also Documentation/filesystems/proc.rst.
 745
 746        coresight_cpu_debug.enable
 747                        [ARM,ARM64]
 748                        Format: <bool>
 749                        Enable/disable the CPU sampling based debugging.
 750                        0: default value, disable debugging
 751                        1: enable debugging at boot time
 752
 753        cpuidle.off=1   [CPU_IDLE]
 754                        disable the cpuidle sub-system
 755
 756        cpuidle.governor=
 757                        [CPU_IDLE] Name of the cpuidle governor to use.
 758
 759        cpufreq.off=1   [CPU_FREQ]
 760                        disable the cpufreq sub-system
 761
 762        cpufreq.default_governor=
 763                        [CPU_FREQ] Name of the default cpufreq governor or
 764                        policy to use. This governor must be registered in the
 765                        kernel before the cpufreq driver probes.
 766
 767        cpu_init_udelay=N
 768                        [X86] Delay for N microsec between assert and de-assert
 769                        of APIC INIT to start processors.  This delay occurs
 770                        on every CPU online, such as boot, and resume from suspend.
 771                        Default: 10000
 772
 773        cpcihp_generic= [HW,PCI] Generic port I/O CompactPCI driver
 774                        Format:
 775                        <first_slot>,<last_slot>,<port>,<enum_bit>[,<debug>]
 776
 777        crashkernel=size[KMG][@offset[KMG]]
 778                        [KNL] Using kexec, Linux can switch to a 'crash kernel'
 779                        upon panic. This parameter reserves the physical
 780                        memory region [offset, offset + size] for that kernel
 781                        image. If '@offset' is omitted, then a suitable offset
 782                        is selected automatically.
 783                        [KNL, X86-64] Select a region under 4G first, and
 784                        fall back to reserve region above 4G when '@offset'
 785                        hasn't been specified.
 786                        See Documentation/admin-guide/kdump/kdump.rst for further details.
 787
 788        crashkernel=range1:size1[,range2:size2,...][@offset]
 789                        [KNL] Same as above, but depends on the memory
 790                        in the running system. The syntax of range is
 791                        start-[end] where start and end are both
 792                        a memory unit (amount[KMG]). See also
 793                        Documentation/admin-guide/kdump/kdump.rst for an example.
 794
 795        crashkernel=size[KMG],high
 796                        [KNL, X86-64] range could be above 4G. Allow kernel
 797                        to allocate physical memory region from top, so could
 798                        be above 4G if system have more than 4G ram installed.
 799                        Otherwise memory region will be allocated below 4G, if
 800                        available.
 801                        It will be ignored if crashkernel=X is specified.
 802        crashkernel=size[KMG],low
 803                        [KNL, X86-64] range under 4G. When crashkernel=X,high
 804                        is passed, kernel could allocate physical memory region
 805                        above 4G, that cause second kernel crash on system
 806                        that require some amount of low memory, e.g. swiotlb
 807                        requires at least 64M+32K low memory, also enough extra
 808                        low memory is needed to make sure DMA buffers for 32-bit
 809                        devices won't run out. Kernel would try to allocate at
 810                        at least 256M below 4G automatically.
 811                        This one let user to specify own low range under 4G
 812                        for second kernel instead.
 813                        0: to disable low allocation.
 814                        It will be ignored when crashkernel=X,high is not used
 815                        or memory reserved is below 4G.
 816
 817        cryptomgr.notests
 818                        [KNL] Disable crypto self-tests
 819
 820        cs89x0_dma=     [HW,NET]
 821                        Format: <dma>
 822
 823        cs89x0_media=   [HW,NET]
 824                        Format: { rj45 | aui | bnc }
 825
 826        csdlock_debug=  [KNL] Enable debug add-ons of cross-CPU function call
 827                        handling. When switched on, additional debug data is
 828                        printed to the console in case a hanging CPU is
 829                        detected, and that CPU is pinged again in order to try
 830                        to resolve the hang situation.
 831                        0: disable csdlock debugging (default)
 832                        1: enable basic csdlock debugging (minor impact)
 833                        ext: enable extended csdlock debugging (more impact,
 834                             but more data)
 835
 836        dasd=           [HW,NET]
 837                        See header of drivers/s390/block/dasd_devmap.c.
 838
 839        db9.dev[2|3]=   [HW,JOY] Multisystem joystick support via parallel port
 840                        (one device per port)
 841                        Format: <port#>,<type>
 842                        See also Documentation/input/devices/joystick-parport.rst
 843
 844        ddebug_query=   [KNL,DYNAMIC_DEBUG] Enable debug messages at early boot
 845                        time. See
 846                        Documentation/admin-guide/dynamic-debug-howto.rst for
 847                        details.  Deprecated, see dyndbg.
 848
 849        debug           [KNL] Enable kernel debugging (events log level).
 850
 851        debug_boot_weak_hash
 852                        [KNL] Enable printing [hashed] pointers early in the
 853                        boot sequence.  If enabled, we use a weak hash instead
 854                        of siphash to hash pointers.  Use this option if you are
 855                        seeing instances of '(___ptrval___)') and need to see a
 856                        value (hashed pointer) instead. Cryptographically
 857                        insecure, please do not use on production kernels.
 858
 859        debug_locks_verbose=
 860                        [KNL] verbose locking self-tests
 861                        Format: <int>
 862                        Print debugging info while doing the locking API
 863                        self-tests.
 864                        Bitmask for the various LOCKTYPE_ tests. Defaults to 0
 865                        (no extra messages), setting it to -1 (all bits set)
 866                        will print _a_lot_ more information - normally only
 867                        useful to lockdep developers.
 868
 869        debug_objects   [KNL] Enable object debugging
 870
 871        no_debug_objects
 872                        [KNL] Disable object debugging
 873
 874        debug_guardpage_minorder=
 875                        [KNL] When CONFIG_DEBUG_PAGEALLOC is set, this
 876                        parameter allows control of the order of pages that will
 877                        be intentionally kept free (and hence protected) by the
 878                        buddy allocator. Bigger value increase the probability
 879                        of catching random memory corruption, but reduce the
 880                        amount of memory for normal system use. The maximum
 881                        possible value is MAX_ORDER/2.  Setting this parameter
 882                        to 1 or 2 should be enough to identify most random
 883                        memory corruption problems caused by bugs in kernel or
 884                        driver code when a CPU writes to (or reads from) a
 885                        random memory location. Note that there exists a class
 886                        of memory corruptions problems caused by buggy H/W or
 887                        F/W or by drivers badly programing DMA (basically when
 888                        memory is written at bus level and the CPU MMU is
 889                        bypassed) which are not detectable by
 890                        CONFIG_DEBUG_PAGEALLOC, hence this option will not help
 891                        tracking down these problems.
 892
 893        debug_pagealloc=
 894                        [KNL] When CONFIG_DEBUG_PAGEALLOC is set, this parameter
 895                        enables the feature at boot time. By default, it is
 896                        disabled and the system will work mostly the same as a
 897                        kernel built without CONFIG_DEBUG_PAGEALLOC.
 898                        Note: to get most of debug_pagealloc error reports, it's
 899                        useful to also enable the page_owner functionality.
 900                        on: enable the feature
 901
 902        debugfs=        [KNL] This parameter enables what is exposed to userspace
 903                        and debugfs internal clients.
 904                        Format: { on, no-mount, off }
 905                        on:     All functions are enabled.
 906                        no-mount:
 907                                Filesystem is not registered but kernel clients can
 908                                access APIs and a crashkernel can be used to read
 909                                its content. There is nothing to mount.
 910                        off:    Filesystem is not registered and clients
 911                                get a -EPERM as result when trying to register files
 912                                or directories within debugfs.
 913                                This is equivalent of the runtime functionality if
 914                                debugfs was not enabled in the kernel at all.
 915                        Default value is set in build-time with a kernel configuration.
 916
 917        debugpat        [X86] Enable PAT debugging
 918
 919        decnet.addr=    [HW,NET]
 920                        Format: <area>[,<node>]
 921                        See also Documentation/networking/decnet.rst.
 922
 923        default_hugepagesz=
 924                        [HW] The size of the default HugeTLB page. This is
 925                        the size represented by the legacy /proc/ hugepages
 926                        APIs.  In addition, this is the default hugetlb size
 927                        used for shmget(), mmap() and mounting hugetlbfs
 928                        filesystems.  If not specified, defaults to the
 929                        architecture's default huge page size.  Huge page
 930                        sizes are architecture dependent.  See also
 931                        Documentation/admin-guide/mm/hugetlbpage.rst.
 932                        Format: size[KMG]
 933
 934        deferred_probe_timeout=
 935                        [KNL] Debugging option to set a timeout in seconds for
 936                        deferred probe to give up waiting on dependencies to
 937                        probe. Only specific dependencies (subsystems or
 938                        drivers) that have opted in will be ignored. A timeout of 0
 939                        will timeout at the end of initcalls. This option will also
 940                        dump out devices still on the deferred probe list after
 941                        retrying.
 942
 943        dfltcc=         [HW,S390]
 944                        Format: { on | off | def_only | inf_only | always }
 945                        on:       s390 zlib hardware support for compression on
 946                                  level 1 and decompression (default)
 947                        off:      No s390 zlib hardware support
 948                        def_only: s390 zlib hardware support for deflate
 949                                  only (compression on level 1)
 950                        inf_only: s390 zlib hardware support for inflate
 951                                  only (decompression)
 952                        always:   Same as 'on' but ignores the selected compression
 953                                  level always using hardware support (used for debugging)
 954
 955        dhash_entries=  [KNL]
 956                        Set number of hash buckets for dentry cache.
 957
 958        disable_1tb_segments [PPC]
 959                        Disables the use of 1TB hash page table segments. This
 960                        causes the kernel to fall back to 256MB segments which
 961                        can be useful when debugging issues that require an SLB
 962                        miss to occur.
 963
 964        stress_slb      [PPC]
 965                        Limits the number of kernel SLB entries, and flushes
 966                        them frequently to increase the rate of SLB faults
 967                        on kernel addresses.
 968
 969        disable=        [IPV6]
 970                        See Documentation/networking/ipv6.rst.
 971
 972        hardened_usercopy=
 973                        [KNL] Under CONFIG_HARDENED_USERCOPY, whether
 974                        hardening is enabled for this boot. Hardened
 975                        usercopy checking is used to protect the kernel
 976                        from reading or writing beyond known memory
 977                        allocation boundaries as a proactive defense
 978                        against bounds-checking flaws in the kernel's
 979                        copy_to_user()/copy_from_user() interface.
 980                on      Perform hardened usercopy checks (default).
 981                off     Disable hardened usercopy checks.
 982
 983        disable_radix   [PPC]
 984                        Disable RADIX MMU mode on POWER9
 985
 986        radix_hcall_invalidate=on  [PPC/PSERIES]
 987                        Disable RADIX GTSE feature and use hcall for TLB
 988                        invalidate.
 989
 990        disable_tlbie   [PPC]
 991                        Disable TLBIE instruction. Currently does not work
 992                        with KVM, with HASH MMU, or with coherent accelerators.
 993
 994        disable_cpu_apicid= [X86,APIC,SMP]
 995                        Format: <int>
 996                        The number of initial APIC ID for the
 997                        corresponding CPU to be disabled at boot,
 998                        mostly used for the kdump 2nd kernel to
 999                        disable BSP to wake up multiple CPUs without
1000                        causing system reset or hang due to sending
1001                        INIT from AP to BSP.
1002
1003        disable_ddw     [PPC/PSERIES]
1004                        Disable Dynamic DMA Window support. Use this
1005                        to workaround buggy firmware.
1006
1007        disable_ipv6=   [IPV6]
1008                        See Documentation/networking/ipv6.rst.
1009
1010        disable_mtrr_cleanup [X86]
1011                        The kernel tries to adjust MTRR layout from continuous
1012                        to discrete, to make X server driver able to add WB
1013                        entry later. This parameter disables that.
1014
1015        disable_mtrr_trim [X86, Intel and AMD only]
1016                        By default the kernel will trim any uncacheable
1017                        memory out of your available memory pool based on
1018                        MTRR settings.  This parameter disables that behavior,
1019                        possibly causing your machine to run very slowly.
1020
1021        disable_timer_pin_1 [X86]
1022                        Disable PIN 1 of APIC timer
1023                        Can be useful to work around chipset bugs.
1024
1025        dis_ucode_ldr   [X86] Disable the microcode loader.
1026
1027        dma_debug=off   If the kernel is compiled with DMA_API_DEBUG support,
1028                        this option disables the debugging code at boot.
1029
1030        dma_debug_entries=<number>
1031                        This option allows to tune the number of preallocated
1032                        entries for DMA-API debugging code. One entry is
1033                        required per DMA-API allocation. Use this if the
1034                        DMA-API debugging code disables itself because the
1035                        architectural default is too low.
1036
1037        dma_debug_driver=<driver_name>
1038                        With this option the DMA-API debugging driver
1039                        filter feature can be enabled at boot time. Just
1040                        pass the driver to filter for as the parameter.
1041                        The filter can be disabled or changed to another
1042                        driver later using sysfs.
1043
1044        driver_async_probe=  [KNL]
1045                        List of driver names to be probed asynchronously.
1046                        Format: <driver_name1>,<driver_name2>...
1047
1048        drm.edid_firmware=[<connector>:]<file>[,[<connector>:]<file>]
1049                        Broken monitors, graphic adapters, KVMs and EDIDless
1050                        panels may send no or incorrect EDID data sets.
1051                        This parameter allows to specify an EDID data sets
1052                        in the /lib/firmware directory that are used instead.
1053                        Generic built-in EDID data sets are used, if one of
1054                        edid/1024x768.bin, edid/1280x1024.bin,
1055                        edid/1680x1050.bin, or edid/1920x1080.bin is given
1056                        and no file with the same name exists. Details and
1057                        instructions how to build your own EDID data are
1058                        available in Documentation/admin-guide/edid.rst. An EDID
1059                        data set will only be used for a particular connector,
1060                        if its name and a colon are prepended to the EDID
1061                        name. Each connector may use a unique EDID data
1062                        set by separating the files with a comma.  An EDID
1063                        data set with no connector name will be used for
1064                        any connectors not explicitly specified.
1065
1066        dscc4.setup=    [NET]
1067
1068        dt_cpu_ftrs=    [PPC]
1069                        Format: {"off" | "known"}
1070                        Control how the dt_cpu_ftrs device-tree binding is
1071                        used for CPU feature discovery and setup (if it
1072                        exists).
1073                        off: Do not use it, fall back to legacy cpu table.
1074                        known: Do not pass through unknown features to guests
1075                        or userspace, only those that the kernel is aware of.
1076
1077        dump_apple_properties   [X86]
1078                        Dump name and content of EFI device properties on
1079                        x86 Macs.  Useful for driver authors to determine
1080                        what data is available or for reverse-engineering.
1081
1082        dyndbg[="val"]          [KNL,DYNAMIC_DEBUG]
1083        <module>.dyndbg[="val"]
1084                        Enable debug messages at boot time.  See
1085                        Documentation/admin-guide/dynamic-debug-howto.rst
1086                        for details.
1087
1088        nopku           [X86] Disable Memory Protection Keys CPU feature found
1089                        in some Intel CPUs.
1090
1091        <module>.async_probe [KNL]
1092                        Enable asynchronous probe on this module.
1093
1094        early_ioremap_debug [KNL]
1095                        Enable debug messages in early_ioremap support. This
1096                        is useful for tracking down temporary early mappings
1097                        which are not unmapped.
1098
1099        earlycon=       [KNL] Output early console device and options.
1100
1101                        When used with no options, the early console is
1102                        determined by stdout-path property in device tree's
1103                        chosen node or the ACPI SPCR table if supported by
1104                        the platform.
1105
1106                cdns,<addr>[,options]
1107                        Start an early, polled-mode console on a Cadence
1108                        (xuartps) serial port at the specified address. Only
1109                        supported option is baud rate. If baud rate is not
1110                        specified, the serial port must already be setup and
1111                        configured.
1112
1113                uart[8250],io,<addr>[,options]
1114                uart[8250],mmio,<addr>[,options]
1115                uart[8250],mmio32,<addr>[,options]
1116                uart[8250],mmio32be,<addr>[,options]
1117                uart[8250],0x<addr>[,options]
1118                        Start an early, polled-mode console on the 8250/16550
1119                        UART at the specified I/O port or MMIO address.
1120                        MMIO inter-register address stride is either 8-bit
1121                        (mmio) or 32-bit (mmio32 or mmio32be).
1122                        If none of [io|mmio|mmio32|mmio32be], <addr> is assumed
1123                        to be equivalent to 'mmio'. 'options' are specified
1124                        in the same format described for "console=ttyS<n>"; if
1125                        unspecified, the h/w is not initialized.
1126
1127                pl011,<addr>
1128                pl011,mmio32,<addr>
1129                        Start an early, polled-mode console on a pl011 serial
1130                        port at the specified address. The pl011 serial port
1131                        must already be setup and configured. Options are not
1132                        yet supported.  If 'mmio32' is specified, then only
1133                        the driver will use only 32-bit accessors to read/write
1134                        the device registers.
1135
1136                liteuart,<addr>
1137                        Start an early console on a litex serial port at the
1138                        specified address. The serial port must already be
1139                        setup and configured. Options are not yet supported.
1140
1141                meson,<addr>
1142                        Start an early, polled-mode console on a meson serial
1143                        port at the specified address. The serial port must
1144                        already be setup and configured. Options are not yet
1145                        supported.
1146
1147                msm_serial,<addr>
1148                        Start an early, polled-mode console on an msm serial
1149                        port at the specified address. The serial port
1150                        must already be setup and configured. Options are not
1151                        yet supported.
1152
1153                msm_serial_dm,<addr>
1154                        Start an early, polled-mode console on an msm serial
1155                        dm port at the specified address. The serial port
1156                        must already be setup and configured. Options are not
1157                        yet supported.
1158
1159                owl,<addr>
1160                        Start an early, polled-mode console on a serial port
1161                        of an Actions Semi SoC, such as S500 or S900, at the
1162                        specified address. The serial port must already be
1163                        setup and configured. Options are not yet supported.
1164
1165                rda,<addr>
1166                        Start an early, polled-mode console on a serial port
1167                        of an RDA Micro SoC, such as RDA8810PL, at the
1168                        specified address. The serial port must already be
1169                        setup and configured. Options are not yet supported.
1170
1171                sbi
1172                        Use RISC-V SBI (Supervisor Binary Interface) for early
1173                        console.
1174
1175                smh     Use ARM semihosting calls for early console.
1176
1177                s3c2410,<addr>
1178                s3c2412,<addr>
1179                s3c2440,<addr>
1180                s3c6400,<addr>
1181                s5pv210,<addr>
1182                exynos4210,<addr>
1183                        Use early console provided by serial driver available
1184                        on Samsung SoCs, requires selecting proper type and
1185                        a correct base address of the selected UART port. The
1186                        serial port must already be setup and configured.
1187                        Options are not yet supported.
1188
1189                lantiq,<addr>
1190                        Start an early, polled-mode console on a lantiq serial
1191                        (lqasc) port at the specified address. The serial port
1192                        must already be setup and configured. Options are not
1193                        yet supported.
1194
1195                lpuart,<addr>
1196                lpuart32,<addr>
1197                        Use early console provided by Freescale LP UART driver
1198                        found on Freescale Vybrid and QorIQ LS1021A processors.
1199                        A valid base address must be provided, and the serial
1200                        port must already be setup and configured.
1201
1202                ec_imx21,<addr>
1203                ec_imx6q,<addr>
1204                        Start an early, polled-mode, output-only console on the
1205                        Freescale i.MX UART at the specified address. The UART
1206                        must already be setup and configured.
1207
1208                ar3700_uart,<addr>
1209                        Start an early, polled-mode console on the
1210                        Armada 3700 serial port at the specified
1211                        address. The serial port must already be setup
1212                        and configured. Options are not yet supported.
1213
1214                qcom_geni,<addr>
1215                        Start an early, polled-mode console on a Qualcomm
1216                        Generic Interface (GENI) based serial port at the
1217                        specified address. The serial port must already be
1218                        setup and configured. Options are not yet supported.
1219
1220                efifb,[options]
1221                        Start an early, unaccelerated console on the EFI
1222                        memory mapped framebuffer (if available). On cache
1223                        coherent non-x86 systems that use system memory for
1224                        the framebuffer, pass the 'ram' option so that it is
1225                        mapped with the correct attributes.
1226
1227                linflex,<addr>
1228                        Use early console provided by Freescale LINFlexD UART
1229                        serial driver for NXP S32V234 SoCs. A valid base
1230                        address must be provided, and the serial port must
1231                        already be setup and configured.
1232
1233        earlyprintk=    [X86,SH,ARM,M68k,S390]
1234                        earlyprintk=vga
1235                        earlyprintk=sclp
1236                        earlyprintk=xen
1237                        earlyprintk=serial[,ttySn[,baudrate]]
1238                        earlyprintk=serial[,0x...[,baudrate]]
1239                        earlyprintk=ttySn[,baudrate]
1240                        earlyprintk=dbgp[debugController#]
1241                        earlyprintk=pciserial[,force],bus:device.function[,baudrate]
1242                        earlyprintk=xdbc[xhciController#]
1243
1244                        earlyprintk is useful when the kernel crashes before
1245                        the normal console is initialized. It is not enabled by
1246                        default because it has some cosmetic problems.
1247
1248                        Append ",keep" to not disable it when the real console
1249                        takes over.
1250
1251                        Only one of vga, efi, serial, or usb debug port can
1252                        be used at a time.
1253
1254                        Currently only ttyS0 and ttyS1 may be specified by
1255                        name.  Other I/O ports may be explicitly specified
1256                        on some architectures (x86 and arm at least) by
1257                        replacing ttySn with an I/O port address, like this:
1258                                earlyprintk=serial,0x1008,115200
1259                        You can find the port for a given device in
1260                        /proc/tty/driver/serial:
1261                                2: uart:ST16650V2 port:00001008 irq:18 ...
1262
1263                        Interaction with the standard serial driver is not
1264                        very good.
1265
1266                        The VGA and EFI output is eventually overwritten by
1267                        the real console.
1268
1269                        The xen option can only be used in Xen domains.
1270
1271                        The sclp output can only be used on s390.
1272
1273                        The optional "force" to "pciserial" enables use of a
1274                        PCI device even when its classcode is not of the
1275                        UART class.
1276
1277        edac_report=    [HW,EDAC] Control how to report EDAC event
1278                        Format: {"on" | "off" | "force"}
1279                        on: enable EDAC to report H/W event. May be overridden
1280                        by other higher priority error reporting module.
1281                        off: disable H/W event reporting through EDAC.
1282                        force: enforce the use of EDAC to report H/W event.
1283                        default: on.
1284
1285        ekgdboc=        [X86,KGDB] Allow early kernel console debugging
1286                        ekgdboc=kbd
1287
1288                        This is designed to be used in conjunction with
1289                        the boot argument: earlyprintk=vga
1290
1291                        This parameter works in place of the kgdboc parameter
1292                        but can only be used if the backing tty is available
1293                        very early in the boot process. For early debugging
1294                        via a serial port see kgdboc_earlycon instead.
1295
1296        edd=            [EDD]
1297                        Format: {"off" | "on" | "skip[mbr]"}
1298
1299        efi=            [EFI]
1300                        Format: { "debug", "disable_early_pci_dma",
1301                                  "nochunk", "noruntime", "nosoftreserve",
1302                                  "novamap", "no_disable_early_pci_dma" }
1303                        debug: enable misc debug output.
1304                        disable_early_pci_dma: disable the busmaster bit on all
1305                        PCI bridges while in the EFI boot stub.
1306                        nochunk: disable reading files in "chunks" in the EFI
1307                        boot stub, as chunking can cause problems with some
1308                        firmware implementations.
1309                        noruntime : disable EFI runtime services support
1310                        nosoftreserve: The EFI_MEMORY_SP (Specific Purpose)
1311                        attribute may cause the kernel to reserve the
1312                        memory range for a memory mapping driver to
1313                        claim. Specify efi=nosoftreserve to disable this
1314                        reservation and treat the memory by its base type
1315                        (i.e. EFI_CONVENTIONAL_MEMORY / "System RAM").
1316                        novamap: do not call SetVirtualAddressMap().
1317                        no_disable_early_pci_dma: Leave the busmaster bit set
1318                        on all PCI bridges while in the EFI boot stub
1319
1320        efi_no_storage_paranoia [EFI; X86]
1321                        Using this parameter you can use more than 50% of
1322                        your efi variable storage. Use this parameter only if
1323                        you are really sure that your UEFI does sane gc and
1324                        fulfills the spec otherwise your board may brick.
1325
1326        efi_fake_mem=   nn[KMG]@ss[KMG]:aa[,nn[KMG]@ss[KMG]:aa,..] [EFI; X86]
1327                        Add arbitrary attribute to specific memory range by
1328                        updating original EFI memory map.
1329                        Region of memory which aa attribute is added to is
1330                        from ss to ss+nn.
1331
1332                        If efi_fake_mem=2G@4G:0x10000,2G@0x10a0000000:0x10000
1333                        is specified, EFI_MEMORY_MORE_RELIABLE(0x10000)
1334                        attribute is added to range 0x100000000-0x180000000 and
1335                        0x10a0000000-0x1120000000.
1336
1337                        If efi_fake_mem=8G@9G:0x40000 is specified, the
1338                        EFI_MEMORY_SP(0x40000) attribute is added to
1339                        range 0x240000000-0x43fffffff.
1340
1341                        Using this parameter you can do debugging of EFI memmap
1342                        related features. For example, you can do debugging of
1343                        Address Range Mirroring feature even if your box
1344                        doesn't support it, or mark specific memory as
1345                        "soft reserved".
1346
1347        efivar_ssdt=    [EFI; X86] Name of an EFI variable that contains an SSDT
1348                        that is to be dynamically loaded by Linux. If there are
1349                        multiple variables with the same name but with different
1350                        vendor GUIDs, all of them will be loaded. See
1351                        Documentation/admin-guide/acpi/ssdt-overlays.rst for details.
1352
1353
1354        eisa_irq_edge=  [PARISC,HW]
1355                        See header of drivers/parisc/eisa.c.
1356
1357        elanfreq=       [X86-32]
1358                        See comment before function elanfreq_setup() in
1359                        arch/x86/kernel/cpu/cpufreq/elanfreq.c.
1360
1361        elfcorehdr=[size[KMG]@]offset[KMG] [IA64,PPC,SH,X86,S390]
1362                        Specifies physical address of start of kernel core
1363                        image elf header and optionally the size. Generally
1364                        kexec loader will pass this option to capture kernel.
1365                        See Documentation/admin-guide/kdump/kdump.rst for details.
1366
1367        enable_mtrr_cleanup [X86]
1368                        The kernel tries to adjust MTRR layout from continuous
1369                        to discrete, to make X server driver able to add WB
1370                        entry later. This parameter enables that.
1371
1372        enable_timer_pin_1 [X86]
1373                        Enable PIN 1 of APIC timer
1374                        Can be useful to work around chipset bugs
1375                        (in particular on some ATI chipsets).
1376                        The kernel tries to set a reasonable default.
1377
1378        enforcing       [SELINUX] Set initial enforcing status.
1379                        Format: {"0" | "1"}
1380                        See security/selinux/Kconfig help text.
1381                        0 -- permissive (log only, no denials).
1382                        1 -- enforcing (deny and log).
1383                        Default value is 0.
1384                        Value can be changed at runtime via
1385                        /sys/fs/selinux/enforce.
1386
1387        erst_disable    [ACPI]
1388                        Disable Error Record Serialization Table (ERST)
1389                        support.
1390
1391        ether=          [HW,NET] Ethernet cards parameters
1392                        This option is obsoleted by the "netdev=" option, which
1393                        has equivalent usage. See its documentation for details.
1394
1395        evm=            [EVM]
1396                        Format: { "fix" }
1397                        Permit 'security.evm' to be updated regardless of
1398                        current integrity status.
1399
1400        failslab=
1401        fail_usercopy=
1402        fail_page_alloc=
1403        fail_make_request=[KNL]
1404                        General fault injection mechanism.
1405                        Format: <interval>,<probability>,<space>,<times>
1406                        See also Documentation/fault-injection/.
1407
1408        fb_tunnels=     [NET]
1409                        Format: { initns | none }
1410                        See Documentation/admin-guide/sysctl/net.rst for
1411                        fb_tunnels_only_for_init_ns
1412
1413        floppy=         [HW]
1414                        See Documentation/admin-guide/blockdev/floppy.rst.
1415
1416        force_pal_cache_flush
1417                        [IA-64] Avoid check_sal_cache_flush which may hang on
1418                        buggy SAL_CACHE_FLUSH implementations. Using this
1419                        parameter will force ia64_sal_cache_flush to call
1420                        ia64_pal_cache_flush instead of SAL_CACHE_FLUSH.
1421
1422        forcepae        [X86-32]
1423                        Forcefully enable Physical Address Extension (PAE).
1424                        Many Pentium M systems disable PAE but may have a
1425                        functionally usable PAE implementation.
1426                        Warning: use of this parameter will taint the kernel
1427                        and may cause unknown problems.
1428
1429        ftrace=[tracer]
1430                        [FTRACE] will set and start the specified tracer
1431                        as early as possible in order to facilitate early
1432                        boot debugging.
1433
1434        ftrace_dump_on_oops[=orig_cpu]
1435                        [FTRACE] will dump the trace buffers on oops.
1436                        If no parameter is passed, ftrace will dump
1437                        buffers of all CPUs, but if you pass orig_cpu, it will
1438                        dump only the buffer of the CPU that triggered the
1439                        oops.
1440
1441        ftrace_filter=[function-list]
1442                        [FTRACE] Limit the functions traced by the function
1443                        tracer at boot up. function-list is a comma-separated
1444                        list of functions. This list can be changed at run
1445                        time by the set_ftrace_filter file in the debugfs
1446                        tracing directory.
1447
1448        ftrace_notrace=[function-list]
1449                        [FTRACE] Do not trace the functions specified in
1450                        function-list. This list can be changed at run time
1451                        by the set_ftrace_notrace file in the debugfs
1452                        tracing directory.
1453
1454        ftrace_graph_filter=[function-list]
1455                        [FTRACE] Limit the top level callers functions traced
1456                        by the function graph tracer at boot up.
1457                        function-list is a comma-separated list of functions
1458                        that can be changed at run time by the
1459                        set_graph_function file in the debugfs tracing directory.
1460
1461        ftrace_graph_notrace=[function-list]
1462                        [FTRACE] Do not trace from the functions specified in
1463                        function-list.  This list is a comma-separated list of
1464                        functions that can be changed at run time by the
1465                        set_graph_notrace file in the debugfs tracing directory.
1466
1467        ftrace_graph_max_depth=<uint>
1468                        [FTRACE] Used with the function graph tracer. This is
1469                        the max depth it will trace into a function. This value
1470                        can be changed at run time by the max_graph_depth file
1471                        in the tracefs tracing directory. default: 0 (no limit)
1472
1473        fw_devlink=     [KNL] Create device links between consumer and supplier
1474                        devices by scanning the firmware to infer the
1475                        consumer/supplier relationships. This feature is
1476                        especially useful when drivers are loaded as modules as
1477                        it ensures proper ordering of tasks like device probing
1478                        (suppliers first, then consumers), supplier boot state
1479                        clean up (only after all consumers have probed),
1480                        suspend/resume & runtime PM (consumers first, then
1481                        suppliers).
1482                        Format: { off | permissive | on | rpm }
1483                        off --  Don't create device links from firmware info.
1484                        permissive -- Create device links from firmware info
1485                                but use it only for ordering boot state clean
1486                                up (sync_state() calls).
1487                        on --   Create device links from firmware info and use it
1488                                to enforce probe and suspend/resume ordering.
1489                        rpm --  Like "on", but also use to order runtime PM.
1490
1491        fw_devlink.strict=<bool>
1492                        [KNL] Treat all inferred dependencies as mandatory
1493                        dependencies. This only applies for fw_devlink=on|rpm.
1494                        Format: <bool>
1495
1496        gamecon.map[2|3]=
1497                        [HW,JOY] Multisystem joystick and NES/SNES/PSX pad
1498                        support via parallel port (up to 5 devices per port)
1499                        Format: <port#>,<pad1>,<pad2>,<pad3>,<pad4>,<pad5>
1500                        See also Documentation/input/devices/joystick-parport.rst
1501
1502        gamma=          [HW,DRM]
1503
1504        gart_fix_e820=  [X86-64] disable the fix e820 for K8 GART
1505                        Format: off | on
1506                        default: on
1507
1508        gcov_persist=   [GCOV] When non-zero (default), profiling data for
1509                        kernel modules is saved and remains accessible via
1510                        debugfs, even when the module is unloaded/reloaded.
1511                        When zero, profiling data is discarded and associated
1512                        debugfs files are removed at module unload time.
1513
1514        goldfish        [X86] Enable the goldfish android emulator platform.
1515                        Don't use this when you are not running on the
1516                        android emulator
1517
1518        gpio-mockup.gpio_mockup_ranges
1519                        [HW] Sets the ranges of gpiochip of for this device.
1520                        Format: <start1>,<end1>,<start2>,<end2>...
1521        gpio-mockup.gpio_mockup_named_lines
1522                        [HW] Let the driver know GPIO lines should be named.
1523
1524        gpt             [EFI] Forces disk with valid GPT signature but
1525                        invalid Protective MBR to be treated as GPT. If the
1526                        primary GPT is corrupted, it enables the backup/alternate
1527                        GPT to be used instead.
1528
1529        grcan.enable0=  [HW] Configuration of physical interface 0. Determines
1530                        the "Enable 0" bit of the configuration register.
1531                        Format: 0 | 1
1532                        Default: 0
1533        grcan.enable1=  [HW] Configuration of physical interface 1. Determines
1534                        the "Enable 0" bit of the configuration register.
1535                        Format: 0 | 1
1536                        Default: 0
1537        grcan.select=   [HW] Select which physical interface to use.
1538                        Format: 0 | 1
1539                        Default: 0
1540        grcan.txsize=   [HW] Sets the size of the tx buffer.
1541                        Format: <unsigned int> such that (txsize & ~0x1fffc0) == 0.
1542                        Default: 1024
1543        grcan.rxsize=   [HW] Sets the size of the rx buffer.
1544                        Format: <unsigned int> such that (rxsize & ~0x1fffc0) == 0.
1545                        Default: 1024
1546
1547        hardlockup_all_cpu_backtrace=
1548                        [KNL] Should the hard-lockup detector generate
1549                        backtraces on all cpus.
1550                        Format: 0 | 1
1551
1552        hashdist=       [KNL,NUMA] Large hashes allocated during boot
1553                        are distributed across NUMA nodes.  Defaults on
1554                        for 64-bit NUMA, off otherwise.
1555                        Format: 0 | 1 (for off | on)
1556
1557        hcl=            [IA-64] SGI's Hardware Graph compatibility layer
1558
1559        hd=             [EIDE] (E)IDE hard drive subsystem geometry
1560                        Format: <cyl>,<head>,<sect>
1561
1562        hest_disable    [ACPI]
1563                        Disable Hardware Error Source Table (HEST) support;
1564                        corresponding firmware-first mode error processing
1565                        logic will be disabled.
1566
1567        highmem=nn[KMG] [KNL,BOOT] forces the highmem zone to have an exact
1568                        size of <nn>. This works even on boxes that have no
1569                        highmem otherwise. This also works to reduce highmem
1570                        size on bigger boxes.
1571
1572        highres=        [KNL] Enable/disable high resolution timer mode.
1573                        Valid parameters: "on", "off"
1574                        Default: "on"
1575
1576        hlt             [BUGS=ARM,SH]
1577
1578        hpet=           [X86-32,HPET] option to control HPET usage
1579                        Format: { enable (default) | disable | force |
1580                                verbose }
1581                        disable: disable HPET and use PIT instead
1582                        force: allow force enabled of undocumented chips (ICH4,
1583                                VIA, nVidia)
1584                        verbose: show contents of HPET registers during setup
1585
1586        hpet_mmap=      [X86, HPET_MMAP] Allow userspace to mmap HPET
1587                        registers.  Default set by CONFIG_HPET_MMAP_DEFAULT.
1588
1589        hugetlb_cma=    [HW,CMA] The size of a CMA area used for allocation
1590                        of gigantic hugepages.
1591                        Format: nn[KMGTPE]
1592
1593                        Reserve a CMA area of given size and allocate gigantic
1594                        hugepages using the CMA allocator. If enabled, the
1595                        boot-time allocation of gigantic hugepages is skipped.
1596
1597        hugepages=      [HW] Number of HugeTLB pages to allocate at boot.
1598                        If this follows hugepagesz (below), it specifies
1599                        the number of pages of hugepagesz to be allocated.
1600                        If this is the first HugeTLB parameter on the command
1601                        line, it specifies the number of pages to allocate for
1602                        the default huge page size.  See also
1603                        Documentation/admin-guide/mm/hugetlbpage.rst.
1604                        Format: <integer>
1605
1606        hugepagesz=
1607                        [HW] The size of the HugeTLB pages.  This is used in
1608                        conjunction with hugepages (above) to allocate huge
1609                        pages of a specific size at boot.  The pair
1610                        hugepagesz=X hugepages=Y can be specified once for
1611                        each supported huge page size. Huge page sizes are
1612                        architecture dependent.  See also
1613                        Documentation/admin-guide/mm/hugetlbpage.rst.
1614                        Format: size[KMG]
1615
1616        hugetlb_free_vmemmap=
1617                        [KNL] Reguires CONFIG_HUGETLB_PAGE_FREE_VMEMMAP
1618                        enabled.
1619                        Allows heavy hugetlb users to free up some more
1620                        memory (6 * PAGE_SIZE for each 2MB hugetlb page).
1621                        Format: { on | off (default) }
1622
1623                        on:  enable the feature
1624                        off: disable the feature
1625
1626                        Built with CONFIG_HUGETLB_PAGE_FREE_VMEMMAP_DEFAULT_ON=y,
1627                        the default is on.
1628
1629                        This is not compatible with memory_hotplug.memmap_on_memory.
1630                        If both parameters are enabled, hugetlb_free_vmemmap takes
1631                        precedence over memory_hotplug.memmap_on_memory.
1632
1633        hung_task_panic=
1634                        [KNL] Should the hung task detector generate panics.
1635                        Format: 0 | 1
1636
1637                        A value of 1 instructs the kernel to panic when a
1638                        hung task is detected. The default value is controlled
1639                        by the CONFIG_BOOTPARAM_HUNG_TASK_PANIC build-time
1640                        option. The value selected by this boot parameter can
1641                        be changed later by the kernel.hung_task_panic sysctl.
1642
1643        hvc_iucv=       [S390]  Number of z/VM IUCV hypervisor console (HVC)
1644                                terminal devices. Valid values: 0..8
1645        hvc_iucv_allow= [S390]  Comma-separated list of z/VM user IDs.
1646                                If specified, z/VM IUCV HVC accepts connections
1647                                from listed z/VM user IDs only.
1648
1649        hv_nopvspin     [X86,HYPER_V] Disables the paravirt spinlock optimizations
1650                                      which allow the hypervisor to 'idle' the
1651                                      guest on lock contention.
1652
1653        keep_bootcon    [KNL]
1654                        Do not unregister boot console at start. This is only
1655                        useful for debugging when something happens in the window
1656                        between unregistering the boot console and initializing
1657                        the real console.
1658
1659        i2c_bus=        [HW]    Override the default board specific I2C bus speed
1660                                or register an additional I2C bus that is not
1661                                registered from board initialization code.
1662                                Format:
1663                                <bus_id>,<clkrate>
1664
1665        i8042.debug     [HW] Toggle i8042 debug mode
1666        i8042.unmask_kbd_data
1667                        [HW] Enable printing of interrupt data from the KBD port
1668                             (disabled by default, and as a pre-condition
1669                             requires that i8042.debug=1 be enabled)
1670        i8042.direct    [HW] Put keyboard port into non-translated mode
1671        i8042.dumbkbd   [HW] Pretend that controller can only read data from
1672                             keyboard and cannot control its state
1673                             (Don't attempt to blink the leds)
1674        i8042.noaux     [HW] Don't check for auxiliary (== mouse) port
1675        i8042.nokbd     [HW] Don't check/create keyboard port
1676        i8042.noloop    [HW] Disable the AUX Loopback command while probing
1677                             for the AUX port
1678        i8042.nomux     [HW] Don't check presence of an active multiplexing
1679                             controller
1680        i8042.nopnp     [HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX
1681                             controllers
1682        i8042.notimeout [HW] Ignore timeout condition signalled by controller
1683        i8042.reset     [HW] Reset the controller during init, cleanup and
1684                             suspend-to-ram transitions, only during s2r
1685                             transitions, or never reset
1686                        Format: { 1 | Y | y | 0 | N | n }
1687                        1, Y, y: always reset controller
1688                        0, N, n: don't ever reset controller
1689                        Default: only on s2r transitions on x86; most other
1690                        architectures force reset to be always executed
1691        i8042.unlock    [HW] Unlock (ignore) the keylock
1692        i8042.kbdreset  [HW] Reset device connected to KBD port
1693
1694        i810=           [HW,DRM]
1695
1696        i8k.ignore_dmi  [HW] Continue probing hardware even if DMI data
1697                        indicates that the driver is running on unsupported
1698                        hardware.
1699        i8k.force       [HW] Activate i8k driver even if SMM BIOS signature
1700                        does not match list of supported models.
1701        i8k.power_status
1702                        [HW] Report power status in /proc/i8k
1703                        (disabled by default)
1704        i8k.restricted  [HW] Allow controlling fans only if SYS_ADMIN
1705                        capability is set.
1706
1707        i915.invert_brightness=
1708                        [DRM] Invert the sense of the variable that is used to
1709                        set the brightness of the panel backlight. Normally a
1710                        brightness value of 0 indicates backlight switched off,
1711                        and the maximum of the brightness value sets the backlight
1712                        to maximum brightness. If this parameter is set to 0
1713                        (default) and the machine requires it, or this parameter
1714                        is set to 1, a brightness value of 0 sets the backlight
1715                        to maximum brightness, and the maximum of the brightness
1716                        value switches the backlight off.
1717                        -1 -- never invert brightness
1718                         0 -- machine default
1719                         1 -- force brightness inversion
1720
1721        icn=            [HW,ISDN]
1722                        Format: <io>[,<membase>[,<icn_id>[,<icn_id2>]]]
1723
1724        ide-core.nodma= [HW] (E)IDE subsystem
1725                        Format: =0.0 to prevent dma on hda, =0.1 hdb =1.0 hdc
1726                        .vlb_clock .pci_clock .noflush .nohpa .noprobe .nowerr
1727                        .cdrom .chs .ignore_cable are additional options
1728                        See Documentation/ide/ide.rst.
1729
1730        ide-generic.probe-mask= [HW] (E)IDE subsystem
1731                        Format: <int>
1732                        Probe mask for legacy ISA IDE ports.  Depending on
1733                        platform up to 6 ports are supported, enabled by
1734                        setting corresponding bits in the mask to 1.  The
1735                        default value is 0x0, which has a special meaning.
1736                        On systems that have PCI, it triggers scanning the
1737                        PCI bus for the first and the second port, which
1738                        are then probed.  On systems without PCI the value
1739                        of 0x0 enables probing the two first ports as if it
1740                        was 0x3.
1741
1742        ide-pci-generic.all-generic-ide [HW] (E)IDE subsystem
1743                        Claim all unknown PCI IDE storage controllers.
1744
1745        idle=           [X86]
1746                        Format: idle=poll, idle=halt, idle=nomwait
1747                        Poll forces a polling idle loop that can slightly
1748                        improve the performance of waking up a idle CPU, but
1749                        will use a lot of power and make the system run hot.
1750                        Not recommended.
1751                        idle=halt: Halt is forced to be used for CPU idle.
1752                        In such case C2/C3 won't be used again.
1753                        idle=nomwait: Disable mwait for CPU C-states
1754
1755        idxd.sva=       [HW]
1756                        Format: <bool>
1757                        Allow force disabling of Shared Virtual Memory (SVA)
1758                        support for the idxd driver. By default it is set to
1759                        true (1).
1760
1761        idxd.tc_override= [HW]
1762                        Format: <bool>
1763                        Allow override of default traffic class configuration
1764                        for the device. By default it is set to false (0).
1765
1766        ieee754=        [MIPS] Select IEEE Std 754 conformance mode
1767                        Format: { strict | legacy | 2008 | relaxed }
1768                        Default: strict
1769
1770                        Choose which programs will be accepted for execution
1771                        based on the IEEE 754 NaN encoding(s) supported by
1772                        the FPU and the NaN encoding requested with the value
1773                        of an ELF file header flag individually set by each
1774                        binary.  Hardware implementations are permitted to
1775                        support either or both of the legacy and the 2008 NaN
1776                        encoding mode.
1777
1778                        Available settings are as follows:
1779                        strict  accept binaries that request a NaN encoding
1780                                supported by the FPU
1781                        legacy  only accept legacy-NaN binaries, if supported
1782                                by the FPU
1783                        2008    only accept 2008-NaN binaries, if supported
1784                                by the FPU
1785                        relaxed accept any binaries regardless of whether
1786                                supported by the FPU
1787
1788                        The FPU emulator is always able to support both NaN
1789                        encodings, so if no FPU hardware is present or it has
1790                        been disabled with 'nofpu', then the settings of
1791                        'legacy' and '2008' strap the emulator accordingly,
1792                        'relaxed' straps the emulator for both legacy-NaN and
1793                        2008-NaN, whereas 'strict' enables legacy-NaN only on
1794                        legacy processors and both NaN encodings on MIPS32 or
1795                        MIPS64 CPUs.
1796
1797                        The setting for ABS.fmt/NEG.fmt instruction execution
1798                        mode generally follows that for the NaN encoding,
1799                        except where unsupported by hardware.
1800
1801        ignore_loglevel [KNL]
1802                        Ignore loglevel setting - this will print /all/
1803                        kernel messages to the console. Useful for debugging.
1804                        We also add it as printk module parameter, so users
1805                        could change it dynamically, usually by
1806                        /sys/module/printk/parameters/ignore_loglevel.
1807
1808        ignore_rlimit_data
1809                        Ignore RLIMIT_DATA setting for data mappings,
1810                        print warning at first misuse.  Can be changed via
1811                        /sys/module/kernel/parameters/ignore_rlimit_data.
1812
1813        ihash_entries=  [KNL]
1814                        Set number of hash buckets for inode cache.
1815
1816        ima_appraise=   [IMA] appraise integrity measurements
1817                        Format: { "off" | "enforce" | "fix" | "log" }
1818                        default: "enforce"
1819
1820        ima_appraise_tcb [IMA] Deprecated.  Use ima_policy= instead.
1821                        The builtin appraise policy appraises all files
1822                        owned by uid=0.
1823
1824        ima_canonical_fmt [IMA]
1825                        Use the canonical format for the binary runtime
1826                        measurements, instead of host native format.
1827
1828        ima_hash=       [IMA]
1829                        Format: { md5 | sha1 | rmd160 | sha256 | sha384
1830                                   | sha512 | ... }
1831                        default: "sha1"
1832
1833                        The list of supported hash algorithms is defined
1834                        in crypto/hash_info.h.
1835
1836        ima_policy=     [IMA]
1837                        The builtin policies to load during IMA setup.
1838                        Format: "tcb | appraise_tcb | secure_boot |
1839                                 fail_securely | critical_data"
1840
1841                        The "tcb" policy measures all programs exec'd, files
1842                        mmap'd for exec, and all files opened with the read
1843                        mode bit set by either the effective uid (euid=0) or
1844                        uid=0.
1845
1846                        The "appraise_tcb" policy appraises the integrity of
1847                        all files owned by root.
1848
1849                        The "secure_boot" policy appraises the integrity
1850                        of files (eg. kexec kernel image, kernel modules,
1851                        firmware, policy, etc) based on file signatures.
1852
1853                        The "fail_securely" policy forces file signature
1854                        verification failure also on privileged mounted
1855                        filesystems with the SB_I_UNVERIFIABLE_SIGNATURE
1856                        flag.
1857
1858                        The "critical_data" policy measures kernel integrity
1859                        critical data.
1860
1861        ima_tcb         [IMA] Deprecated.  Use ima_policy= instead.
1862                        Load a policy which meets the needs of the Trusted
1863                        Computing Base.  This means IMA will measure all
1864                        programs exec'd, files mmap'd for exec, and all files
1865                        opened for read by uid=0.
1866
1867        ima_template=   [IMA]
1868                        Select one of defined IMA measurements template formats.
1869                        Formats: { "ima" | "ima-ng" | "ima-sig" }
1870                        Default: "ima-ng"
1871
1872        ima_template_fmt=
1873                        [IMA] Define a custom template format.
1874                        Format: { "field1|...|fieldN" }
1875
1876        ima.ahash_minsize= [IMA] Minimum file size for asynchronous hash usage
1877                        Format: <min_file_size>
1878                        Set the minimal file size for using asynchronous hash.
1879                        If left unspecified, ahash usage is disabled.
1880
1881                        ahash performance varies for different data sizes on
1882                        different crypto accelerators. This option can be used
1883                        to achieve the best performance for a particular HW.
1884
1885        ima.ahash_bufsize= [IMA] Asynchronous hash buffer size
1886                        Format: <bufsize>
1887                        Set hashing buffer size. Default: 4k.
1888
1889                        ahash performance varies for different chunk sizes on
1890                        different crypto accelerators. This option can be used
1891                        to achieve best performance for particular HW.
1892
1893        init=           [KNL]
1894                        Format: <full_path>
1895                        Run specified binary instead of /sbin/init as init
1896                        process.
1897
1898        initcall_debug  [KNL] Trace initcalls as they are executed.  Useful
1899                        for working out where the kernel is dying during
1900                        startup.
1901
1902        initcall_blacklist=  [KNL] Do not execute a comma-separated list of
1903                        initcall functions.  Useful for debugging built-in
1904                        modules and initcalls.
1905
1906        initramfs_async= [KNL]
1907                        Format: <bool>
1908                        Default: 1
1909                        This parameter controls whether the initramfs
1910                        image is unpacked asynchronously, concurrently
1911                        with devices being probed and
1912                        initialized. This should normally just work,
1913                        but as a debugging aid, one can get the
1914                        historical behaviour of the initramfs
1915                        unpacking being completed before device_ and
1916                        late_ initcalls.
1917
1918        initrd=         [BOOT] Specify the location of the initial ramdisk
1919
1920        initrdmem=      [KNL] Specify a physical address and size from which to
1921                        load the initrd. If an initrd is compiled in or
1922                        specified in the bootparams, it takes priority over this
1923                        setting.
1924                        Format: ss[KMG],nn[KMG]
1925                        Default is 0, 0
1926
1927        init_on_alloc=  [MM] Fill newly allocated pages and heap objects with
1928                        zeroes.
1929                        Format: 0 | 1
1930                        Default set by CONFIG_INIT_ON_ALLOC_DEFAULT_ON.
1931
1932        init_on_free=   [MM] Fill freed pages and heap objects with zeroes.
1933                        Format: 0 | 1
1934                        Default set by CONFIG_INIT_ON_FREE_DEFAULT_ON.
1935
1936        init_pkru=      [X86] Specify the default memory protection keys rights
1937                        register contents for all processes.  0x55555554 by
1938                        default (disallow access to all but pkey 0).  Can
1939                        override in debugfs after boot.
1940
1941        inport.irq=     [HW] Inport (ATI XL and Microsoft) busmouse driver
1942                        Format: <irq>
1943
1944        int_pln_enable  [X86] Enable power limit notification interrupt
1945
1946        integrity_audit=[IMA]
1947                        Format: { "0" | "1" }
1948                        0 -- basic integrity auditing messages. (Default)
1949                        1 -- additional integrity auditing messages.
1950
1951        intel_iommu=    [DMAR] Intel IOMMU driver (DMAR) option
1952                on
1953                        Enable intel iommu driver.
1954                off
1955                        Disable intel iommu driver.
1956                igfx_off [Default Off]
1957                        By default, gfx is mapped as normal device. If a gfx
1958                        device has a dedicated DMAR unit, the DMAR unit is
1959                        bypassed by not enabling DMAR with this option. In
1960                        this case, gfx device will use physical address for
1961                        DMA.
1962                strict [Default Off]
1963                        Deprecated, equivalent to iommu.strict=1.
1964                sp_off [Default Off]
1965                        By default, super page will be supported if Intel IOMMU
1966                        has the capability. With this option, super page will
1967                        not be supported.
1968                sm_on
1969                        Enable the Intel IOMMU scalable mode if the hardware
1970                        advertises that it has support for the scalable mode
1971                        translation.
1972                sm_off
1973                        Disallow use of the Intel IOMMU scalable mode.
1974                tboot_noforce [Default Off]
1975                        Do not force the Intel IOMMU enabled under tboot.
1976                        By default, tboot will force Intel IOMMU on, which
1977                        could harm performance of some high-throughput
1978                        devices like 40GBit network cards, even if identity
1979                        mapping is enabled.
1980                        Note that using this option lowers the security
1981                        provided by tboot because it makes the system
1982                        vulnerable to DMA attacks.
1983
1984        intel_idle.max_cstate=  [KNL,HW,ACPI,X86]
1985                        0       disables intel_idle and fall back on acpi_idle.
1986                        1 to 9  specify maximum depth of C-state.
1987
1988        intel_pstate=   [X86]
1989                        disable
1990                          Do not enable intel_pstate as the default
1991                          scaling driver for the supported processors
1992                        passive
1993                          Use intel_pstate as a scaling driver, but configure it
1994                          to work with generic cpufreq governors (instead of
1995                          enabling its internal governor).  This mode cannot be
1996                          used along with the hardware-managed P-states (HWP)
1997                          feature.
1998                        force
1999                          Enable intel_pstate on systems that prohibit it by default
2000                          in favor of acpi-cpufreq. Forcing the intel_pstate driver
2001                          instead of acpi-cpufreq may disable platform features, such
2002                          as thermal controls and power capping, that rely on ACPI
2003                          P-States information being indicated to OSPM and therefore
2004                          should be used with caution. This option does not work with
2005                          processors that aren't supported by the intel_pstate driver
2006                          or on platforms that use pcc-cpufreq instead of acpi-cpufreq.
2007                        no_hwp
2008                          Do not enable hardware P state control (HWP)
2009                          if available.
2010                        hwp_only
2011                          Only load intel_pstate on systems which support
2012                          hardware P state control (HWP) if available.
2013                        support_acpi_ppc
2014                          Enforce ACPI _PPC performance limits. If the Fixed ACPI
2015                          Description Table, specifies preferred power management
2016                          profile as "Enterprise Server" or "Performance Server",
2017                          then this feature is turned on by default.
2018                        per_cpu_perf_limits
2019                          Allow per-logical-CPU P-State performance control limits using
2020                          cpufreq sysfs interface
2021
2022        intremap=       [X86-64, Intel-IOMMU]
2023                        on      enable Interrupt Remapping (default)
2024                        off     disable Interrupt Remapping
2025                        nosid   disable Source ID checking
2026                        no_x2apic_optout
2027                                BIOS x2APIC opt-out request will be ignored
2028                        nopost  disable Interrupt Posting
2029
2030        iomem=          Disable strict checking of access to MMIO memory
2031                strict  regions from userspace.
2032                relaxed
2033
2034        iommu=          [X86]
2035                off
2036                force
2037                noforce
2038                biomerge
2039                panic
2040                nopanic
2041                merge
2042                nomerge
2043                soft
2044                pt              [X86]
2045                nopt            [X86]
2046                nobypass        [PPC/POWERNV]
2047                        Disable IOMMU bypass, using IOMMU for PCI devices.
2048
2049        iommu.forcedac= [ARM64, X86] Control IOVA allocation for PCI devices.
2050                        Format: { "0" | "1" }
2051                        0 - Try to allocate a 32-bit DMA address first, before
2052                          falling back to the full range if needed.
2053                        1 - Allocate directly from the full usable range,
2054                          forcing Dual Address Cycle for PCI cards supporting
2055                          greater than 32-bit addressing.
2056
2057        iommu.strict=   [ARM64, X86] Configure TLB invalidation behaviour
2058                        Format: { "0" | "1" }
2059                        0 - Lazy mode.
2060                          Request that DMA unmap operations use deferred
2061                          invalidation of hardware TLBs, for increased
2062                          throughput at the cost of reduced device isolation.
2063                          Will fall back to strict mode if not supported by
2064                          the relevant IOMMU driver.
2065                        1 - Strict mode.
2066                          DMA unmap operations invalidate IOMMU hardware TLBs
2067                          synchronously.
2068                        unset - Use value of CONFIG_IOMMU_DEFAULT_DMA_{LAZY,STRICT}.
2069                        Note: on x86, strict mode specified via one of the
2070                        legacy driver-specific options takes precedence.
2071
2072        iommu.passthrough=
2073                        [ARM64, X86] Configure DMA to bypass the IOMMU by default.
2074                        Format: { "0" | "1" }
2075                        0 - Use IOMMU translation for DMA.
2076                        1 - Bypass the IOMMU for DMA.
2077                        unset - Use value of CONFIG_IOMMU_DEFAULT_PASSTHROUGH.
2078
2079        io7=            [HW] IO7 for Marvel-based Alpha systems
2080                        See comment before marvel_specify_io7 in
2081                        arch/alpha/kernel/core_marvel.c.
2082
2083        io_delay=       [X86] I/O delay method
2084                0x80
2085                        Standard port 0x80 based delay
2086                0xed
2087                        Alternate port 0xed based delay (needed on some systems)
2088                udelay
2089                        Simple two microseconds delay
2090                none
2091                        No delay
2092
2093        ip=             [IP_PNP]
2094                        See Documentation/admin-guide/nfs/nfsroot.rst.
2095
2096        ipcmni_extend   [KNL] Extend the maximum number of unique System V
2097                        IPC identifiers from 32,768 to 16,777,216.
2098
2099        irqaffinity=    [SMP] Set the default irq affinity mask
2100                        The argument is a cpu list, as described above.
2101
2102        irqchip.gicv2_force_probe=
2103                        [ARM, ARM64]
2104                        Format: <bool>
2105                        Force the kernel to look for the second 4kB page
2106                        of a GICv2 controller even if the memory range
2107                        exposed by the device tree is too small.
2108
2109        irqchip.gicv3_nolpi=
2110                        [ARM, ARM64]
2111                        Force the kernel to ignore the availability of
2112                        LPIs (and by consequence ITSs). Intended for system
2113                        that use the kernel as a bootloader, and thus want
2114                        to let secondary kernels in charge of setting up
2115                        LPIs.
2116
2117        irqchip.gicv3_pseudo_nmi= [ARM64]
2118                        Enables support for pseudo-NMIs in the kernel. This
2119                        requires the kernel to be built with
2120                        CONFIG_ARM64_PSEUDO_NMI.
2121
2122        irqfixup        [HW]
2123                        When an interrupt is not handled search all handlers
2124                        for it. Intended to get systems with badly broken
2125                        firmware running.
2126
2127        irqpoll         [HW]
2128                        When an interrupt is not handled search all handlers
2129                        for it. Also check all handlers each timer
2130                        interrupt. Intended to get systems with badly broken
2131                        firmware running.
2132
2133        isapnp=         [ISAPNP]
2134                        Format: <RDP>,<reset>,<pci_scan>,<verbosity>
2135
2136        isolcpus=       [KNL,SMP,ISOL] Isolate a given set of CPUs from disturbance.
2137                        [Deprecated - use cpusets instead]
2138                        Format: [flag-list,]<cpu-list>
2139
2140                        Specify one or more CPUs to isolate from disturbances
2141                        specified in the flag list (default: domain):
2142
2143                        nohz
2144                          Disable the tick when a single task runs.
2145
2146                          A residual 1Hz tick is offloaded to workqueues, which you
2147                          need to affine to housekeeping through the global
2148                          workqueue's affinity configured via the
2149                          /sys/devices/virtual/workqueue/cpumask sysfs file, or
2150                          by using the 'domain' flag described below.
2151
2152                          NOTE: by default the global workqueue runs on all CPUs,
2153                          so to protect individual CPUs the 'cpumask' file has to
2154                          be configured manually after bootup.
2155
2156                        domain
2157                          Isolate from the general SMP balancing and scheduling
2158                          algorithms. Note that performing domain isolation this way
2159                          is irreversible: it's not possible to bring back a CPU to
2160                          the domains once isolated through isolcpus. It's strongly
2161                          advised to use cpusets instead to disable scheduler load
2162                          balancing through the "cpuset.sched_load_balance" file.
2163                          It offers a much more flexible interface where CPUs can
2164                          move in and out of an isolated set anytime.
2165
2166                          You can move a process onto or off an "isolated" CPU via
2167                          the CPU affinity syscalls or cpuset.
2168                          <cpu number> begins at 0 and the maximum value is
2169                          "number of CPUs in system - 1".
2170
2171                        managed_irq
2172
2173                          Isolate from being targeted by managed interrupts
2174                          which have an interrupt mask containing isolated
2175                          CPUs. The affinity of managed interrupts is
2176                          handled by the kernel and cannot be changed via
2177                          the /proc/irq/* interfaces.
2178
2179                          This isolation is best effort and only effective
2180                          if the automatically assigned interrupt mask of a
2181                          device queue contains isolated and housekeeping
2182                          CPUs. If housekeeping CPUs are online then such
2183                          interrupts are directed to the housekeeping CPU
2184                          so that IO submitted on the housekeeping CPU
2185                          cannot disturb the isolated CPU.
2186
2187                          If a queue's affinity mask contains only isolated
2188                          CPUs then this parameter has no effect on the
2189                          interrupt routing decision, though interrupts are
2190                          only delivered when tasks running on those
2191                          isolated CPUs submit IO. IO submitted on
2192                          housekeeping CPUs has no influence on those
2193                          queues.
2194
2195                        The format of <cpu-list> is described above.
2196
2197        iucv=           [HW,NET]
2198
2199        ivrs_ioapic     [HW,X86-64]
2200                        Provide an override to the IOAPIC-ID<->DEVICE-ID
2201                        mapping provided in the IVRS ACPI table. For
2202                        example, to map IOAPIC-ID decimal 10 to
2203                        PCI device 00:14.0 write the parameter as:
2204                                ivrs_ioapic[10]=00:14.0
2205
2206        ivrs_hpet       [HW,X86-64]
2207                        Provide an override to the HPET-ID<->DEVICE-ID
2208                        mapping provided in the IVRS ACPI table. For
2209                        example, to map HPET-ID decimal 0 to
2210                        PCI device 00:14.0 write the parameter as:
2211                                ivrs_hpet[0]=00:14.0
2212
2213        ivrs_acpihid    [HW,X86-64]
2214                        Provide an override to the ACPI-HID:UID<->DEVICE-ID
2215                        mapping provided in the IVRS ACPI table. For
2216                        example, to map UART-HID:UID AMD0020:0 to
2217                        PCI device 00:14.5 write the parameter as:
2218                                ivrs_acpihid[00:14.5]=AMD0020:0
2219
2220        js=             [HW,JOY] Analog joystick
2221                        See Documentation/input/joydev/joystick.rst.
2222
2223        nokaslr         [KNL]
2224                        When CONFIG_RANDOMIZE_BASE is set, this disables
2225                        kernel and module base offset ASLR (Address Space
2226                        Layout Randomization).
2227
2228        kasan_multi_shot
2229                        [KNL] Enforce KASAN (Kernel Address Sanitizer) to print
2230                        report on every invalid memory access. Without this
2231                        parameter KASAN will print report only for the first
2232                        invalid access.
2233
2234        keepinitrd      [HW,ARM]
2235
2236        kernelcore=     [KNL,X86,IA-64,PPC]
2237                        Format: nn[KMGTPE] | nn% | "mirror"
2238                        This parameter specifies the amount of memory usable by
2239                        the kernel for non-movable allocations.  The requested
2240                        amount is spread evenly throughout all nodes in the
2241                        system as ZONE_NORMAL.  The remaining memory is used for
2242                        movable memory in its own zone, ZONE_MOVABLE.  In the
2243                        event, a node is too small to have both ZONE_NORMAL and
2244                        ZONE_MOVABLE, kernelcore memory will take priority and
2245                        other nodes will have a larger ZONE_MOVABLE.
2246
2247                        ZONE_MOVABLE is used for the allocation of pages that
2248                        may be reclaimed or moved by the page migration
2249                        subsystem.  Note that allocations like PTEs-from-HighMem
2250                        still use the HighMem zone if it exists, and the Normal
2251                        zone if it does not.
2252
2253                        It is possible to specify the exact amount of memory in
2254                        the form of "nn[KMGTPE]", a percentage of total system
2255                        memory in the form of "nn%", or "mirror".  If "mirror"
2256                        option is specified, mirrored (reliable) memory is used
2257                        for non-movable allocations and remaining memory is used
2258                        for Movable pages.  "nn[KMGTPE]", "nn%", and "mirror"
2259                        are exclusive, so you cannot specify multiple forms.
2260
2261        kgdbdbgp=       [KGDB,HW] kgdb over EHCI usb debug port.
2262                        Format: <Controller#>[,poll interval]
2263                        The controller # is the number of the ehci usb debug
2264                        port as it is probed via PCI.  The poll interval is
2265                        optional and is the number seconds in between
2266                        each poll cycle to the debug port in case you need
2267                        the functionality for interrupting the kernel with
2268                        gdb or control-c on the dbgp connection.  When
2269                        not using this parameter you use sysrq-g to break into
2270                        the kernel debugger.
2271
2272        kgdboc=         [KGDB,HW] kgdb over consoles.
2273                        Requires a tty driver that supports console polling,
2274                        or a supported polling keyboard driver (non-usb).
2275                         Serial only format: <serial_device>[,baud]
2276                         keyboard only format: kbd
2277                         keyboard and serial format: kbd,<serial_device>[,baud]
2278                        Optional Kernel mode setting:
2279                         kms, kbd format: kms,kbd
2280                         kms, kbd and serial format: kms,kbd,<ser_dev>[,baud]
2281
2282        kgdboc_earlycon=        [KGDB,HW]
2283                        If the boot console provides the ability to read
2284                        characters and can work in polling mode, you can use
2285                        this parameter to tell kgdb to use it as a backend
2286                        until the normal console is registered. Intended to
2287                        be used together with the kgdboc parameter which
2288                        specifies the normal console to transition to.
2289
2290                        The name of the early console should be specified
2291                        as the value of this parameter. Note that the name of
2292                        the early console might be different than the tty
2293                        name passed to kgdboc. It's OK to leave the value
2294                        blank and the first boot console that implements
2295                        read() will be picked.
2296
2297        kgdbwait        [KGDB] Stop kernel execution and enter the
2298                        kernel debugger at the earliest opportunity.
2299
2300        kmac=           [MIPS] Korina ethernet MAC address.
2301                        Configure the RouterBoard 532 series on-chip
2302                        Ethernet adapter MAC address.
2303
2304        kmemleak=       [KNL] Boot-time kmemleak enable/disable
2305                        Valid arguments: on, off
2306                        Default: on
2307                        Built with CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y,
2308                        the default is off.
2309
2310        kprobe_event=[probe-list]
2311                        [FTRACE] Add kprobe events and enable at boot time.
2312                        The probe-list is a semicolon delimited list of probe
2313                        definitions. Each definition is same as kprobe_events
2314                        interface, but the parameters are comma delimited.
2315                        For example, to add a kprobe event on vfs_read with
2316                        arg1 and arg2, add to the command line;
2317
2318                              kprobe_event=p,vfs_read,$arg1,$arg2
2319
2320                        See also Documentation/trace/kprobetrace.rst "Kernel
2321                        Boot Parameter" section.
2322
2323        kpti=           [ARM64] Control page table isolation of user
2324                        and kernel address spaces.
2325                        Default: enabled on cores which need mitigation.
2326                        0: force disabled
2327                        1: force enabled
2328
2329        kvm.ignore_msrs=[KVM] Ignore guest accesses to unhandled MSRs.
2330                        Default is 0 (don't ignore, but inject #GP)
2331
2332        kvm.enable_vmware_backdoor=[KVM] Support VMware backdoor PV interface.
2333                                   Default is false (don't support).
2334
2335        kvm.mmu_audit=  [KVM] This is a R/W parameter which allows audit
2336                        KVM MMU at runtime.
2337                        Default is 0 (off)
2338
2339        kvm.nx_huge_pages=
2340                        [KVM] Controls the software workaround for the
2341                        X86_BUG_ITLB_MULTIHIT bug.
2342                        force   : Always deploy workaround.
2343                        off     : Never deploy workaround.
2344                        auto    : Deploy workaround based on the presence of
2345                                  X86_BUG_ITLB_MULTIHIT.
2346
2347                        Default is 'auto'.
2348
2349                        If the software workaround is enabled for the host,
2350                        guests do need not to enable it for nested guests.
2351
2352        kvm.nx_huge_pages_recovery_ratio=
2353                        [KVM] Controls how many 4KiB pages are periodically zapped
2354                        back to huge pages.  0 disables the recovery, otherwise if
2355                        the value is N KVM will zap 1/Nth of the 4KiB pages every
2356                        minute.  The default is 60.
2357
2358        kvm-amd.nested= [KVM,AMD] Allow nested virtualization in KVM/SVM.
2359                        Default is 1 (enabled)
2360
2361        kvm-amd.npt=    [KVM,AMD] Disable nested paging (virtualized MMU)
2362                        for all guests.
2363                        Default is 1 (enabled) if in 64-bit or 32-bit PAE mode.
2364
2365        kvm-arm.mode=
2366                        [KVM,ARM] Select one of KVM/arm64's modes of operation.
2367
2368                        nvhe: Standard nVHE-based mode, without support for
2369                              protected guests.
2370
2371                        protected: nVHE-based mode with support for guests whose
2372                                   state is kept private from the host.
2373                                   Not valid if the kernel is running in EL2.
2374
2375                        Defaults to VHE/nVHE based on hardware support.
2376
2377        kvm-arm.vgic_v3_group0_trap=
2378                        [KVM,ARM] Trap guest accesses to GICv3 group-0
2379                        system registers
2380
2381        kvm-arm.vgic_v3_group1_trap=
2382                        [KVM,ARM] Trap guest accesses to GICv3 group-1
2383                        system registers
2384
2385        kvm-arm.vgic_v3_common_trap=
2386                        [KVM,ARM] Trap guest accesses to GICv3 common
2387                        system registers
2388
2389        kvm-arm.vgic_v4_enable=
2390                        [KVM,ARM] Allow use of GICv4 for direct injection of
2391                        LPIs.
2392
2393        kvm_cma_resv_ratio=n [PPC]
2394                        Reserves given percentage from system memory area for
2395                        contiguous memory allocation for KVM hash pagetable
2396                        allocation.
2397                        By default it reserves 5% of total system memory.
2398                        Format: <integer>
2399                        Default: 5
2400
2401        kvm-intel.ept=  [KVM,Intel] Disable extended page tables
2402                        (virtualized MMU) support on capable Intel chips.
2403                        Default is 1 (enabled)
2404
2405        kvm-intel.emulate_invalid_guest_state=
2406                        [KVM,Intel] Enable emulation of invalid guest states
2407                        Default is 0 (disabled)
2408
2409        kvm-intel.flexpriority=
2410                        [KVM,Intel] Disable FlexPriority feature (TPR shadow).
2411                        Default is 1 (enabled)
2412
2413        kvm-intel.nested=
2414                        [KVM,Intel] Enable VMX nesting (nVMX).
2415                        Default is 0 (disabled)
2416
2417        kvm-intel.unrestricted_guest=
2418                        [KVM,Intel] Disable unrestricted guest feature
2419                        (virtualized real and unpaged mode) on capable
2420                        Intel chips. Default is 1 (enabled)
2421
2422        kvm-intel.vmentry_l1d_flush=[KVM,Intel] Mitigation for L1 Terminal Fault
2423                        CVE-2018-3620.
2424
2425                        Valid arguments: never, cond, always
2426
2427                        always: L1D cache flush on every VMENTER.
2428                        cond:   Flush L1D on VMENTER only when the code between
2429                                VMEXIT and VMENTER can leak host memory.
2430                        never:  Disables the mitigation
2431
2432                        Default is cond (do L1 cache flush in specific instances)
2433
2434        kvm-intel.vpid= [KVM,Intel] Disable Virtual Processor Identification
2435                        feature (tagged TLBs) on capable Intel chips.
2436                        Default is 1 (enabled)
2437
2438        l1d_flush=      [X86,INTEL]
2439                        Control mitigation for L1D based snooping vulnerability.
2440
2441                        Certain CPUs are vulnerable to an exploit against CPU
2442                        internal buffers which can forward information to a
2443                        disclosure gadget under certain conditions.
2444
2445                        In vulnerable processors, the speculatively
2446                        forwarded data can be used in a cache side channel
2447                        attack, to access data to which the attacker does
2448                        not have direct access.
2449
2450                        This parameter controls the mitigation. The
2451                        options are:
2452
2453                        on         - enable the interface for the mitigation
2454
2455        l1tf=           [X86] Control mitigation of the L1TF vulnerability on
2456                              affected CPUs
2457
2458                        The kernel PTE inversion protection is unconditionally
2459                        enabled and cannot be disabled.
2460
2461                        full
2462                                Provides all available mitigations for the
2463                                L1TF vulnerability. Disables SMT and
2464                                enables all mitigations in the
2465                                hypervisors, i.e. unconditional L1D flush.
2466
2467                                SMT control and L1D flush control via the
2468                                sysfs interface is still possible after
2469                                boot.  Hypervisors will issue a warning
2470                                when the first VM is started in a
2471                                potentially insecure configuration,
2472                                i.e. SMT enabled or L1D flush disabled.
2473
2474                        full,force
2475                                Same as 'full', but disables SMT and L1D
2476                                flush runtime control. Implies the
2477                                'nosmt=force' command line option.
2478                                (i.e. sysfs control of SMT is disabled.)
2479
2480                        flush
2481                                Leaves SMT enabled and enables the default
2482                                hypervisor mitigation, i.e. conditional
2483                                L1D flush.
2484
2485                                SMT control and L1D flush control via the
2486                                sysfs interface is still possible after
2487                                boot.  Hypervisors will issue a warning
2488                                when the first VM is started in a
2489                                potentially insecure configuration,
2490                                i.e. SMT enabled or L1D flush disabled.
2491
2492                        flush,nosmt
2493
2494                                Disables SMT and enables the default
2495                                hypervisor mitigation.
2496
2497                                SMT control and L1D flush control via the
2498                                sysfs interface is still possible after
2499                                boot.  Hypervisors will issue a warning
2500                                when the first VM is started in a
2501                                potentially insecure configuration,
2502                                i.e. SMT enabled or L1D flush disabled.
2503
2504                        flush,nowarn
2505                                Same as 'flush', but hypervisors will not
2506                                warn when a VM is started in a potentially
2507                                insecure configuration.
2508
2509                        off
2510                                Disables hypervisor mitigations and doesn't
2511                                emit any warnings.
2512                                It also drops the swap size and available
2513                                RAM limit restriction on both hypervisor and
2514                                bare metal.
2515
2516                        Default is 'flush'.
2517
2518                        For details see: Documentation/admin-guide/hw-vuln/l1tf.rst
2519
2520        l2cr=           [PPC]
2521
2522        l3cr=           [PPC]
2523
2524        lapic           [X86-32,APIC] Enable the local APIC even if BIOS
2525                        disabled it.
2526
2527        lapic=          [X86,APIC] Do not use TSC deadline
2528                        value for LAPIC timer one-shot implementation. Default
2529                        back to the programmable timer unit in the LAPIC.
2530                        Format: notscdeadline
2531
2532        lapic_timer_c2_ok       [X86,APIC] trust the local apic timer
2533                        in C2 power state.
2534
2535        libata.dma=     [LIBATA] DMA control
2536                        libata.dma=0      Disable all PATA and SATA DMA
2537                        libata.dma=1      PATA and SATA Disk DMA only
2538                        libata.dma=2      ATAPI (CDROM) DMA only
2539                        libata.dma=4      Compact Flash DMA only
2540                        Combinations also work, so libata.dma=3 enables DMA
2541                        for disks and CDROMs, but not CFs.
2542
2543        libata.ignore_hpa=      [LIBATA] Ignore HPA limit
2544                        libata.ignore_hpa=0       keep BIOS limits (default)
2545                        libata.ignore_hpa=1       ignore limits, using full disk
2546
2547        libata.noacpi   [LIBATA] Disables use of ACPI in libata suspend/resume
2548                        when set.
2549                        Format: <int>
2550
2551        libata.force=   [LIBATA] Force configurations.  The format is comma-
2552                        separated list of "[ID:]VAL" where ID is
2553                        PORT[.DEVICE].  PORT and DEVICE are decimal numbers
2554                        matching port, link or device.  Basically, it matches
2555                        the ATA ID string printed on console by libata.  If
2556                        the whole ID part is omitted, the last PORT and DEVICE
2557                        values are used.  If ID hasn't been specified yet, the
2558                        configuration applies to all ports, links and devices.
2559
2560                        If only DEVICE is omitted, the parameter applies to
2561                        the port and all links and devices behind it.  DEVICE
2562                        number of 0 either selects the first device or the
2563                        first fan-out link behind PMP device.  It does not
2564                        select the host link.  DEVICE number of 15 selects the
2565                        host link and device attached to it.
2566
2567                        The VAL specifies the configuration to force.  As long
2568                        as there's no ambiguity shortcut notation is allowed.
2569                        For example, both 1.5 and 1.5G would work for 1.5Gbps.
2570                        The following configurations can be forced.
2571
2572                        * Cable type: 40c, 80c, short40c, unk, ign or sata.
2573                          Any ID with matching PORT is used.
2574
2575                        * SATA link speed limit: 1.5Gbps or 3.0Gbps.
2576
2577                        * Transfer mode: pio[0-7], mwdma[0-4] and udma[0-7].
2578                          udma[/][16,25,33,44,66,100,133] notation is also
2579                          allowed.
2580
2581                        * [no]ncq: Turn on or off NCQ.
2582
2583                        * [no]ncqtrim: Turn off queued DSM TRIM.
2584
2585                        * nohrst, nosrst, norst: suppress hard, soft
2586                          and both resets.
2587
2588                        * rstonce: only attempt one reset during
2589                          hot-unplug link recovery
2590
2591                        * dump_id: dump IDENTIFY data.
2592
2593                        * atapi_dmadir: Enable ATAPI DMADIR bridge support
2594
2595                        * disable: Disable this device.
2596
2597                        If there are multiple matching configurations changing
2598                        the same attribute, the last one is used.
2599
2600        memblock=debug  [KNL] Enable memblock debug messages.
2601
2602        load_ramdisk=   [RAM] [Deprecated]
2603
2604        lockd.nlm_grace_period=P  [NFS] Assign grace period.
2605                        Format: <integer>
2606
2607        lockd.nlm_tcpport=N     [NFS] Assign TCP port.
2608                        Format: <integer>
2609
2610        lockd.nlm_timeout=T     [NFS] Assign timeout value.
2611                        Format: <integer>
2612
2613        lockd.nlm_udpport=M     [NFS] Assign UDP port.
2614                        Format: <integer>
2615
2616        lockdown=       [SECURITY]
2617                        { integrity | confidentiality }
2618                        Enable the kernel lockdown feature. If set to
2619                        integrity, kernel features that allow userland to
2620                        modify the running kernel are disabled. If set to
2621                        confidentiality, kernel features that allow userland
2622                        to extract confidential information from the kernel
2623                        are also disabled.
2624
2625        locktorture.nreaders_stress= [KNL]
2626                        Set the number of locking read-acquisition kthreads.
2627                        Defaults to being automatically set based on the
2628                        number of online CPUs.
2629
2630        locktorture.nwriters_stress= [KNL]
2631                        Set the number of locking write-acquisition kthreads.
2632
2633        locktorture.onoff_holdoff= [KNL]
2634                        Set time (s) after boot for CPU-hotplug testing.
2635
2636        locktorture.onoff_interval= [KNL]
2637                        Set time (s) between CPU-hotplug operations, or
2638                        zero to disable CPU-hotplug testing.
2639
2640        locktorture.shuffle_interval= [KNL]
2641                        Set task-shuffle interval (jiffies).  Shuffling
2642                        tasks allows some CPUs to go into dyntick-idle
2643                        mode during the locktorture test.
2644
2645        locktorture.shutdown_secs= [KNL]
2646                        Set time (s) after boot system shutdown.  This
2647                        is useful for hands-off automated testing.
2648
2649        locktorture.stat_interval= [KNL]
2650                        Time (s) between statistics printk()s.
2651
2652        locktorture.stutter= [KNL]
2653                        Time (s) to stutter testing, for example,
2654                        specifying five seconds causes the test to run for
2655                        five seconds, wait for five seconds, and so on.
2656                        This tests the locking primitive's ability to
2657                        transition abruptly to and from idle.
2658
2659        locktorture.torture_type= [KNL]
2660                        Specify the locking implementation to test.
2661
2662        locktorture.verbose= [KNL]
2663                        Enable additional printk() statements.
2664
2665        logibm.irq=     [HW,MOUSE] Logitech Bus Mouse Driver
2666                        Format: <irq>
2667
2668        loglevel=       All Kernel Messages with a loglevel smaller than the
2669                        console loglevel will be printed to the console. It can
2670                        also be changed with klogd or other programs. The
2671                        loglevels are defined as follows:
2672
2673                        0 (KERN_EMERG)          system is unusable
2674                        1 (KERN_ALERT)          action must be taken immediately
2675                        2 (KERN_CRIT)           critical conditions
2676                        3 (KERN_ERR)            error conditions
2677                        4 (KERN_WARNING)        warning conditions
2678                        5 (KERN_NOTICE)         normal but significant condition
2679                        6 (KERN_INFO)           informational
2680                        7 (KERN_DEBUG)          debug-level messages
2681
2682        log_buf_len=n[KMG]      Sets the size of the printk ring buffer,
2683                        in bytes.  n must be a power of two and greater
2684                        than the minimal size. The minimal size is defined
2685                        by LOG_BUF_SHIFT kernel config parameter. There is
2686                        also CONFIG_LOG_CPU_MAX_BUF_SHIFT config parameter
2687                        that allows to increase the default size depending on
2688                        the number of CPUs. See init/Kconfig for more details.
2689
2690        logo.nologo     [FB] Disables display of the built-in Linux logo.
2691                        This may be used to provide more screen space for
2692                        kernel log messages and is useful when debugging
2693                        kernel boot problems.
2694
2695        lp=0            [LP]    Specify parallel ports to use, e.g,
2696        lp=port[,port...]       lp=none,parport0 (lp0 not configured, lp1 uses
2697        lp=reset                first parallel port). 'lp=0' disables the
2698        lp=auto                 printer driver. 'lp=reset' (which can be
2699                                specified in addition to the ports) causes
2700                                attached printers to be reset. Using
2701                                lp=port1,port2,... specifies the parallel ports
2702                                to associate lp devices with, starting with
2703                                lp0. A port specification may be 'none' to skip
2704                                that lp device, or a parport name such as
2705                                'parport0'. Specifying 'lp=auto' instead of a
2706                                port specification list means that device IDs
2707                                from each port should be examined, to see if
2708                                an IEEE 1284-compliant printer is attached; if
2709                                so, the driver will manage that printer.
2710                                See also header of drivers/char/lp.c.
2711
2712        lpj=n           [KNL]
2713                        Sets loops_per_jiffy to given constant, thus avoiding
2714                        time-consuming boot-time autodetection (up to 250 ms per
2715                        CPU). 0 enables autodetection (default). To determine
2716                        the correct value for your kernel, boot with normal
2717                        autodetection and see what value is printed. Note that
2718                        on SMP systems the preset will be applied to all CPUs,
2719                        which is likely to cause problems if your CPUs need
2720                        significantly divergent settings. An incorrect value
2721                        will cause delays in the kernel to be wrong, leading to
2722                        unpredictable I/O errors and other breakage. Although
2723                        unlikely, in the extreme case this might damage your
2724                        hardware.
2725
2726        ltpc=           [NET]
2727                        Format: <io>,<irq>,<dma>
2728
2729        lsm.debug       [SECURITY] Enable LSM initialization debugging output.
2730
2731        lsm=lsm1,...,lsmN
2732                        [SECURITY] Choose order of LSM initialization. This
2733                        overrides CONFIG_LSM, and the "security=" parameter.
2734
2735        machvec=        [IA-64] Force the use of a particular machine-vector
2736                        (machvec) in a generic kernel.
2737                        Example: machvec=hpzx1
2738
2739        machtype=       [Loongson] Share the same kernel image file between
2740                        different yeeloong laptops.
2741                        Example: machtype=lemote-yeeloong-2f-7inch
2742
2743        max_addr=nn[KMG]        [KNL,BOOT,ia64] All physical memory greater
2744                        than or equal to this physical address is ignored.
2745
2746        maxcpus=        [SMP] Maximum number of processors that an SMP kernel
2747                        will bring up during bootup.  maxcpus=n : n >= 0 limits
2748                        the kernel to bring up 'n' processors. Surely after
2749                        bootup you can bring up the other plugged cpu by executing
2750                        "echo 1 > /sys/devices/system/cpu/cpuX/online". So maxcpus
2751                        only takes effect during system bootup.
2752                        While n=0 is a special case, it is equivalent to "nosmp",
2753                        which also disables the IO APIC.
2754
2755        max_loop=       [LOOP] The number of loop block devices that get
2756        (loop.max_loop) unconditionally pre-created at init time. The default
2757                        number is configured by BLK_DEV_LOOP_MIN_COUNT. Instead
2758                        of statically allocating a predefined number, loop
2759                        devices can be requested on-demand with the
2760                        /dev/loop-control interface.
2761
2762        mce             [X86-32] Machine Check Exception
2763
2764        mce=option      [X86-64] See Documentation/x86/x86_64/boot-options.rst
2765
2766        md=             [HW] RAID subsystems devices and level
2767                        See Documentation/admin-guide/md.rst.
2768
2769        mdacon=         [MDA]
2770                        Format: <first>,<last>
2771                        Specifies range of consoles to be captured by the MDA.
2772
2773        mds=            [X86,INTEL]
2774                        Control mitigation for the Micro-architectural Data
2775                        Sampling (MDS) vulnerability.
2776
2777                        Certain CPUs are vulnerable to an exploit against CPU
2778                        internal buffers which can forward information to a
2779                        disclosure gadget under certain conditions.
2780
2781                        In vulnerable processors, the speculatively
2782                        forwarded data can be used in a cache side channel
2783                        attack, to access data to which the attacker does
2784                        not have direct access.
2785
2786                        This parameter controls the MDS mitigation. The
2787                        options are:
2788
2789                        full       - Enable MDS mitigation on vulnerable CPUs
2790                        full,nosmt - Enable MDS mitigation and disable
2791                                     SMT on vulnerable CPUs
2792                        off        - Unconditionally disable MDS mitigation
2793
2794                        On TAA-affected machines, mds=off can be prevented by
2795                        an active TAA mitigation as both vulnerabilities are
2796                        mitigated with the same mechanism so in order to disable
2797                        this mitigation, you need to specify tsx_async_abort=off
2798                        too.
2799
2800                        Not specifying this option is equivalent to
2801                        mds=full.
2802
2803                        For details see: Documentation/admin-guide/hw-vuln/mds.rst
2804
2805        mem=nn[KMG]     [KNL,BOOT] Force usage of a specific amount of memory
2806                        Amount of memory to be used in cases as follows:
2807
2808                        1 for test;
2809                        2 when the kernel is not able to see the whole system memory;
2810                        3 memory that lies after 'mem=' boundary is excluded from
2811                         the hypervisor, then assigned to KVM guests.
2812
2813                        [X86] Work as limiting max address. Use together
2814                        with memmap= to avoid physical address space collisions.
2815                        Without memmap= PCI devices could be placed at addresses
2816                        belonging to unused RAM.
2817
2818                        Note that this only takes effects during boot time since
2819                        in above case 3, memory may need be hot added after boot
2820                        if system memory of hypervisor is not sufficient.
2821
2822        mem=nopentium   [BUGS=X86-32] Disable usage of 4MB pages for kernel
2823                        memory.
2824
2825        memchunk=nn[KMG]
2826                        [KNL,SH] Allow user to override the default size for
2827                        per-device physically contiguous DMA buffers.
2828
2829        memhp_default_state=online/offline
2830                        [KNL] Set the initial state for the memory hotplug
2831                        onlining policy. If not specified, the default value is
2832                        set according to the
2833                        CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE kernel config
2834                        option.
2835                        See Documentation/admin-guide/mm/memory-hotplug.rst.
2836
2837        memmap=exactmap [KNL,X86] Enable setting of an exact
2838                        E820 memory map, as specified by the user.
2839                        Such memmap=exactmap lines can be constructed based on
2840                        BIOS output or other requirements. See the memmap=nn@ss
2841                        option description.
2842
2843        memmap=nn[KMG]@ss[KMG]
2844                        [KNL, X86, MIPS, XTENSA] Force usage of a specific region of memory.
2845                        Region of memory to be used is from ss to ss+nn.
2846                        If @ss[KMG] is omitted, it is equivalent to mem=nn[KMG],
2847                        which limits max address to nn[KMG].
2848                        Multiple different regions can be specified,
2849                        comma delimited.
2850                        Example:
2851                                memmap=100M@2G,100M#3G,1G!1024G
2852
2853        memmap=nn[KMG]#ss[KMG]
2854                        [KNL,ACPI] Mark specific memory as ACPI data.
2855                        Region of memory to be marked is from ss to ss+nn.
2856
2857        memmap=nn[KMG]$ss[KMG]
2858                        [KNL,ACPI] Mark specific memory as reserved.
2859                        Region of memory to be reserved is from ss to ss+nn.
2860                        Example: Exclude memory from 0x18690000-0x1869ffff
2861                                 memmap=64K$0x18690000
2862                                 or
2863                                 memmap=0x10000$0x18690000
2864                        Some bootloaders may need an escape character before '$',
2865                        like Grub2, otherwise '$' and the following number
2866                        will be eaten.
2867
2868        memmap=nn[KMG]!ss[KMG]
2869                        [KNL,X86] Mark specific memory as protected.
2870                        Region of memory to be used, from ss to ss+nn.
2871                        The memory region may be marked as e820 type 12 (0xc)
2872                        and is NVDIMM or ADR memory.
2873
2874        memmap=<size>%<offset>-<oldtype>+<newtype>
2875                        [KNL,ACPI] Convert memory within the specified region
2876                        from <oldtype> to <newtype>. If "-<oldtype>" is left
2877                        out, the whole region will be marked as <newtype>,
2878                        even if previously unavailable. If "+<newtype>" is left
2879                        out, matching memory will be removed. Types are
2880                        specified as e820 types, e.g., 1 = RAM, 2 = reserved,
2881                        3 = ACPI, 12 = PRAM.
2882
2883        memory_corruption_check=0/1 [X86]
2884                        Some BIOSes seem to corrupt the first 64k of
2885                        memory when doing things like suspend/resume.
2886                        Setting this option will scan the memory
2887                        looking for corruption.  Enabling this will
2888                        both detect corruption and prevent the kernel
2889                        from using the memory being corrupted.
2890                        However, its intended as a diagnostic tool; if
2891                        repeatable BIOS-originated corruption always
2892                        affects the same memory, you can use memmap=
2893                        to prevent the kernel from using that memory.
2894
2895        memory_corruption_check_size=size [X86]
2896                        By default it checks for corruption in the low
2897                        64k, making this memory unavailable for normal
2898                        use.  Use this parameter to scan for
2899                        corruption in more or less memory.
2900
2901        memory_corruption_check_period=seconds [X86]
2902                        By default it checks for corruption every 60
2903                        seconds.  Use this parameter to check at some
2904                        other rate.  0 disables periodic checking.
2905
2906        memory_hotplug.memmap_on_memory
2907                        [KNL,X86,ARM] Boolean flag to enable this feature.
2908                        Format: {on | off (default)}
2909                        When enabled, runtime hotplugged memory will
2910                        allocate its internal metadata (struct pages)
2911                        from the hotadded memory which will allow to
2912                        hotadd a lot of memory without requiring
2913                        additional memory to do so.
2914                        This feature is disabled by default because it
2915                        has some implication on large (e.g. GB)
2916                        allocations in some configurations (e.g. small
2917                        memory blocks).
2918                        The state of the flag can be read in
2919                        /sys/module/memory_hotplug/parameters/memmap_on_memory.
2920                        Note that even when enabled, there are a few cases where
2921                        the feature is not effective.
2922
2923                        This is not compatible with hugetlb_free_vmemmap. If
2924                        both parameters are enabled, hugetlb_free_vmemmap takes
2925                        precedence over memory_hotplug.memmap_on_memory.
2926
2927        memtest=        [KNL,X86,ARM,PPC,RISCV] Enable memtest
2928                        Format: <integer>
2929                        default : 0 <disable>
2930                        Specifies the number of memtest passes to be
2931                        performed. Each pass selects another test
2932                        pattern from a given set of patterns. Memtest
2933                        fills the memory with this pattern, validates
2934                        memory contents and reserves bad memory
2935                        regions that are detected.
2936
2937        mem_encrypt=    [X86-64] AMD Secure Memory Encryption (SME) control
2938                        Valid arguments: on, off
2939                        Default (depends on kernel configuration option):
2940                          on  (CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT=y)
2941                          off (CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT=n)
2942                        mem_encrypt=on:         Activate SME
2943                        mem_encrypt=off:        Do not activate SME
2944
2945                        Refer to Documentation/virt/kvm/amd-memory-encryption.rst
2946                        for details on when memory encryption can be activated.
2947
2948        mem_sleep_default=      [SUSPEND] Default system suspend mode:
2949                        s2idle  - Suspend-To-Idle
2950                        shallow - Power-On Suspend or equivalent (if supported)
2951                        deep    - Suspend-To-RAM or equivalent (if supported)
2952                        See Documentation/admin-guide/pm/sleep-states.rst.
2953
2954        meye.*=         [HW] Set MotionEye Camera parameters
2955                        See Documentation/admin-guide/media/meye.rst.
2956
2957        mfgpt_irq=      [IA-32] Specify the IRQ to use for the
2958                        Multi-Function General Purpose Timers on AMD Geode
2959                        platforms.
2960
2961        mfgptfix        [X86-32] Fix MFGPT timers on AMD Geode platforms when
2962                        the BIOS has incorrectly applied a workaround. TinyBIOS
2963                        version 0.98 is known to be affected, 0.99 fixes the
2964                        problem by letting the user disable the workaround.
2965
2966        mga=            [HW,DRM]
2967
2968        min_addr=nn[KMG]        [KNL,BOOT,ia64] All physical memory below this
2969                        physical address is ignored.
2970
2971        mini2440=       [ARM,HW,KNL]
2972                        Format:[0..2][b][c][t]
2973                        Default: "0tb"
2974                        MINI2440 configuration specification:
2975                        0 - The attached screen is the 3.5" TFT
2976                        1 - The attached screen is the 7" TFT
2977                        2 - The VGA Shield is attached (1024x768)
2978                        Leaving out the screen size parameter will not load
2979                        the TFT driver, and the framebuffer will be left
2980                        unconfigured.
2981                        b - Enable backlight. The TFT backlight pin will be
2982                        linked to the kernel VESA blanking code and a GPIO
2983                        LED. This parameter is not necessary when using the
2984                        VGA shield.
2985                        c - Enable the s3c camera interface.
2986                        t - Reserved for enabling touchscreen support. The
2987                        touchscreen support is not enabled in the mainstream
2988                        kernel as of 2.6.30, a preliminary port can be found
2989                        in the "bleeding edge" mini2440 support kernel at
2990                        https://repo.or.cz/w/linux-2.6/mini2440.git
2991
2992        mitigations=
2993                        [X86,PPC,S390,ARM64] Control optional mitigations for
2994                        CPU vulnerabilities.  This is a set of curated,
2995                        arch-independent options, each of which is an
2996                        aggregation of existing arch-specific options.
2997
2998                        off
2999                                Disable all optional CPU mitigations.  This
3000                                improves system performance, but it may also
3001                                expose users to several CPU vulnerabilities.
3002                                Equivalent to: nopti [X86,PPC]
3003                                               kpti=0 [ARM64]
3004                                               nospectre_v1 [X86,PPC]
3005                                               nobp=0 [S390]
3006                                               nospectre_v2 [X86,PPC,S390,ARM64]
3007                                               spectre_v2_user=off [X86]
3008                                               spec_store_bypass_disable=off [X86,PPC]
3009                                               ssbd=force-off [ARM64]
3010                                               l1tf=off [X86]
3011                                               mds=off [X86]
3012                                               tsx_async_abort=off [X86]
3013                                               kvm.nx_huge_pages=off [X86]
3014                                               no_entry_flush [PPC]
3015                                               no_uaccess_flush [PPC]
3016
3017                                Exceptions:
3018                                               This does not have any effect on
3019                                               kvm.nx_huge_pages when
3020                                               kvm.nx_huge_pages=force.
3021
3022                        auto (default)
3023                                Mitigate all CPU vulnerabilities, but leave SMT
3024                                enabled, even if it's vulnerable.  This is for
3025                                users who don't want to be surprised by SMT
3026                                getting disabled across kernel upgrades, or who
3027                                have other ways of avoiding SMT-based attacks.
3028                                Equivalent to: (default behavior)
3029
3030                        auto,nosmt
3031                                Mitigate all CPU vulnerabilities, disabling SMT
3032                                if needed.  This is for users who always want to
3033                                be fully mitigated, even if it means losing SMT.
3034                                Equivalent to: l1tf=flush,nosmt [X86]
3035                                               mds=full,nosmt [X86]
3036                                               tsx_async_abort=full,nosmt [X86]
3037
3038        mminit_loglevel=
3039                        [KNL] When CONFIG_DEBUG_MEMORY_INIT is set, this
3040                        parameter allows control of the logging verbosity for
3041                        the additional memory initialisation checks. A value
3042                        of 0 disables mminit logging and a level of 4 will
3043                        log everything. Information is printed at KERN_DEBUG
3044                        so loglevel=8 may also need to be specified.
3045
3046        module.sig_enforce
3047                        [KNL] When CONFIG_MODULE_SIG is set, this means that
3048                        modules without (valid) signatures will fail to load.
3049                        Note that if CONFIG_MODULE_SIG_FORCE is set, that
3050                        is always true, so this option does nothing.
3051
3052        module_blacklist=  [KNL] Do not load a comma-separated list of
3053                        modules.  Useful for debugging problem modules.
3054
3055        mousedev.tap_time=
3056                        [MOUSE] Maximum time between finger touching and
3057                        leaving touchpad surface for touch to be considered
3058                        a tap and be reported as a left button click (for
3059                        touchpads working in absolute mode only).
3060                        Format: <msecs>
3061        mousedev.xres=  [MOUSE] Horizontal screen resolution, used for devices
3062                        reporting absolute coordinates, such as tablets
3063        mousedev.yres=  [MOUSE] Vertical screen resolution, used for devices
3064                        reporting absolute coordinates, such as tablets
3065
3066        movablecore=    [KNL,X86,IA-64,PPC]
3067                        Format: nn[KMGTPE] | nn%
3068                        This parameter is the complement to kernelcore=, it
3069                        specifies the amount of memory used for migratable
3070                        allocations.  If both kernelcore and movablecore is
3071                        specified, then kernelcore will be at *least* the
3072                        specified value but may be more.  If movablecore on its
3073                        own is specified, the administrator must be careful
3074                        that the amount of memory usable for all allocations
3075                        is not too small.
3076
3077        movable_node    [KNL] Boot-time switch to make hotplugable memory
3078                        NUMA nodes to be movable. This means that the memory
3079                        of such nodes will be usable only for movable
3080                        allocations which rules out almost all kernel
3081                        allocations. Use with caution!
3082
3083        MTD_Partition=  [MTD]
3084                        Format: <name>,<region-number>,<size>,<offset>
3085
3086        MTD_Region=     [MTD] Format:
3087                        <name>,<region-number>[,<base>,<size>,<buswidth>,<altbuswidth>]
3088
3089        mtdparts=       [MTD]
3090                        See drivers/mtd/parsers/cmdlinepart.c
3091
3092        multitce=off    [PPC]  This parameter disables the use of the pSeries
3093                        firmware feature for updating multiple TCE entries
3094                        at a time.
3095
3096        onenand.bdry=   [HW,MTD] Flex-OneNAND Boundary Configuration
3097
3098                        Format: [die0_boundary][,die0_lock][,die1_boundary][,die1_lock]
3099
3100                        boundary - index of last SLC block on Flex-OneNAND.
3101                                   The remaining blocks are configured as MLC blocks.
3102                        lock     - Configure if Flex-OneNAND boundary should be locked.
3103                                   Once locked, the boundary cannot be changed.
3104                                   1 indicates lock status, 0 indicates unlock status.
3105
3106        mtdset=         [ARM]
3107                        ARM/S3C2412 JIVE boot control
3108
3109                        See arch/arm/mach-s3c/mach-jive.c
3110
3111        mtouchusb.raw_coordinates=
3112                        [HW] Make the MicroTouch USB driver use raw coordinates
3113                        ('y', default) or cooked coordinates ('n')
3114
3115        mtrr_chunk_size=nn[KMG] [X86]
3116                        used for mtrr cleanup. It is largest continuous chunk
3117                        that could hold holes aka. UC entries.
3118
3119        mtrr_gran_size=nn[KMG] [X86]
3120                        Used for mtrr cleanup. It is granularity of mtrr block.
3121                        Default is 1.
3122                        Large value could prevent small alignment from
3123                        using up MTRRs.
3124
3125        mtrr_spare_reg_nr=n [X86]
3126                        Format: <integer>
3127                        Range: 0,7 : spare reg number
3128                        Default : 1
3129                        Used for mtrr cleanup. It is spare mtrr entries number.
3130                        Set to 2 or more if your graphical card needs more.
3131
3132        n2=             [NET] SDL Inc. RISCom/N2 synchronous serial card
3133
3134        netdev=         [NET] Network devices parameters
3135                        Format: <irq>,<io>,<mem_start>,<mem_end>,<name>
3136                        Note that mem_start is often overloaded to mean
3137                        something different and driver-specific.
3138                        This usage is only documented in each driver source
3139                        file if at all.
3140
3141        nf_conntrack.acct=
3142                        [NETFILTER] Enable connection tracking flow accounting
3143                        0 to disable accounting
3144                        1 to enable accounting
3145                        Default value is 0.
3146
3147        nfsaddrs=       [NFS] Deprecated.  Use ip= instead.
3148                        See Documentation/admin-guide/nfs/nfsroot.rst.
3149
3150        nfsroot=        [NFS] nfs root filesystem for disk-less boxes.
3151                        See Documentation/admin-guide/nfs/nfsroot.rst.
3152
3153        nfsrootdebug    [NFS] enable nfsroot debugging messages.
3154                        See Documentation/admin-guide/nfs/nfsroot.rst.
3155
3156        nfs.callback_nr_threads=
3157                        [NFSv4] set the total number of threads that the
3158                        NFS client will assign to service NFSv4 callback
3159                        requests.
3160
3161        nfs.callback_tcpport=
3162                        [NFS] set the TCP port on which the NFSv4 callback
3163                        channel should listen.
3164
3165        nfs.cache_getent=
3166                        [NFS] sets the pathname to the program which is used
3167                        to update the NFS client cache entries.
3168
3169        nfs.cache_getent_timeout=
3170                        [NFS] sets the timeout after which an attempt to
3171                        update a cache entry is deemed to have failed.
3172
3173        nfs.idmap_cache_timeout=
3174                        [NFS] set the maximum lifetime for idmapper cache
3175                        entries.
3176
3177        nfs.enable_ino64=
3178                        [NFS] enable 64-bit inode numbers.
3179                        If zero, the NFS client will fake up a 32-bit inode
3180                        number for the readdir() and stat() syscalls instead
3181                        of returning the full 64-bit number.
3182                        The default is to return 64-bit inode numbers.
3183
3184        nfs.max_session_cb_slots=
3185                        [NFSv4.1] Sets the maximum number of session
3186                        slots the client will assign to the callback
3187                        channel. This determines the maximum number of
3188                        callbacks the client will process in parallel for
3189                        a particular server.
3190
3191        nfs.max_session_slots=
3192                        [NFSv4.1] Sets the maximum number of session slots
3193                        the client will attempt to negotiate with the server.
3194                        This limits the number of simultaneous RPC requests
3195                        that the client can send to the NFSv4.1 server.
3196                        Note that there is little point in setting this
3197                        value higher than the max_tcp_slot_table_limit.
3198
3199        nfs.nfs4_disable_idmapping=
3200                        [NFSv4] When set to the default of '1', this option
3201                        ensures that both the RPC level authentication
3202                        scheme and the NFS level operations agree to use
3203                        numeric uids/gids if the mount is using the
3204                        'sec=sys' security flavour. In effect it is
3205                        disabling idmapping, which can make migration from
3206                        legacy NFSv2/v3 systems to NFSv4 easier.
3207                        Servers that do not support this mode of operation
3208                        will be autodetected by the client, and it will fall
3209                        back to using the idmapper.
3210                        To turn off this behaviour, set the value to '0'.
3211        nfs.nfs4_unique_id=
3212                        [NFS4] Specify an additional fixed unique ident-
3213                        ification string that NFSv4 clients can insert into
3214                        their nfs_client_id4 string.  This is typically a
3215                        UUID that is generated at system install time.
3216
3217        nfs.send_implementation_id =
3218                        [NFSv4.1] Send client implementation identification
3219                        information in exchange_id requests.
3220                        If zero, no implementation identification information
3221                        will be sent.
3222                        The default is to send the implementation identification
3223                        information.
3224
3225        nfs.recover_lost_locks =
3226                        [NFSv4] Attempt to recover locks that were lost due
3227                        to a lease timeout on the server. Please note that
3228                        doing this risks data corruption, since there are
3229                        no guarantees that the file will remain unchanged
3230                        after the locks are lost.
3231                        If you want to enable the kernel legacy behaviour of
3232                        attempting to recover these locks, then set this
3233                        parameter to '1'.
3234                        The default parameter value of '0' causes the kernel
3235                        not to attempt recovery of lost locks.
3236
3237        nfs4.layoutstats_timer =
3238                        [NFSv4.2] Change the rate at which the kernel sends
3239                        layoutstats to the pNFS metadata server.
3240
3241                        Setting this to value to 0 causes the kernel to use
3242                        whatever value is the default set by the layout
3243                        driver. A non-zero value sets the minimum interval
3244                        in seconds between layoutstats transmissions.
3245
3246        nfsd.nfs4_disable_idmapping=
3247                        [NFSv4] When set to the default of '1', the NFSv4
3248                        server will return only numeric uids and gids to
3249                        clients using auth_sys, and will accept numeric uids
3250                        and gids from such clients.  This is intended to ease
3251                        migration from NFSv2/v3.
3252
3253        nmi_backtrace.backtrace_idle [KNL]
3254                        Dump stacks even of idle CPUs in response to an
3255                        NMI stack-backtrace request.
3256
3257        nmi_debug=      [KNL,SH] Specify one or more actions to take
3258                        when a NMI is triggered.
3259                        Format: [state][,regs][,debounce][,die]
3260
3261        nmi_watchdog=   [KNL,BUGS=X86] Debugging features for SMP kernels
3262                        Format: [panic,][nopanic,][num]
3263                        Valid num: 0 or 1
3264                        0 - turn hardlockup detector in nmi_watchdog off
3265                        1 - turn hardlockup detector in nmi_watchdog on
3266                        When panic is specified, panic when an NMI watchdog
3267                        timeout occurs (or 'nopanic' to not panic on an NMI
3268                        watchdog, if CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is set)
3269                        To disable both hard and soft lockup detectors,
3270                        please see 'nowatchdog'.
3271                        This is useful when you use a panic=... timeout and
3272                        need the box quickly up again.
3273
3274                        These settings can be accessed at runtime via
3275                        the nmi_watchdog and hardlockup_panic sysctls.
3276
3277        netpoll.carrier_timeout=
3278                        [NET] Specifies amount of time (in seconds) that
3279                        netpoll should wait for a carrier. By default netpoll
3280                        waits 4 seconds.
3281
3282        no387           [BUGS=X86-32] Tells the kernel to use the 387 maths
3283                        emulation library even if a 387 maths coprocessor
3284                        is present.
3285
3286        no5lvl          [X86-64] Disable 5-level paging mode. Forces
3287                        kernel to use 4-level paging instead.
3288
3289        nofsgsbase      [X86] Disables FSGSBASE instructions.
3290
3291        no_console_suspend
3292                        [HW] Never suspend the console
3293                        Disable suspending of consoles during suspend and
3294                        hibernate operations.  Once disabled, debugging
3295                        messages can reach various consoles while the rest
3296                        of the system is being put to sleep (ie, while
3297                        debugging driver suspend/resume hooks).  This may
3298                        not work reliably with all consoles, but is known
3299                        to work with serial and VGA consoles.
3300                        To facilitate more flexible debugging, we also add
3301                        console_suspend, a printk module parameter to control
3302                        it. Users could use console_suspend (usually
3303                        /sys/module/printk/parameters/console_suspend) to
3304                        turn on/off it dynamically.
3305
3306        novmcoredd      [KNL,KDUMP]
3307                        Disable device dump. Device dump allows drivers to
3308                        append dump data to vmcore so you can collect driver
3309                        specified debug info.  Drivers can append the data
3310                        without any limit and this data is stored in memory,
3311                        so this may cause significant memory stress.  Disabling
3312                        device dump can help save memory but the driver debug
3313                        data will be no longer available.  This parameter
3314                        is only available when CONFIG_PROC_VMCORE_DEVICE_DUMP
3315                        is set.
3316
3317        noaliencache    [MM, NUMA, SLAB] Disables the allocation of alien
3318                        caches in the slab allocator.  Saves per-node memory,
3319                        but will impact performance.
3320
3321        noalign         [KNL,ARM]
3322
3323        noaltinstr      [S390] Disables alternative instructions patching
3324                        (CPU alternatives feature).
3325
3326        noapic          [SMP,APIC] Tells the kernel to not make use of any
3327                        IOAPICs that may be present in the system.
3328
3329        noautogroup     Disable scheduler automatic task group creation.
3330
3331        nobats          [PPC] Do not use BATs for mapping kernel lowmem
3332                        on "Classic" PPC cores.
3333
3334        nocache         [ARM]
3335
3336        noclflush       [BUGS=X86] Don't use the CLFLUSH instruction
3337
3338        delayacct       [KNL] Enable per-task delay accounting
3339
3340        nodsp           [SH] Disable hardware DSP at boot time.
3341
3342        noefi           Disable EFI runtime services support.
3343
3344        no_entry_flush  [PPC] Don't flush the L1-D cache when entering the kernel.
3345
3346        noexec          [IA-64]
3347
3348        noexec          [X86]
3349                        On X86-32 available only on PAE configured kernels.
3350                        noexec=on: enable non-executable mappings (default)
3351                        noexec=off: disable non-executable mappings
3352
3353        nosmap          [X86,PPC]
3354                        Disable SMAP (Supervisor Mode Access Prevention)
3355                        even if it is supported by processor.
3356
3357        nosmep          [X86,PPC]
3358                        Disable SMEP (Supervisor Mode Execution Prevention)
3359                        even if it is supported by processor.
3360
3361        noexec32        [X86-64]
3362                        This affects only 32-bit executables.
3363                        noexec32=on: enable non-executable mappings (default)
3364                                read doesn't imply executable mappings
3365                        noexec32=off: disable non-executable mappings
3366                                read implies executable mappings
3367
3368        nofpu           [MIPS,SH] Disable hardware FPU at boot time.
3369
3370        nofxsr          [BUGS=X86-32] Disables x86 floating point extended
3371                        register save and restore. The kernel will only save
3372                        legacy floating-point registers on task switch.
3373
3374        nohugeiomap     [KNL,X86,PPC,ARM64] Disable kernel huge I/O mappings.
3375
3376        nohugevmalloc   [PPC] Disable kernel huge vmalloc mappings.
3377
3378        nosmt           [KNL,S390] Disable symmetric multithreading (SMT).
3379                        Equivalent to smt=1.
3380
3381                        [KNL,X86] Disable symmetric multithreading (SMT).
3382                        nosmt=force: Force disable SMT, cannot be undone
3383                                     via the sysfs control file.
3384
3385        nospectre_v1    [X86,PPC] Disable mitigations for Spectre Variant 1
3386                        (bounds check bypass). With this option data leaks are
3387                        possible in the system.
3388
3389        nospectre_v2    [X86,PPC_FSL_BOOK3E,ARM64] Disable all mitigations for
3390                        the Spectre variant 2 (indirect branch prediction)
3391                        vulnerability. System may allow data leaks with this
3392                        option.
3393
3394        nospec_store_bypass_disable
3395                        [HW] Disable all mitigations for the Speculative Store Bypass vulnerability
3396
3397        no_uaccess_flush
3398                        [PPC] Don't flush the L1-D cache after accessing user data.
3399
3400        noxsave         [BUGS=X86] Disables x86 extended register state save
3401                        and restore using xsave. The kernel will fallback to
3402                        enabling legacy floating-point and sse state.
3403
3404        noxsaveopt      [X86] Disables xsaveopt used in saving x86 extended
3405                        register states. The kernel will fall back to use
3406                        xsave to save the states. By using this parameter,
3407                        performance of saving the states is degraded because
3408                        xsave doesn't support modified optimization while
3409                        xsaveopt supports it on xsaveopt enabled systems.
3410
3411        noxsaves        [X86] Disables xsaves and xrstors used in saving and
3412                        restoring x86 extended register state in compacted
3413                        form of xsave area. The kernel will fall back to use
3414                        xsaveopt and xrstor to save and restore the states
3415                        in standard form of xsave area. By using this
3416                        parameter, xsave area per process might occupy more
3417                        memory on xsaves enabled systems.
3418
3419        nohlt           [ARM,ARM64,MICROBLAZE,SH] Forces the kernel to busy wait
3420                        in do_idle() and not use the arch_cpu_idle()
3421                        implementation; requires CONFIG_GENERIC_IDLE_POLL_SETUP
3422                        to be effective. This is useful on platforms where the
3423                        sleep(SH) or wfi(ARM,ARM64) instructions do not work
3424                        correctly or when doing power measurements to evalute
3425                        the impact of the sleep instructions. This is also
3426                        useful when using JTAG debugger.
3427
3428        no_file_caps    Tells the kernel not to honor file capabilities.  The
3429                        only way then for a file to be executed with privilege
3430                        is to be setuid root or executed by root.
3431
3432        nohalt          [IA-64] Tells the kernel not to use the power saving
3433                        function PAL_HALT_LIGHT when idle. This increases
3434                        power-consumption. On the positive side, it reduces
3435                        interrupt wake-up latency, which may improve performance
3436                        in certain environments such as networked servers or
3437                        real-time systems.
3438
3439        no_hash_pointers
3440                        Force pointers printed to the console or buffers to be
3441                        unhashed.  By default, when a pointer is printed via %p
3442                        format string, that pointer is "hashed", i.e. obscured
3443                        by hashing the pointer value.  This is a security feature
3444                        that hides actual kernel addresses from unprivileged
3445                        users, but it also makes debugging the kernel more
3446                        difficult since unequal pointers can no longer be
3447                        compared.  However, if this command-line option is
3448                        specified, then all normal pointers will have their true
3449                        value printed.  Pointers printed via %pK may still be
3450                        hashed.  This option should only be specified when
3451                        debugging the kernel.  Please do not use on production
3452                        kernels.
3453
3454        nohibernate     [HIBERNATION] Disable hibernation and resume.
3455
3456        nohz=           [KNL] Boottime enable/disable dynamic ticks
3457                        Valid arguments: on, off
3458                        Default: on
3459
3460        nohz_full=      [KNL,BOOT,SMP,ISOL]
3461                        The argument is a cpu list, as described above.
3462                        In kernels built with CONFIG_NO_HZ_FULL=y, set
3463                        the specified list of CPUs whose tick will be stopped
3464                        whenever possible. The boot CPU will be forced outside
3465                        the range to maintain the timekeeping.  Any CPUs
3466                        in this list will have their RCU callbacks offloaded,
3467                        just as if they had also been called out in the
3468                        rcu_nocbs= boot parameter.
3469
3470        noiotrap        [SH] Disables trapped I/O port accesses.
3471
3472        noirqdebug      [X86-32] Disables the code which attempts to detect and
3473                        disable unhandled interrupt sources.
3474
3475        no_timer_check  [X86,APIC] Disables the code which tests for
3476                        broken timer IRQ sources.
3477
3478        noisapnp        [ISAPNP] Disables ISA PnP code.
3479
3480        noinitrd        [RAM] Tells the kernel not to load any configured
3481                        initial RAM disk.
3482
3483        nointremap      [X86-64, Intel-IOMMU] Do not enable interrupt
3484                        remapping.
3485                        [Deprecated - use intremap=off]
3486
3487        nointroute      [IA-64]
3488
3489        noinvpcid       [X86] Disable the INVPCID cpu feature.
3490
3491        nojitter        [IA-64] Disables jitter checking for ITC timers.
3492
3493        no-kvmclock     [X86,KVM] Disable paravirtualized KVM clock driver
3494
3495        no-kvmapf       [X86,KVM] Disable paravirtualized asynchronous page
3496                        fault handling.
3497
3498        no-vmw-sched-clock
3499                        [X86,PV_OPS] Disable paravirtualized VMware scheduler
3500                        clock and use the default one.
3501
3502        no-steal-acc    [X86,PV_OPS,ARM64] Disable paravirtualized steal time
3503                        accounting. steal time is computed, but won't
3504                        influence scheduler behaviour
3505
3506        nolapic         [X86-32,APIC] Do not enable or use the local APIC.
3507
3508        nolapic_timer   [X86-32,APIC] Do not use the local APIC timer.
3509
3510        noltlbs         [PPC] Do not use large page/tlb entries for kernel
3511                        lowmem mapping on PPC40x and PPC8xx
3512
3513        nomca           [IA-64] Disable machine check abort handling
3514
3515        nomce           [X86-32] Disable Machine Check Exception
3516
3517        nomfgpt         [X86-32] Disable Multi-Function General Purpose
3518                        Timer usage (for AMD Geode machines).
3519
3520        nonmi_ipi       [X86] Disable using NMI IPIs during panic/reboot to
3521                        shutdown the other cpus.  Instead use the REBOOT_VECTOR
3522                        irq.
3523
3524        nomodule        Disable module load
3525
3526        nopat           [X86] Disable PAT (page attribute table extension of
3527                        pagetables) support.
3528
3529        nopcid          [X86-64] Disable the PCID cpu feature.
3530
3531        norandmaps      Don't use address space randomization.  Equivalent to
3532                        echo 0 > /proc/sys/kernel/randomize_va_space
3533
3534        noreplace-smp   [X86-32,SMP] Don't replace SMP instructions
3535                        with UP alternatives
3536
3537        nordrand        [X86] Disable kernel use of the RDRAND and
3538                        RDSEED instructions even if they are supported
3539                        by the processor.  RDRAND and RDSEED are still
3540                        available to user space applications.
3541
3542        noresume        [SWSUSP] Disables resume and restores original swap
3543                        space.
3544
3545        no-scroll       [VGA] Disables scrollback.
3546                        This is required for the Braillex ib80-piezo Braille
3547                        reader made by F.H. Papenmeier (Germany).
3548
3549        nosbagart       [IA-64]
3550
3551        nosep           [BUGS=X86-32] Disables x86 SYSENTER/SYSEXIT support.
3552
3553        nosgx           [X86-64,SGX] Disables Intel SGX kernel support.
3554
3555        nosmp           [SMP] Tells an SMP kernel to act as a UP kernel,
3556                        and disable the IO APIC.  legacy for "maxcpus=0".
3557
3558        nosoftlockup    [KNL] Disable the soft-lockup detector.
3559
3560        nosync          [HW,M68K] Disables sync negotiation for all devices.
3561
3562        nowatchdog      [KNL] Disable both lockup detectors, i.e.
3563                        soft-lockup and NMI watchdog (hard-lockup).
3564
3565        nowb            [ARM]
3566
3567        nox2apic        [X86-64,APIC] Do not enable x2APIC mode.
3568
3569        cpu0_hotplug    [X86] Turn on CPU0 hotplug feature when
3570                        CONFIG_BOOTPARAM_HOTPLUG_CPU0 is off.
3571                        Some features depend on CPU0. Known dependencies are:
3572                        1. Resume from suspend/hibernate depends on CPU0.
3573                        Suspend/hibernate will fail if CPU0 is offline and you
3574                        need to online CPU0 before suspend/hibernate.
3575                        2. PIC interrupts also depend on CPU0. CPU0 can't be
3576                        removed if a PIC interrupt is detected.
3577                        It's said poweroff/reboot may depend on CPU0 on some
3578                        machines although I haven't seen such issues so far
3579                        after CPU0 is offline on a few tested machines.
3580                        If the dependencies are under your control, you can
3581                        turn on cpu0_hotplug.
3582
3583        nps_mtm_hs_ctr= [KNL,ARC]
3584                        This parameter sets the maximum duration, in
3585                        cycles, each HW thread of the CTOP can run
3586                        without interruptions, before HW switches it.
3587                        The actual maximum duration is 16 times this
3588                        parameter's value.
3589                        Format: integer between 1 and 255
3590                        Default: 255
3591
3592        nptcg=          [IA-64] Override max number of concurrent global TLB
3593                        purges which is reported from either PAL_VM_SUMMARY or
3594                        SAL PALO.
3595
3596        nr_cpus=        [SMP] Maximum number of processors that an SMP kernel
3597                        could support.  nr_cpus=n : n >= 1 limits the kernel to
3598                        support 'n' processors. It could be larger than the
3599                        number of already plugged CPU during bootup, later in
3600                        runtime you can physically add extra cpu until it reaches
3601                        n. So during boot up some boot time memory for per-cpu
3602                        variables need be pre-allocated for later physical cpu
3603                        hot plugging.
3604
3605        nr_uarts=       [SERIAL] maximum number of UARTs to be registered.
3606
3607        numa=off        [KNL, ARM64, PPC, RISCV, SPARC, X86] Disable NUMA, Only
3608                        set up a single NUMA node spanning all memory.
3609
3610        numa_balancing= [KNL,ARM64,PPC,RISCV,S390,X86] Enable or disable automatic
3611                        NUMA balancing.
3612                        Allowed values are enable and disable
3613
3614        numa_zonelist_order= [KNL, BOOT] Select zonelist order for NUMA.
3615                        'node', 'default' can be specified
3616                        This can be set from sysctl after boot.
3617                        See Documentation/admin-guide/sysctl/vm.rst for details.
3618
3619        ohci1394_dma=early      [HW] enable debugging via the ohci1394 driver.
3620                        See Documentation/core-api/debugging-via-ohci1394.rst for more
3621                        info.
3622
3623        olpc_ec_timeout= [OLPC] ms delay when issuing EC commands
3624                        Rather than timing out after 20 ms if an EC
3625                        command is not properly ACKed, override the length
3626                        of the timeout.  We have interrupts disabled while
3627                        waiting for the ACK, so if this is set too high
3628                        interrupts *may* be lost!
3629
3630        omap_mux=       [OMAP] Override bootloader pin multiplexing.
3631                        Format: <mux_mode0.mode_name=value>...
3632                        For example, to override I2C bus2:
3633                        omap_mux=i2c2_scl.i2c2_scl=0x100,i2c2_sda.i2c2_sda=0x100
3634
3635        oops=panic      Always panic on oopses. Default is to just kill the
3636                        process, but there is a small probability of
3637                        deadlocking the machine.
3638                        This will also cause panics on machine check exceptions.
3639                        Useful together with panic=30 to trigger a reboot.
3640
3641        page_alloc.shuffle=
3642                        [KNL] Boolean flag to control whether the page allocator
3643                        should randomize its free lists. The randomization may
3644                        be automatically enabled if the kernel detects it is
3645                        running on a platform with a direct-mapped memory-side
3646                        cache, and this parameter can be used to
3647                        override/disable that behavior. The state of the flag
3648                        can be read from sysfs at:
3649                        /sys/module/page_alloc/parameters/shuffle.
3650
3651        page_owner=     [KNL] Boot-time page_owner enabling option.
3652                        Storage of the information about who allocated
3653                        each page is disabled in default. With this switch,
3654                        we can turn it on.
3655                        on: enable the feature
3656
3657        page_poison=    [KNL] Boot-time parameter changing the state of
3658                        poisoning on the buddy allocator, available with
3659                        CONFIG_PAGE_POISONING=y.
3660                        off: turn off poisoning (default)
3661                        on: turn on poisoning
3662
3663        page_reporting.page_reporting_order=
3664                        [KNL] Minimal page reporting order
3665                        Format: <integer>
3666                        Adjust the minimal page reporting order. The page
3667                        reporting is disabled when it exceeds (MAX_ORDER-1).
3668
3669        panic=          [KNL] Kernel behaviour on panic: delay <timeout>
3670                        timeout > 0: seconds before rebooting
3671                        timeout = 0: wait forever
3672                        timeout < 0: reboot immediately
3673                        Format: <timeout>
3674
3675        panic_print=    Bitmask for printing system info when panic happens.
3676                        User can chose combination of the following bits:
3677                        bit 0: print all tasks info
3678                        bit 1: print system memory info
3679                        bit 2: print timer info
3680                        bit 3: print locks info if CONFIG_LOCKDEP is on
3681                        bit 4: print ftrace buffer
3682                        bit 5: print all printk messages in buffer
3683
3684        panic_on_taint= Bitmask for conditionally calling panic() in add_taint()
3685                        Format: <hex>[,nousertaint]
3686                        Hexadecimal bitmask representing the set of TAINT flags
3687                        that will cause the kernel to panic when add_taint() is
3688                        called with any of the flags in this set.
3689                        The optional switch "nousertaint" can be utilized to
3690                        prevent userspace forced crashes by writing to sysctl
3691                        /proc/sys/kernel/tainted any flagset matching with the
3692                        bitmask set on panic_on_taint.
3693                        See Documentation/admin-guide/tainted-kernels.rst for
3694                        extra details on the taint flags that users can pick
3695                        to compose the bitmask to assign to panic_on_taint.
3696
3697        panic_on_warn   panic() instead of WARN().  Useful to cause kdump
3698                        on a WARN().
3699
3700        crash_kexec_post_notifiers
3701                        Run kdump after running panic-notifiers and dumping
3702                        kmsg. This only for the users who doubt kdump always
3703                        succeeds in any situation.
3704                        Note that this also increases risks of kdump failure,
3705                        because some panic notifiers can make the crashed
3706                        kernel more unstable.
3707
3708        parkbd.port=    [HW] Parallel port number the keyboard adapter is
3709                        connected to, default is 0.
3710                        Format: <parport#>
3711        parkbd.mode=    [HW] Parallel port keyboard adapter mode of operation,
3712                        0 for XT, 1 for AT (default is AT).
3713                        Format: <mode>
3714
3715        parport=        [HW,PPT] Specify parallel ports. 0 disables.
3716                        Format: { 0 | auto | 0xBBB[,IRQ[,DMA]] }
3717                        Use 'auto' to force the driver to use any
3718                        IRQ/DMA settings detected (the default is to
3719                        ignore detected IRQ/DMA settings because of
3720                        possible conflicts). You can specify the base
3721                        address, IRQ, and DMA settings; IRQ and DMA
3722                        should be numbers, or 'auto' (for using detected
3723                        settings on that particular port), or 'nofifo'
3724                        (to avoid using a FIFO even if it is detected).
3725                        Parallel ports are assigned in the order they
3726                        are specified on the command line, starting
3727                        with parport0.
3728
3729        parport_init_mode=      [HW,PPT]
3730                        Configure VIA parallel port to operate in
3731                        a specific mode. This is necessary on Pegasos
3732                        computer where firmware has no options for setting
3733                        up parallel port mode and sets it to spp.
3734                        Currently this function knows 686a and 8231 chips.
3735                        Format: [spp|ps2|epp|ecp|ecpepp]
3736
3737        pata_legacy.all=        [HW,LIBATA]
3738                        Format: <int>
3739                        Set to non-zero to probe primary and secondary ISA
3740                        port ranges on PCI systems where no PCI PATA device
3741                        has been found at either range.  Disabled by default.
3742
3743        pata_legacy.autospeed=  [HW,LIBATA]
3744                        Format: <int>
3745                        Set to non-zero if a chip is present that snoops speed
3746                        changes.  Disabled by default.
3747
3748        pata_legacy.ht6560a=    [HW,LIBATA]
3749                        Format: <int>
3750                        Set to 1, 2, or 3 for HT 6560A on the primary channel,
3751                        the secondary channel, or both channels respectively.
3752                        Disabled by default.
3753
3754        pata_legacy.ht6560b=    [HW,LIBATA]
3755                        Format: <int>
3756                        Set to 1, 2, or 3 for HT 6560B on the primary channel,
3757                        the secondary channel, or both channels respectively.
3758                        Disabled by default.
3759
3760        pata_legacy.iordy_mask= [HW,LIBATA]
3761                        Format: <int>
3762                        IORDY enable mask.  Set individual bits to allow IORDY
3763                        for the respective channel.  Bit 0 is for the first
3764                        legacy channel handled by this driver, bit 1 is for
3765                        the second channel, and so on.  The sequence will often
3766                        correspond to the primary legacy channel, the secondary
3767                        legacy channel, and so on, but the handling of a PCI
3768                        bus and the use of other driver options may interfere
3769                        with the sequence.  By default IORDY is allowed across
3770                        all channels.
3771
3772        pata_legacy.opti82c46x= [HW,LIBATA]
3773                        Format: <int>
3774                        Set to 1, 2, or 3 for Opti 82c611A on the primary
3775                        channel, the secondary channel, or both channels
3776                        respectively.  Disabled by default.
3777
3778        pata_legacy.opti82c611a=        [HW,LIBATA]
3779                        Format: <int>
3780                        Set to 1, 2, or 3 for Opti 82c465MV on the primary
3781                        channel, the secondary channel, or both channels
3782                        respectively.  Disabled by default.
3783
3784        pata_legacy.pio_mask=   [HW,LIBATA]
3785                        Format: <int>
3786                        PIO mode mask for autospeed devices.  Set individual
3787                        bits to allow the use of the respective PIO modes.
3788                        Bit 0 is for mode 0, bit 1 is for mode 1, and so on.
3789                        All modes allowed by default.
3790
3791        pata_legacy.probe_all=  [HW,LIBATA]
3792                        Format: <int>
3793                        Set to non-zero to probe tertiary and further ISA
3794                        port ranges on PCI systems.  Disabled by default.
3795
3796        pata_legacy.probe_mask= [HW,LIBATA]
3797                        Format: <int>
3798                        Probe mask for legacy ISA PATA ports.  Depending on
3799                        platform configuration and the use of other driver
3800                        options up to 6 legacy ports are supported: 0x1f0,
3801                        0x170, 0x1e8, 0x168, 0x1e0, 0x160, however probing
3802                        of individual ports can be disabled by setting the
3803                        corresponding bits in the mask to 1.  Bit 0 is for
3804                        the first port in the list above (0x1f0), and so on.
3805                        By default all supported ports are probed.
3806
3807        pata_legacy.qdi=        [HW,LIBATA]
3808                        Format: <int>
3809                        Set to non-zero to probe QDI controllers.  By default
3810                        set to 1 if CONFIG_PATA_QDI_MODULE, 0 otherwise.
3811
3812        pata_legacy.winbond=    [HW,LIBATA]
3813                        Format: <int>
3814                        Set to non-zero to probe Winbond controllers.  Use
3815                        the standard I/O port (0x130) if 1, otherwise the
3816                        value given is the I/O port to use (typically 0x1b0).
3817                        By default set to 1 if CONFIG_PATA_WINBOND_VLB_MODULE,
3818                        0 otherwise.
3819
3820        pata_platform.pio_mask= [HW,LIBATA]
3821                        Format: <int>
3822                        Supported PIO mode mask.  Set individual bits to allow
3823                        the use of the respective PIO modes.  Bit 0 is for
3824                        mode 0, bit 1 is for mode 1, and so on.  Mode 0 only
3825                        allowed by default.
3826
3827        pause_on_oops=
3828                        Halt all CPUs after the first oops has been printed for
3829                        the specified number of seconds.  This is to be used if
3830                        your oopses keep scrolling off the screen.
3831
3832        pcbit=          [HW,ISDN]
3833
3834        pcd.            [PARIDE]
3835                        See header of drivers/block/paride/pcd.c.
3836                        See also Documentation/admin-guide/blockdev/paride.rst.
3837
3838        pci=option[,option...]  [PCI] various PCI subsystem options.
3839
3840                                Some options herein operate on a specific device
3841                                or a set of devices (<pci_dev>). These are
3842                                specified in one of the following formats:
3843
3844                                [<domain>:]<bus>:<dev>.<func>[/<dev>.<func>]*
3845                                pci:<vendor>:<device>[:<subvendor>:<subdevice>]
3846
3847                                Note: the first format specifies a PCI
3848                                bus/device/function address which may change
3849                                if new hardware is inserted, if motherboard
3850                                firmware changes, or due to changes caused
3851                                by other kernel parameters. If the
3852                                domain is left unspecified, it is
3853                                taken to be zero. Optionally, a path
3854                                to a device through multiple device/function
3855                                addresses can be specified after the base
3856                                address (this is more robust against
3857                                renumbering issues).  The second format
3858                                selects devices using IDs from the
3859                                configuration space which may match multiple
3860                                devices in the system.
3861
3862                earlydump       dump PCI config space before the kernel
3863                                changes anything
3864                off             [X86] don't probe for the PCI bus
3865                bios            [X86-32] force use of PCI BIOS, don't access
3866                                the hardware directly. Use this if your machine
3867                                has a non-standard PCI host bridge.
3868                nobios          [X86-32] disallow use of PCI BIOS, only direct
3869                                hardware access methods are allowed. Use this
3870                                if you experience crashes upon bootup and you
3871                                suspect they are caused by the BIOS.
3872                conf1           [X86] Force use of PCI Configuration Access
3873                                Mechanism 1 (config address in IO port 0xCF8,
3874                                data in IO port 0xCFC, both 32-bit).
3875                conf2           [X86] Force use of PCI Configuration Access
3876                                Mechanism 2 (IO port 0xCF8 is an 8-bit port for
3877                                the function, IO port 0xCFA, also 8-bit, sets
3878                                bus number. The config space is then accessed
3879                                through ports 0xC000-0xCFFF).
3880                                See http://wiki.osdev.org/PCI for more info
3881                                on the configuration access mechanisms.
3882                noaer           [PCIE] If the PCIEAER kernel config parameter is
3883                                enabled, this kernel boot option can be used to
3884                                disable the use of PCIE advanced error reporting.
3885                nodomains       [PCI] Disable support for multiple PCI
3886                                root domains (aka PCI segments, in ACPI-speak).
3887                nommconf        [X86] Disable use of MMCONFIG for PCI
3888                                Configuration
3889                check_enable_amd_mmconf [X86] check for and enable
3890                                properly configured MMIO access to PCI
3891                                config space on AMD family 10h CPU
3892                nomsi           [MSI] If the PCI_MSI kernel config parameter is
3893                                enabled, this kernel boot option can be used to
3894                                disable the use of MSI interrupts system-wide.
3895                noioapicquirk   [APIC] Disable all boot interrupt quirks.
3896                                Safety option to keep boot IRQs enabled. This
3897                                should never be necessary.
3898                ioapicreroute   [APIC] Enable rerouting of boot IRQs to the
3899                                primary IO-APIC for bridges that cannot disable
3900                                boot IRQs. This fixes a source of spurious IRQs
3901                                when the system masks IRQs.
3902                noioapicreroute [APIC] Disable workaround that uses the
3903                                boot IRQ equivalent of an IRQ that connects to
3904                                a chipset where boot IRQs cannot be disabled.
3905                                The opposite of ioapicreroute.
3906                biosirq         [X86-32] Use PCI BIOS calls to get the interrupt
3907                                routing table. These calls are known to be buggy
3908                                on several machines and they hang the machine
3909                                when used, but on other computers it's the only
3910                                way to get the interrupt routing table. Try
3911                                this option if the kernel is unable to allocate
3912                                IRQs or discover secondary PCI buses on your
3913                                motherboard.
3914                rom             [X86] Assign address space to expansion ROMs.
3915                                Use with caution as certain devices share
3916                                address decoders between ROMs and other
3917                                resources.
3918                norom           [X86] Do not assign address space to
3919                                expansion ROMs that do not already have
3920                                BIOS assigned address ranges.
3921                nobar           [X86] Do not assign address space to the
3922                                BARs that weren't assigned by the BIOS.
3923                irqmask=0xMMMM  [X86] Set a bit mask of IRQs allowed to be
3924                                assigned automatically to PCI devices. You can
3925                                make the kernel exclude IRQs of your ISA cards
3926                                this way.
3927                pirqaddr=0xAAAAA        [X86] Specify the physical address
3928                                of the PIRQ table (normally generated
3929                                by the BIOS) if it is outside the
3930                                F0000h-100000h range.
3931                lastbus=N       [X86] Scan all buses thru bus #N. Can be
3932                                useful if the kernel is unable to find your
3933                                secondary buses and you want to tell it
3934                                explicitly which ones they are.
3935                assign-busses   [X86] Always assign all PCI bus
3936                                numbers ourselves, overriding
3937                                whatever the firmware may have done.
3938                usepirqmask     [X86] Honor the possible IRQ mask stored
3939                                in the BIOS $PIR table. This is needed on
3940                                some systems with broken BIOSes, notably
3941                                some HP Pavilion N5400 and Omnibook XE3
3942                                notebooks. This will have no effect if ACPI
3943                                IRQ routing is enabled.
3944                noacpi          [X86] Do not use ACPI for IRQ routing
3945                                or for PCI scanning.
3946                use_crs         [X86] Use PCI host bridge window information
3947                                from ACPI.  On BIOSes from 2008 or later, this
3948                                is enabled by default.  If you need to use this,
3949                                please report a bug.
3950                nocrs           [X86] Ignore PCI host bridge windows from ACPI.
3951                                If you need to use this, please report a bug.
3952                routeirq        Do IRQ routing for all PCI devices.
3953                                This is normally done in pci_enable_device(),
3954                                so this option is a temporary workaround
3955                                for broken drivers that don't call it.
3956                skip_isa_align  [X86] do not align io start addr, so can
3957                                handle more pci cards
3958                noearly         [X86] Don't do any early type 1 scanning.
3959                                This might help on some broken boards which
3960                                machine check when some devices' config space
3961                                is read. But various workarounds are disabled
3962                                and some IOMMU drivers will not work.
3963                bfsort          Sort PCI devices into breadth-first order.
3964                                This sorting is done to get a device
3965                                order compatible with older (<= 2.4) kernels.
3966                nobfsort        Don't sort PCI devices into breadth-first order.
3967                pcie_bus_tune_off       Disable PCIe MPS (Max Payload Size)
3968                                tuning and use the BIOS-configured MPS defaults.
3969                pcie_bus_safe   Set every device's MPS to the largest value
3970                                supported by all devices below the root complex.
3971                pcie_bus_perf   Set device MPS to the largest allowable MPS
3972                                based on its parent bus. Also set MRRS (Max
3973                                Read Request Size) to the largest supported
3974                                value (no larger than the MPS that the device
3975                                or bus can support) for best performance.
3976                pcie_bus_peer2peer      Set every device's MPS to 128B, which
3977                                every device is guaranteed to support. This
3978                                configuration allows peer-to-peer DMA between
3979                                any pair of devices, possibly at the cost of
3980                                reduced performance.  This also guarantees
3981                                that hot-added devices will work.
3982                cbiosize=nn[KMG]        The fixed amount of bus space which is
3983                                reserved for the CardBus bridge's IO window.
3984                                The default value is 256 bytes.
3985                cbmemsize=nn[KMG]       The fixed amount of bus space which is
3986                                reserved for the CardBus bridge's memory
3987                                window. The default value is 64 megabytes.
3988                resource_alignment=
3989                                Format:
3990                                [<order of align>@]<pci_dev>[; ...]
3991                                Specifies alignment and device to reassign
3992                                aligned memory resources. How to
3993                                specify the device is described above.
3994                                If <order of align> is not specified,
3995                                PAGE_SIZE is used as alignment.
3996                                A PCI-PCI bridge can be specified if resource
3997                                windows need to be expanded.
3998                                To specify the alignment for several
3999                                instances of a device, the PCI vendor,
4000                                device, subvendor, and subdevice may be
4001                                specified, e.g., 12@pci:8086:9c22:103c:198f
4002                                for 4096-byte alignment.
4003                ecrc=           Enable/disable PCIe ECRC (transaction layer
4004                                end-to-end CRC checking).
4005                                bios: Use BIOS/firmware settings. This is the
4006                                the default.
4007                                off: Turn ECRC off
4008                                on: Turn ECRC on.
4009                hpiosize=nn[KMG]        The fixed amount of bus space which is
4010                                reserved for hotplug bridge's IO window.
4011                                Default size is 256 bytes.
4012                hpmmiosize=nn[KMG]      The fixed amount of bus space which is
4013                                reserved for hotplug bridge's MMIO window.
4014                                Default size is 2 megabytes.
4015                hpmmioprefsize=nn[KMG]  The fixed amount of bus space which is
4016                                reserved for hotplug bridge's MMIO_PREF window.
4017                                Default size is 2 megabytes.
4018                hpmemsize=nn[KMG]       The fixed amount of bus space which is
4019                                reserved for hotplug bridge's MMIO and
4020                                MMIO_PREF window.
4021                                Default size is 2 megabytes.
4022                hpbussize=nn    The minimum amount of additional bus numbers
4023                                reserved for buses below a hotplug bridge.
4024                                Default is 1.
4025                realloc=        Enable/disable reallocating PCI bridge resources
4026                                if allocations done by BIOS are too small to
4027                                accommodate resources required by all child
4028                                devices.
4029                                off: Turn realloc off
4030                                on: Turn realloc on
4031                realloc         same as realloc=on
4032                noari           do not use PCIe ARI.
4033                noats           [PCIE, Intel-IOMMU, AMD-IOMMU]
4034                                do not use PCIe ATS (and IOMMU device IOTLB).
4035                pcie_scan_all   Scan all possible PCIe devices.  Otherwise we
4036                                only look for one device below a PCIe downstream
4037                                port.
4038                big_root_window Try to add a big 64bit memory window to the PCIe
4039                                root complex on AMD CPUs. Some GFX hardware
4040                                can resize a BAR to allow access to all VRAM.
4041                                Adding the window is slightly risky (it may
4042                                conflict with unreported devices), so this
4043                                taints the kernel.
4044                disable_acs_redir=<pci_dev>[; ...]
4045                                Specify one or more PCI devices (in the format
4046                                specified above) separated by semicolons.
4047                                Each device specified will have the PCI ACS
4048                                redirect capabilities forced off which will
4049                                allow P2P traffic between devices through
4050                                bridges without forcing it upstream. Note:
4051                                this removes isolation between devices and
4052                                may put more devices in an IOMMU group.
4053                force_floating  [S390] Force usage of floating interrupts.
4054                nomio           [S390] Do not use MIO instructions.
4055                norid           [S390] ignore the RID field and force use of
4056                                one PCI domain per PCI function
4057
4058        pcie_aspm=      [PCIE] Forcibly enable or disable PCIe Active State Power
4059                        Management.
4060                off     Disable ASPM.
4061                force   Enable ASPM even on devices that claim not to support it.
4062                        WARNING: Forcing ASPM on may cause system lockups.
4063
4064        pcie_ports=     [PCIE] PCIe port services handling:
4065                native  Use native PCIe services (PME, AER, DPC, PCIe hotplug)
4066                        even if the platform doesn't give the OS permission to
4067                        use them.  This may cause conflicts if the platform
4068                        also tries to use these services.
4069                dpc-native      Use native PCIe service for DPC only.  May
4070                                cause conflicts if firmware uses AER or DPC.
4071                compat  Disable native PCIe services (PME, AER, DPC, PCIe
4072                        hotplug).
4073
4074        pcie_port_pm=   [PCIE] PCIe port power management handling:
4075                off     Disable power management of all PCIe ports
4076                force   Forcibly enable power management of all PCIe ports
4077
4078        pcie_pme=       [PCIE,PM] Native PCIe PME signaling options:
4079                nomsi   Do not use MSI for native PCIe PME signaling (this makes
4080                        all PCIe root ports use INTx for all services).
4081
4082        pcmv=           [HW,PCMCIA] BadgePAD 4
4083
4084        pd_ignore_unused
4085                        [PM]
4086                        Keep all power-domains already enabled by bootloader on,
4087                        even if no driver has claimed them. This is useful
4088                        for debug and development, but should not be
4089                        needed on a platform with proper driver support.
4090
4091        pd.             [PARIDE]
4092                        See Documentation/admin-guide/blockdev/paride.rst.
4093
4094        pdcchassis=     [PARISC,HW] Disable/Enable PDC Chassis Status codes at
4095                        boot time.
4096                        Format: { 0 | 1 }
4097                        See arch/parisc/kernel/pdc_chassis.c
4098
4099        percpu_alloc=   Select which percpu first chunk allocator to use.
4100                        Currently supported values are "embed" and "page".
4101                        Archs may support subset or none of the selections.
4102                        See comments in mm/percpu.c for details on each
4103                        allocator.  This parameter is primarily for debugging
4104                        and performance comparison.
4105
4106        pf.             [PARIDE]
4107                        See Documentation/admin-guide/blockdev/paride.rst.
4108
4109        pg.             [PARIDE]
4110                        See Documentation/admin-guide/blockdev/paride.rst.
4111
4112        pirq=           [SMP,APIC] Manual mp-table setup
4113                        See Documentation/x86/i386/IO-APIC.rst.
4114
4115        plip=           [PPT,NET] Parallel port network link
4116                        Format: { parport<nr> | timid | 0 }
4117                        See also Documentation/admin-guide/parport.rst.
4118
4119        pmtmr=          [X86] Manual setup of pmtmr I/O Port.
4120                        Override pmtimer IOPort with a hex value.
4121                        e.g. pmtmr=0x508
4122
4123        pm_debug_messages       [SUSPEND,KNL]
4124                        Enable suspend/resume debug messages during boot up.
4125
4126        pnp.debug=1     [PNP]
4127                        Enable PNP debug messages (depends on the
4128                        CONFIG_PNP_DEBUG_MESSAGES option).  Change at run-time
4129                        via /sys/module/pnp/parameters/debug.  We always show
4130                        current resource usage; turning this on also shows
4131                        possible settings and some assignment information.
4132
4133        pnpacpi=        [ACPI]
4134                        { off }
4135
4136        pnpbios=        [ISAPNP]
4137                        { on | off | curr | res | no-curr | no-res }
4138
4139        pnp_reserve_irq=
4140                        [ISAPNP] Exclude IRQs for the autoconfiguration
4141
4142        pnp_reserve_dma=
4143                        [ISAPNP] Exclude DMAs for the autoconfiguration
4144
4145        pnp_reserve_io= [ISAPNP] Exclude I/O ports for the autoconfiguration
4146                        Ranges are in pairs (I/O port base and size).
4147
4148        pnp_reserve_mem=
4149                        [ISAPNP] Exclude memory regions for the
4150                        autoconfiguration.
4151                        Ranges are in pairs (memory base and size).
4152
4153        ports=          [IP_VS_FTP] IPVS ftp helper module
4154                        Default is 21.
4155                        Up to 8 (IP_VS_APP_MAX_PORTS) ports
4156                        may be specified.
4157                        Format: <port>,<port>....
4158
4159        powersave=off   [PPC] This option disables power saving features.
4160                        It specifically disables cpuidle and sets the
4161                        platform machine description specific power_save
4162                        function to NULL. On Idle the CPU just reduces
4163                        execution priority.
4164
4165        ppc_strict_facility_enable
4166                        [PPC] This option catches any kernel floating point,
4167                        Altivec, VSX and SPE outside of regions specifically
4168                        allowed (eg kernel_enable_fpu()/kernel_disable_fpu()).
4169                        There is some performance impact when enabling this.
4170
4171        ppc_tm=         [PPC]
4172                        Format: {"off"}
4173                        Disable Hardware Transactional Memory
4174
4175        preempt=        [KNL]
4176                        Select preemption mode if you have CONFIG_PREEMPT_DYNAMIC
4177                        none - Limited to cond_resched() calls
4178                        voluntary - Limited to cond_resched() and might_sleep() calls
4179                        full - Any section that isn't explicitly preempt disabled
4180                               can be preempted anytime.
4181
4182        print-fatal-signals=
4183                        [KNL] debug: print fatal signals
4184
4185                        If enabled, warn about various signal handling
4186                        related application anomalies: too many signals,
4187                        too many POSIX.1 timers, fatal signals causing a
4188                        coredump - etc.
4189
4190                        If you hit the warning due to signal overflow,
4191                        you might want to try "ulimit -i unlimited".
4192
4193                        default: off.
4194
4195        printk.always_kmsg_dump=
4196                        Trigger kmsg_dump for cases other than kernel oops or
4197                        panics
4198                        Format: <bool>  (1/Y/y=enable, 0/N/n=disable)
4199                        default: disabled
4200
4201        printk.console_no_auto_verbose=
4202                        Disable console loglevel raise on oops, panic
4203                        or lockdep-detected issues (only if lock debug is on).
4204                        With an exception to setups with low baudrate on
4205                        serial console, keeping this 0 is a good choice
4206                        in order to provide more debug information.
4207                        Format: <bool>
4208                        default: 0 (auto_verbose is enabled)
4209
4210        printk.devkmsg={on,off,ratelimit}
4211                        Control writing to /dev/kmsg.
4212                        on - unlimited logging to /dev/kmsg from userspace
4213                        off - logging to /dev/kmsg disabled
4214                        ratelimit - ratelimit the logging
4215                        Default: ratelimit
4216
4217        printk.time=    Show timing data prefixed to each printk message line
4218                        Format: <bool>  (1/Y/y=enable, 0/N/n=disable)
4219
4220        processor.max_cstate=   [HW,ACPI]
4221                        Limit processor to maximum C-state
4222                        max_cstate=9 overrides any DMI blacklist limit.
4223
4224        processor.nocst [HW,ACPI]
4225                        Ignore the _CST method to determine C-states,
4226                        instead using the legacy FADT method
4227
4228        profile=        [KNL] Enable kernel profiling via /proc/profile
4229                        Format: [<profiletype>,]<number>
4230                        Param: <profiletype>: "schedule", "sleep", or "kvm"
4231                                [defaults to kernel profiling]
4232                        Param: "schedule" - profile schedule points.
4233                        Param: "sleep" - profile D-state sleeping (millisecs).
4234                                Requires CONFIG_SCHEDSTATS
4235                        Param: "kvm" - profile VM exits.
4236                        Param: <number> - step/bucket size as a power of 2 for
4237                                statistical time based profiling.
4238
4239        prompt_ramdisk= [RAM] [Deprecated]
4240
4241        prot_virt=      [S390] enable hosting protected virtual machines
4242                        isolated from the hypervisor (if hardware supports
4243                        that).
4244                        Format: <bool>
4245
4246        psi=            [KNL] Enable or disable pressure stall information
4247                        tracking.
4248                        Format: <bool>
4249
4250        psmouse.proto=  [HW,MOUSE] Highest PS2 mouse protocol extension to
4251                        probe for; one of (bare|imps|exps|lifebook|any).
4252        psmouse.rate=   [HW,MOUSE] Set desired mouse report rate, in reports
4253                        per second.
4254        psmouse.resetafter=     [HW,MOUSE]
4255                        Try to reset the device after so many bad packets
4256                        (0 = never).
4257        psmouse.resolution=
4258                        [HW,MOUSE] Set desired mouse resolution, in dpi.
4259        psmouse.smartscroll=
4260                        [HW,MOUSE] Controls Logitech smartscroll autorepeat.
4261                        0 = disabled, 1 = enabled (default).
4262
4263        pstore.backend= Specify the name of the pstore backend to use
4264
4265        pt.             [PARIDE]
4266                        See Documentation/admin-guide/blockdev/paride.rst.
4267
4268        pti=            [X86-64] Control Page Table Isolation of user and
4269                        kernel address spaces.  Disabling this feature
4270                        removes hardening, but improves performance of
4271                        system calls and interrupts.
4272
4273                        on   - unconditionally enable
4274                        off  - unconditionally disable
4275                        auto - kernel detects whether your CPU model is
4276                               vulnerable to issues that PTI mitigates
4277
4278                        Not specifying this option is equivalent to pti=auto.
4279
4280        nopti           [X86-64]
4281                        Equivalent to pti=off
4282
4283        pty.legacy_count=
4284                        [KNL] Number of legacy pty's. Overwrites compiled-in
4285                        default number.
4286
4287        quiet           [KNL] Disable most log messages
4288
4289        r128=           [HW,DRM]
4290
4291        raid=           [HW,RAID]
4292                        See Documentation/admin-guide/md.rst.
4293
4294        ramdisk_size=   [RAM] Sizes of RAM disks in kilobytes
4295                        See Documentation/admin-guide/blockdev/ramdisk.rst.
4296
4297        ramdisk_start=  [RAM] RAM disk image start address
4298
4299        random.trust_cpu={on,off}
4300                        [KNL] Enable or disable trusting the use of the
4301                        CPU's random number generator (if available) to
4302                        fully seed the kernel's CRNG. Default is controlled
4303                        by CONFIG_RANDOM_TRUST_CPU.
4304
4305        randomize_kstack_offset=
4306                        [KNL] Enable or disable kernel stack offset
4307                        randomization, which provides roughly 5 bits of
4308                        entropy, frustrating memory corruption attacks
4309                        that depend on stack address determinism or
4310                        cross-syscall address exposures. This is only
4311                        available on architectures that have defined
4312                        CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET.
4313                        Format: <bool>  (1/Y/y=enable, 0/N/n=disable)
4314                        Default is CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT.
4315
4316        ras=option[,option,...] [KNL] RAS-specific options
4317
4318                cec_disable     [X86]
4319                                Disable the Correctable Errors Collector,
4320                                see CONFIG_RAS_CEC help text.
4321
4322        rcu_nocbs=      [KNL]
4323                        The argument is a cpu list, as described above.
4324
4325                        In kernels built with CONFIG_RCU_NOCB_CPU=y, set
4326                        the specified list of CPUs to be no-callback CPUs.
4327                        Invocation of these CPUs' RCU callbacks will be
4328                        offloaded to "rcuox/N" kthreads created for that
4329                        purpose, where "x" is "p" for RCU-preempt, and
4330                        "s" for RCU-sched, and "N" is the CPU number.
4331                        This reduces OS jitter on the offloaded CPUs,
4332                        which can be useful for HPC and real-time
4333                        workloads.  It can also improve energy efficiency
4334                        for asymmetric multiprocessors.
4335
4336        rcu_nocb_poll   [KNL]
4337                        Rather than requiring that offloaded CPUs
4338                        (specified by rcu_nocbs= above) explicitly
4339                        awaken the corresponding "rcuoN" kthreads,
4340                        make these kthreads poll for callbacks.
4341                        This improves the real-time response for the
4342                        offloaded CPUs by relieving them of the need to
4343                        wake up the corresponding kthread, but degrades
4344                        energy efficiency by requiring that the kthreads
4345                        periodically wake up to do the polling.
4346
4347        rcutree.blimit= [KNL]
4348                        Set maximum number of finished RCU callbacks to
4349                        process in one batch.
4350
4351        rcutree.dump_tree=      [KNL]
4352                        Dump the structure of the rcu_node combining tree
4353                        out at early boot.  This is used for diagnostic
4354                        purposes, to verify correct tree setup.
4355
4356        rcutree.gp_cleanup_delay=       [KNL]
4357                        Set the number of jiffies to delay each step of
4358                        RCU grace-period cleanup.
4359
4360        rcutree.gp_init_delay=  [KNL]
4361                        Set the number of jiffies to delay each step of
4362                        RCU grace-period initialization.
4363
4364        rcutree.gp_preinit_delay=       [KNL]
4365                        Set the number of jiffies to delay each step of
4366                        RCU grace-period pre-initialization, that is,
4367                        the propagation of recent CPU-hotplug changes up
4368                        the rcu_node combining tree.
4369
4370        rcutree.use_softirq=    [KNL]
4371                        If set to zero, move all RCU_SOFTIRQ processing to
4372                        per-CPU rcuc kthreads.  Defaults to a non-zero
4373                        value, meaning that RCU_SOFTIRQ is used by default.
4374                        Specify rcutree.use_softirq=0 to use rcuc kthreads.
4375
4376                        But note that CONFIG_PREEMPT_RT=y kernels disable
4377                        this kernel boot parameter, forcibly setting it
4378                        to zero.
4379
4380        rcutree.rcu_fanout_exact= [KNL]
4381                        Disable autobalancing of the rcu_node combining
4382                        tree.  This is used by rcutorture, and might
4383                        possibly be useful for architectures having high
4384                        cache-to-cache transfer latencies.
4385
4386        rcutree.rcu_fanout_leaf= [KNL]
4387                        Change the number of CPUs assigned to each
4388                        leaf rcu_node structure.  Useful for very
4389                        large systems, which will choose the value 64,
4390                        and for NUMA systems with large remote-access
4391                        latencies, which will choose a value aligned
4392                        with the appropriate hardware boundaries.
4393
4394        rcutree.rcu_min_cached_objs= [KNL]
4395                        Minimum number of objects which are cached and
4396                        maintained per one CPU. Object size is equal
4397                        to PAGE_SIZE. The cache allows to reduce the
4398                        pressure to page allocator, also it makes the
4399                        whole algorithm to behave better in low memory
4400                        condition.
4401
4402        rcutree.rcu_delay_page_cache_fill_msec= [KNL]
4403                        Set the page-cache refill delay (in milliseconds)
4404                        in response to low-memory conditions.  The range
4405                        of permitted values is in the range 0:100000.
4406
4407        rcutree.jiffies_till_first_fqs= [KNL]
4408                        Set delay from grace-period initialization to
4409                        first attempt to force quiescent states.
4410                        Units are jiffies, minimum value is zero,
4411                        and maximum value is HZ.
4412
4413        rcutree.jiffies_till_next_fqs= [KNL]
4414                        Set delay between subsequent attempts to force
4415                        quiescent states.  Units are jiffies, minimum
4416                        value is one, and maximum value is HZ.
4417
4418        rcutree.jiffies_till_sched_qs= [KNL]
4419                        Set required age in jiffies for a
4420                        given grace period before RCU starts
4421                        soliciting quiescent-state help from
4422                        rcu_note_context_switch() and cond_resched().
4423                        If not specified, the kernel will calculate
4424                        a value based on the most recent settings
4425                        of rcutree.jiffies_till_first_fqs
4426                        and rcutree.jiffies_till_next_fqs.
4427                        This calculated value may be viewed in
4428                        rcutree.jiffies_to_sched_qs.  Any attempt to set
4429                        rcutree.jiffies_to_sched_qs will be cheerfully
4430                        overwritten.
4431
4432        rcutree.kthread_prio=    [KNL,BOOT]
4433                        Set the SCHED_FIFO priority of the RCU per-CPU
4434                        kthreads (rcuc/N). This value is also used for
4435                        the priority of the RCU boost threads (rcub/N)
4436                        and for the RCU grace-period kthreads (rcu_bh,
4437                        rcu_preempt, and rcu_sched). If RCU_BOOST is
4438                        set, valid values are 1-99 and the default is 1
4439                        (the least-favored priority).  Otherwise, when
4440                        RCU_BOOST is not set, valid values are 0-99 and
4441                        the default is zero (non-realtime operation).
4442
4443        rcutree.rcu_nocb_gp_stride= [KNL]
4444                        Set the number of NOCB callback kthreads in
4445                        each group, which defaults to the square root
4446                        of the number of CPUs.  Larger numbers reduce
4447                        the wakeup overhead on the global grace-period
4448                        kthread, but increases that same overhead on
4449                        each group's NOCB grace-period kthread.
4450
4451        rcutree.qhimark= [KNL]
4452                        Set threshold of queued RCU callbacks beyond which
4453                        batch limiting is disabled.
4454
4455        rcutree.qlowmark= [KNL]
4456                        Set threshold of queued RCU callbacks below which
4457                        batch limiting is re-enabled.
4458
4459        rcutree.qovld= [KNL]
4460                        Set threshold of queued RCU callbacks beyond which
4461                        RCU's force-quiescent-state scan will aggressively
4462                        enlist help from cond_resched() and sched IPIs to
4463                        help CPUs more quickly reach quiescent states.
4464                        Set to less than zero to make this be set based
4465                        on rcutree.qhimark at boot time and to zero to
4466                        disable more aggressive help enlistment.
4467
4468        rcutree.rcu_idle_gp_delay= [KNL]
4469                        Set wakeup interval for idle CPUs that have
4470                        RCU callbacks (RCU_FAST_NO_HZ=y).
4471
4472        rcutree.rcu_kick_kthreads= [KNL]
4473                        Cause the grace-period kthread to get an extra
4474                        wake_up() if it sleeps three times longer than
4475                        it should at force-quiescent-state time.
4476                        This wake_up() will be accompanied by a
4477                        WARN_ONCE() splat and an ftrace_dump().
4478
4479        rcutree.rcu_unlock_delay= [KNL]
4480                        In CONFIG_RCU_STRICT_GRACE_PERIOD=y kernels,
4481                        this specifies an rcu_read_unlock()-time delay
4482                        in microseconds.  This defaults to zero.
4483                        Larger delays increase the probability of
4484                        catching RCU pointer leaks, that is, buggy use
4485                        of RCU-protected pointers after the relevant
4486                        rcu_read_unlock() has completed.
4487
4488        rcutree.sysrq_rcu= [KNL]
4489                        Commandeer a sysrq key to dump out Tree RCU's
4490                        rcu_node tree with an eye towards determining
4491                        why a new grace period has not yet started.
4492
4493        rcuscale.gp_async= [KNL]
4494                        Measure performance of asynchronous
4495                        grace-period primitives such as call_rcu().
4496
4497        rcuscale.gp_async_max= [KNL]
4498                        Specify the maximum number of outstanding
4499                        callbacks per writer thread.  When a writer
4500                        thread exceeds this limit, it invokes the
4501                        corresponding flavor of rcu_barrier() to allow
4502                        previously posted callbacks to drain.
4503
4504        rcuscale.gp_exp= [KNL]
4505                        Measure performance of expedited synchronous
4506                        grace-period primitives.
4507
4508        rcuscale.holdoff= [KNL]
4509                        Set test-start holdoff period.  The purpose of
4510                        this parameter is to delay the start of the
4511                        test until boot completes in order to avoid
4512                        interference.
4513
4514        rcuscale.kfree_rcu_test= [KNL]
4515                        Set to measure performance of kfree_rcu() flooding.
4516
4517        rcuscale.kfree_rcu_test_double= [KNL]
4518                        Test the double-argument variant of kfree_rcu().
4519                        If this parameter has the same value as
4520                        rcuscale.kfree_rcu_test_single, both the single-
4521                        and double-argument variants are tested.
4522
4523        rcuscale.kfree_rcu_test_single= [KNL]
4524                        Test the single-argument variant of kfree_rcu().
4525                        If this parameter has the same value as
4526                        rcuscale.kfree_rcu_test_double, both the single-
4527                        and double-argument variants are tested.
4528
4529        rcuscale.kfree_nthreads= [KNL]
4530                        The number of threads running loops of kfree_rcu().
4531
4532        rcuscale.kfree_alloc_num= [KNL]
4533                        Number of allocations and frees done in an iteration.
4534
4535        rcuscale.kfree_loops= [KNL]
4536                        Number of loops doing rcuscale.kfree_alloc_num number
4537                        of allocations and frees.
4538
4539        rcuscale.nreaders= [KNL]
4540                        Set number of RCU readers.  The value -1 selects
4541                        N, where N is the number of CPUs.  A value
4542                        "n" less than -1 selects N-n+1, where N is again
4543                        the number of CPUs.  For example, -2 selects N
4544                        (the number of CPUs), -3 selects N+1, and so on.
4545                        A value of "n" less than or equal to -N selects
4546                        a single reader.
4547
4548        rcuscale.nwriters= [KNL]
4549                        Set number of RCU writers.  The values operate
4550                        the same as for rcuscale.nreaders.
4551                        N, where N is the number of CPUs
4552
4553        rcuscale.perf_type= [KNL]
4554                        Specify the RCU implementation to test.
4555
4556        rcuscale.shutdown= [KNL]
4557                        Shut the system down after performance tests
4558                        complete.  This is useful for hands-off automated
4559                        testing.
4560
4561        rcuscale.verbose= [KNL]
4562                        Enable additional printk() statements.
4563
4564        rcuscale.writer_holdoff= [KNL]
4565                        Write-side holdoff between grace periods,
4566                        in microseconds.  The default of zero says
4567                        no holdoff.
4568
4569        rcutorture.fqs_duration= [KNL]
4570                        Set duration of force_quiescent_state bursts
4571                        in microseconds.
4572
4573        rcutorture.fqs_holdoff= [KNL]
4574                        Set holdoff time within force_quiescent_state bursts
4575                        in microseconds.
4576
4577        rcutorture.fqs_stutter= [KNL]
4578                        Set wait time between force_quiescent_state bursts
4579                        in seconds.
4580
4581        rcutorture.fwd_progress= [KNL]
4582                        Enable RCU grace-period forward-progress testing
4583                        for the types of RCU supporting this notion.
4584
4585        rcutorture.fwd_progress_div= [KNL]
4586                        Specify the fraction of a CPU-stall-warning
4587                        period to do tight-loop forward-progress testing.
4588
4589        rcutorture.fwd_progress_holdoff= [KNL]
4590                        Number of seconds to wait between successive
4591                        forward-progress tests.
4592
4593        rcutorture.fwd_progress_need_resched= [KNL]
4594                        Enclose cond_resched() calls within checks for
4595                        need_resched() during tight-loop forward-progress
4596                        testing.
4597
4598        rcutorture.gp_cond= [KNL]
4599                        Use conditional/asynchronous update-side
4600                        primitives, if available.
4601
4602        rcutorture.gp_exp= [KNL]
4603                        Use expedited update-side primitives, if available.
4604
4605        rcutorture.gp_normal= [KNL]
4606                        Use normal (non-expedited) asynchronous
4607                        update-side primitives, if available.
4608
4609        rcutorture.gp_sync= [KNL]
4610                        Use normal (non-expedited) synchronous
4611                        update-side primitives, if available.  If all
4612                        of rcutorture.gp_cond=, rcutorture.gp_exp=,
4613                        rcutorture.gp_normal=, and rcutorture.gp_sync=
4614                        are zero, rcutorture acts as if is interpreted
4615                        they are all non-zero.
4616
4617        rcutorture.irqreader= [KNL]
4618                        Run RCU readers from irq handlers, or, more
4619                        accurately, from a timer handler.  Not all RCU
4620                        flavors take kindly to this sort of thing.
4621
4622        rcutorture.leakpointer= [KNL]
4623                        Leak an RCU-protected pointer out of the reader.
4624                        This can of course result in splats, and is
4625                        intended to test the ability of things like
4626                        CONFIG_RCU_STRICT_GRACE_PERIOD=y to detect
4627                        such leaks.
4628
4629        rcutorture.n_barrier_cbs= [KNL]
4630                        Set callbacks/threads for rcu_barrier() testing.
4631
4632        rcutorture.nfakewriters= [KNL]
4633                        Set number of concurrent RCU writers.  These just
4634                        stress RCU, they don't participate in the actual
4635                        test, hence the "fake".
4636
4637        rcutorture.nocbs_nthreads= [KNL]
4638                        Set number of RCU callback-offload togglers.
4639                        Zero (the default) disables toggling.
4640
4641        rcutorture.nocbs_toggle= [KNL]
4642                        Set the delay in milliseconds between successive
4643                        callback-offload toggling attempts.
4644
4645        rcutorture.nreaders= [KNL]
4646                        Set number of RCU readers.  The value -1 selects
4647                        N-1, where N is the number of CPUs.  A value
4648                        "n" less than -1 selects N-n-2, where N is again
4649                        the number of CPUs.  For example, -2 selects N
4650                        (the number of CPUs), -3 selects N+1, and so on.
4651
4652        rcutorture.object_debug= [KNL]
4653                        Enable debug-object double-call_rcu() testing.
4654
4655        rcutorture.onoff_holdoff= [KNL]
4656                        Set time (s) after boot for CPU-hotplug testing.
4657
4658        rcutorture.onoff_interval= [KNL]
4659                        Set time (jiffies) between CPU-hotplug operations,
4660                        or zero to disable CPU-hotplug testing.
4661
4662        rcutorture.read_exit= [KNL]
4663                        Set the number of read-then-exit kthreads used
4664                        to test the interaction of RCU updaters and
4665                        task-exit processing.
4666
4667        rcutorture.read_exit_burst= [KNL]
4668                        The number of times in a given read-then-exit
4669                        episode that a set of read-then-exit kthreads
4670                        is spawned.
4671
4672        rcutorture.read_exit_delay= [KNL]
4673                        The delay, in seconds, between successive
4674                        read-then-exit testing episodes.
4675
4676        rcutorture.shuffle_interval= [KNL]
4677                        Set task-shuffle interval (s).  Shuffling tasks
4678                        allows some CPUs to go into dyntick-idle mode
4679                        during the rcutorture test.
4680
4681        rcutorture.shutdown_secs= [KNL]
4682                        Set time (s) after boot system shutdown.  This
4683                        is useful for hands-off automated testing.
4684
4685        rcutorture.stall_cpu= [KNL]
4686                        Duration of CPU stall (s) to test RCU CPU stall
4687                        warnings, zero to disable.
4688
4689        rcutorture.stall_cpu_block= [KNL]
4690                        Sleep while stalling if set.  This will result
4691                        in warnings from preemptible RCU in addition
4692                        to any other stall-related activity.
4693
4694        rcutorture.stall_cpu_holdoff= [KNL]
4695                        Time to wait (s) after boot before inducing stall.
4696
4697        rcutorture.stall_cpu_irqsoff= [KNL]
4698                        Disable interrupts while stalling if set.
4699
4700        rcutorture.stall_gp_kthread= [KNL]
4701                        Duration (s) of forced sleep within RCU
4702                        grace-period kthread to test RCU CPU stall
4703                        warnings, zero to disable.  If both stall_cpu
4704                        and stall_gp_kthread are specified, the
4705                        kthread is starved first, then the CPU.
4706
4707        rcutorture.stat_interval= [KNL]
4708                        Time (s) between statistics printk()s.
4709
4710        rcutorture.stutter= [KNL]
4711                        Time (s) to stutter testing, for example, specifying
4712                        five seconds causes the test to run for five seconds,
4713                        wait for five seconds, and so on.  This tests RCU's
4714                        ability to transition abruptly to and from idle.
4715
4716        rcutorture.test_boost= [KNL]
4717                        Test RCU priority boosting?  0=no, 1=maybe, 2=yes.
4718                        "Maybe" means test if the RCU implementation
4719                        under test support RCU priority boosting.
4720
4721        rcutorture.test_boost_duration= [KNL]
4722                        Duration (s) of each individual boost test.
4723
4724        rcutorture.test_boost_interval= [KNL]
4725                        Interval (s) between each boost test.
4726
4727        rcutorture.test_no_idle_hz= [KNL]
4728                        Test RCU's dyntick-idle handling.  See also the
4729                        rcutorture.shuffle_interval parameter.
4730
4731        rcutorture.torture_type= [KNL]
4732                        Specify the RCU implementation to test.
4733
4734        rcutorture.verbose= [KNL]
4735                        Enable additional printk() statements.
4736
4737        rcupdate.rcu_cpu_stall_ftrace_dump= [KNL]
4738                        Dump ftrace buffer after reporting RCU CPU
4739                        stall warning.
4740
4741        rcupdate.rcu_cpu_stall_suppress= [KNL]
4742                        Suppress RCU CPU stall warning messages.
4743
4744        rcupdate.rcu_cpu_stall_suppress_at_boot= [KNL]
4745                        Suppress RCU CPU stall warning messages and
4746                        rcutorture writer stall warnings that occur
4747                        during early boot, that is, during the time
4748                        before the init task is spawned.
4749
4750        rcupdate.rcu_cpu_stall_timeout= [KNL]
4751                        Set timeout for RCU CPU stall warning messages.
4752
4753        rcupdate.rcu_expedited= [KNL]
4754                        Use expedited grace-period primitives, for
4755                        example, synchronize_rcu_expedited() instead
4756                        of synchronize_rcu().  This reduces latency,
4757                        but can increase CPU utilization, degrade
4758                        real-time latency, and degrade energy efficiency.
4759                        No effect on CONFIG_TINY_RCU kernels.
4760
4761        rcupdate.rcu_normal= [KNL]
4762                        Use only normal grace-period primitives,
4763                        for example, synchronize_rcu() instead of
4764                        synchronize_rcu_expedited().  This improves
4765                        real-time latency, CPU utilization, and
4766                        energy efficiency, but can expose users to
4767                        increased grace-period latency.  This parameter
4768                        overrides rcupdate.rcu_expedited.  No effect on
4769                        CONFIG_TINY_RCU kernels.
4770
4771        rcupdate.rcu_normal_after_boot= [KNL]
4772                        Once boot has completed (that is, after
4773                        rcu_end_inkernel_boot() has been invoked), use
4774                        only normal grace-period primitives.  No effect
4775                        on CONFIG_TINY_RCU kernels.
4776
4777                        But note that CONFIG_PREEMPT_RT=y kernels enables
4778                        this kernel boot parameter, forcibly setting
4779                        it to the value one, that is, converting any
4780                        post-boot attempt at an expedited RCU grace
4781                        period to instead use normal non-expedited
4782                        grace-period processing.
4783
4784        rcupdate.rcu_task_ipi_delay= [KNL]
4785                        Set time in jiffies during which RCU tasks will
4786                        avoid sending IPIs, starting with the beginning
4787                        of a given grace period.  Setting a large
4788                        number avoids disturbing real-time workloads,
4789                        but lengthens grace periods.
4790
4791        rcupdate.rcu_task_stall_timeout= [KNL]
4792                        Set timeout in jiffies for RCU task stall warning
4793                        messages.  Disable with a value less than or equal
4794                        to zero.
4795
4796        rcupdate.rcu_self_test= [KNL]
4797                        Run the RCU early boot self tests
4798
4799        rdinit=         [KNL]
4800                        Format: <full_path>
4801                        Run specified binary instead of /init from the ramdisk,
4802                        used for early userspace startup. See initrd.
4803
4804        rdrand=         [X86]
4805                        force - Override the decision by the kernel to hide the
4806                                advertisement of RDRAND support (this affects
4807                                certain AMD processors because of buggy BIOS
4808                                support, specifically around the suspend/resume
4809                                path).
4810
4811        rdt=            [HW,X86,RDT]
4812                        Turn on/off individual RDT features. List is:
4813                        cmt, mbmtotal, mbmlocal, l3cat, l3cdp, l2cat, l2cdp,
4814                        mba.
4815                        E.g. to turn on cmt and turn off mba use:
4816                                rdt=cmt,!mba
4817
4818        reboot=         [KNL]
4819                        Format (x86 or x86_64):
4820                                [w[arm] | c[old] | h[ard] | s[oft] | g[pio]] | d[efault] \
4821                                [[,]s[mp]#### \
4822                                [[,]b[ios] | a[cpi] | k[bd] | t[riple] | e[fi] | p[ci]] \
4823                                [[,]f[orce]
4824                        Where reboot_mode is one of warm (soft) or cold (hard) or gpio
4825                                        (prefix with 'panic_' to set mode for panic
4826                                        reboot only),
4827                              reboot_type is one of bios, acpi, kbd, triple, efi, or pci,
4828                              reboot_force is either force or not specified,
4829                              reboot_cpu is s[mp]#### with #### being the processor
4830                                        to be used for rebooting.
4831
4832        refscale.holdoff= [KNL]
4833                        Set test-start holdoff period.  The purpose of
4834                        this parameter is to delay the start of the
4835                        test until boot completes in order to avoid
4836                        interference.
4837
4838        refscale.loops= [KNL]
4839                        Set the number of loops over the synchronization
4840                        primitive under test.  Increasing this number
4841                        reduces noise due to loop start/end overhead,
4842                        but the default has already reduced the per-pass
4843                        noise to a handful of picoseconds on ca. 2020
4844                        x86 laptops.
4845
4846        refscale.nreaders= [KNL]
4847                        Set number of readers.  The default value of -1
4848                        selects N, where N is roughly 75% of the number
4849                        of CPUs.  A value of zero is an interesting choice.
4850
4851        refscale.nruns= [KNL]
4852                        Set number of runs, each of which is dumped onto
4853                        the console log.
4854
4855        refscale.readdelay= [KNL]
4856                        Set the read-side critical-section duration,
4857                        measured in microseconds.
4858
4859        refscale.scale_type= [KNL]
4860                        Specify the read-protection implementation to test.
4861
4862        refscale.shutdown= [KNL]
4863                        Shut down the system at the end of the performance
4864                        test.  This defaults to 1 (shut it down) when
4865                        refscale is built into the kernel and to 0 (leave
4866                        it running) when refscale is built as a module.
4867
4868        refscale.verbose= [KNL]
4869                        Enable additional printk() statements.
4870
4871        refscale.verbose_batched= [KNL]
4872                        Batch the additional printk() statements.  If zero
4873                        (the default) or negative, print everything.  Otherwise,
4874                        print every Nth verbose statement, where N is the value
4875                        specified.
4876
4877        relax_domain_level=
4878                        [KNL, SMP] Set scheduler's default relax_domain_level.
4879                        See Documentation/admin-guide/cgroup-v1/cpusets.rst.
4880
4881        reserve=        [KNL,BUGS] Force kernel to ignore I/O ports or memory
4882                        Format: <base1>,<size1>[,<base2>,<size2>,...]
4883                        Reserve I/O ports or memory so the kernel won't use
4884                        them.  If <base> is less than 0x10000, the region
4885                        is assumed to be I/O ports; otherwise it is memory.
4886
4887        reservetop=     [X86-32]
4888                        Format: nn[KMG]
4889                        Reserves a hole at the top of the kernel virtual
4890                        address space.
4891
4892        reset_devices   [KNL] Force drivers to reset the underlying device
4893                        during initialization.
4894
4895        resume=         [SWSUSP]
4896                        Specify the partition device for software suspend
4897                        Format:
4898                        {/dev/<dev> | PARTUUID=<uuid> | <int>:<int> | <hex>}
4899
4900        resume_offset=  [SWSUSP]
4901                        Specify the offset from the beginning of the partition
4902                        given by "resume=" at which the swap header is located,
4903                        in <PAGE_SIZE> units (needed only for swap files).
4904                        See  Documentation/power/swsusp-and-swap-files.rst
4905
4906        resumedelay=    [HIBERNATION] Delay (in seconds) to pause before attempting to
4907                        read the resume files
4908
4909        resumewait      [HIBERNATION] Wait (indefinitely) for resume device to show up.
4910                        Useful for devices that are detected asynchronously
4911                        (e.g. USB and MMC devices).
4912
4913        hibernate=      [HIBERNATION]
4914                noresume        Don't check if there's a hibernation image
4915                                present during boot.
4916                nocompress      Don't compress/decompress hibernation images.
4917                no              Disable hibernation and resume.
4918                protect_image   Turn on image protection during restoration
4919                                (that will set all pages holding image data
4920                                during restoration read-only).
4921
4922        retain_initrd   [RAM] Keep initrd memory after extraction
4923
4924        rfkill.default_state=
4925                0       "airplane mode".  All wifi, bluetooth, wimax, gps, fm,
4926                        etc. communication is blocked by default.
4927                1       Unblocked.
4928
4929        rfkill.master_switch_mode=
4930                0       The "airplane mode" button does nothing.
4931                1       The "airplane mode" button toggles between everything
4932                        blocked and the previous configuration.
4933                2       The "airplane mode" button toggles between everything
4934                        blocked and everything unblocked.
4935
4936        rhash_entries=  [KNL,NET]
4937                        Set number of hash buckets for route cache
4938
4939        ring3mwait=disable
4940                        [KNL] Disable ring 3 MONITOR/MWAIT feature on supported
4941                        CPUs.
4942
4943        ro              [KNL] Mount root device read-only on boot
4944
4945        rodata=         [KNL]
4946                on      Mark read-only kernel memory as read-only (default).
4947                off     Leave read-only kernel memory writable for debugging.
4948
4949        rockchip.usb_uart
4950                        Enable the uart passthrough on the designated usb port
4951                        on Rockchip SoCs. When active, the signals of the
4952                        debug-uart get routed to the D+ and D- pins of the usb
4953                        port and the regular usb controller gets disabled.
4954
4955        root=           [KNL] Root filesystem
4956                        See name_to_dev_t comment in init/do_mounts.c.
4957
4958        rootdelay=      [KNL] Delay (in seconds) to pause before attempting to
4959                        mount the root filesystem
4960
4961        rootflags=      [KNL] Set root filesystem mount option string
4962
4963        rootfstype=     [KNL] Set root filesystem type
4964
4965        rootwait        [KNL] Wait (indefinitely) for root device to show up.
4966                        Useful for devices that are detected asynchronously
4967                        (e.g. USB and MMC devices).
4968
4969        rproc_mem=nn[KMG][@address]
4970                        [KNL,ARM,CMA] Remoteproc physical memory block.
4971                        Memory area to be used by remote processor image,
4972                        managed by CMA.
4973
4974        rw              [KNL] Mount root device read-write on boot
4975
4976        S               [KNL] Run init in single mode
4977
4978        s390_iommu=     [HW,S390]
4979                        Set s390 IOTLB flushing mode
4980                strict
4981                        With strict flushing every unmap operation will result in
4982                        an IOTLB flush. Default is lazy flushing before reuse,
4983                        which is faster.
4984
4985        sa1100ir        [NET]
4986                        See drivers/net/irda/sa1100_ir.c.
4987
4988        sched_verbose   [KNL] Enables verbose scheduler debug messages.
4989
4990        schedstats=     [KNL,X86] Enable or disable scheduled statistics.
4991                        Allowed values are enable and disable. This feature
4992                        incurs a small amount of overhead in the scheduler
4993                        but is useful for debugging and performance tuning.
4994
4995        sched_thermal_decay_shift=
4996                        [KNL, SMP] Set a decay shift for scheduler thermal
4997                        pressure signal. Thermal pressure signal follows the
4998                        default decay period of other scheduler pelt
4999                        signals(usually 32 ms but configurable). Setting
5000                        sched_thermal_decay_shift will left shift the decay
5001                        period for the thermal pressure signal by the shift
5002                        value.
5003                        i.e. with the default pelt decay period of 32 ms
5004                        sched_thermal_decay_shift   thermal pressure decay pr
5005                                1                       64 ms
5006                                2                       128 ms
5007                        and so on.
5008                        Format: integer between 0 and 10
5009                        Default is 0.
5010
5011        scftorture.holdoff= [KNL]
5012                        Number of seconds to hold off before starting
5013                        test.  Defaults to zero for module insertion and
5014                        to 10 seconds for built-in smp_call_function()
5015                        tests.
5016
5017        scftorture.longwait= [KNL]
5018                        Request ridiculously long waits randomly selected
5019                        up to the chosen limit in seconds.  Zero (the
5020                        default) disables this feature.  Please note
5021                        that requesting even small non-zero numbers of
5022                        seconds can result in RCU CPU stall warnings,
5023                        softlockup complaints, and so on.
5024
5025        scftorture.nthreads= [KNL]
5026                        Number of kthreads to spawn to invoke the
5027                        smp_call_function() family of functions.
5028                        The default of -1 specifies a number of kthreads
5029                        equal to the number of CPUs.
5030
5031        scftorture.onoff_holdoff= [KNL]
5032                        Number seconds to wait after the start of the
5033                        test before initiating CPU-hotplug operations.
5034
5035        scftorture.onoff_interval= [KNL]
5036                        Number seconds to wait between successive
5037                        CPU-hotplug operations.  Specifying zero (which
5038                        is the default) disables CPU-hotplug operations.
5039
5040        scftorture.shutdown_secs= [KNL]
5041                        The number of seconds following the start of the
5042                        test after which to shut down the system.  The
5043                        default of zero avoids shutting down the system.
5044                        Non-zero values are useful for automated tests.
5045
5046        scftorture.stat_interval= [KNL]
5047                        The number of seconds between outputting the
5048                        current test statistics to the console.  A value
5049                        of zero disables statistics output.
5050
5051        scftorture.stutter_cpus= [KNL]
5052                        The number of jiffies to wait between each change
5053                        to the set of CPUs under test.
5054
5055        scftorture.use_cpus_read_lock= [KNL]
5056                        Use use_cpus_read_lock() instead of the default
5057                        preempt_disable() to disable CPU hotplug
5058                        while invoking one of the smp_call_function*()
5059                        functions.
5060
5061        scftorture.verbose= [KNL]
5062                        Enable additional printk() statements.
5063
5064        scftorture.weight_single= [KNL]
5065                        The probability weighting to use for the
5066                        smp_call_function_single() function with a zero
5067                        "wait" parameter.  A value of -1 selects the
5068                        default if all other weights are -1.  However,
5069                        if at least one weight has some other value, a
5070                        value of -1 will instead select a weight of zero.
5071
5072        scftorture.weight_single_wait= [KNL]
5073                        The probability weighting to use for the
5074                        smp_call_function_single() function with a
5075                        non-zero "wait" parameter.  See weight_single.
5076
5077        scftorture.weight_many= [KNL]
5078                        The probability weighting to use for the
5079                        smp_call_function_many() function with a zero
5080                        "wait" parameter.  See weight_single.
5081                        Note well that setting a high probability for
5082                        this weighting can place serious IPI load
5083                        on the system.
5084
5085        scftorture.weight_many_wait= [KNL]
5086                        The probability weighting to use for the
5087                        smp_call_function_many() function with a
5088                        non-zero "wait" parameter.  See weight_single
5089                        and weight_many.
5090
5091        scftorture.weight_all= [KNL]
5092                        The probability weighting to use for the
5093                        smp_call_function_all() function with a zero
5094                        "wait" parameter.  See weight_single and
5095                        weight_many.
5096
5097        scftorture.weight_all_wait= [KNL]
5098                        The probability weighting to use for the
5099                        smp_call_function_all() function with a
5100                        non-zero "wait" parameter.  See weight_single
5101                        and weight_many.
5102
5103        skew_tick=      [KNL] Offset the periodic timer tick per cpu to mitigate
5104                        xtime_lock contention on larger systems, and/or RCU lock
5105                        contention on all systems with CONFIG_MAXSMP set.
5106                        Format: { "0" | "1" }
5107                        0 -- disable. (may be 1 via CONFIG_CMDLINE="skew_tick=1"
5108                        1 -- enable.
5109                        Note: increases power consumption, thus should only be
5110                        enabled if running jitter sensitive (HPC/RT) workloads.
5111
5112        security=       [SECURITY] Choose a legacy "major" security module to
5113                        enable at boot. This has been deprecated by the
5114                        "lsm=" parameter.
5115
5116        selinux=        [SELINUX] Disable or enable SELinux at boot time.
5117                        Format: { "0" | "1" }
5118                        See security/selinux/Kconfig help text.
5119                        0 -- disable.
5120                        1 -- enable.
5121                        Default value is 1.
5122
5123        apparmor=       [APPARMOR] Disable or enable AppArmor at boot time
5124                        Format: { "0" | "1" }
5125                        See security/apparmor/Kconfig help text
5126                        0 -- disable.
5127                        1 -- enable.
5128                        Default value is set via kernel config option.
5129
5130        serialnumber    [BUGS=X86-32]
5131
5132        shapers=        [NET]
5133                        Maximal number of shapers.
5134
5135        simeth=         [IA-64]
5136        simscsi=
5137
5138        slram=          [HW,MTD]
5139
5140        slab_merge      [MM]
5141                        Enable merging of slabs with similar size when the
5142                        kernel is built without CONFIG_SLAB_MERGE_DEFAULT.
5143
5144        slab_nomerge    [MM]
5145                        Disable merging of slabs with similar size. May be
5146                        necessary if there is some reason to distinguish
5147                        allocs to different slabs, especially in hardened
5148                        environments where the risk of heap overflows and
5149                        layout control by attackers can usually be
5150                        frustrated by disabling merging. This will reduce
5151                        most of the exposure of a heap attack to a single
5152                        cache (risks via metadata attacks are mostly
5153                        unchanged). Debug options disable merging on their
5154                        own.
5155                        For more information see Documentation/vm/slub.rst.
5156
5157        slab_max_order= [MM, SLAB]
5158                        Determines the maximum allowed order for slabs.
5159                        A high setting may cause OOMs due to memory
5160                        fragmentation.  Defaults to 1 for systems with
5161                        more than 32MB of RAM, 0 otherwise.
5162
5163        slub_debug[=options[,slabs][;[options[,slabs]]...]      [MM, SLUB]
5164                        Enabling slub_debug allows one to determine the
5165                        culprit if slab objects become corrupted. Enabling
5166                        slub_debug can create guard zones around objects and
5167                        may poison objects when not in use. Also tracks the
5168                        last alloc / free. For more information see
5169                        Documentation/vm/slub.rst.
5170
5171        slub_max_order= [MM, SLUB]
5172                        Determines the maximum allowed order for slabs.
5173                        A high setting may cause OOMs due to memory
5174                        fragmentation. For more information see
5175                        Documentation/vm/slub.rst.
5176
5177        slub_min_objects=       [MM, SLUB]
5178                        The minimum number of objects per slab. SLUB will
5179                        increase the slab order up to slub_max_order to
5180                        generate a sufficiently large slab able to contain
5181                        the number of objects indicated. The higher the number
5182                        of objects the smaller the overhead of tracking slabs
5183                        and the less frequently locks need to be acquired.
5184                        For more information see Documentation/vm/slub.rst.
5185
5186        slub_min_order= [MM, SLUB]
5187                        Determines the minimum page order for slabs. Must be
5188                        lower than slub_max_order.
5189                        For more information see Documentation/vm/slub.rst.
5190
5191        slub_merge      [MM, SLUB]
5192                        Same with slab_merge.
5193
5194        slub_nomerge    [MM, SLUB]
5195                        Same with slab_nomerge. This is supported for legacy.
5196                        See slab_nomerge for more information.
5197
5198        smart2=         [HW]
5199                        Format: <io1>[,<io2>[,...,<io8>]]
5200
5201        smsc-ircc2.nopnp        [HW] Don't use PNP to discover SMC devices
5202        smsc-ircc2.ircc_cfg=    [HW] Device configuration I/O port
5203        smsc-ircc2.ircc_sir=    [HW] SIR base I/O port
5204        smsc-ircc2.ircc_fir=    [HW] FIR base I/O port
5205        smsc-ircc2.ircc_irq=    [HW] IRQ line
5206        smsc-ircc2.ircc_dma=    [HW] DMA channel
5207        smsc-ircc2.ircc_transceiver= [HW] Transceiver type:
5208                                0: Toshiba Satellite 1800 (GP data pin select)
5209                                1: Fast pin select (default)
5210                                2: ATC IRMode
5211
5212        smt             [KNL,S390] Set the maximum number of threads (logical
5213                        CPUs) to use per physical CPU on systems capable of
5214                        symmetric multithreading (SMT). Will be capped to the
5215                        actual hardware limit.
5216                        Format: <integer>
5217                        Default: -1 (no limit)
5218
5219        softlockup_panic=
5220                        [KNL] Should the soft-lockup detector generate panics.
5221                        Format: 0 | 1
5222
5223                        A value of 1 instructs the soft-lockup detector
5224                        to panic the machine when a soft-lockup occurs. It is
5225                        also controlled by the kernel.softlockup_panic sysctl
5226                        and CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC, which is the
5227                        respective build-time switch to that functionality.
5228
5229        softlockup_all_cpu_backtrace=
5230                        [KNL] Should the soft-lockup detector generate
5231                        backtraces on all cpus.
5232                        Format: 0 | 1
5233
5234        sonypi.*=       [HW] Sony Programmable I/O Control Device driver
5235                        See Documentation/admin-guide/laptops/sonypi.rst
5236
5237        spectre_v2=     [X86] Control mitigation of Spectre variant 2
5238                        (indirect branch speculation) vulnerability.
5239                        The default operation protects the kernel from
5240                        user space attacks.
5241
5242                        on   - unconditionally enable, implies
5243                               spectre_v2_user=on
5244                        off  - unconditionally disable, implies
5245                               spectre_v2_user=off
5246                        auto - kernel detects whether your CPU model is
5247                               vulnerable
5248
5249                        Selecting 'on' will, and 'auto' may, choose a
5250                        mitigation method at run time according to the
5251                        CPU, the available microcode, the setting of the
5252                        CONFIG_RETPOLINE configuration option, and the
5253                        compiler with which the kernel was built.
5254
5255                        Selecting 'on' will also enable the mitigation
5256                        against user space to user space task attacks.
5257
5258                        Selecting 'off' will disable both the kernel and
5259                        the user space protections.
5260
5261                        Specific mitigations can also be selected manually:
5262
5263                        retpoline         - replace indirect branches
5264                        retpoline,generic - google's original retpoline
5265                        retpoline,amd     - AMD-specific minimal thunk
5266
5267                        Not specifying this option is equivalent to
5268                        spectre_v2=auto.
5269
5270        spectre_v2_user=
5271                        [X86] Control mitigation of Spectre variant 2
5272                        (indirect branch speculation) vulnerability between
5273                        user space tasks
5274
5275                        on      - Unconditionally enable mitigations. Is
5276                                  enforced by spectre_v2=on
5277
5278                        off     - Unconditionally disable mitigations. Is
5279                                  enforced by spectre_v2=off
5280
5281                        prctl   - Indirect branch speculation is enabled,
5282                                  but mitigation can be enabled via prctl
5283                                  per thread.  The mitigation control state
5284                                  is inherited on fork.
5285
5286                        prctl,ibpb
5287                                - Like "prctl" above, but only STIBP is
5288                                  controlled per thread. IBPB is issued
5289                                  always when switching between different user
5290                                  space processes.
5291
5292                        seccomp
5293                                - Same as "prctl" above, but all seccomp
5294                                  threads will enable the mitigation unless
5295                                  they explicitly opt out.
5296
5297                        seccomp,ibpb
5298                                - Like "seccomp" above, but only STIBP is
5299                                  controlled per thread. IBPB is issued
5300                                  always when switching between different
5301                                  user space processes.
5302
5303                        auto    - Kernel selects the mitigation depending on
5304                                  the available CPU features and vulnerability.
5305
5306                        Default mitigation:
5307                        If CONFIG_SECCOMP=y then "seccomp", otherwise "prctl"
5308
5309                        Not specifying this option is equivalent to
5310                        spectre_v2_user=auto.
5311
5312        spec_store_bypass_disable=
5313                        [HW] Control Speculative Store Bypass (SSB) Disable mitigation
5314                        (Speculative Store Bypass vulnerability)
5315
5316                        Certain CPUs are vulnerable to an exploit against a
5317                        a common industry wide performance optimization known
5318                        as "Speculative Store Bypass" in which recent stores
5319                        to the same memory location may not be observed by
5320                        later loads during speculative execution. The idea
5321                        is that such stores are unlikely and that they can
5322                        be detected prior to instruction retirement at the
5323                        end of a particular speculation execution window.
5324
5325                        In vulnerable processors, the speculatively forwarded
5326                        store can be used in a cache side channel attack, for
5327                        example to read memory to which the attacker does not
5328                        directly have access (e.g. inside sandboxed code).
5329
5330                        This parameter controls whether the Speculative Store
5331                        Bypass optimization is used.
5332
5333                        On x86 the options are:
5334
5335                        on      - Unconditionally disable Speculative Store Bypass
5336                        off     - Unconditionally enable Speculative Store Bypass
5337                        auto    - Kernel detects whether the CPU model contains an
5338                                  implementation of Speculative Store Bypass and
5339                                  picks the most appropriate mitigation. If the
5340                                  CPU is not vulnerable, "off" is selected. If the
5341                                  CPU is vulnerable the default mitigation is
5342                                  architecture and Kconfig dependent. See below.
5343                        prctl   - Control Speculative Store Bypass per thread
5344                                  via prctl. Speculative Store Bypass is enabled
5345                                  for a process by default. The state of the control
5346                                  is inherited on fork.
5347                        seccomp - Same as "prctl" above, but all seccomp threads
5348                                  will disable SSB unless they explicitly opt out.
5349
5350                        Default mitigations:
5351                        X86:    If CONFIG_SECCOMP=y "seccomp", otherwise "prctl"
5352
5353                        On powerpc the options are:
5354
5355                        on,auto - On Power8 and Power9 insert a store-forwarding
5356                                  barrier on kernel entry and exit. On Power7
5357                                  perform a software flush on kernel entry and
5358                                  exit.
5359                        off     - No action.
5360
5361                        Not specifying this option is equivalent to
5362                        spec_store_bypass_disable=auto.
5363
5364        spia_io_base=   [HW,MTD]
5365        spia_fio_base=
5366        spia_pedr=
5367        spia_peddr=
5368
5369        split_lock_detect=
5370                        [X86] Enable split lock detection or bus lock detection
5371
5372                        When enabled (and if hardware support is present), atomic
5373                        instructions that access data across cache line
5374                        boundaries will result in an alignment check exception
5375                        for split lock detection or a debug exception for
5376                        bus lock detection.
5377
5378                        off     - not enabled
5379
5380                        warn    - the kernel will emit rate-limited warnings
5381                                  about applications triggering the #AC
5382                                  exception or the #DB exception. This mode is
5383                                  the default on CPUs that support split lock
5384                                  detection or bus lock detection. Default
5385                                  behavior is by #AC if both features are
5386                                  enabled in hardware.
5387
5388                        fatal   - the kernel will send SIGBUS to applications
5389                                  that trigger the #AC exception or the #DB
5390                                  exception. Default behavior is by #AC if
5391                                  both features are enabled in hardware.
5392
5393                        ratelimit:N -
5394                                  Set system wide rate limit to N bus locks
5395                                  per second for bus lock detection.
5396                                  0 < N <= 1000.
5397
5398                                  N/A for split lock detection.
5399
5400
5401                        If an #AC exception is hit in the kernel or in
5402                        firmware (i.e. not while executing in user mode)
5403                        the kernel will oops in either "warn" or "fatal"
5404                        mode.
5405
5406                        #DB exception for bus lock is triggered only when
5407                        CPL > 0.
5408
5409        srbds=          [X86,INTEL]
5410                        Control the Special Register Buffer Data Sampling
5411                        (SRBDS) mitigation.
5412
5413                        Certain CPUs are vulnerable to an MDS-like
5414                        exploit which can leak bits from the random
5415                        number generator.
5416
5417                        By default, this issue is mitigated by
5418                        microcode.  However, the microcode fix can cause
5419                        the RDRAND and RDSEED instructions to become
5420                        much slower.  Among other effects, this will
5421                        result in reduced throughput from /dev/urandom.
5422
5423                        The microcode mitigation can be disabled with
5424                        the following option:
5425
5426                        off:    Disable mitigation and remove
5427                                performance impact to RDRAND and RDSEED
5428
5429        srcutree.counter_wrap_check [KNL]
5430                        Specifies how frequently to check for
5431                        grace-period sequence counter wrap for the
5432                        srcu_data structure's ->srcu_gp_seq_needed field.
5433                        The greater the number of bits set in this kernel
5434                        parameter, the less frequently counter wrap will
5435                        be checked for.  Note that the bottom two bits
5436                        are ignored.
5437
5438        srcutree.exp_holdoff [KNL]
5439                        Specifies how many nanoseconds must elapse
5440                        since the end of the last SRCU grace period for
5441                        a given srcu_struct until the next normal SRCU
5442                        grace period will be considered for automatic
5443                        expediting.  Set to zero to disable automatic
5444                        expediting.
5445
5446        ssbd=           [ARM64,HW]
5447                        Speculative Store Bypass Disable control
5448
5449                        On CPUs that are vulnerable to the Speculative
5450                        Store Bypass vulnerability and offer a
5451                        firmware based mitigation, this parameter
5452                        indicates how the mitigation should be used:
5453
5454                        force-on:  Unconditionally enable mitigation for
5455                                   for both kernel and userspace
5456                        force-off: Unconditionally disable mitigation for
5457                                   for both kernel and userspace
5458                        kernel:    Always enable mitigation in the
5459                                   kernel, and offer a prctl interface
5460                                   to allow userspace to register its
5461                                   interest in being mitigated too.
5462
5463        stack_guard_gap=        [MM]
5464                        override the default stack gap protection. The value
5465                        is in page units and it defines how many pages prior
5466                        to (for stacks growing down) resp. after (for stacks
5467                        growing up) the main stack are reserved for no other
5468                        mapping. Default value is 256 pages.
5469
5470        stack_depot_disable= [KNL]
5471                        Setting this to true through kernel command line will
5472                        disable the stack depot thereby saving the static memory
5473                        consumed by the stack hash table. By default this is set
5474                        to false.
5475
5476        stacktrace      [FTRACE]
5477                        Enabled the stack tracer on boot up.
5478
5479        stacktrace_filter=[function-list]
5480                        [FTRACE] Limit the functions that the stack tracer
5481                        will trace at boot up. function-list is a comma-separated
5482                        list of functions. This list can be changed at run
5483                        time by the stack_trace_filter file in the debugfs
5484                        tracing directory. Note, this enables stack tracing
5485                        and the stacktrace above is not needed.
5486
5487        sti=            [PARISC,HW]
5488                        Format: <num>
5489                        Set the STI (builtin display/keyboard on the HP-PARISC
5490                        machines) console (graphic card) which should be used
5491                        as the initial boot-console.
5492                        See also comment in drivers/video/console/sticore.c.
5493
5494        sti_font=       [HW]
5495                        See comment in drivers/video/console/sticore.c.
5496
5497        stifb=          [HW]
5498                        Format: bpp:<bpp1>[:<bpp2>[:<bpp3>...]]
5499
5500        sunrpc.min_resvport=
5501        sunrpc.max_resvport=
5502                        [NFS,SUNRPC]
5503                        SunRPC servers often require that client requests
5504                        originate from a privileged port (i.e. a port in the
5505                        range 0 < portnr < 1024).
5506                        An administrator who wishes to reserve some of these
5507                        ports for other uses may adjust the range that the
5508                        kernel's sunrpc client considers to be privileged
5509                        using these two parameters to set the minimum and
5510                        maximum port values.
5511
5512        sunrpc.svc_rpc_per_connection_limit=
5513                        [NFS,SUNRPC]
5514                        Limit the number of requests that the server will
5515                        process in parallel from a single connection.
5516                        The default value is 0 (no limit).
5517
5518        sunrpc.pool_mode=
5519                        [NFS]
5520                        Control how the NFS server code allocates CPUs to
5521                        service thread pools.  Depending on how many NICs
5522                        you have and where their interrupts are bound, this
5523                        option will affect which CPUs will do NFS serving.
5524                        Note: this parameter cannot be changed while the
5525                        NFS server is running.
5526
5527                        auto        the server chooses an appropriate mode
5528                                    automatically using heuristics
5529                        global      a single global pool contains all CPUs
5530                        percpu      one pool for each CPU
5531                        pernode     one pool for each NUMA node (equivalent
5532                                    to global on non-NUMA machines)
5533
5534        sunrpc.tcp_slot_table_entries=
5535        sunrpc.udp_slot_table_entries=
5536                        [NFS,SUNRPC]
5537                        Sets the upper limit on the number of simultaneous
5538                        RPC calls that can be sent from the client to a
5539                        server. Increasing these values may allow you to
5540                        improve throughput, but will also increase the
5541                        amount of memory reserved for use by the client.
5542
5543        suspend.pm_test_delay=
5544                        [SUSPEND]
5545                        Sets the number of seconds to remain in a suspend test
5546                        mode before resuming the system (see
5547                        /sys/power/pm_test). Only available when CONFIG_PM_DEBUG
5548                        is set. Default value is 5.
5549
5550        svm=            [PPC]
5551                        Format: { on | off | y | n | 1 | 0 }
5552                        This parameter controls use of the Protected
5553                        Execution Facility on pSeries.
5554
5555        swapaccount=[0|1]
5556                        [KNL] Enable accounting of swap in memory resource
5557                        controller if no parameter or 1 is given or disable
5558                        it if 0 is given (See Documentation/admin-guide/cgroup-v1/memory.rst)
5559
5560        swiotlb=        [ARM,IA-64,PPC,MIPS,X86]
5561                        Format: { <int> | force | noforce }
5562                        <int> -- Number of I/O TLB slabs
5563                        force -- force using of bounce buffers even if they
5564                                 wouldn't be automatically used by the kernel
5565                        noforce -- Never use bounce buffers (for debugging)
5566
5567        switches=       [HW,M68k]
5568
5569        sysctl.*=       [KNL]
5570                        Set a sysctl parameter, right before loading the init
5571                        process, as if the value was written to the respective
5572                        /proc/sys/... file. Both '.' and '/' are recognized as
5573                        separators. Unrecognized parameters and invalid values
5574                        are reported in the kernel log. Sysctls registered
5575                        later by a loaded module cannot be set this way.
5576                        Example: sysctl.vm.swappiness=40
5577
5578        sysfs.deprecated=0|1 [KNL]
5579                        Enable/disable old style sysfs layout for old udev
5580                        on older distributions. When this option is enabled
5581                        very new udev will not work anymore. When this option
5582                        is disabled (or CONFIG_SYSFS_DEPRECATED not compiled)
5583                        in older udev will not work anymore.
5584                        Default depends on CONFIG_SYSFS_DEPRECATED_V2 set in
5585                        the kernel configuration.
5586
5587        sysrq_always_enabled
5588                        [KNL]
5589                        Ignore sysrq setting - this boot parameter will
5590                        neutralize any effect of /proc/sys/kernel/sysrq.
5591                        Useful for debugging.
5592
5593        tcpmhash_entries= [KNL,NET]
5594                        Set the number of tcp_metrics_hash slots.
5595                        Default value is 8192 or 16384 depending on total
5596                        ram pages. This is used to specify the TCP metrics
5597                        cache size. See Documentation/networking/ip-sysctl.rst
5598                        "tcp_no_metrics_save" section for more details.
5599
5600        tdfx=           [HW,DRM]
5601
5602        test_suspend=   [SUSPEND][,N]
5603                        Specify "mem" (for Suspend-to-RAM) or "standby" (for
5604                        standby suspend) or "freeze" (for suspend type freeze)
5605                        as the system sleep state during system startup with
5606                        the optional capability to repeat N number of times.
5607                        The system is woken from this state using a
5608                        wakeup-capable RTC alarm.
5609
5610        thash_entries=  [KNL,NET]
5611                        Set number of hash buckets for TCP connection
5612
5613        thermal.act=    [HW,ACPI]
5614                        -1: disable all active trip points in all thermal zones
5615                        <degrees C>: override all lowest active trip points
5616
5617        thermal.crt=    [HW,ACPI]
5618                        -1: disable all critical trip points in all thermal zones
5619                        <degrees C>: override all critical trip points
5620
5621        thermal.nocrt=  [HW,ACPI]
5622                        Set to disable actions on ACPI thermal zone
5623                        critical and hot trip points.
5624
5625        thermal.off=    [HW,ACPI]
5626                        1: disable ACPI thermal control
5627
5628        thermal.psv=    [HW,ACPI]
5629                        -1: disable all passive trip points
5630                        <degrees C>: override all passive trip points to this
5631                        value
5632
5633        thermal.tzp=    [HW,ACPI]
5634                        Specify global default ACPI thermal zone polling rate
5635                        <deci-seconds>: poll all this frequency
5636                        0: no polling (default)
5637
5638        threadirqs      [KNL]
5639                        Force threading of all interrupt handlers except those
5640                        marked explicitly IRQF_NO_THREAD.
5641
5642        topology=       [S390]
5643                        Format: {off | on}
5644                        Specify if the kernel should make use of the cpu
5645                        topology information if the hardware supports this.
5646                        The scheduler will make use of this information and
5647                        e.g. base its process migration decisions on it.
5648                        Default is on.
5649
5650        topology_updates= [KNL, PPC, NUMA]
5651                        Format: {off}
5652                        Specify if the kernel should ignore (off)
5653                        topology updates sent by the hypervisor to this
5654                        LPAR.
5655
5656        torture.disable_onoff_at_boot= [KNL]
5657                        Prevent the CPU-hotplug component of torturing
5658                        until after init has spawned.
5659
5660        torture.ftrace_dump_at_shutdown= [KNL]
5661                        Dump the ftrace buffer at torture-test shutdown,
5662                        even if there were no errors.  This can be a
5663                        very costly operation when many torture tests
5664                        are running concurrently, especially on systems
5665                        with rotating-rust storage.
5666
5667        torture.verbose_sleep_frequency= [KNL]
5668                        Specifies how many verbose printk()s should be
5669                        emitted between each sleep.  The default of zero
5670                        disables verbose-printk() sleeping.
5671
5672        torture.verbose_sleep_duration= [KNL]
5673                        Duration of each verbose-printk() sleep in jiffies.
5674
5675        tp720=          [HW,PS2]
5676
5677        tpm_suspend_pcr=[HW,TPM]
5678                        Format: integer pcr id
5679                        Specify that at suspend time, the tpm driver
5680                        should extend the specified pcr with zeros,
5681                        as a workaround for some chips which fail to
5682                        flush the last written pcr on TPM_SaveState.
5683                        This will guarantee that all the other pcrs
5684                        are saved.
5685
5686        trace_buf_size=nn[KMG]
5687                        [FTRACE] will set tracing buffer size on each cpu.
5688
5689        trace_event=[event-list]
5690                        [FTRACE] Set and start specified trace events in order
5691                        to facilitate early boot debugging. The event-list is a
5692                        comma-separated list of trace events to enable. See
5693                        also Documentation/trace/events.rst
5694
5695        trace_options=[option-list]
5696                        [FTRACE] Enable or disable tracer options at boot.
5697                        The option-list is a comma delimited list of options
5698                        that can be enabled or disabled just as if you were
5699                        to echo the option name into
5700
5701                            /sys/kernel/debug/tracing/trace_options
5702
5703                        For example, to enable stacktrace option (to dump the
5704                        stack trace of each event), add to the command line:
5705
5706                              trace_options=stacktrace
5707
5708                        See also Documentation/trace/ftrace.rst "trace options"
5709                        section.
5710
5711        tp_printk[FTRACE]
5712                        Have the tracepoints sent to printk as well as the
5713                        tracing ring buffer. This is useful for early boot up
5714                        where the system hangs or reboots and does not give the
5715                        option for reading the tracing buffer or performing a
5716                        ftrace_dump_on_oops.
5717
5718                        To turn off having tracepoints sent to printk,
5719                         echo 0 > /proc/sys/kernel/tracepoint_printk
5720                        Note, echoing 1 into this file without the
5721                        tracepoint_printk kernel cmdline option has no effect.
5722
5723                        The tp_printk_stop_on_boot (see below) can also be used
5724                        to stop the printing of events to console at
5725                        late_initcall_sync.
5726
5727                        ** CAUTION **
5728
5729                        Having tracepoints sent to printk() and activating high
5730                        frequency tracepoints such as irq or sched, can cause
5731                        the system to live lock.
5732
5733        tp_printk_stop_on_boot[FTRACE]
5734                        When tp_printk (above) is set, it can cause a lot of noise
5735                        on the console. It may be useful to only include the
5736                        printing of events during boot up, as user space may
5737                        make the system inoperable.
5738
5739                        This command line option will stop the printing of events
5740                        to console at the late_initcall_sync() time frame.
5741
5742        traceoff_on_warning
5743                        [FTRACE] enable this option to disable tracing when a
5744                        warning is hit. This turns off "tracing_on". Tracing can
5745                        be enabled again by echoing '1' into the "tracing_on"
5746                        file located in /sys/kernel/debug/tracing/
5747
5748                        This option is useful, as it disables the trace before
5749                        the WARNING dump is called, which prevents the trace to
5750                        be filled with content caused by the warning output.
5751
5752                        This option can also be set at run time via the sysctl
5753                        option:  kernel/traceoff_on_warning
5754
5755        transparent_hugepage=
5756                        [KNL]
5757                        Format: [always|madvise|never]
5758                        Can be used to control the default behavior of the system
5759                        with respect to transparent hugepages.
5760                        See Documentation/admin-guide/mm/transhuge.rst
5761                        for more details.
5762
5763        trusted.source= [KEYS]
5764                        Format: <string>
5765                        This parameter identifies the trust source as a backend
5766                        for trusted keys implementation. Supported trust
5767                        sources:
5768                        - "tpm"
5769                        - "tee"
5770                        If not specified then it defaults to iterating through
5771                        the trust source list starting with TPM and assigns the
5772                        first trust source as a backend which is initialized
5773                        successfully during iteration.
5774
5775        tsc=            Disable clocksource stability checks for TSC.
5776                        Format: <string>
5777                        [x86] reliable: mark tsc clocksource as reliable, this
5778                        disables clocksource verification at runtime, as well
5779                        as the stability checks done at bootup. Used to enable
5780                        high-resolution timer mode on older hardware, and in
5781                        virtualized environment.
5782                        [x86] noirqtime: Do not use TSC to do irq accounting.
5783                        Used to run time disable IRQ_TIME_ACCOUNTING on any
5784                        platforms where RDTSC is slow and this accounting
5785                        can add overhead.
5786                        [x86] unstable: mark the TSC clocksource as unstable, this
5787                        marks the TSC unconditionally unstable at bootup and
5788                        avoids any further wobbles once the TSC watchdog notices.
5789                        [x86] nowatchdog: disable clocksource watchdog. Used
5790                        in situations with strict latency requirements (where
5791                        interruptions from clocksource watchdog are not
5792                        acceptable).
5793
5794        tsc_early_khz=  [X86] Skip early TSC calibration and use the given
5795                        value instead. Useful when the early TSC frequency discovery
5796                        procedure is not reliable, such as on overclocked systems
5797                        with CPUID.16h support and partial CPUID.15h support.
5798                        Format: <unsigned int>
5799
5800        tsx=            [X86] Control Transactional Synchronization
5801                        Extensions (TSX) feature in Intel processors that
5802                        support TSX control.
5803
5804                        This parameter controls the TSX feature. The options are:
5805
5806                        on      - Enable TSX on the system. Although there are
5807                                mitigations for all known security vulnerabilities,
5808                                TSX has been known to be an accelerator for
5809                                several previous speculation-related CVEs, and
5810                                so there may be unknown security risks associated
5811                                with leaving it enabled.
5812
5813                        off     - Disable TSX on the system. (Note that this
5814                                option takes effect only on newer CPUs which are
5815                                not vulnerable to MDS, i.e., have
5816                                MSR_IA32_ARCH_CAPABILITIES.MDS_NO=1 and which get
5817                                the new IA32_TSX_CTRL MSR through a microcode
5818                                update. This new MSR allows for the reliable
5819                                deactivation of the TSX functionality.)
5820
5821                        auto    - Disable TSX if X86_BUG_TAA is present,
5822                                  otherwise enable TSX on the system.
5823
5824                        Not specifying this option is equivalent to tsx=off.
5825
5826                        See Documentation/admin-guide/hw-vuln/tsx_async_abort.rst
5827                        for more details.
5828
5829        tsx_async_abort= [X86,INTEL] Control mitigation for the TSX Async
5830                        Abort (TAA) vulnerability.
5831
5832                        Similar to Micro-architectural Data Sampling (MDS)
5833                        certain CPUs that support Transactional
5834                        Synchronization Extensions (TSX) are vulnerable to an
5835                        exploit against CPU internal buffers which can forward
5836                        information to a disclosure gadget under certain
5837                        conditions.
5838
5839                        In vulnerable processors, the speculatively forwarded
5840                        data can be used in a cache side channel attack, to
5841                        access data to which the attacker does not have direct
5842                        access.
5843
5844                        This parameter controls the TAA mitigation.  The
5845                        options are:
5846
5847                        full       - Enable TAA mitigation on vulnerable CPUs
5848                                     if TSX is enabled.
5849
5850                        full,nosmt - Enable TAA mitigation and disable SMT on
5851                                     vulnerable CPUs. If TSX is disabled, SMT
5852                                     is not disabled because CPU is not
5853                                     vulnerable to cross-thread TAA attacks.
5854                        off        - Unconditionally disable TAA mitigation
5855
5856                        On MDS-affected machines, tsx_async_abort=off can be
5857                        prevented by an active MDS mitigation as both vulnerabilities
5858                        are mitigated with the same mechanism so in order to disable
5859                        this mitigation, you need to specify mds=off too.
5860
5861                        Not specifying this option is equivalent to
5862                        tsx_async_abort=full.  On CPUs which are MDS affected
5863                        and deploy MDS mitigation, TAA mitigation is not
5864                        required and doesn't provide any additional
5865                        mitigation.
5866
5867                        For details see:
5868                        Documentation/admin-guide/hw-vuln/tsx_async_abort.rst
5869
5870        turbografx.map[2|3]=    [HW,JOY]
5871                        TurboGraFX parallel port interface
5872                        Format:
5873                        <port#>,<js1>,<js2>,<js3>,<js4>,<js5>,<js6>,<js7>
5874                        See also Documentation/input/devices/joystick-parport.rst
5875
5876        udbg-immortal   [PPC] When debugging early kernel crashes that
5877                        happen after console_init() and before a proper
5878                        console driver takes over, this boot options might
5879                        help "seeing" what's going on.
5880
5881        uhash_entries=  [KNL,NET]
5882                        Set number of hash buckets for UDP/UDP-Lite connections
5883
5884        uhci-hcd.ignore_oc=
5885                        [USB] Ignore overcurrent events (default N).
5886                        Some badly-designed motherboards generate lots of
5887                        bogus events, for ports that aren't wired to
5888                        anything.  Set this parameter to avoid log spamming.
5889                        Note that genuine overcurrent events won't be
5890                        reported either.
5891
5892        unknown_nmi_panic
5893                        [X86] Cause panic on unknown NMI.
5894
5895        usbcore.authorized_default=
5896                        [USB] Default USB device authorization:
5897                        (default -1 = authorized except for wireless USB,
5898                        0 = not authorized, 1 = authorized, 2 = authorized
5899                        if device connected to internal port)
5900
5901        usbcore.autosuspend=
5902                        [USB] The autosuspend time delay (in seconds) used
5903                        for newly-detected USB devices (default 2).  This
5904                        is the time required before an idle device will be
5905                        autosuspended.  Devices for which the delay is set
5906                        to a negative value won't be autosuspended at all.
5907
5908        usbcore.usbfs_snoop=
5909                        [USB] Set to log all usbfs traffic (default 0 = off).
5910
5911        usbcore.usbfs_snoop_max=
5912                        [USB] Maximum number of bytes to snoop in each URB
5913                        (default = 65536).
5914
5915        usbcore.blinkenlights=
5916                        [USB] Set to cycle leds on hubs (default 0 = off).
5917
5918        usbcore.old_scheme_first=
5919                        [USB] Start with the old device initialization
5920                        scheme (default 0 = off).
5921
5922        usbcore.usbfs_memory_mb=
5923                        [USB] Memory limit (in MB) for buffers allocated by
5924                        usbfs (default = 16, 0 = max = 2047).
5925
5926        usbcore.use_both_schemes=
5927                        [USB] Try the other device initialization scheme
5928                        if the first one fails (default 1 = enabled).
5929
5930        usbcore.initial_descriptor_timeout=
5931                        [USB] Specifies timeout for the initial 64-byte
5932                        USB_REQ_GET_DESCRIPTOR request in milliseconds
5933                        (default 5000 = 5.0 seconds).
5934
5935        usbcore.nousb   [USB] Disable the USB subsystem
5936
5937        usbcore.quirks=
5938                        [USB] A list of quirk entries to augment the built-in
5939                        usb core quirk list. List entries are separated by
5940                        commas. Each entry has the form
5941                        VendorID:ProductID:Flags. The IDs are 4-digit hex
5942                        numbers and Flags is a set of letters. Each letter
5943                        will change the built-in quirk; setting it if it is
5944                        clear and clearing it if it is set. The letters have
5945                        the following meanings:
5946                                a = USB_QUIRK_STRING_FETCH_255 (string
5947                                        descriptors must not be fetched using
5948                                        a 255-byte read);
5949                                b = USB_QUIRK_RESET_RESUME (device can't resume
5950                                        correctly so reset it instead);
5951                                c = USB_QUIRK_NO_SET_INTF (device can't handle
5952                                        Set-Interface requests);
5953                                d = USB_QUIRK_CONFIG_INTF_STRINGS (device can't
5954                                        handle its Configuration or Interface
5955                                        strings);
5956                                e = USB_QUIRK_RESET (device can't be reset
5957                                        (e.g morph devices), don't use reset);
5958                                f = USB_QUIRK_HONOR_BNUMINTERFACES (device has
5959                                        more interface descriptions than the
5960                                        bNumInterfaces count, and can't handle
5961                                        talking to these interfaces);
5962                                g = USB_QUIRK_DELAY_INIT (device needs a pause
5963                                        during initialization, after we read
5964                                        the device descriptor);
5965                                h = USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL (For
5966                                        high speed and super speed interrupt
5967                                        endpoints, the USB 2.0 and USB 3.0 spec
5968                                        require the interval in microframes (1
5969                                        microframe = 125 microseconds) to be
5970                                        calculated as interval = 2 ^
5971                                        (bInterval-1).
5972                                        Devices with this quirk report their
5973                                        bInterval as the result of this
5974                                        calculation instead of the exponent
5975                                        variable used in the calculation);
5976                                i = USB_QUIRK_DEVICE_QUALIFIER (device can't
5977                                        handle device_qualifier descriptor
5978                                        requests);
5979                                j = USB_QUIRK_IGNORE_REMOTE_WAKEUP (device
5980                                        generates spurious wakeup, ignore
5981                                        remote wakeup capability);
5982                                k = USB_QUIRK_NO_LPM (device can't handle Link
5983                                        Power Management);
5984                                l = USB_QUIRK_LINEAR_FRAME_INTR_BINTERVAL
5985                                        (Device reports its bInterval as linear
5986                                        frames instead of the USB 2.0
5987                                        calculation);
5988                                m = USB_QUIRK_DISCONNECT_SUSPEND (Device needs
5989                                        to be disconnected before suspend to
5990                                        prevent spurious wakeup);
5991                                n = USB_QUIRK_DELAY_CTRL_MSG (Device needs a
5992                                        pause after every control message);
5993                                o = USB_QUIRK_HUB_SLOW_RESET (Hub needs extra
5994                                        delay after resetting its port);
5995                        Example: quirks=0781:5580:bk,0a5c:5834:gij
5996
5997        usbhid.mousepoll=
5998                        [USBHID] The interval which mice are to be polled at.
5999
6000        usbhid.jspoll=
6001                        [USBHID] The interval which joysticks are to be polled at.
6002
6003        usbhid.kbpoll=
6004                        [USBHID] The interval which keyboards are to be polled at.
6005
6006        usb-storage.delay_use=
6007                        [UMS] The delay in seconds before a new device is
6008                        scanned for Logical Units (default 1).
6009
6010        usb-storage.quirks=
6011                        [UMS] A list of quirks entries to supplement or
6012                        override the built-in unusual_devs list.  List
6013                        entries are separated by commas.  Each entry has
6014                        the form VID:PID:Flags where VID and PID are Vendor
6015                        and Product ID values (4-digit hex numbers) and
6016                        Flags is a set of characters, each corresponding
6017                        to a common usb-storage quirk flag as follows:
6018                                a = SANE_SENSE (collect more than 18 bytes
6019                                        of sense data, not on uas);
6020                                b = BAD_SENSE (don't collect more than 18
6021                                        bytes of sense data, not on uas);
6022                                c = FIX_CAPACITY (decrease the reported
6023                                        device capacity by one sector);
6024                                d = NO_READ_DISC_INFO (don't use
6025                                        READ_DISC_INFO command, not on uas);
6026                                e = NO_READ_CAPACITY_16 (don't use
6027                                        READ_CAPACITY_16 command);
6028                                f = NO_REPORT_OPCODES (don't use report opcodes
6029                                        command, uas only);
6030                                g = MAX_SECTORS_240 (don't transfer more than
6031                                        240 sectors at a time, uas only);
6032                                h = CAPACITY_HEURISTICS (decrease the
6033                                        reported device capacity by one
6034                                        sector if the number is odd);
6035                                i = IGNORE_DEVICE (don't bind to this
6036                                        device);
6037                                j = NO_REPORT_LUNS (don't use report luns
6038                                        command, uas only);
6039                                k = NO_SAME (do not use WRITE_SAME, uas only)
6040                                l = NOT_LOCKABLE (don't try to lock and
6041                                        unlock ejectable media, not on uas);
6042                                m = MAX_SECTORS_64 (don't transfer more
6043                                        than 64 sectors = 32 KB at a time,
6044                                        not on uas);
6045                                n = INITIAL_READ10 (force a retry of the
6046                                        initial READ(10) command, not on uas);
6047                                o = CAPACITY_OK (accept the capacity
6048                                        reported by the device, not on uas);
6049                                p = WRITE_CACHE (the device cache is ON
6050                                        by default, not on uas);
6051                                r = IGNORE_RESIDUE (the device reports
6052                                        bogus residue values, not on uas);
6053                                s = SINGLE_LUN (the device has only one
6054                                        Logical Unit);
6055                                t = NO_ATA_1X (don't allow ATA(12) and ATA(16)
6056                                        commands, uas only);
6057                                u = IGNORE_UAS (don't bind to the uas driver);
6058                                w = NO_WP_DETECT (don't test whether the
6059                                        medium is write-protected).
6060                                y = ALWAYS_SYNC (issue a SYNCHRONIZE_CACHE
6061                                        even if the device claims no cache,
6062                                        not on uas)
6063                        Example: quirks=0419:aaf5:rl,0421:0433:rc
6064
6065        user_debug=     [KNL,ARM]
6066                        Format: <int>
6067                        See arch/arm/Kconfig.debug help text.
6068                                 1 - undefined instruction events
6069                                 2 - system calls
6070                                 4 - invalid data aborts
6071                                 8 - SIGSEGV faults
6072                                16 - SIGBUS faults
6073                        Example: user_debug=31
6074
6075        userpte=
6076                        [X86] Flags controlling user PTE allocations.
6077
6078                                nohigh = do not allocate PTE pages in
6079                                        HIGHMEM regardless of setting
6080                                        of CONFIG_HIGHPTE.
6081
6082        vdso=           [X86,SH]
6083                        On X86_32, this is an alias for vdso32=.  Otherwise:
6084
6085                        vdso=1: enable VDSO (the default)
6086                        vdso=0: disable VDSO mapping
6087
6088        vdso32=         [X86] Control the 32-bit vDSO
6089                        vdso32=1: enable 32-bit VDSO
6090                        vdso32=0 or vdso32=2: disable 32-bit VDSO
6091
6092                        See the help text for CONFIG_COMPAT_VDSO for more
6093                        details.  If CONFIG_COMPAT_VDSO is set, the default is
6094                        vdso32=0; otherwise, the default is vdso32=1.
6095
6096                        For compatibility with older kernels, vdso32=2 is an
6097                        alias for vdso32=0.
6098
6099                        Try vdso32=0 if you encounter an error that says:
6100                        dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
6101
6102        vector=         [IA-64,SMP]
6103                        vector=percpu: enable percpu vector domain
6104
6105        video=          [FB] Frame buffer configuration
6106                        See Documentation/fb/modedb.rst.
6107
6108        video.brightness_switch_enabled= [0,1]
6109                        If set to 1, on receiving an ACPI notify event
6110                        generated by hotkey, video driver will adjust brightness
6111                        level and then send out the event to user space through
6112                        the allocated input device; If set to 0, video driver
6113                        will only send out the event without touching backlight
6114                        brightness level.
6115                        default: 1
6116
6117        virtio_mmio.device=
6118                        [VMMIO] Memory mapped virtio (platform) device.
6119
6120                                <size>@<baseaddr>:<irq>[:<id>]
6121                        where:
6122                                <size>     := size (can use standard suffixes
6123                                                like K, M and G)
6124                                <baseaddr> := physical base address
6125                                <irq>      := interrupt number (as passed to
6126                                                request_irq())
6127                                <id>       := (optional) platform device id
6128                        example:
6129                                virtio_mmio.device=1K@0x100b0000:48:7
6130
6131                        Can be used multiple times for multiple devices.
6132
6133        vga=            [BOOT,X86-32] Select a particular video mode
6134                        See Documentation/x86/boot.rst and
6135                        Documentation/admin-guide/svga.rst.
6136                        Use vga=ask for menu.
6137                        This is actually a boot loader parameter; the value is
6138                        passed to the kernel using a special protocol.
6139
6140        vm_debug[=options]      [KNL] Available with CONFIG_DEBUG_VM=y.
6141                        May slow down system boot speed, especially when
6142                        enabled on systems with a large amount of memory.
6143                        All options are enabled by default, and this
6144                        interface is meant to allow for selectively
6145                        enabling or disabling specific virtual memory
6146                        debugging features.
6147
6148                        Available options are:
6149                          P     Enable page structure init time poisoning
6150                          -     Disable all of the above options
6151
6152        vmalloc=nn[KMG] [KNL,BOOT] Forces the vmalloc area to have an exact
6153                        size of <nn>. This can be used to increase the
6154                        minimum size (128MB on x86). It can also be used to
6155                        decrease the size and leave more room for directly
6156                        mapped kernel RAM.
6157
6158        vmcp_cma=nn[MG] [KNL,S390]
6159                        Sets the memory size reserved for contiguous memory
6160                        allocations for the vmcp device driver.
6161
6162        vmhalt=         [KNL,S390] Perform z/VM CP command after system halt.
6163                        Format: <command>
6164
6165        vmpanic=        [KNL,S390] Perform z/VM CP command after kernel panic.
6166                        Format: <command>
6167
6168        vmpoff=         [KNL,S390] Perform z/VM CP command after power off.
6169                        Format: <command>
6170
6171        vsyscall=       [X86-64]
6172                        Controls the behavior of vsyscalls (i.e. calls to
6173                        fixed addresses of 0xffffffffff600x00 from legacy
6174                        code).  Most statically-linked binaries and older
6175                        versions of glibc use these calls.  Because these
6176                        functions are at fixed addresses, they make nice
6177                        targets for exploits that can control RIP.
6178
6179                        emulate     [default] Vsyscalls turn into traps and are
6180                                    emulated reasonably safely.  The vsyscall
6181                                    page is readable.
6182
6183                        xonly       Vsyscalls turn into traps and are
6184                                    emulated reasonably safely.  The vsyscall
6185                                    page is not readable.
6186
6187                        none        Vsyscalls don't work at all.  This makes
6188                                    them quite hard to use for exploits but
6189                                    might break your system.
6190
6191        vt.color=       [VT] Default text color.
6192                        Format: 0xYX, X = foreground, Y = background.
6193                        Default: 0x07 = light gray on black.
6194
6195        vt.cur_default= [VT] Default cursor shape.
6196                        Format: 0xCCBBAA, where AA, BB, and CC are the same as
6197                        the parameters of the <Esc>[?A;B;Cc escape sequence;
6198                        see VGA-softcursor.txt. Default: 2 = underline.
6199
6200        vt.default_blu= [VT]
6201                        Format: <blue0>,<blue1>,<blue2>,...,<blue15>
6202                        Change the default blue palette of the console.
6203                        This is a 16-member array composed of values
6204                        ranging from 0-255.
6205
6206        vt.default_grn= [VT]
6207                        Format: <green0>,<green1>,<green2>,...,<green15>
6208                        Change the default green palette of the console.
6209                        This is a 16-member array composed of values
6210                        ranging from 0-255.
6211
6212        vt.default_red= [VT]
6213                        Format: <red0>,<red1>,<red2>,...,<red15>
6214                        Change the default red palette of the console.
6215                        This is a 16-member array composed of values
6216                        ranging from 0-255.
6217
6218        vt.default_utf8=
6219                        [VT]
6220                        Format=<0|1>
6221                        Set system-wide default UTF-8 mode for all tty's.
6222                        Default is 1, i.e. UTF-8 mode is enabled for all
6223                        newly opened terminals.
6224
6225        vt.global_cursor_default=
6226                        [VT]
6227                        Format=<-1|0|1>
6228                        Set system-wide default for whether a cursor
6229                        is shown on new VTs. Default is -1,
6230                        i.e. cursors will be created by default unless
6231                        overridden by individual drivers. 0 will hide
6232                        cursors, 1 will display them.
6233
6234        vt.italic=      [VT] Default color for italic text; 0-15.
6235                        Default: 2 = green.
6236
6237        vt.underline=   [VT] Default color for underlined text; 0-15.
6238                        Default: 3 = cyan.
6239
6240        watchdog timers [HW,WDT] For information on watchdog timers,
6241                        see Documentation/watchdog/watchdog-parameters.rst
6242                        or other driver-specific files in the
6243                        Documentation/watchdog/ directory.
6244
6245        watchdog_thresh=
6246                        [KNL]
6247                        Set the hard lockup detector stall duration
6248                        threshold in seconds. The soft lockup detector
6249                        threshold is set to twice the value. A value of 0
6250                        disables both lockup detectors. Default is 10
6251                        seconds.
6252
6253        workqueue.watchdog_thresh=
6254                        If CONFIG_WQ_WATCHDOG is configured, workqueue can
6255                        warn stall conditions and dump internal state to
6256                        help debugging.  0 disables workqueue stall
6257                        detection; otherwise, it's the stall threshold
6258                        duration in seconds.  The default value is 30 and
6259                        it can be updated at runtime by writing to the
6260                        corresponding sysfs file.
6261
6262        workqueue.disable_numa
6263                        By default, all work items queued to unbound
6264                        workqueues are affine to the NUMA nodes they're
6265                        issued on, which results in better behavior in
6266                        general.  If NUMA affinity needs to be disabled for
6267                        whatever reason, this option can be used.  Note
6268                        that this also can be controlled per-workqueue for
6269                        workqueues visible under /sys/bus/workqueue/.
6270
6271        workqueue.power_efficient
6272                        Per-cpu workqueues are generally preferred because
6273                        they show better performance thanks to cache
6274                        locality; unfortunately, per-cpu workqueues tend to
6275                        be more power hungry than unbound workqueues.
6276
6277                        Enabling this makes the per-cpu workqueues which
6278                        were observed to contribute significantly to power
6279                        consumption unbound, leading to measurably lower
6280                        power usage at the cost of small performance
6281                        overhead.
6282
6283                        The default value of this parameter is determined by
6284                        the config option CONFIG_WQ_POWER_EFFICIENT_DEFAULT.
6285
6286        workqueue.debug_force_rr_cpu
6287                        Workqueue used to implicitly guarantee that work
6288                        items queued without explicit CPU specified are put
6289                        on the local CPU.  This guarantee is no longer true
6290                        and while local CPU is still preferred work items
6291                        may be put on foreign CPUs.  This debug option
6292                        forces round-robin CPU selection to flush out
6293                        usages which depend on the now broken guarantee.
6294                        When enabled, memory and cache locality will be
6295                        impacted.
6296
6297        x2apic_phys     [X86-64,APIC] Use x2apic physical mode instead of
6298                        default x2apic cluster mode on platforms
6299                        supporting x2apic.
6300
6301        xen_512gb_limit         [KNL,X86-64,XEN]
6302                        Restricts the kernel running paravirtualized under Xen
6303                        to use only up to 512 GB of RAM. The reason to do so is
6304                        crash analysis tools and Xen tools for doing domain
6305                        save/restore/migration must be enabled to handle larger
6306                        domains.
6307
6308        xen_emul_unplug=                [HW,X86,XEN]
6309                        Unplug Xen emulated devices
6310                        Format: [unplug0,][unplug1]
6311                        ide-disks -- unplug primary master IDE devices
6312                        aux-ide-disks -- unplug non-primary-master IDE devices
6313                        nics -- unplug network devices
6314                        all -- unplug all emulated devices (NICs and IDE disks)
6315                        unnecessary -- unplugging emulated devices is
6316                                unnecessary even if the host did not respond to
6317                                the unplug protocol
6318                        never -- do not unplug even if version check succeeds
6319
6320        xen_legacy_crash        [X86,XEN]
6321                        Crash from Xen panic notifier, without executing late
6322                        panic() code such as dumping handler.
6323
6324        xen_nopvspin    [X86,XEN]
6325                        Disables the qspinlock slowpath using Xen PV optimizations.
6326                        This parameter is obsoleted by "nopvspin" parameter, which
6327                        has equivalent effect for XEN platform.
6328
6329        xen_nopv        [X86]
6330                        Disables the PV optimizations forcing the HVM guest to
6331                        run as generic HVM guest with no PV drivers.
6332                        This option is obsoleted by the "nopv" option, which
6333                        has equivalent effect for XEN platform.
6334
6335        xen_no_vector_callback
6336                        [KNL,X86,XEN] Disable the vector callback for Xen
6337                        event channel interrupts.
6338
6339        xen_scrub_pages=        [XEN]
6340                        Boolean option to control scrubbing pages before giving them back
6341                        to Xen, for use by other domains. Can be also changed at runtime
6342                        with /sys/devices/system/xen_memory/xen_memory0/scrub_pages.
6343                        Default value controlled with CONFIG_XEN_SCRUB_PAGES_DEFAULT.
6344
6345        xen_timer_slop= [X86-64,XEN]
6346                        Set the timer slop (in nanoseconds) for the virtual Xen
6347                        timers (default is 100000). This adjusts the minimum
6348                        delta of virtualized Xen timers, where lower values
6349                        improve timer resolution at the expense of processing
6350                        more timer interrupts.
6351
6352        xen.event_eoi_delay=    [XEN]
6353                        How long to delay EOI handling in case of event
6354                        storms (jiffies). Default is 10.
6355
6356        xen.event_loop_timeout= [XEN]
6357                        After which time (jiffies) the event handling loop
6358                        should start to delay EOI handling. Default is 2.
6359
6360        xen.fifo_events=        [XEN]
6361                        Boolean parameter to disable using fifo event handling
6362                        even if available. Normally fifo event handling is
6363                        preferred over the 2-level event handling, as it is
6364                        fairer and the number of possible event channels is
6365                        much higher. Default is on (use fifo events).
6366
6367        nopv=           [X86,XEN,KVM,HYPER_V,VMWARE]
6368                        Disables the PV optimizations forcing the guest to run
6369                        as generic guest with no PV drivers. Currently support
6370                        XEN HVM, KVM, HYPER_V and VMWARE guest.
6371
6372        nopvspin        [X86,XEN,KVM]
6373                        Disables the qspinlock slow path using PV optimizations
6374                        which allow the hypervisor to 'idle' the guest on lock
6375                        contention.
6376
6377        xirc2ps_cs=     [NET,PCMCIA]
6378                        Format:
6379                        <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]]
6380
6381        xive=           [PPC]
6382                        By default on POWER9 and above, the kernel will
6383                        natively use the XIVE interrupt controller. This option
6384                        allows the fallback firmware mode to be used:
6385
6386                        off       Fallback to firmware control of XIVE interrupt
6387                                  controller on both pseries and powernv
6388                                  platforms. Only useful on POWER9 and above.
6389
6390        xhci-hcd.quirks         [USB,KNL]
6391                        A hex value specifying bitmask with supplemental xhci
6392                        host controller quirks. Meaning of each bit can be
6393                        consulted in header drivers/usb/host/xhci.h.
6394
6395        xmon            [PPC]
6396                        Format: { early | on | rw | ro | off }
6397                        Controls if xmon debugger is enabled. Default is off.
6398                        Passing only "xmon" is equivalent to "xmon=early".
6399                        early   Call xmon as early as possible on boot; xmon
6400                                debugger is called from setup_arch().
6401                        on      xmon debugger hooks will be installed so xmon
6402                                is only called on a kernel crash. Default mode,
6403                                i.e. either "ro" or "rw" mode, is controlled
6404                                with CONFIG_XMON_DEFAULT_RO_MODE.
6405                        rw      xmon debugger hooks will be installed so xmon
6406                                is called only on a kernel crash, mode is write,
6407                                meaning SPR registers, memory and, other data
6408                                can be written using xmon commands.
6409                        ro      same as "rw" option above but SPR registers,
6410                                memory, and other data can't be written using
6411                                xmon commands.
6412                        off     xmon is disabled.
6413