Merge tag 'iommu-updates-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / Documentation / admin-guide / kernel-parameters.txt
1         acpi=           [HW,ACPI,X86,ARM64]
2                         Advanced Configuration and Power Interface
3                         Format: { force | on | off | strict | noirq | rsdt |
4                                   copy_dsdt }
5                         force -- enable ACPI if default was off
6                         on -- enable ACPI but allow fallback to DT [arm64]
7                         off -- disable ACPI if default was on
8                         noirq -- do not use ACPI for IRQ routing
9                         strict -- Be less tolerant of platforms that are not
10                                 strictly ACPI specification compliant.
11                         rsdt -- prefer RSDT over (default) XSDT
12                         copy_dsdt -- copy DSDT to memory
13                         For ARM64, ONLY "acpi=off", "acpi=on" or "acpi=force"
14                         are available
15
16                         See also Documentation/power/runtime_pm.rst, pci=noacpi
17
18         acpi_apic_instance=     [ACPI, IOAPIC]
19                         Format: <int>
20                         2: use 2nd APIC table, if available
21                         1,0: use 1st APIC table
22                         default: 0
23
24         acpi_backlight= [HW,ACPI]
25                         { vendor | video | native | none }
26                         If set to vendor, prefer vendor-specific driver
27                         (e.g. thinkpad_acpi, sony_acpi, etc.) instead
28                         of the ACPI video.ko driver.
29                         If set to video, use the ACPI video.ko driver.
30                         If set to native, use the device's native backlight mode.
31                         If set to none, disable the ACPI backlight interface.
32
33         acpi_force_32bit_fadt_addr
34                         force FADT to use 32 bit addresses rather than the
35                         64 bit X_* addresses. Some firmware have broken 64
36                         bit addresses for force ACPI ignore these and use
37                         the older legacy 32 bit addresses.
38
39         acpica_no_return_repair [HW, ACPI]
40                         Disable AML predefined validation mechanism
41                         This mechanism can repair the evaluation result to make
42                         the return objects more ACPI specification compliant.
43                         This option is useful for developers to identify the
44                         root cause of an AML interpreter issue when the issue
45                         has something to do with the repair mechanism.
46
47         acpi.debug_layer=       [HW,ACPI,ACPI_DEBUG]
48         acpi.debug_level=       [HW,ACPI,ACPI_DEBUG]
49                         Format: <int>
50                         CONFIG_ACPI_DEBUG must be enabled to produce any ACPI
51                         debug output.  Bits in debug_layer correspond to a
52                         _COMPONENT in an ACPI source file, e.g.,
53                             #define _COMPONENT ACPI_EVENTS
54                         Bits in debug_level correspond to a level in
55                         ACPI_DEBUG_PRINT statements, e.g.,
56                             ACPI_DEBUG_PRINT((ACPI_DB_INFO, ...
57                         The debug_level mask defaults to "info".  See
58                         Documentation/firmware-guide/acpi/debug.rst for more information about
59                         debug layers and levels.
60
61                         Enable processor driver info messages:
62                             acpi.debug_layer=0x20000000
63                         Enable AML "Debug" output, i.e., stores to the Debug
64                         object while interpreting AML:
65                             acpi.debug_layer=0xffffffff acpi.debug_level=0x2
66                         Enable all messages related to ACPI hardware:
67                             acpi.debug_layer=0x2 acpi.debug_level=0xffffffff
68
69                         Some values produce so much output that the system is
70                         unusable.  The "log_buf_len" parameter may be useful
71                         if you need to capture more output.
72
73         acpi_enforce_resources= [ACPI]
74                         { strict | lax | no }
75                         Check for resource conflicts between native drivers
76                         and ACPI OperationRegions (SystemIO and SystemMemory
77                         only). IO ports and memory declared in ACPI might be
78                         used by the ACPI subsystem in arbitrary AML code and
79                         can interfere with legacy drivers.
80                         strict (default): access to resources claimed by ACPI
81                         is denied; legacy drivers trying to access reserved
82                         resources will fail to bind to device using them.
83                         lax: access to resources claimed by ACPI is allowed;
84                         legacy drivers trying to access reserved resources
85                         will bind successfully but a warning message is logged.
86                         no: ACPI OperationRegions are not marked as reserved,
87                         no further checks are performed.
88
89         acpi_force_table_verification   [HW,ACPI]
90                         Enable table checksum verification during early stage.
91                         By default, this is disabled due to x86 early mapping
92                         size limitation.
93
94         acpi_irq_balance [HW,ACPI]
95                         ACPI will balance active IRQs
96                         default in APIC mode
97
98         acpi_irq_nobalance [HW,ACPI]
99                         ACPI will not move active IRQs (default)
100                         default in PIC mode
101
102         acpi_irq_isa=   [HW,ACPI] If irq_balance, mark listed IRQs used by ISA
103                         Format: <irq>,<irq>...
104
105         acpi_irq_pci=   [HW,ACPI] If irq_balance, clear listed IRQs for
106                         use by PCI
107                         Format: <irq>,<irq>...
108
109         acpi_mask_gpe=  [HW,ACPI]
110                         Due to the existence of _Lxx/_Exx, some GPEs triggered
111                         by unsupported hardware/firmware features can result in
112                         GPE floodings that cannot be automatically disabled by
113                         the GPE dispatcher.
114                         This facility can be used to prevent such uncontrolled
115                         GPE floodings.
116                         Format: <byte> or <bitmap-list>
117
118         acpi_no_auto_serialize  [HW,ACPI]
119                         Disable auto-serialization of AML methods
120                         AML control methods that contain the opcodes to create
121                         named objects will be marked as "Serialized" by the
122                         auto-serialization feature.
123                         This feature is enabled by default.
124                         This option allows to turn off the feature.
125
126         acpi_no_memhotplug [ACPI] Disable memory hotplug.  Useful for kdump
127                            kernels.
128
129         acpi_no_static_ssdt     [HW,ACPI]
130                         Disable installation of static SSDTs at early boot time
131                         By default, SSDTs contained in the RSDT/XSDT will be
132                         installed automatically and they will appear under
133                         /sys/firmware/acpi/tables.
134                         This option turns off this feature.
135                         Note that specifying this option does not affect
136                         dynamic table installation which will install SSDT
137                         tables to /sys/firmware/acpi/tables/dynamic.
138
139         acpi_no_watchdog        [HW,ACPI,WDT]
140                         Ignore the ACPI-based watchdog interface (WDAT) and let
141                         a native driver control the watchdog device instead.
142
143         acpi_rsdp=      [ACPI,EFI,KEXEC]
144                         Pass the RSDP address to the kernel, mostly used
145                         on machines running EFI runtime service to boot the
146                         second kernel for kdump.
147
148         acpi_os_name=   [HW,ACPI] Tell ACPI BIOS the name of the OS
149                         Format: To spoof as Windows 98: ="Microsoft Windows"
150
151         acpi_rev_override [ACPI] Override the _REV object to return 5 (instead
152                         of 2 which is mandated by ACPI 6) as the supported ACPI
153                         specification revision (when using this switch, it may
154                         be necessary to carry out a cold reboot _twice_ in a
155                         row to make it take effect on the platform firmware).
156
157         acpi_osi=       [HW,ACPI] Modify list of supported OS interface strings
158                         acpi_osi="string1"      # add string1
159                         acpi_osi="!string2"     # remove string2
160                         acpi_osi=!*             # remove all strings
161                         acpi_osi=!              # disable all built-in OS vendor
162                                                   strings
163                         acpi_osi=!!             # enable all built-in OS vendor
164                                                   strings
165                         acpi_osi=               # disable all strings
166
167                         'acpi_osi=!' can be used in combination with single or
168                         multiple 'acpi_osi="string1"' to support specific OS
169                         vendor string(s).  Note that such command can only
170                         affect the default state of the OS vendor strings, thus
171                         it cannot affect the default state of the feature group
172                         strings and the current state of the OS vendor strings,
173                         specifying it multiple times through kernel command line
174                         is meaningless.  This command is useful when one do not
175                         care about the state of the feature group strings which
176                         should be controlled by the OSPM.
177                         Examples:
178                           1. 'acpi_osi=! acpi_osi="Windows 2000"' is equivalent
179                              to 'acpi_osi="Windows 2000" acpi_osi=!', they all
180                              can make '_OSI("Windows 2000")' TRUE.
181
182                         'acpi_osi=' cannot be used in combination with other
183                         'acpi_osi=' command lines, the _OSI method will not
184                         exist in the ACPI namespace.  NOTE that such command can
185                         only affect the _OSI support state, thus specifying it
186                         multiple times through kernel command line is also
187                         meaningless.
188                         Examples:
189                           1. 'acpi_osi=' can make 'CondRefOf(_OSI, Local1)'
190                              FALSE.
191
192                         'acpi_osi=!*' can be used in combination with single or
193                         multiple 'acpi_osi="string1"' to support specific
194                         string(s).  Note that such command can affect the
195                         current state of both the OS vendor strings and the
196                         feature group strings, thus specifying it multiple times
197                         through kernel command line is meaningful.  But it may
198                         still not able to affect the final state of a string if
199                         there are quirks related to this string.  This command
200                         is useful when one want to control the state of the
201                         feature group strings to debug BIOS issues related to
202                         the OSPM features.
203                         Examples:
204                           1. 'acpi_osi="Module Device" acpi_osi=!*' can make
205                              '_OSI("Module Device")' FALSE.
206                           2. 'acpi_osi=!* acpi_osi="Module Device"' can make
207                              '_OSI("Module Device")' TRUE.
208                           3. 'acpi_osi=! acpi_osi=!* acpi_osi="Windows 2000"' is
209                              equivalent to
210                              'acpi_osi=!* acpi_osi=! acpi_osi="Windows 2000"'
211                              and
212                              'acpi_osi=!* acpi_osi="Windows 2000" acpi_osi=!',
213                              they all will make '_OSI("Windows 2000")' TRUE.
214
215         acpi_pm_good    [X86]
216                         Override the pmtimer bug detection: force the kernel
217                         to assume that this machine's pmtimer latches its value
218                         and always returns good values.
219
220         acpi_sci=       [HW,ACPI] ACPI System Control Interrupt trigger mode
221                         Format: { level | edge | high | low }
222
223         acpi_skip_timer_override [HW,ACPI]
224                         Recognize and ignore IRQ0/pin2 Interrupt Override.
225                         For broken nForce2 BIOS resulting in XT-PIC timer.
226
227         acpi_sleep=     [HW,ACPI] Sleep options
228                         Format: { s3_bios, s3_mode, s3_beep, s4_nohwsig,
229                                   old_ordering, nonvs, sci_force_enable, nobl }
230                         See Documentation/power/video.rst for information on
231                         s3_bios and s3_mode.
232                         s3_beep is for debugging; it makes the PC's speaker beep
233                         as soon as the kernel's real-mode entry point is called.
234                         s4_nohwsig prevents ACPI hardware signature from being
235                         used during resume from hibernation.
236                         old_ordering causes the ACPI 1.0 ordering of the _PTS
237                         control method, with respect to putting devices into
238                         low power states, to be enforced (the ACPI 2.0 ordering
239                         of _PTS is used by default).
240                         nonvs prevents the kernel from saving/restoring the
241                         ACPI NVS memory during suspend/hibernation and resume.
242                         sci_force_enable causes the kernel to set SCI_EN directly
243                         on resume from S1/S3 (which is against the ACPI spec,
244                         but some broken systems don't work without it).
245                         nobl causes the internal blacklist of systems known to
246                         behave incorrectly in some ways with respect to system
247                         suspend and resume to be ignored (use wisely).
248
249         acpi_use_timer_override [HW,ACPI]
250                         Use timer override. For some broken Nvidia NF5 boards
251                         that require a timer override, but don't have HPET
252
253         add_efi_memmap  [EFI; X86] Include EFI memory map in
254                         kernel's map of available physical RAM.
255
256         agp=            [AGP]
257                         { off | try_unsupported }
258                         off: disable AGP support
259                         try_unsupported: try to drive unsupported chipsets
260                                 (may crash computer or cause data corruption)
261
262         ALSA            [HW,ALSA]
263                         See Documentation/sound/alsa-configuration.rst
264
265         alignment=      [KNL,ARM]
266                         Allow the default userspace alignment fault handler
267                         behaviour to be specified.  Bit 0 enables warnings,
268                         bit 1 enables fixups, and bit 2 sends a segfault.
269
270         align_va_addr=  [X86-64]
271                         Align virtual addresses by clearing slice [14:12] when
272                         allocating a VMA at process creation time. This option
273                         gives you up to 3% performance improvement on AMD F15h
274                         machines (where it is enabled by default) for a
275                         CPU-intensive style benchmark, and it can vary highly in
276                         a microbenchmark depending on workload and compiler.
277
278                         32: only for 32-bit processes
279                         64: only for 64-bit processes
280                         on: enable for both 32- and 64-bit processes
281                         off: disable for both 32- and 64-bit processes
282
283         alloc_snapshot  [FTRACE]
284                         Allocate the ftrace snapshot buffer on boot up when the
285                         main buffer is allocated. This is handy if debugging
286                         and you need to use tracing_snapshot() on boot up, and
287                         do not want to use tracing_snapshot_alloc() as it needs
288                         to be done where GFP_KERNEL allocations are allowed.
289
290         allow_mismatched_32bit_el0 [ARM64]
291                         Allow execve() of 32-bit applications and setting of the
292                         PER_LINUX32 personality on systems where only a strict
293                         subset of the CPUs support 32-bit EL0. When this
294                         parameter is present, the set of CPUs supporting 32-bit
295                         EL0 is indicated by /sys/devices/system/cpu/aarch32_el0
296                         and hot-unplug operations may be restricted.
297
298                         See Documentation/arm64/asymmetric-32bit.rst for more
299                         information.
300
301         amd_iommu=      [HW,X86-64]
302                         Pass parameters to the AMD IOMMU driver in the system.
303                         Possible values are:
304                         fullflush - Deprecated, equivalent to iommu.strict=1
305                         off       - do not initialize any AMD IOMMU found in
306                                     the system
307                         force_isolation - Force device isolation for all
308                                           devices. The IOMMU driver is not
309                                           allowed anymore to lift isolation
310                                           requirements as needed. This option
311                                           does not override iommu=pt
312                         force_enable - Force enable the IOMMU on platforms known
313                                        to be buggy with IOMMU enabled. Use this
314                                        option with care.
315
316         amd_iommu_dump= [HW,X86-64]
317                         Enable AMD IOMMU driver option to dump the ACPI table
318                         for AMD IOMMU. With this option enabled, AMD IOMMU
319                         driver will print ACPI tables for AMD IOMMU during
320                         IOMMU initialization.
321
322         amd_iommu_intr= [HW,X86-64]
323                         Specifies one of the following AMD IOMMU interrupt
324                         remapping modes:
325                         legacy     - Use legacy interrupt remapping mode.
326                         vapic      - Use virtual APIC mode, which allows IOMMU
327                                      to inject interrupts directly into guest.
328                                      This mode requires kvm-amd.avic=1.
329                                      (Default when IOMMU HW support is present.)
330
331         amijoy.map=     [HW,JOY] Amiga joystick support
332                         Map of devices attached to JOY0DAT and JOY1DAT
333                         Format: <a>,<b>
334                         See also Documentation/input/joydev/joystick.rst
335
336         analog.map=     [HW,JOY] Analog joystick and gamepad support
337                         Specifies type or capabilities of an analog joystick
338                         connected to one of 16 gameports
339                         Format: <type1>,<type2>,..<type16>
340
341         apc=            [HW,SPARC]
342                         Power management functions (SPARCstation-4/5 + deriv.)
343                         Format: noidle
344                         Disable APC CPU standby support. SPARCstation-Fox does
345                         not play well with APC CPU idle - disable it if you have
346                         APC and your system crashes randomly.
347
348         apic=           [APIC,X86] Advanced Programmable Interrupt Controller
349                         Change the output verbosity while booting
350                         Format: { quiet (default) | verbose | debug }
351                         Change the amount of debugging information output
352                         when initialising the APIC and IO-APIC components.
353                         For X86-32, this can also be used to specify an APIC
354                         driver name.
355                         Format: apic=driver_name
356                         Examples: apic=bigsmp
357
358         apic_extnmi=    [APIC,X86] External NMI delivery setting
359                         Format: { bsp (default) | all | none }
360                         bsp:  External NMI is delivered only to CPU 0
361                         all:  External NMIs are broadcast to all CPUs as a
362                               backup of CPU 0
363                         none: External NMI is masked for all CPUs. This is
364                               useful so that a dump capture kernel won't be
365                               shot down by NMI
366
367         autoconf=       [IPV6]
368                         See Documentation/networking/ipv6.rst.
369
370         show_lapic=     [APIC,X86] Advanced Programmable Interrupt Controller
371                         Limit apic dumping. The parameter defines the maximal
372                         number of local apics being dumped. Also it is possible
373                         to set it to "all" by meaning -- no limit here.
374                         Format: { 1 (default) | 2 | ... | all }.
375                         The parameter valid if only apic=debug or
376                         apic=verbose is specified.
377                         Example: apic=debug show_lapic=all
378
379         apm=            [APM] Advanced Power Management
380                         See header of arch/x86/kernel/apm_32.c.
381
382         arcrimi=        [HW,NET] ARCnet - "RIM I" (entirely mem-mapped) cards
383                         Format: <io>,<irq>,<nodeID>
384
385         arm64.nobti     [ARM64] Unconditionally disable Branch Target
386                         Identification support
387
388         arm64.nopauth   [ARM64] Unconditionally disable Pointer Authentication
389                         support
390
391         arm64.nomte     [ARM64] Unconditionally disable Memory Tagging Extension
392                         support
393
394         ataflop=        [HW,M68k]
395
396         atarimouse=     [HW,MOUSE] Atari Mouse
397
398         atkbd.extra=    [HW] Enable extra LEDs and keys on IBM RapidAccess,
399                         EzKey and similar keyboards
400
401         atkbd.reset=    [HW] Reset keyboard during initialization
402
403         atkbd.set=      [HW] Select keyboard code set
404                         Format: <int> (2 = AT (default), 3 = PS/2)
405
406         atkbd.scroll=   [HW] Enable scroll wheel on MS Office and similar
407                         keyboards
408
409         atkbd.softraw=  [HW] Choose between synthetic and real raw mode
410                         Format: <bool> (0 = real, 1 = synthetic (default))
411
412         atkbd.softrepeat= [HW]
413                         Use software keyboard repeat
414
415         audit=          [KNL] Enable the audit sub-system
416                         Format: { "0" | "1" | "off" | "on" }
417                         0 | off - kernel audit is disabled and can not be
418                             enabled until the next reboot
419                         unset - kernel audit is initialized but disabled and
420                             will be fully enabled by the userspace auditd.
421                         1 | on - kernel audit is initialized and partially
422                             enabled, storing at most audit_backlog_limit
423                             messages in RAM until it is fully enabled by the
424                             userspace auditd.
425                         Default: unset
426
427         audit_backlog_limit= [KNL] Set the audit queue size limit.
428                         Format: <int> (must be >=0)
429                         Default: 64
430
431         bau=            [X86_UV] Enable the BAU on SGI UV.  The default
432                         behavior is to disable the BAU (i.e. bau=0).
433                         Format: { "0" | "1" }
434                         0 - Disable the BAU.
435                         1 - Enable the BAU.
436                         unset - Disable the BAU.
437
438         baycom_epp=     [HW,AX25]
439                         Format: <io>,<mode>
440
441         baycom_par=     [HW,AX25] BayCom Parallel Port AX.25 Modem
442                         Format: <io>,<mode>
443                         See header of drivers/net/hamradio/baycom_par.c.
444
445         baycom_ser_fdx= [HW,AX25]
446                         BayCom Serial Port AX.25 Modem (Full Duplex Mode)
447                         Format: <io>,<irq>,<mode>[,<baud>]
448                         See header of drivers/net/hamradio/baycom_ser_fdx.c.
449
450         baycom_ser_hdx= [HW,AX25]
451                         BayCom Serial Port AX.25 Modem (Half Duplex Mode)
452                         Format: <io>,<irq>,<mode>
453                         See header of drivers/net/hamradio/baycom_ser_hdx.c.
454
455         blkdevparts=    Manual partition parsing of block device(s) for
456                         embedded devices based on command line input.
457                         See Documentation/block/cmdline-partition.rst
458
459         boot_delay=     Milliseconds to delay each printk during boot.
460                         Values larger than 10 seconds (10000) are changed to
461                         no delay (0).
462                         Format: integer
463
464         bootconfig      [KNL]
465                         Extended command line options can be added to an initrd
466                         and this will cause the kernel to look for it.
467
468                         See Documentation/admin-guide/bootconfig.rst
469
470         bert_disable    [ACPI]
471                         Disable BERT OS support on buggy BIOSes.
472
473         bgrt_disable    [ACPI][X86]
474                         Disable BGRT to avoid flickering OEM logo.
475
476         bttv.card=      [HW,V4L] bttv (bt848 + bt878 based grabber cards)
477         bttv.radio=     Most important insmod options are available as
478                         kernel args too.
479         bttv.pll=       See Documentation/admin-guide/media/bttv.rst
480         bttv.tuner=
481
482         bulk_remove=off [PPC]  This parameter disables the use of the pSeries
483                         firmware feature for flushing multiple hpte entries
484                         at a time.
485
486         c101=           [NET] Moxa C101 synchronous serial card
487
488         cachesize=      [BUGS=X86-32] Override level 2 CPU cache size detection.
489                         Sometimes CPU hardware bugs make them report the cache
490                         size incorrectly. The kernel will attempt work arounds
491                         to fix known problems, but for some CPUs it is not
492                         possible to determine what the correct size should be.
493                         This option provides an override for these situations.
494
495         carrier_timeout=
496                         [NET] Specifies amount of time (in seconds) that
497                         the kernel should wait for a network carrier. By default
498                         it waits 120 seconds.
499
500         ca_keys=        [KEYS] This parameter identifies a specific key(s) on
501                         the system trusted keyring to be used for certificate
502                         trust validation.
503                         format: { id:<keyid> | builtin }
504
505         cca=            [MIPS] Override the kernel pages' cache coherency
506                         algorithm.  Accepted values range from 0 to 7
507                         inclusive. See arch/mips/include/asm/pgtable-bits.h
508                         for platform specific values (SB1, Loongson3 and
509                         others).
510
511         ccw_timeout_log [S390]
512                         See Documentation/s390/common_io.rst for details.
513
514         cgroup_disable= [KNL] Disable a particular controller or optional feature
515                         Format: {name of the controller(s) or feature(s) to disable}
516                         The effects of cgroup_disable=foo are:
517                         - foo isn't auto-mounted if you mount all cgroups in
518                           a single hierarchy
519                         - foo isn't visible as an individually mountable
520                           subsystem
521                         - if foo is an optional feature then the feature is
522                           disabled and corresponding cgroup files are not
523                           created
524                         {Currently only "memory" controller deal with this and
525                         cut the overhead, others just disable the usage. So
526                         only cgroup_disable=memory is actually worthy}
527                         Specifying "pressure" disables per-cgroup pressure
528                         stall information accounting feature
529
530         cgroup_no_v1=   [KNL] Disable cgroup controllers and named hierarchies in v1
531                         Format: { { controller | "all" | "named" }
532                                   [,{ controller | "all" | "named" }...] }
533                         Like cgroup_disable, but only applies to cgroup v1;
534                         the blacklisted controllers remain available in cgroup2.
535                         "all" blacklists all controllers and "named" disables
536                         named mounts. Specifying both "all" and "named" disables
537                         all v1 hierarchies.
538
539         cgroup.memory=  [KNL] Pass options to the cgroup memory controller.
540                         Format: <string>
541                         nosocket -- Disable socket memory accounting.
542                         nokmem -- Disable kernel memory accounting.
543
544         checkreqprot    [SELINUX] Set initial checkreqprot flag value.
545                         Format: { "0" | "1" }
546                         See security/selinux/Kconfig help text.
547                         0 -- check protection applied by kernel (includes
548                                 any implied execute protection).
549                         1 -- check protection requested by application.
550                         Default value is set via a kernel config option.
551                         Value can be changed at runtime via
552                                 /sys/fs/selinux/checkreqprot.
553                         Setting checkreqprot to 1 is deprecated.
554
555         cio_ignore=     [S390]
556                         See Documentation/s390/common_io.rst for details.
557         clk_ignore_unused
558                         [CLK]
559                         Prevents the clock framework from automatically gating
560                         clocks that have not been explicitly enabled by a Linux
561                         device driver but are enabled in hardware at reset or
562                         by the bootloader/firmware. Note that this does not
563                         force such clocks to be always-on nor does it reserve
564                         those clocks in any way. This parameter is useful for
565                         debug and development, but should not be needed on a
566                         platform with proper driver support.  For more
567                         information, see Documentation/driver-api/clk.rst.
568
569         clock=          [BUGS=X86-32, HW] gettimeofday clocksource override.
570                         [Deprecated]
571                         Forces specified clocksource (if available) to be used
572                         when calculating gettimeofday(). If specified
573                         clocksource is not available, it defaults to PIT.
574                         Format: { pit | tsc | cyclone | pmtmr }
575
576         clocksource=    Override the default clocksource
577                         Format: <string>
578                         Override the default clocksource and use the clocksource
579                         with the name specified.
580                         Some clocksource names to choose from, depending on
581                         the platform:
582                         [all] jiffies (this is the base, fallback clocksource)
583                         [ACPI] acpi_pm
584                         [ARM] imx_timer1,OSTS,netx_timer,mpu_timer2,
585                                 pxa_timer,timer3,32k_counter,timer0_1
586                         [X86-32] pit,hpet,tsc;
587                                 scx200_hrt on Geode; cyclone on IBM x440
588                         [MIPS] MIPS
589                         [PARISC] cr16
590                         [S390] tod
591                         [SH] SuperH
592                         [SPARC64] tick
593                         [X86-64] hpet,tsc
594
595         clocksource.arm_arch_timer.evtstrm=
596                         [ARM,ARM64]
597                         Format: <bool>
598                         Enable/disable the eventstream feature of the ARM
599                         architected timer so that code using WFE-based polling
600                         loops can be debugged more effectively on production
601                         systems.
602
603         clocksource.max_cswd_read_retries= [KNL]
604                         Number of clocksource_watchdog() retries due to
605                         external delays before the clock will be marked
606                         unstable.  Defaults to three retries, that is,
607                         four attempts to read the clock under test.
608
609         clocksource.verify_n_cpus= [KNL]
610                         Limit the number of CPUs checked for clocksources
611                         marked with CLOCK_SOURCE_VERIFY_PERCPU that
612                         are marked unstable due to excessive skew.
613                         A negative value says to check all CPUs, while
614                         zero says not to check any.  Values larger than
615                         nr_cpu_ids are silently truncated to nr_cpu_ids.
616                         The actual CPUs are chosen randomly, with
617                         no replacement if the same CPU is chosen twice.
618
619         clocksource-wdtest.holdoff= [KNL]
620                         Set the time in seconds that the clocksource
621                         watchdog test waits before commencing its tests.
622                         Defaults to zero when built as a module and to
623                         10 seconds when built into the kernel.
624
625         clearcpuid=BITNUM[,BITNUM...] [X86]
626                         Disable CPUID feature X for the kernel. See
627                         arch/x86/include/asm/cpufeatures.h for the valid bit
628                         numbers. Note the Linux specific bits are not necessarily
629                         stable over kernel options, but the vendor specific
630                         ones should be.
631                         Also note that user programs calling CPUID directly
632                         or using the feature without checking anything
633                         will still see it. This just prevents it from
634                         being used by the kernel or shown in /proc/cpuinfo.
635                         Also note the kernel might malfunction if you disable
636                         some critical bits.
637
638         cma=nn[MG]@[start[MG][-end[MG]]]
639                         [KNL,CMA]
640                         Sets the size of kernel global memory area for
641                         contiguous memory allocations and optionally the
642                         placement constraint by the physical address range of
643                         memory allocations. A value of 0 disables CMA
644                         altogether. For more information, see
645                         kernel/dma/contiguous.c
646
647         cma_pernuma=nn[MG]
648                         [ARM64,KNL,CMA]
649                         Sets the size of kernel per-numa memory area for
650                         contiguous memory allocations. A value of 0 disables
651                         per-numa CMA altogether. And If this option is not
652                         specificed, the default value is 0.
653                         With per-numa CMA enabled, DMA users on node nid will
654                         first try to allocate buffer from the pernuma area
655                         which is located in node nid, if the allocation fails,
656                         they will fallback to the global default memory area.
657
658         cmo_free_hint=  [PPC] Format: { yes | no }
659                         Specify whether pages are marked as being inactive
660                         when they are freed.  This is used in CMO environments
661                         to determine OS memory pressure for page stealing by
662                         a hypervisor.
663                         Default: yes
664
665         coherent_pool=nn[KMG]   [ARM,KNL]
666                         Sets the size of memory pool for coherent, atomic dma
667                         allocations, by default set to 256K.
668
669         com20020=       [HW,NET] ARCnet - COM20020 chipset
670                         Format:
671                         <io>[,<irq>[,<nodeID>[,<backplane>[,<ckp>[,<timeout>]]]]]
672
673         com90io=        [HW,NET] ARCnet - COM90xx chipset (IO-mapped buffers)
674                         Format: <io>[,<irq>]
675
676         com90xx=        [HW,NET]
677                         ARCnet - COM90xx chipset (memory-mapped buffers)
678                         Format: <io>[,<irq>[,<memstart>]]
679
680         condev=         [HW,S390] console device
681         conmode=
682
683         console=        [KNL] Output console device and options.
684
685                 tty<n>  Use the virtual console device <n>.
686
687                 ttyS<n>[,options]
688                 ttyUSB0[,options]
689                         Use the specified serial port.  The options are of
690                         the form "bbbbpnf", where "bbbb" is the baud rate,
691                         "p" is parity ("n", "o", or "e"), "n" is number of
692                         bits, and "f" is flow control ("r" for RTS or
693                         omit it).  Default is "9600n8".
694
695                         See Documentation/admin-guide/serial-console.rst for more
696                         information.  See
697                         Documentation/networking/netconsole.rst for an
698                         alternative.
699
700                 uart[8250],io,<addr>[,options]
701                 uart[8250],mmio,<addr>[,options]
702                 uart[8250],mmio16,<addr>[,options]
703                 uart[8250],mmio32,<addr>[,options]
704                 uart[8250],0x<addr>[,options]
705                         Start an early, polled-mode console on the 8250/16550
706                         UART at the specified I/O port or MMIO address,
707                         switching to the matching ttyS device later.
708                         MMIO inter-register address stride is either 8-bit
709                         (mmio), 16-bit (mmio16), or 32-bit (mmio32).
710                         If none of [io|mmio|mmio16|mmio32], <addr> is assumed
711                         to be equivalent to 'mmio'. 'options' are specified in
712                         the same format described for ttyS above; if unspecified,
713                         the h/w is not re-initialized.
714
715                 hvc<n>  Use the hypervisor console device <n>. This is for
716                         both Xen and PowerPC hypervisors.
717
718                 If the device connected to the port is not a TTY but a braille
719                 device, prepend "brl," before the device type, for instance
720                         console=brl,ttyS0
721                 For now, only VisioBraille is supported.
722
723         console_msg_format=
724                         [KNL] Change console messages format
725                 default
726                         By default we print messages on consoles in
727                         "[time stamp] text\n" format (time stamp may not be
728                         printed, depending on CONFIG_PRINTK_TIME or
729                         `printk_time' param).
730                 syslog
731                         Switch to syslog format: "<%u>[time stamp] text\n"
732                         IOW, each message will have a facility and loglevel
733                         prefix. The format is similar to one used by syslog()
734                         syscall, or to executing "dmesg -S --raw" or to reading
735                         from /proc/kmsg.
736
737         consoleblank=   [KNL] The console blank (screen saver) timeout in
738                         seconds. A value of 0 disables the blank timer.
739                         Defaults to 0.
740
741         coredump_filter=
742                         [KNL] Change the default value for
743                         /proc/<pid>/coredump_filter.
744                         See also Documentation/filesystems/proc.rst.
745
746         coresight_cpu_debug.enable
747                         [ARM,ARM64]
748                         Format: <bool>
749                         Enable/disable the CPU sampling based debugging.
750                         0: default value, disable debugging
751                         1: enable debugging at boot time
752
753         cpuidle.off=1   [CPU_IDLE]
754                         disable the cpuidle sub-system
755
756         cpuidle.governor=
757                         [CPU_IDLE] Name of the cpuidle governor to use.
758
759         cpufreq.off=1   [CPU_FREQ]
760                         disable the cpufreq sub-system
761
762         cpufreq.default_governor=
763                         [CPU_FREQ] Name of the default cpufreq governor or
764                         policy to use. This governor must be registered in the
765                         kernel before the cpufreq driver probes.
766
767         cpu_init_udelay=N
768                         [X86] Delay for N microsec between assert and de-assert
769                         of APIC INIT to start processors.  This delay occurs
770                         on every CPU online, such as boot, and resume from suspend.
771                         Default: 10000
772
773         cpcihp_generic= [HW,PCI] Generic port I/O CompactPCI driver
774                         Format:
775                         <first_slot>,<last_slot>,<port>,<enum_bit>[,<debug>]
776
777         crashkernel=size[KMG][@offset[KMG]]
778                         [KNL] Using kexec, Linux can switch to a 'crash kernel'
779                         upon panic. This parameter reserves the physical
780                         memory region [offset, offset + size] for that kernel
781                         image. If '@offset' is omitted, then a suitable offset
782                         is selected automatically.
783                         [KNL, X86-64] Select a region under 4G first, and
784                         fall back to reserve region above 4G when '@offset'
785                         hasn't been specified.
786                         See Documentation/admin-guide/kdump/kdump.rst for further details.
787
788         crashkernel=range1:size1[,range2:size2,...][@offset]
789                         [KNL] Same as above, but depends on the memory
790                         in the running system. The syntax of range is
791                         start-[end] where start and end are both
792                         a memory unit (amount[KMG]). See also
793                         Documentation/admin-guide/kdump/kdump.rst for an example.
794
795         crashkernel=size[KMG],high
796                         [KNL, X86-64] range could be above 4G. Allow kernel
797                         to allocate physical memory region from top, so could
798                         be above 4G if system have more than 4G ram installed.
799                         Otherwise memory region will be allocated below 4G, if
800                         available.
801                         It will be ignored if crashkernel=X is specified.
802         crashkernel=size[KMG],low
803                         [KNL, X86-64] range under 4G. When crashkernel=X,high
804                         is passed, kernel could allocate physical memory region
805                         above 4G, that cause second kernel crash on system
806                         that require some amount of low memory, e.g. swiotlb
807                         requires at least 64M+32K low memory, also enough extra
808                         low memory is needed to make sure DMA buffers for 32-bit
809                         devices won't run out. Kernel would try to allocate at
810                         at least 256M below 4G automatically.
811                         This one let user to specify own low range under 4G
812                         for second kernel instead.
813                         0: to disable low allocation.
814                         It will be ignored when crashkernel=X,high is not used
815                         or memory reserved is below 4G.
816
817         cryptomgr.notests
818                         [KNL] Disable crypto self-tests
819
820         cs89x0_dma=     [HW,NET]
821                         Format: <dma>
822
823         cs89x0_media=   [HW,NET]
824                         Format: { rj45 | aui | bnc }
825
826         csdlock_debug=  [KNL] Enable debug add-ons of cross-CPU function call
827                         handling. When switched on, additional debug data is
828                         printed to the console in case a hanging CPU is
829                         detected, and that CPU is pinged again in order to try
830                         to resolve the hang situation.
831                         0: disable csdlock debugging (default)
832                         1: enable basic csdlock debugging (minor impact)
833                         ext: enable extended csdlock debugging (more impact,
834                              but more data)
835
836         dasd=           [HW,NET]
837                         See header of drivers/s390/block/dasd_devmap.c.
838
839         db9.dev[2|3]=   [HW,JOY] Multisystem joystick support via parallel port
840                         (one device per port)
841                         Format: <port#>,<type>
842                         See also Documentation/input/devices/joystick-parport.rst
843
844         ddebug_query=   [KNL,DYNAMIC_DEBUG] Enable debug messages at early boot
845                         time. See
846                         Documentation/admin-guide/dynamic-debug-howto.rst for
847                         details.  Deprecated, see dyndbg.
848
849         debug           [KNL] Enable kernel debugging (events log level).
850
851         debug_boot_weak_hash
852                         [KNL] Enable printing [hashed] pointers early in the
853                         boot sequence.  If enabled, we use a weak hash instead
854                         of siphash to hash pointers.  Use this option if you are
855                         seeing instances of '(___ptrval___)') and need to see a
856                         value (hashed pointer) instead. Cryptographically
857                         insecure, please do not use on production kernels.
858
859         debug_locks_verbose=
860                         [KNL] verbose locking self-tests
861                         Format: <int>
862                         Print debugging info while doing the locking API
863                         self-tests.
864                         Bitmask for the various LOCKTYPE_ tests. Defaults to 0
865                         (no extra messages), setting it to -1 (all bits set)
866                         will print _a_lot_ more information - normally only
867                         useful to lockdep developers.
868
869         debug_objects   [KNL] Enable object debugging
870
871         no_debug_objects
872                         [KNL] Disable object debugging
873
874         debug_guardpage_minorder=
875                         [KNL] When CONFIG_DEBUG_PAGEALLOC is set, this
876                         parameter allows control of the order of pages that will
877                         be intentionally kept free (and hence protected) by the
878                         buddy allocator. Bigger value increase the probability
879                         of catching random memory corruption, but reduce the
880                         amount of memory for normal system use. The maximum
881                         possible value is MAX_ORDER/2.  Setting this parameter
882                         to 1 or 2 should be enough to identify most random
883                         memory corruption problems caused by bugs in kernel or
884                         driver code when a CPU writes to (or reads from) a
885                         random memory location. Note that there exists a class
886                         of memory corruptions problems caused by buggy H/W or
887                         F/W or by drivers badly programing DMA (basically when
888                         memory is written at bus level and the CPU MMU is
889                         bypassed) which are not detectable by
890                         CONFIG_DEBUG_PAGEALLOC, hence this option will not help
891                         tracking down these problems.
892
893         debug_pagealloc=
894                         [KNL] When CONFIG_DEBUG_PAGEALLOC is set, this parameter
895                         enables the feature at boot time. By default, it is
896                         disabled and the system will work mostly the same as a
897                         kernel built without CONFIG_DEBUG_PAGEALLOC.
898                         Note: to get most of debug_pagealloc error reports, it's
899                         useful to also enable the page_owner functionality.
900                         on: enable the feature
901
902         debugfs=        [KNL] This parameter enables what is exposed to userspace
903                         and debugfs internal clients.
904                         Format: { on, no-mount, off }
905                         on:     All functions are enabled.
906                         no-mount:
907                                 Filesystem is not registered but kernel clients can
908                                 access APIs and a crashkernel can be used to read
909                                 its content. There is nothing to mount.
910                         off:    Filesystem is not registered and clients
911                                 get a -EPERM as result when trying to register files
912                                 or directories within debugfs.
913                                 This is equivalent of the runtime functionality if
914                                 debugfs was not enabled in the kernel at all.
915                         Default value is set in build-time with a kernel configuration.
916
917         debugpat        [X86] Enable PAT debugging
918
919         decnet.addr=    [HW,NET]
920                         Format: <area>[,<node>]
921                         See also Documentation/networking/decnet.rst.
922
923         default_hugepagesz=
924                         [HW] The size of the default HugeTLB page. This is
925                         the size represented by the legacy /proc/ hugepages
926                         APIs.  In addition, this is the default hugetlb size
927                         used for shmget(), mmap() and mounting hugetlbfs
928                         filesystems.  If not specified, defaults to the
929                         architecture's default huge page size.  Huge page
930                         sizes are architecture dependent.  See also
931                         Documentation/admin-guide/mm/hugetlbpage.rst.
932                         Format: size[KMG]
933
934         deferred_probe_timeout=
935                         [KNL] Debugging option to set a timeout in seconds for
936                         deferred probe to give up waiting on dependencies to
937                         probe. Only specific dependencies (subsystems or
938                         drivers) that have opted in will be ignored. A timeout of 0
939                         will timeout at the end of initcalls. This option will also
940                         dump out devices still on the deferred probe list after
941                         retrying.
942
943         dfltcc=         [HW,S390]
944                         Format: { on | off | def_only | inf_only | always }
945                         on:       s390 zlib hardware support for compression on
946                                   level 1 and decompression (default)
947                         off:      No s390 zlib hardware support
948                         def_only: s390 zlib hardware support for deflate
949                                   only (compression on level 1)
950                         inf_only: s390 zlib hardware support for inflate
951                                   only (decompression)
952                         always:   Same as 'on' but ignores the selected compression
953                                   level always using hardware support (used for debugging)
954
955         dhash_entries=  [KNL]
956                         Set number of hash buckets for dentry cache.
957
958         disable_1tb_segments [PPC]
959                         Disables the use of 1TB hash page table segments. This
960                         causes the kernel to fall back to 256MB segments which
961                         can be useful when debugging issues that require an SLB
962                         miss to occur.
963
964         stress_slb      [PPC]
965                         Limits the number of kernel SLB entries, and flushes
966                         them frequently to increase the rate of SLB faults
967                         on kernel addresses.
968
969         disable=        [IPV6]
970                         See Documentation/networking/ipv6.rst.
971
972         hardened_usercopy=
973                         [KNL] Under CONFIG_HARDENED_USERCOPY, whether
974                         hardening is enabled for this boot. Hardened
975                         usercopy checking is used to protect the kernel
976                         from reading or writing beyond known memory
977                         allocation boundaries as a proactive defense
978                         against bounds-checking flaws in the kernel's
979                         copy_to_user()/copy_from_user() interface.
980                 on      Perform hardened usercopy checks (default).
981                 off     Disable hardened usercopy checks.
982
983         disable_radix   [PPC]
984                         Disable RADIX MMU mode on POWER9
985
986         radix_hcall_invalidate=on  [PPC/PSERIES]
987                         Disable RADIX GTSE feature and use hcall for TLB
988                         invalidate.
989
990         disable_tlbie   [PPC]
991                         Disable TLBIE instruction. Currently does not work
992                         with KVM, with HASH MMU, or with coherent accelerators.
993
994         disable_cpu_apicid= [X86,APIC,SMP]
995                         Format: <int>
996                         The number of initial APIC ID for the
997                         corresponding CPU to be disabled at boot,
998                         mostly used for the kdump 2nd kernel to
999                         disable BSP to wake up multiple CPUs without
1000                         causing system reset or hang due to sending
1001                         INIT from AP to BSP.
1002
1003         disable_ddw     [PPC/PSERIES]
1004                         Disable Dynamic DMA Window support. Use this
1005                         to workaround buggy firmware.
1006
1007         disable_ipv6=   [IPV6]
1008                         See Documentation/networking/ipv6.rst.
1009
1010         disable_mtrr_cleanup [X86]
1011                         The kernel tries to adjust MTRR layout from continuous
1012                         to discrete, to make X server driver able to add WB
1013                         entry later. This parameter disables that.
1014
1015         disable_mtrr_trim [X86, Intel and AMD only]
1016                         By default the kernel will trim any uncacheable
1017                         memory out of your available memory pool based on
1018                         MTRR settings.  This parameter disables that behavior,
1019                         possibly causing your machine to run very slowly.
1020
1021         disable_timer_pin_1 [X86]
1022                         Disable PIN 1 of APIC timer
1023                         Can be useful to work around chipset bugs.
1024
1025         dis_ucode_ldr   [X86] Disable the microcode loader.
1026
1027         dma_debug=off   If the kernel is compiled with DMA_API_DEBUG support,
1028                         this option disables the debugging code at boot.
1029
1030         dma_debug_entries=<number>
1031                         This option allows to tune the number of preallocated
1032                         entries for DMA-API debugging code. One entry is
1033                         required per DMA-API allocation. Use this if the
1034                         DMA-API debugging code disables itself because the
1035                         architectural default is too low.
1036
1037         dma_debug_driver=<driver_name>
1038                         With this option the DMA-API debugging driver
1039                         filter feature can be enabled at boot time. Just
1040                         pass the driver to filter for as the parameter.
1041                         The filter can be disabled or changed to another
1042                         driver later using sysfs.
1043
1044         driver_async_probe=  [KNL]
1045                         List of driver names to be probed asynchronously.
1046                         Format: <driver_name1>,<driver_name2>...
1047
1048         drm.edid_firmware=[<connector>:]<file>[,[<connector>:]<file>]
1049                         Broken monitors, graphic adapters, KVMs and EDIDless
1050                         panels may send no or incorrect EDID data sets.
1051                         This parameter allows to specify an EDID data sets
1052                         in the /lib/firmware directory that are used instead.
1053                         Generic built-in EDID data sets are used, if one of
1054                         edid/1024x768.bin, edid/1280x1024.bin,
1055                         edid/1680x1050.bin, or edid/1920x1080.bin is given
1056                         and no file with the same name exists. Details and
1057                         instructions how to build your own EDID data are
1058                         available in Documentation/admin-guide/edid.rst. An EDID
1059                         data set will only be used for a particular connector,
1060                         if its name and a colon are prepended to the EDID
1061                         name. Each connector may use a unique EDID data
1062                         set by separating the files with a comma.  An EDID
1063                         data set with no connector name will be used for
1064                         any connectors not explicitly specified.
1065
1066         dscc4.setup=    [NET]
1067
1068         dt_cpu_ftrs=    [PPC]
1069                         Format: {"off" | "known"}
1070                         Control how the dt_cpu_ftrs device-tree binding is
1071                         used for CPU feature discovery and setup (if it
1072                         exists).
1073                         off: Do not use it, fall back to legacy cpu table.
1074                         known: Do not pass through unknown features to guests
1075                         or userspace, only those that the kernel is aware of.
1076
1077         dump_apple_properties   [X86]
1078                         Dump name and content of EFI device properties on
1079                         x86 Macs.  Useful for driver authors to determine
1080                         what data is available or for reverse-engineering.
1081
1082         dyndbg[="val"]          [KNL,DYNAMIC_DEBUG]
1083         <module>.dyndbg[="val"]
1084                         Enable debug messages at boot time.  See
1085                         Documentation/admin-guide/dynamic-debug-howto.rst
1086                         for details.
1087
1088         nopku           [X86] Disable Memory Protection Keys CPU feature found
1089                         in some Intel CPUs.
1090
1091         <module>.async_probe [KNL]
1092                         Enable asynchronous probe on this module.
1093
1094         early_ioremap_debug [KNL]
1095                         Enable debug messages in early_ioremap support. This
1096                         is useful for tracking down temporary early mappings
1097                         which are not unmapped.
1098
1099         earlycon=       [KNL] Output early console device and options.
1100
1101                         When used with no options, the early console is
1102                         determined by stdout-path property in device tree's
1103                         chosen node or the ACPI SPCR table if supported by
1104                         the platform.
1105
1106                 cdns,<addr>[,options]
1107                         Start an early, polled-mode console on a Cadence
1108                         (xuartps) serial port at the specified address. Only
1109                         supported option is baud rate. If baud rate is not
1110                         specified, the serial port must already be setup and
1111                         configured.
1112
1113                 uart[8250],io,<addr>[,options]
1114                 uart[8250],mmio,<addr>[,options]
1115                 uart[8250],mmio32,<addr>[,options]
1116                 uart[8250],mmio32be,<addr>[,options]
1117                 uart[8250],0x<addr>[,options]
1118                         Start an early, polled-mode console on the 8250/16550
1119                         UART at the specified I/O port or MMIO address.
1120                         MMIO inter-register address stride is either 8-bit
1121                         (mmio) or 32-bit (mmio32 or mmio32be).
1122                         If none of [io|mmio|mmio32|mmio32be], <addr> is assumed
1123                         to be equivalent to 'mmio'. 'options' are specified
1124                         in the same format described for "console=ttyS<n>"; if
1125                         unspecified, the h/w is not initialized.
1126
1127                 pl011,<addr>
1128                 pl011,mmio32,<addr>
1129                         Start an early, polled-mode console on a pl011 serial
1130                         port at the specified address. The pl011 serial port
1131                         must already be setup and configured. Options are not
1132                         yet supported.  If 'mmio32' is specified, then only
1133                         the driver will use only 32-bit accessors to read/write
1134                         the device registers.
1135
1136                 liteuart,<addr>
1137                         Start an early console on a litex serial port at the
1138                         specified address. The serial port must already be
1139                         setup and configured. Options are not yet supported.
1140
1141                 meson,<addr>
1142                         Start an early, polled-mode console on a meson serial
1143                         port at the specified address. The serial port must
1144                         already be setup and configured. Options are not yet
1145                         supported.
1146
1147                 msm_serial,<addr>
1148                         Start an early, polled-mode console on an msm serial
1149                         port at the specified address. The serial port
1150                         must already be setup and configured. Options are not
1151                         yet supported.
1152
1153                 msm_serial_dm,<addr>
1154                         Start an early, polled-mode console on an msm serial
1155                         dm port at the specified address. The serial port
1156                         must already be setup and configured. Options are not
1157                         yet supported.
1158
1159                 owl,<addr>
1160                         Start an early, polled-mode console on a serial port
1161                         of an Actions Semi SoC, such as S500 or S900, at the
1162                         specified address. The serial port must already be
1163                         setup and configured. Options are not yet supported.
1164
1165                 rda,<addr>
1166                         Start an early, polled-mode console on a serial port
1167                         of an RDA Micro SoC, such as RDA8810PL, at the
1168                         specified address. The serial port must already be
1169                         setup and configured. Options are not yet supported.
1170
1171                 sbi
1172                         Use RISC-V SBI (Supervisor Binary Interface) for early
1173                         console.
1174
1175                 smh     Use ARM semihosting calls for early console.
1176
1177                 s3c2410,<addr>
1178                 s3c2412,<addr>
1179                 s3c2440,<addr>
1180                 s3c6400,<addr>
1181                 s5pv210,<addr>
1182                 exynos4210,<addr>
1183                         Use early console provided by serial driver available
1184                         on Samsung SoCs, requires selecting proper type and
1185                         a correct base address of the selected UART port. The
1186                         serial port must already be setup and configured.
1187                         Options are not yet supported.
1188
1189                 lantiq,<addr>
1190                         Start an early, polled-mode console on a lantiq serial
1191                         (lqasc) port at the specified address. The serial port
1192                         must already be setup and configured. Options are not
1193                         yet supported.
1194
1195                 lpuart,<addr>
1196                 lpuart32,<addr>
1197                         Use early console provided by Freescale LP UART driver
1198                         found on Freescale Vybrid and QorIQ LS1021A processors.
1199                         A valid base address must be provided, and the serial
1200                         port must already be setup and configured.
1201
1202                 ec_imx21,<addr>
1203                 ec_imx6q,<addr>
1204                         Start an early, polled-mode, output-only console on the
1205                         Freescale i.MX UART at the specified address. The UART
1206                         must already be setup and configured.
1207
1208                 ar3700_uart,<addr>
1209                         Start an early, polled-mode console on the
1210                         Armada 3700 serial port at the specified
1211                         address. The serial port must already be setup
1212                         and configured. Options are not yet supported.
1213
1214                 qcom_geni,<addr>
1215                         Start an early, polled-mode console on a Qualcomm
1216                         Generic Interface (GENI) based serial port at the
1217                         specified address. The serial port must already be
1218                         setup and configured. Options are not yet supported.
1219
1220                 efifb,[options]
1221                         Start an early, unaccelerated console on the EFI
1222                         memory mapped framebuffer (if available). On cache
1223                         coherent non-x86 systems that use system memory for
1224                         the framebuffer, pass the 'ram' option so that it is
1225                         mapped with the correct attributes.
1226
1227                 linflex,<addr>
1228                         Use early console provided by Freescale LINFlexD UART
1229                         serial driver for NXP S32V234 SoCs. A valid base
1230                         address must be provided, and the serial port must
1231                         already be setup and configured.
1232
1233         earlyprintk=    [X86,SH,ARM,M68k,S390]
1234                         earlyprintk=vga
1235                         earlyprintk=sclp
1236                         earlyprintk=xen
1237                         earlyprintk=serial[,ttySn[,baudrate]]
1238                         earlyprintk=serial[,0x...[,baudrate]]
1239                         earlyprintk=ttySn[,baudrate]
1240                         earlyprintk=dbgp[debugController#]
1241                         earlyprintk=pciserial[,force],bus:device.function[,baudrate]
1242                         earlyprintk=xdbc[xhciController#]
1243
1244                         earlyprintk is useful when the kernel crashes before
1245                         the normal console is initialized. It is not enabled by
1246                         default because it has some cosmetic problems.
1247
1248                         Append ",keep" to not disable it when the real console
1249                         takes over.
1250
1251                         Only one of vga, efi, serial, or usb debug port can
1252                         be used at a time.
1253
1254                         Currently only ttyS0 and ttyS1 may be specified by
1255                         name.  Other I/O ports may be explicitly specified
1256                         on some architectures (x86 and arm at least) by
1257                         replacing ttySn with an I/O port address, like this:
1258                                 earlyprintk=serial,0x1008,115200
1259                         You can find the port for a given device in
1260                         /proc/tty/driver/serial:
1261                                 2: uart:ST16650V2 port:00001008 irq:18 ...
1262
1263                         Interaction with the standard serial driver is not
1264                         very good.
1265
1266                         The VGA and EFI output is eventually overwritten by
1267                         the real console.
1268
1269                         The xen output can only be used by Xen PV guests.
1270
1271                         The sclp output can only be used on s390.
1272
1273                         The optional "force" to "pciserial" enables use of a
1274                         PCI device even when its classcode is not of the
1275                         UART class.
1276
1277         edac_report=    [HW,EDAC] Control how to report EDAC event
1278                         Format: {"on" | "off" | "force"}
1279                         on: enable EDAC to report H/W event. May be overridden
1280                         by other higher priority error reporting module.
1281                         off: disable H/W event reporting through EDAC.
1282                         force: enforce the use of EDAC to report H/W event.
1283                         default: on.
1284
1285         ekgdboc=        [X86,KGDB] Allow early kernel console debugging
1286                         ekgdboc=kbd
1287
1288                         This is designed to be used in conjunction with
1289                         the boot argument: earlyprintk=vga
1290
1291                         This parameter works in place of the kgdboc parameter
1292                         but can only be used if the backing tty is available
1293                         very early in the boot process. For early debugging
1294                         via a serial port see kgdboc_earlycon instead.
1295
1296         edd=            [EDD]
1297                         Format: {"off" | "on" | "skip[mbr]"}
1298
1299         efi=            [EFI]
1300                         Format: { "debug", "disable_early_pci_dma",
1301                                   "nochunk", "noruntime", "nosoftreserve",
1302                                   "novamap", "no_disable_early_pci_dma" }
1303                         debug: enable misc debug output.
1304                         disable_early_pci_dma: disable the busmaster bit on all
1305                         PCI bridges while in the EFI boot stub.
1306                         nochunk: disable reading files in "chunks" in the EFI
1307                         boot stub, as chunking can cause problems with some
1308                         firmware implementations.
1309                         noruntime : disable EFI runtime services support
1310                         nosoftreserve: The EFI_MEMORY_SP (Specific Purpose)
1311                         attribute may cause the kernel to reserve the
1312                         memory range for a memory mapping driver to
1313                         claim. Specify efi=nosoftreserve to disable this
1314                         reservation and treat the memory by its base type
1315                         (i.e. EFI_CONVENTIONAL_MEMORY / "System RAM").
1316                         novamap: do not call SetVirtualAddressMap().
1317                         no_disable_early_pci_dma: Leave the busmaster bit set
1318                         on all PCI bridges while in the EFI boot stub
1319
1320         efi_no_storage_paranoia [EFI; X86]
1321                         Using this parameter you can use more than 50% of
1322                         your efi variable storage. Use this parameter only if
1323                         you are really sure that your UEFI does sane gc and
1324                         fulfills the spec otherwise your board may brick.
1325
1326         efi_fake_mem=   nn[KMG]@ss[KMG]:aa[,nn[KMG]@ss[KMG]:aa,..] [EFI; X86]
1327                         Add arbitrary attribute to specific memory range by
1328                         updating original EFI memory map.
1329                         Region of memory which aa attribute is added to is
1330                         from ss to ss+nn.
1331
1332                         If efi_fake_mem=2G@4G:0x10000,2G@0x10a0000000:0x10000
1333                         is specified, EFI_MEMORY_MORE_RELIABLE(0x10000)
1334                         attribute is added to range 0x100000000-0x180000000 and
1335                         0x10a0000000-0x1120000000.
1336
1337                         If efi_fake_mem=8G@9G:0x40000 is specified, the
1338                         EFI_MEMORY_SP(0x40000) attribute is added to
1339                         range 0x240000000-0x43fffffff.
1340
1341                         Using this parameter you can do debugging of EFI memmap
1342                         related features. For example, you can do debugging of
1343                         Address Range Mirroring feature even if your box
1344                         doesn't support it, or mark specific memory as
1345                         "soft reserved".
1346
1347         efivar_ssdt=    [EFI; X86] Name of an EFI variable that contains an SSDT
1348                         that is to be dynamically loaded by Linux. If there are
1349                         multiple variables with the same name but with different
1350                         vendor GUIDs, all of them will be loaded. See
1351                         Documentation/admin-guide/acpi/ssdt-overlays.rst for details.
1352
1353
1354         eisa_irq_edge=  [PARISC,HW]
1355                         See header of drivers/parisc/eisa.c.
1356
1357         elanfreq=       [X86-32]
1358                         See comment before function elanfreq_setup() in
1359                         arch/x86/kernel/cpu/cpufreq/elanfreq.c.
1360
1361         elfcorehdr=[size[KMG]@]offset[KMG] [IA64,PPC,SH,X86,S390]
1362                         Specifies physical address of start of kernel core
1363                         image elf header and optionally the size. Generally
1364                         kexec loader will pass this option to capture kernel.
1365                         See Documentation/admin-guide/kdump/kdump.rst for details.
1366
1367         enable_mtrr_cleanup [X86]
1368                         The kernel tries to adjust MTRR layout from continuous
1369                         to discrete, to make X server driver able to add WB
1370                         entry later. This parameter enables that.
1371
1372         enable_timer_pin_1 [X86]
1373                         Enable PIN 1 of APIC timer
1374                         Can be useful to work around chipset bugs
1375                         (in particular on some ATI chipsets).
1376                         The kernel tries to set a reasonable default.
1377
1378         enforcing       [SELINUX] Set initial enforcing status.
1379                         Format: {"0" | "1"}
1380                         See security/selinux/Kconfig help text.
1381                         0 -- permissive (log only, no denials).
1382                         1 -- enforcing (deny and log).
1383                         Default value is 0.
1384                         Value can be changed at runtime via
1385                         /sys/fs/selinux/enforce.
1386
1387         erst_disable    [ACPI]
1388                         Disable Error Record Serialization Table (ERST)
1389                         support.
1390
1391         ether=          [HW,NET] Ethernet cards parameters
1392                         This option is obsoleted by the "netdev=" option, which
1393                         has equivalent usage. See its documentation for details.
1394
1395         evm=            [EVM]
1396                         Format: { "fix" }
1397                         Permit 'security.evm' to be updated regardless of
1398                         current integrity status.
1399
1400         failslab=
1401         fail_usercopy=
1402         fail_page_alloc=
1403         fail_make_request=[KNL]
1404                         General fault injection mechanism.
1405                         Format: <interval>,<probability>,<space>,<times>
1406                         See also Documentation/fault-injection/.
1407
1408         fb_tunnels=     [NET]
1409                         Format: { initns | none }
1410                         See Documentation/admin-guide/sysctl/net.rst for
1411                         fb_tunnels_only_for_init_ns
1412
1413         floppy=         [HW]
1414                         See Documentation/admin-guide/blockdev/floppy.rst.
1415
1416         force_pal_cache_flush
1417                         [IA-64] Avoid check_sal_cache_flush which may hang on
1418                         buggy SAL_CACHE_FLUSH implementations. Using this
1419                         parameter will force ia64_sal_cache_flush to call
1420                         ia64_pal_cache_flush instead of SAL_CACHE_FLUSH.
1421
1422         forcepae        [X86-32]
1423                         Forcefully enable Physical Address Extension (PAE).
1424                         Many Pentium M systems disable PAE but may have a
1425                         functionally usable PAE implementation.
1426                         Warning: use of this parameter will taint the kernel
1427                         and may cause unknown problems.
1428
1429         ftrace=[tracer]
1430                         [FTRACE] will set and start the specified tracer
1431                         as early as possible in order to facilitate early
1432                         boot debugging.
1433
1434         ftrace_dump_on_oops[=orig_cpu]
1435                         [FTRACE] will dump the trace buffers on oops.
1436                         If no parameter is passed, ftrace will dump
1437                         buffers of all CPUs, but if you pass orig_cpu, it will
1438                         dump only the buffer of the CPU that triggered the
1439                         oops.
1440
1441         ftrace_filter=[function-list]
1442                         [FTRACE] Limit the functions traced by the function
1443                         tracer at boot up. function-list is a comma-separated
1444                         list of functions. This list can be changed at run
1445                         time by the set_ftrace_filter file in the debugfs
1446                         tracing directory.
1447
1448         ftrace_notrace=[function-list]
1449                         [FTRACE] Do not trace the functions specified in
1450                         function-list. This list can be changed at run time
1451                         by the set_ftrace_notrace file in the debugfs
1452                         tracing directory.
1453
1454         ftrace_graph_filter=[function-list]
1455                         [FTRACE] Limit the top level callers functions traced
1456                         by the function graph tracer at boot up.
1457                         function-list is a comma-separated list of functions
1458                         that can be changed at run time by the
1459                         set_graph_function file in the debugfs tracing directory.
1460
1461         ftrace_graph_notrace=[function-list]
1462                         [FTRACE] Do not trace from the functions specified in
1463                         function-list.  This list is a comma-separated list of
1464                         functions that can be changed at run time by the
1465                         set_graph_notrace file in the debugfs tracing directory.
1466
1467         ftrace_graph_max_depth=<uint>
1468                         [FTRACE] Used with the function graph tracer. This is
1469                         the max depth it will trace into a function. This value
1470                         can be changed at run time by the max_graph_depth file
1471                         in the tracefs tracing directory. default: 0 (no limit)
1472
1473         fw_devlink=     [KNL] Create device links between consumer and supplier
1474                         devices by scanning the firmware to infer the
1475                         consumer/supplier relationships. This feature is
1476                         especially useful when drivers are loaded as modules as
1477                         it ensures proper ordering of tasks like device probing
1478                         (suppliers first, then consumers), supplier boot state
1479                         clean up (only after all consumers have probed),
1480                         suspend/resume & runtime PM (consumers first, then
1481                         suppliers).
1482                         Format: { off | permissive | on | rpm }
1483                         off --  Don't create device links from firmware info.
1484                         permissive -- Create device links from firmware info
1485                                 but use it only for ordering boot state clean
1486                                 up (sync_state() calls).
1487                         on --   Create device links from firmware info and use it
1488                                 to enforce probe and suspend/resume ordering.
1489                         rpm --  Like "on", but also use to order runtime PM.
1490
1491         fw_devlink.strict=<bool>
1492                         [KNL] Treat all inferred dependencies as mandatory
1493                         dependencies. This only applies for fw_devlink=on|rpm.
1494                         Format: <bool>
1495
1496         gamecon.map[2|3]=
1497                         [HW,JOY] Multisystem joystick and NES/SNES/PSX pad
1498                         support via parallel port (up to 5 devices per port)
1499                         Format: <port#>,<pad1>,<pad2>,<pad3>,<pad4>,<pad5>
1500                         See also Documentation/input/devices/joystick-parport.rst
1501
1502         gamma=          [HW,DRM]
1503
1504         gart_fix_e820=  [X86-64] disable the fix e820 for K8 GART
1505                         Format: off | on
1506                         default: on
1507
1508         gcov_persist=   [GCOV] When non-zero (default), profiling data for
1509                         kernel modules is saved and remains accessible via
1510                         debugfs, even when the module is unloaded/reloaded.
1511                         When zero, profiling data is discarded and associated
1512                         debugfs files are removed at module unload time.
1513
1514         goldfish        [X86] Enable the goldfish android emulator platform.
1515                         Don't use this when you are not running on the
1516                         android emulator
1517
1518         gpio-mockup.gpio_mockup_ranges
1519                         [HW] Sets the ranges of gpiochip of for this device.
1520                         Format: <start1>,<end1>,<start2>,<end2>...
1521         gpio-mockup.gpio_mockup_named_lines
1522                         [HW] Let the driver know GPIO lines should be named.
1523
1524         gpt             [EFI] Forces disk with valid GPT signature but
1525                         invalid Protective MBR to be treated as GPT. If the
1526                         primary GPT is corrupted, it enables the backup/alternate
1527                         GPT to be used instead.
1528
1529         grcan.enable0=  [HW] Configuration of physical interface 0. Determines
1530                         the "Enable 0" bit of the configuration register.
1531                         Format: 0 | 1
1532                         Default: 0
1533         grcan.enable1=  [HW] Configuration of physical interface 1. Determines
1534                         the "Enable 0" bit of the configuration register.
1535                         Format: 0 | 1
1536                         Default: 0
1537         grcan.select=   [HW] Select which physical interface to use.
1538                         Format: 0 | 1
1539                         Default: 0
1540         grcan.txsize=   [HW] Sets the size of the tx buffer.
1541                         Format: <unsigned int> such that (txsize & ~0x1fffc0) == 0.
1542                         Default: 1024
1543         grcan.rxsize=   [HW] Sets the size of the rx buffer.
1544                         Format: <unsigned int> such that (rxsize & ~0x1fffc0) == 0.
1545                         Default: 1024
1546
1547         hardlockup_all_cpu_backtrace=
1548                         [KNL] Should the hard-lockup detector generate
1549                         backtraces on all cpus.
1550                         Format: 0 | 1
1551
1552         hashdist=       [KNL,NUMA] Large hashes allocated during boot
1553                         are distributed across NUMA nodes.  Defaults on
1554                         for 64-bit NUMA, off otherwise.
1555                         Format: 0 | 1 (for off | on)
1556
1557         hcl=            [IA-64] SGI's Hardware Graph compatibility layer
1558
1559         hd=             [EIDE] (E)IDE hard drive subsystem geometry
1560                         Format: <cyl>,<head>,<sect>
1561
1562         hest_disable    [ACPI]
1563                         Disable Hardware Error Source Table (HEST) support;
1564                         corresponding firmware-first mode error processing
1565                         logic will be disabled.
1566
1567         highmem=nn[KMG] [KNL,BOOT] forces the highmem zone to have an exact
1568                         size of <nn>. This works even on boxes that have no
1569                         highmem otherwise. This also works to reduce highmem
1570                         size on bigger boxes.
1571
1572         highres=        [KNL] Enable/disable high resolution timer mode.
1573                         Valid parameters: "on", "off"
1574                         Default: "on"
1575
1576         hlt             [BUGS=ARM,SH]
1577
1578         hpet=           [X86-32,HPET] option to control HPET usage
1579                         Format: { enable (default) | disable | force |
1580                                 verbose }
1581                         disable: disable HPET and use PIT instead
1582                         force: allow force enabled of undocumented chips (ICH4,
1583                                 VIA, nVidia)
1584                         verbose: show contents of HPET registers during setup
1585
1586         hpet_mmap=      [X86, HPET_MMAP] Allow userspace to mmap HPET
1587                         registers.  Default set by CONFIG_HPET_MMAP_DEFAULT.
1588
1589         hugetlb_cma=    [HW,CMA] The size of a CMA area used for allocation
1590                         of gigantic hugepages.
1591                         Format: nn[KMGTPE]
1592
1593                         Reserve a CMA area of given size and allocate gigantic
1594                         hugepages using the CMA allocator. If enabled, the
1595                         boot-time allocation of gigantic hugepages is skipped.
1596
1597         hugepages=      [HW] Number of HugeTLB pages to allocate at boot.
1598                         If this follows hugepagesz (below), it specifies
1599                         the number of pages of hugepagesz to be allocated.
1600                         If this is the first HugeTLB parameter on the command
1601                         line, it specifies the number of pages to allocate for
1602                         the default huge page size.  See also
1603                         Documentation/admin-guide/mm/hugetlbpage.rst.
1604                         Format: <integer>
1605
1606         hugepagesz=
1607                         [HW] The size of the HugeTLB pages.  This is used in
1608                         conjunction with hugepages (above) to allocate huge
1609                         pages of a specific size at boot.  The pair
1610                         hugepagesz=X hugepages=Y can be specified once for
1611                         each supported huge page size. Huge page sizes are
1612                         architecture dependent.  See also
1613                         Documentation/admin-guide/mm/hugetlbpage.rst.
1614                         Format: size[KMG]
1615
1616         hugetlb_free_vmemmap=
1617                         [KNL] Reguires CONFIG_HUGETLB_PAGE_FREE_VMEMMAP
1618                         enabled.
1619                         Allows heavy hugetlb users to free up some more
1620                         memory (6 * PAGE_SIZE for each 2MB hugetlb page).
1621                         Format: { on | off (default) }
1622
1623                         on:  enable the feature
1624                         off: disable the feature
1625
1626                         Built with CONFIG_HUGETLB_PAGE_FREE_VMEMMAP_DEFAULT_ON=y,
1627                         the default is on.
1628
1629                         This is not compatible with memory_hotplug.memmap_on_memory.
1630                         If both parameters are enabled, hugetlb_free_vmemmap takes
1631                         precedence over memory_hotplug.memmap_on_memory.
1632
1633         hung_task_panic=
1634                         [KNL] Should the hung task detector generate panics.
1635                         Format: 0 | 1
1636
1637                         A value of 1 instructs the kernel to panic when a
1638                         hung task is detected. The default value is controlled
1639                         by the CONFIG_BOOTPARAM_HUNG_TASK_PANIC build-time
1640                         option. The value selected by this boot parameter can
1641                         be changed later by the kernel.hung_task_panic sysctl.
1642
1643         hvc_iucv=       [S390]  Number of z/VM IUCV hypervisor console (HVC)
1644                                 terminal devices. Valid values: 0..8
1645         hvc_iucv_allow= [S390]  Comma-separated list of z/VM user IDs.
1646                                 If specified, z/VM IUCV HVC accepts connections
1647                                 from listed z/VM user IDs only.
1648
1649         hv_nopvspin     [X86,HYPER_V] Disables the paravirt spinlock optimizations
1650                                       which allow the hypervisor to 'idle' the
1651                                       guest on lock contention.
1652
1653         keep_bootcon    [KNL]
1654                         Do not unregister boot console at start. This is only
1655                         useful for debugging when something happens in the window
1656                         between unregistering the boot console and initializing
1657                         the real console.
1658
1659         i2c_bus=        [HW]    Override the default board specific I2C bus speed
1660                                 or register an additional I2C bus that is not
1661                                 registered from board initialization code.
1662                                 Format:
1663                                 <bus_id>,<clkrate>
1664
1665         i8042.debug     [HW] Toggle i8042 debug mode
1666         i8042.unmask_kbd_data
1667                         [HW] Enable printing of interrupt data from the KBD port
1668                              (disabled by default, and as a pre-condition
1669                              requires that i8042.debug=1 be enabled)
1670         i8042.direct    [HW] Put keyboard port into non-translated mode
1671         i8042.dumbkbd   [HW] Pretend that controller can only read data from
1672                              keyboard and cannot control its state
1673                              (Don't attempt to blink the leds)
1674         i8042.noaux     [HW] Don't check for auxiliary (== mouse) port
1675         i8042.nokbd     [HW] Don't check/create keyboard port
1676         i8042.noloop    [HW] Disable the AUX Loopback command while probing
1677                              for the AUX port
1678         i8042.nomux     [HW] Don't check presence of an active multiplexing
1679                              controller
1680         i8042.nopnp     [HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX
1681                              controllers
1682         i8042.notimeout [HW] Ignore timeout condition signalled by controller
1683         i8042.reset     [HW] Reset the controller during init, cleanup and
1684                              suspend-to-ram transitions, only during s2r
1685                              transitions, or never reset
1686                         Format: { 1 | Y | y | 0 | N | n }
1687                         1, Y, y: always reset controller
1688                         0, N, n: don't ever reset controller
1689                         Default: only on s2r transitions on x86; most other
1690                         architectures force reset to be always executed
1691         i8042.unlock    [HW] Unlock (ignore) the keylock
1692         i8042.kbdreset  [HW] Reset device connected to KBD port
1693
1694         i810=           [HW,DRM]
1695
1696         i8k.ignore_dmi  [HW] Continue probing hardware even if DMI data
1697                         indicates that the driver is running on unsupported
1698                         hardware.
1699         i8k.force       [HW] Activate i8k driver even if SMM BIOS signature
1700                         does not match list of supported models.
1701         i8k.power_status
1702                         [HW] Report power status in /proc/i8k
1703                         (disabled by default)
1704         i8k.restricted  [HW] Allow controlling fans only if SYS_ADMIN
1705                         capability is set.
1706
1707         i915.invert_brightness=
1708                         [DRM] Invert the sense of the variable that is used to
1709                         set the brightness of the panel backlight. Normally a
1710                         brightness value of 0 indicates backlight switched off,
1711                         and the maximum of the brightness value sets the backlight
1712                         to maximum brightness. If this parameter is set to 0
1713                         (default) and the machine requires it, or this parameter
1714                         is set to 1, a brightness value of 0 sets the backlight
1715                         to maximum brightness, and the maximum of the brightness
1716                         value switches the backlight off.
1717                         -1 -- never invert brightness
1718                          0 -- machine default
1719                          1 -- force brightness inversion
1720
1721         icn=            [HW,ISDN]
1722                         Format: <io>[,<membase>[,<icn_id>[,<icn_id2>]]]
1723
1724         ide-core.nodma= [HW] (E)IDE subsystem
1725                         Format: =0.0 to prevent dma on hda, =0.1 hdb =1.0 hdc
1726                         .vlb_clock .pci_clock .noflush .nohpa .noprobe .nowerr
1727                         .cdrom .chs .ignore_cable are additional options
1728                         See Documentation/ide/ide.rst.
1729
1730         ide-generic.probe-mask= [HW] (E)IDE subsystem
1731                         Format: <int>
1732                         Probe mask for legacy ISA IDE ports.  Depending on
1733                         platform up to 6 ports are supported, enabled by
1734                         setting corresponding bits in the mask to 1.  The
1735                         default value is 0x0, which has a special meaning.
1736                         On systems that have PCI, it triggers scanning the
1737                         PCI bus for the first and the second port, which
1738                         are then probed.  On systems without PCI the value
1739                         of 0x0 enables probing the two first ports as if it
1740                         was 0x3.
1741
1742         ide-pci-generic.all-generic-ide [HW] (E)IDE subsystem
1743                         Claim all unknown PCI IDE storage controllers.
1744
1745         idle=           [X86]
1746                         Format: idle=poll, idle=halt, idle=nomwait
1747                         Poll forces a polling idle loop that can slightly
1748                         improve the performance of waking up a idle CPU, but
1749                         will use a lot of power and make the system run hot.
1750                         Not recommended.
1751                         idle=halt: Halt is forced to be used for CPU idle.
1752                         In such case C2/C3 won't be used again.
1753                         idle=nomwait: Disable mwait for CPU C-states
1754
1755         idxd.sva=       [HW]
1756                         Format: <bool>
1757                         Allow force disabling of Shared Virtual Memory (SVA)
1758                         support for the idxd driver. By default it is set to
1759                         true (1).
1760
1761         ieee754=        [MIPS] Select IEEE Std 754 conformance mode
1762                         Format: { strict | legacy | 2008 | relaxed }
1763                         Default: strict
1764
1765                         Choose which programs will be accepted for execution
1766                         based on the IEEE 754 NaN encoding(s) supported by
1767                         the FPU and the NaN encoding requested with the value
1768                         of an ELF file header flag individually set by each
1769                         binary.  Hardware implementations are permitted to
1770                         support either or both of the legacy and the 2008 NaN
1771                         encoding mode.
1772
1773                         Available settings are as follows:
1774                         strict  accept binaries that request a NaN encoding
1775                                 supported by the FPU
1776                         legacy  only accept legacy-NaN binaries, if supported
1777                                 by the FPU
1778                         2008    only accept 2008-NaN binaries, if supported
1779                                 by the FPU
1780                         relaxed accept any binaries regardless of whether
1781                                 supported by the FPU
1782
1783                         The FPU emulator is always able to support both NaN
1784                         encodings, so if no FPU hardware is present or it has
1785                         been disabled with 'nofpu', then the settings of
1786                         'legacy' and '2008' strap the emulator accordingly,
1787                         'relaxed' straps the emulator for both legacy-NaN and
1788                         2008-NaN, whereas 'strict' enables legacy-NaN only on
1789                         legacy processors and both NaN encodings on MIPS32 or
1790                         MIPS64 CPUs.
1791
1792                         The setting for ABS.fmt/NEG.fmt instruction execution
1793                         mode generally follows that for the NaN encoding,
1794                         except where unsupported by hardware.
1795
1796         ignore_loglevel [KNL]
1797                         Ignore loglevel setting - this will print /all/
1798                         kernel messages to the console. Useful for debugging.
1799                         We also add it as printk module parameter, so users
1800                         could change it dynamically, usually by
1801                         /sys/module/printk/parameters/ignore_loglevel.
1802
1803         ignore_rlimit_data
1804                         Ignore RLIMIT_DATA setting for data mappings,
1805                         print warning at first misuse.  Can be changed via
1806                         /sys/module/kernel/parameters/ignore_rlimit_data.
1807
1808         ihash_entries=  [KNL]
1809                         Set number of hash buckets for inode cache.
1810
1811         ima_appraise=   [IMA] appraise integrity measurements
1812                         Format: { "off" | "enforce" | "fix" | "log" }
1813                         default: "enforce"
1814
1815         ima_appraise_tcb [IMA] Deprecated.  Use ima_policy= instead.
1816                         The builtin appraise policy appraises all files
1817                         owned by uid=0.
1818
1819         ima_canonical_fmt [IMA]
1820                         Use the canonical format for the binary runtime
1821                         measurements, instead of host native format.
1822
1823         ima_hash=       [IMA]
1824                         Format: { md5 | sha1 | rmd160 | sha256 | sha384
1825                                    | sha512 | ... }
1826                         default: "sha1"
1827
1828                         The list of supported hash algorithms is defined
1829                         in crypto/hash_info.h.
1830
1831         ima_policy=     [IMA]
1832                         The builtin policies to load during IMA setup.
1833                         Format: "tcb | appraise_tcb | secure_boot |
1834                                  fail_securely | critical_data"
1835
1836                         The "tcb" policy measures all programs exec'd, files
1837                         mmap'd for exec, and all files opened with the read
1838                         mode bit set by either the effective uid (euid=0) or
1839                         uid=0.
1840
1841                         The "appraise_tcb" policy appraises the integrity of
1842                         all files owned by root.
1843
1844                         The "secure_boot" policy appraises the integrity
1845                         of files (eg. kexec kernel image, kernel modules,
1846                         firmware, policy, etc) based on file signatures.
1847
1848                         The "fail_securely" policy forces file signature
1849                         verification failure also on privileged mounted
1850                         filesystems with the SB_I_UNVERIFIABLE_SIGNATURE
1851                         flag.
1852
1853                         The "critical_data" policy measures kernel integrity
1854                         critical data.
1855
1856         ima_tcb         [IMA] Deprecated.  Use ima_policy= instead.
1857                         Load a policy which meets the needs of the Trusted
1858                         Computing Base.  This means IMA will measure all
1859                         programs exec'd, files mmap'd for exec, and all files
1860                         opened for read by uid=0.
1861
1862         ima_template=   [IMA]
1863                         Select one of defined IMA measurements template formats.
1864                         Formats: { "ima" | "ima-ng" | "ima-sig" }
1865                         Default: "ima-ng"
1866
1867         ima_template_fmt=
1868                         [IMA] Define a custom template format.
1869                         Format: { "field1|...|fieldN" }
1870
1871         ima.ahash_minsize= [IMA] Minimum file size for asynchronous hash usage
1872                         Format: <min_file_size>
1873                         Set the minimal file size for using asynchronous hash.
1874                         If left unspecified, ahash usage is disabled.
1875
1876                         ahash performance varies for different data sizes on
1877                         different crypto accelerators. This option can be used
1878                         to achieve the best performance for a particular HW.
1879
1880         ima.ahash_bufsize= [IMA] Asynchronous hash buffer size
1881                         Format: <bufsize>
1882                         Set hashing buffer size. Default: 4k.
1883
1884                         ahash performance varies for different chunk sizes on
1885                         different crypto accelerators. This option can be used
1886                         to achieve best performance for particular HW.
1887
1888         init=           [KNL]
1889                         Format: <full_path>
1890                         Run specified binary instead of /sbin/init as init
1891                         process.
1892
1893         initcall_debug  [KNL] Trace initcalls as they are executed.  Useful
1894                         for working out where the kernel is dying during
1895                         startup.
1896
1897         initcall_blacklist=  [KNL] Do not execute a comma-separated list of
1898                         initcall functions.  Useful for debugging built-in
1899                         modules and initcalls.
1900
1901         initramfs_async= [KNL]
1902                         Format: <bool>
1903                         Default: 1
1904                         This parameter controls whether the initramfs
1905                         image is unpacked asynchronously, concurrently
1906                         with devices being probed and
1907                         initialized. This should normally just work,
1908                         but as a debugging aid, one can get the
1909                         historical behaviour of the initramfs
1910                         unpacking being completed before device_ and
1911                         late_ initcalls.
1912
1913         initrd=         [BOOT] Specify the location of the initial ramdisk
1914
1915         initrdmem=      [KNL] Specify a physical address and size from which to
1916                         load the initrd. If an initrd is compiled in or
1917                         specified in the bootparams, it takes priority over this
1918                         setting.
1919                         Format: ss[KMG],nn[KMG]
1920                         Default is 0, 0
1921
1922         init_on_alloc=  [MM] Fill newly allocated pages and heap objects with
1923                         zeroes.
1924                         Format: 0 | 1
1925                         Default set by CONFIG_INIT_ON_ALLOC_DEFAULT_ON.
1926
1927         init_on_free=   [MM] Fill freed pages and heap objects with zeroes.
1928                         Format: 0 | 1
1929                         Default set by CONFIG_INIT_ON_FREE_DEFAULT_ON.
1930
1931         init_pkru=      [X86] Specify the default memory protection keys rights
1932                         register contents for all processes.  0x55555554 by
1933                         default (disallow access to all but pkey 0).  Can
1934                         override in debugfs after boot.
1935
1936         inport.irq=     [HW] Inport (ATI XL and Microsoft) busmouse driver
1937                         Format: <irq>
1938
1939         int_pln_enable  [X86] Enable power limit notification interrupt
1940
1941         integrity_audit=[IMA]
1942                         Format: { "0" | "1" }
1943                         0 -- basic integrity auditing messages. (Default)
1944                         1 -- additional integrity auditing messages.
1945
1946         intel_iommu=    [DMAR] Intel IOMMU driver (DMAR) option
1947                 on
1948                         Enable intel iommu driver.
1949                 off
1950                         Disable intel iommu driver.
1951                 igfx_off [Default Off]
1952                         By default, gfx is mapped as normal device. If a gfx
1953                         device has a dedicated DMAR unit, the DMAR unit is
1954                         bypassed by not enabling DMAR with this option. In
1955                         this case, gfx device will use physical address for
1956                         DMA.
1957                 strict [Default Off]
1958                         Deprecated, equivalent to iommu.strict=1.
1959                 sp_off [Default Off]
1960                         By default, super page will be supported if Intel IOMMU
1961                         has the capability. With this option, super page will
1962                         not be supported.
1963                 sm_on
1964                         Enable the Intel IOMMU scalable mode if the hardware
1965                         advertises that it has support for the scalable mode
1966                         translation.
1967                 sm_off
1968                         Disallow use of the Intel IOMMU scalable mode.
1969                 tboot_noforce [Default Off]
1970                         Do not force the Intel IOMMU enabled under tboot.
1971                         By default, tboot will force Intel IOMMU on, which
1972                         could harm performance of some high-throughput
1973                         devices like 40GBit network cards, even if identity
1974                         mapping is enabled.
1975                         Note that using this option lowers the security
1976                         provided by tboot because it makes the system
1977                         vulnerable to DMA attacks.
1978
1979         intel_idle.max_cstate=  [KNL,HW,ACPI,X86]
1980                         0       disables intel_idle and fall back on acpi_idle.
1981                         1 to 9  specify maximum depth of C-state.
1982
1983         intel_pstate=   [X86]
1984                         disable
1985                           Do not enable intel_pstate as the default
1986                           scaling driver for the supported processors
1987                         passive
1988                           Use intel_pstate as a scaling driver, but configure it
1989                           to work with generic cpufreq governors (instead of
1990                           enabling its internal governor).  This mode cannot be
1991                           used along with the hardware-managed P-states (HWP)
1992                           feature.
1993                         force
1994                           Enable intel_pstate on systems that prohibit it by default
1995                           in favor of acpi-cpufreq. Forcing the intel_pstate driver
1996                           instead of acpi-cpufreq may disable platform features, such
1997                           as thermal controls and power capping, that rely on ACPI
1998                           P-States information being indicated to OSPM and therefore
1999                           should be used with caution. This option does not work with
2000                           processors that aren't supported by the intel_pstate driver
2001                           or on platforms that use pcc-cpufreq instead of acpi-cpufreq.
2002                         no_hwp
2003                           Do not enable hardware P state control (HWP)
2004                           if available.
2005                         hwp_only
2006                           Only load intel_pstate on systems which support
2007                           hardware P state control (HWP) if available.
2008                         support_acpi_ppc
2009                           Enforce ACPI _PPC performance limits. If the Fixed ACPI
2010                           Description Table, specifies preferred power management
2011                           profile as "Enterprise Server" or "Performance Server",
2012                           then this feature is turned on by default.
2013                         per_cpu_perf_limits
2014                           Allow per-logical-CPU P-State performance control limits using
2015                           cpufreq sysfs interface
2016
2017         intremap=       [X86-64, Intel-IOMMU]
2018                         on      enable Interrupt Remapping (default)
2019                         off     disable Interrupt Remapping
2020                         nosid   disable Source ID checking
2021                         no_x2apic_optout
2022                                 BIOS x2APIC opt-out request will be ignored
2023                         nopost  disable Interrupt Posting
2024
2025         iomem=          Disable strict checking of access to MMIO memory
2026                 strict  regions from userspace.
2027                 relaxed
2028
2029         iommu=          [X86]
2030                 off
2031                 force
2032                 noforce
2033                 biomerge
2034                 panic
2035                 nopanic
2036                 merge
2037                 nomerge
2038                 soft
2039                 pt              [X86]
2040                 nopt            [X86]
2041                 nobypass        [PPC/POWERNV]
2042                         Disable IOMMU bypass, using IOMMU for PCI devices.
2043
2044         iommu.forcedac= [ARM64, X86] Control IOVA allocation for PCI devices.
2045                         Format: { "0" | "1" }
2046                         0 - Try to allocate a 32-bit DMA address first, before
2047                           falling back to the full range if needed.
2048                         1 - Allocate directly from the full usable range,
2049                           forcing Dual Address Cycle for PCI cards supporting
2050                           greater than 32-bit addressing.
2051
2052         iommu.strict=   [ARM64, X86] Configure TLB invalidation behaviour
2053                         Format: { "0" | "1" }
2054                         0 - Lazy mode.
2055                           Request that DMA unmap operations use deferred
2056                           invalidation of hardware TLBs, for increased
2057                           throughput at the cost of reduced device isolation.
2058                           Will fall back to strict mode if not supported by
2059                           the relevant IOMMU driver.
2060                         1 - Strict mode.
2061                           DMA unmap operations invalidate IOMMU hardware TLBs
2062                           synchronously.
2063                         unset - Use value of CONFIG_IOMMU_DEFAULT_DMA_{LAZY,STRICT}.
2064                         Note: on x86, strict mode specified via one of the
2065                         legacy driver-specific options takes precedence.
2066
2067         iommu.passthrough=
2068                         [ARM64, X86] Configure DMA to bypass the IOMMU by default.
2069                         Format: { "0" | "1" }
2070                         0 - Use IOMMU translation for DMA.
2071                         1 - Bypass the IOMMU for DMA.
2072                         unset - Use value of CONFIG_IOMMU_DEFAULT_PASSTHROUGH.
2073
2074         io7=            [HW] IO7 for Marvel-based Alpha systems
2075                         See comment before marvel_specify_io7 in
2076                         arch/alpha/kernel/core_marvel.c.
2077
2078         io_delay=       [X86] I/O delay method
2079                 0x80
2080                         Standard port 0x80 based delay
2081                 0xed
2082                         Alternate port 0xed based delay (needed on some systems)
2083                 udelay
2084                         Simple two microseconds delay
2085                 none
2086                         No delay
2087
2088         ip=             [IP_PNP]
2089                         See Documentation/admin-guide/nfs/nfsroot.rst.
2090
2091         ipcmni_extend   [KNL] Extend the maximum number of unique System V
2092                         IPC identifiers from 32,768 to 16,777,216.
2093
2094         irqaffinity=    [SMP] Set the default irq affinity mask
2095                         The argument is a cpu list, as described above.
2096
2097         irqchip.gicv2_force_probe=
2098                         [ARM, ARM64]
2099                         Format: <bool>
2100                         Force the kernel to look for the second 4kB page
2101                         of a GICv2 controller even if the memory range
2102                         exposed by the device tree is too small.
2103
2104         irqchip.gicv3_nolpi=
2105                         [ARM, ARM64]
2106                         Force the kernel to ignore the availability of
2107                         LPIs (and by consequence ITSs). Intended for system
2108                         that use the kernel as a bootloader, and thus want
2109                         to let secondary kernels in charge of setting up
2110                         LPIs.
2111
2112         irqchip.gicv3_pseudo_nmi= [ARM64]
2113                         Enables support for pseudo-NMIs in the kernel. This
2114                         requires the kernel to be built with
2115                         CONFIG_ARM64_PSEUDO_NMI.
2116
2117         irqfixup        [HW]
2118                         When an interrupt is not handled search all handlers
2119                         for it. Intended to get systems with badly broken
2120                         firmware running.
2121
2122         irqpoll         [HW]
2123                         When an interrupt is not handled search all handlers
2124                         for it. Also check all handlers each timer
2125                         interrupt. Intended to get systems with badly broken
2126                         firmware running.
2127
2128         isapnp=         [ISAPNP]
2129                         Format: <RDP>,<reset>,<pci_scan>,<verbosity>
2130
2131         isolcpus=       [KNL,SMP,ISOL] Isolate a given set of CPUs from disturbance.
2132                         [Deprecated - use cpusets instead]
2133                         Format: [flag-list,]<cpu-list>
2134
2135                         Specify one or more CPUs to isolate from disturbances
2136                         specified in the flag list (default: domain):
2137
2138                         nohz
2139                           Disable the tick when a single task runs.
2140
2141                           A residual 1Hz tick is offloaded to workqueues, which you
2142                           need to affine to housekeeping through the global
2143                           workqueue's affinity configured via the
2144                           /sys/devices/virtual/workqueue/cpumask sysfs file, or
2145                           by using the 'domain' flag described below.
2146
2147                           NOTE: by default the global workqueue runs on all CPUs,
2148                           so to protect individual CPUs the 'cpumask' file has to
2149                           be configured manually after bootup.
2150
2151                         domain
2152                           Isolate from the general SMP balancing and scheduling
2153                           algorithms. Note that performing domain isolation this way
2154                           is irreversible: it's not possible to bring back a CPU to
2155                           the domains once isolated through isolcpus. It's strongly
2156                           advised to use cpusets instead to disable scheduler load
2157                           balancing through the "cpuset.sched_load_balance" file.
2158                           It offers a much more flexible interface where CPUs can
2159                           move in and out of an isolated set anytime.
2160
2161                           You can move a process onto or off an "isolated" CPU via
2162                           the CPU affinity syscalls or cpuset.
2163                           <cpu number> begins at 0 and the maximum value is
2164                           "number of CPUs in system - 1".
2165
2166                         managed_irq
2167
2168                           Isolate from being targeted by managed interrupts
2169                           which have an interrupt mask containing isolated
2170                           CPUs. The affinity of managed interrupts is
2171                           handled by the kernel and cannot be changed via
2172                           the /proc/irq/* interfaces.
2173
2174                           This isolation is best effort and only effective
2175                           if the automatically assigned interrupt mask of a
2176                           device queue contains isolated and housekeeping
2177                           CPUs. If housekeeping CPUs are online then such
2178                           interrupts are directed to the housekeeping CPU
2179                           so that IO submitted on the housekeeping CPU
2180                           cannot disturb the isolated CPU.
2181
2182                           If a queue's affinity mask contains only isolated
2183                           CPUs then this parameter has no effect on the
2184                           interrupt routing decision, though interrupts are
2185                           only delivered when tasks running on those
2186                           isolated CPUs submit IO. IO submitted on
2187                           housekeeping CPUs has no influence on those
2188                           queues.
2189
2190                         The format of <cpu-list> is described above.
2191
2192         iucv=           [HW,NET]
2193
2194         ivrs_ioapic     [HW,X86-64]
2195                         Provide an override to the IOAPIC-ID<->DEVICE-ID
2196                         mapping provided in the IVRS ACPI table. For
2197                         example, to map IOAPIC-ID decimal 10 to
2198                         PCI device 00:14.0 write the parameter as:
2199                                 ivrs_ioapic[10]=00:14.0
2200
2201         ivrs_hpet       [HW,X86-64]
2202                         Provide an override to the HPET-ID<->DEVICE-ID
2203                         mapping provided in the IVRS ACPI table. For
2204                         example, to map HPET-ID decimal 0 to
2205                         PCI device 00:14.0 write the parameter as:
2206                                 ivrs_hpet[0]=00:14.0
2207
2208         ivrs_acpihid    [HW,X86-64]
2209                         Provide an override to the ACPI-HID:UID<->DEVICE-ID
2210                         mapping provided in the IVRS ACPI table. For
2211                         example, to map UART-HID:UID AMD0020:0 to
2212                         PCI device 00:14.5 write the parameter as:
2213                                 ivrs_acpihid[00:14.5]=AMD0020:0
2214
2215         js=             [HW,JOY] Analog joystick
2216                         See Documentation/input/joydev/joystick.rst.
2217
2218         nokaslr         [KNL]
2219                         When CONFIG_RANDOMIZE_BASE is set, this disables
2220                         kernel and module base offset ASLR (Address Space
2221                         Layout Randomization).
2222
2223         kasan_multi_shot
2224                         [KNL] Enforce KASAN (Kernel Address Sanitizer) to print
2225                         report on every invalid memory access. Without this
2226                         parameter KASAN will print report only for the first
2227                         invalid access.
2228
2229         keepinitrd      [HW,ARM]
2230
2231         kernelcore=     [KNL,X86,IA-64,PPC]
2232                         Format: nn[KMGTPE] | nn% | "mirror"
2233                         This parameter specifies the amount of memory usable by
2234                         the kernel for non-movable allocations.  The requested
2235                         amount is spread evenly throughout all nodes in the
2236                         system as ZONE_NORMAL.  The remaining memory is used for
2237                         movable memory in its own zone, ZONE_MOVABLE.  In the
2238                         event, a node is too small to have both ZONE_NORMAL and
2239                         ZONE_MOVABLE, kernelcore memory will take priority and
2240                         other nodes will have a larger ZONE_MOVABLE.
2241
2242                         ZONE_MOVABLE is used for the allocation of pages that
2243                         may be reclaimed or moved by the page migration
2244                         subsystem.  Note that allocations like PTEs-from-HighMem
2245                         still use the HighMem zone if it exists, and the Normal
2246                         zone if it does not.
2247
2248                         It is possible to specify the exact amount of memory in
2249                         the form of "nn[KMGTPE]", a percentage of total system
2250                         memory in the form of "nn%", or "mirror".  If "mirror"
2251                         option is specified, mirrored (reliable) memory is used
2252                         for non-movable allocations and remaining memory is used
2253                         for Movable pages.  "nn[KMGTPE]", "nn%", and "mirror"
2254                         are exclusive, so you cannot specify multiple forms.
2255
2256         kgdbdbgp=       [KGDB,HW] kgdb over EHCI usb debug port.
2257                         Format: <Controller#>[,poll interval]
2258                         The controller # is the number of the ehci usb debug
2259                         port as it is probed via PCI.  The poll interval is
2260                         optional and is the number seconds in between
2261                         each poll cycle to the debug port in case you need
2262                         the functionality for interrupting the kernel with
2263                         gdb or control-c on the dbgp connection.  When
2264                         not using this parameter you use sysrq-g to break into
2265                         the kernel debugger.
2266
2267         kgdboc=         [KGDB,HW] kgdb over consoles.
2268                         Requires a tty driver that supports console polling,
2269                         or a supported polling keyboard driver (non-usb).
2270                          Serial only format: <serial_device>[,baud]
2271                          keyboard only format: kbd
2272                          keyboard and serial format: kbd,<serial_device>[,baud]
2273                         Optional Kernel mode setting:
2274                          kms, kbd format: kms,kbd
2275                          kms, kbd and serial format: kms,kbd,<ser_dev>[,baud]
2276
2277         kgdboc_earlycon=        [KGDB,HW]
2278                         If the boot console provides the ability to read
2279                         characters and can work in polling mode, you can use
2280                         this parameter to tell kgdb to use it as a backend
2281                         until the normal console is registered. Intended to
2282                         be used together with the kgdboc parameter which
2283                         specifies the normal console to transition to.
2284
2285                         The name of the early console should be specified
2286                         as the value of this parameter. Note that the name of
2287                         the early console might be different than the tty
2288                         name passed to kgdboc. It's OK to leave the value
2289                         blank and the first boot console that implements
2290                         read() will be picked.
2291
2292         kgdbwait        [KGDB] Stop kernel execution and enter the
2293                         kernel debugger at the earliest opportunity.
2294
2295         kmac=           [MIPS] Korina ethernet MAC address.
2296                         Configure the RouterBoard 532 series on-chip
2297                         Ethernet adapter MAC address.
2298
2299         kmemleak=       [KNL] Boot-time kmemleak enable/disable
2300                         Valid arguments: on, off
2301                         Default: on
2302                         Built with CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y,
2303                         the default is off.
2304
2305         kprobe_event=[probe-list]
2306                         [FTRACE] Add kprobe events and enable at boot time.
2307                         The probe-list is a semicolon delimited list of probe
2308                         definitions. Each definition is same as kprobe_events
2309                         interface, but the parameters are comma delimited.
2310                         For example, to add a kprobe event on vfs_read with
2311                         arg1 and arg2, add to the command line;
2312
2313                               kprobe_event=p,vfs_read,$arg1,$arg2
2314
2315                         See also Documentation/trace/kprobetrace.rst "Kernel
2316                         Boot Parameter" section.
2317
2318         kpti=           [ARM64] Control page table isolation of user
2319                         and kernel address spaces.
2320                         Default: enabled on cores which need mitigation.
2321                         0: force disabled
2322                         1: force enabled
2323
2324         kvm.ignore_msrs=[KVM] Ignore guest accesses to unhandled MSRs.
2325                         Default is 0 (don't ignore, but inject #GP)
2326
2327         kvm.enable_vmware_backdoor=[KVM] Support VMware backdoor PV interface.
2328                                    Default is false (don't support).
2329
2330         kvm.mmu_audit=  [KVM] This is a R/W parameter which allows audit
2331                         KVM MMU at runtime.
2332                         Default is 0 (off)
2333
2334         kvm.nx_huge_pages=
2335                         [KVM] Controls the software workaround for the
2336                         X86_BUG_ITLB_MULTIHIT bug.
2337                         force   : Always deploy workaround.
2338                         off     : Never deploy workaround.
2339                         auto    : Deploy workaround based on the presence of
2340                                   X86_BUG_ITLB_MULTIHIT.
2341
2342                         Default is 'auto'.
2343
2344                         If the software workaround is enabled for the host,
2345                         guests do need not to enable it for nested guests.
2346
2347         kvm.nx_huge_pages_recovery_ratio=
2348                         [KVM] Controls how many 4KiB pages are periodically zapped
2349                         back to huge pages.  0 disables the recovery, otherwise if
2350                         the value is N KVM will zap 1/Nth of the 4KiB pages every
2351                         minute.  The default is 60.
2352
2353         kvm-amd.nested= [KVM,AMD] Allow nested virtualization in KVM/SVM.
2354                         Default is 1 (enabled)
2355
2356         kvm-amd.npt=    [KVM,AMD] Disable nested paging (virtualized MMU)
2357                         for all guests.
2358                         Default is 1 (enabled) if in 64-bit or 32-bit PAE mode.
2359
2360         kvm-arm.mode=
2361                         [KVM,ARM] Select one of KVM/arm64's modes of operation.
2362
2363                         nvhe: Standard nVHE-based mode, without support for
2364                               protected guests.
2365
2366                         protected: nVHE-based mode with support for guests whose
2367                                    state is kept private from the host.
2368                                    Not valid if the kernel is running in EL2.
2369
2370                         Defaults to VHE/nVHE based on hardware support.
2371
2372         kvm-arm.vgic_v3_group0_trap=
2373                         [KVM,ARM] Trap guest accesses to GICv3 group-0
2374                         system registers
2375
2376         kvm-arm.vgic_v3_group1_trap=
2377                         [KVM,ARM] Trap guest accesses to GICv3 group-1
2378                         system registers
2379
2380         kvm-arm.vgic_v3_common_trap=
2381                         [KVM,ARM] Trap guest accesses to GICv3 common
2382                         system registers
2383
2384         kvm-arm.vgic_v4_enable=
2385                         [KVM,ARM] Allow use of GICv4 for direct injection of
2386                         LPIs.
2387
2388         kvm_cma_resv_ratio=n [PPC]
2389                         Reserves given percentage from system memory area for
2390                         contiguous memory allocation for KVM hash pagetable
2391                         allocation.
2392                         By default it reserves 5% of total system memory.
2393                         Format: <integer>
2394                         Default: 5
2395
2396         kvm-intel.ept=  [KVM,Intel] Disable extended page tables
2397                         (virtualized MMU) support on capable Intel chips.
2398                         Default is 1 (enabled)
2399
2400         kvm-intel.emulate_invalid_guest_state=
2401                         [KVM,Intel] Enable emulation of invalid guest states
2402                         Default is 0 (disabled)
2403
2404         kvm-intel.flexpriority=
2405                         [KVM,Intel] Disable FlexPriority feature (TPR shadow).
2406                         Default is 1 (enabled)
2407
2408         kvm-intel.nested=
2409                         [KVM,Intel] Enable VMX nesting (nVMX).
2410                         Default is 0 (disabled)
2411
2412         kvm-intel.unrestricted_guest=
2413                         [KVM,Intel] Disable unrestricted guest feature
2414                         (virtualized real and unpaged mode) on capable
2415                         Intel chips. Default is 1 (enabled)
2416
2417         kvm-intel.vmentry_l1d_flush=[KVM,Intel] Mitigation for L1 Terminal Fault
2418                         CVE-2018-3620.
2419
2420                         Valid arguments: never, cond, always
2421
2422                         always: L1D cache flush on every VMENTER.
2423                         cond:   Flush L1D on VMENTER only when the code between
2424                                 VMEXIT and VMENTER can leak host memory.
2425                         never:  Disables the mitigation
2426
2427                         Default is cond (do L1 cache flush in specific instances)
2428
2429         kvm-intel.vpid= [KVM,Intel] Disable Virtual Processor Identification
2430                         feature (tagged TLBs) on capable Intel chips.
2431                         Default is 1 (enabled)
2432
2433         l1d_flush=      [X86,INTEL]
2434                         Control mitigation for L1D based snooping vulnerability.
2435
2436                         Certain CPUs are vulnerable to an exploit against CPU
2437                         internal buffers which can forward information to a
2438                         disclosure gadget under certain conditions.
2439
2440                         In vulnerable processors, the speculatively
2441                         forwarded data can be used in a cache side channel
2442                         attack, to access data to which the attacker does
2443                         not have direct access.
2444
2445                         This parameter controls the mitigation. The
2446                         options are:
2447
2448                         on         - enable the interface for the mitigation
2449
2450         l1tf=           [X86] Control mitigation of the L1TF vulnerability on
2451                               affected CPUs
2452
2453                         The kernel PTE inversion protection is unconditionally
2454                         enabled and cannot be disabled.
2455
2456                         full
2457                                 Provides all available mitigations for the
2458                                 L1TF vulnerability. Disables SMT and
2459                                 enables all mitigations in the
2460                                 hypervisors, i.e. unconditional L1D flush.
2461
2462                                 SMT control and L1D flush control via the
2463                                 sysfs interface is still possible after
2464                                 boot.  Hypervisors will issue a warning
2465                                 when the first VM is started in a
2466                                 potentially insecure configuration,
2467                                 i.e. SMT enabled or L1D flush disabled.
2468
2469                         full,force
2470                                 Same as 'full', but disables SMT and L1D
2471                                 flush runtime control. Implies the
2472                                 'nosmt=force' command line option.
2473                                 (i.e. sysfs control of SMT is disabled.)
2474
2475                         flush
2476                                 Leaves SMT enabled and enables the default
2477                                 hypervisor mitigation, i.e. conditional
2478                                 L1D flush.
2479
2480                                 SMT control and L1D flush control via the
2481                                 sysfs interface is still possible after
2482                                 boot.  Hypervisors will issue a warning
2483                                 when the first VM is started in a
2484                                 potentially insecure configuration,
2485                                 i.e. SMT enabled or L1D flush disabled.
2486
2487                         flush,nosmt
2488
2489                                 Disables SMT and enables the default
2490                                 hypervisor mitigation.
2491
2492                                 SMT control and L1D flush control via the
2493                                 sysfs interface is still possible after
2494                                 boot.  Hypervisors will issue a warning
2495                                 when the first VM is started in a
2496                                 potentially insecure configuration,
2497                                 i.e. SMT enabled or L1D flush disabled.
2498
2499                         flush,nowarn
2500                                 Same as 'flush', but hypervisors will not
2501                                 warn when a VM is started in a potentially
2502                                 insecure configuration.
2503
2504                         off
2505                                 Disables hypervisor mitigations and doesn't
2506                                 emit any warnings.
2507                                 It also drops the swap size and available
2508                                 RAM limit restriction on both hypervisor and
2509                                 bare metal.
2510
2511                         Default is 'flush'.
2512
2513                         For details see: Documentation/admin-guide/hw-vuln/l1tf.rst
2514
2515         l2cr=           [PPC]
2516
2517         l3cr=           [PPC]
2518
2519         lapic           [X86-32,APIC] Enable the local APIC even if BIOS
2520                         disabled it.
2521
2522         lapic=          [X86,APIC] Do not use TSC deadline
2523                         value for LAPIC timer one-shot implementation. Default
2524                         back to the programmable timer unit in the LAPIC.
2525                         Format: notscdeadline
2526