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