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