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