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