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