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