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