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