kernel-parameters.txt 157 KB
Newer Older
1 2
                          Kernel Parameters
                          ~~~~~~~~~~~~~~~~~
Linus Torvalds's avatar
Linus Torvalds committed
3

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
The following is a consolidated list of the kernel parameters as
implemented by the __setup(), core_param() and module_param() macros
and sorted into English Dictionary order (defined as ignoring all
punctuation and sorting digits before letters in a case insensitive
manner), and with descriptions where known.

The kernel parses parameters from the kernel command line up to "--";
if it doesn't recognize a parameter and it doesn't contain a '.', the
parameter gets passed to init: parameters with '=' go into init's
environment, others are passed as command line arguments to init.
Everything after "--" is passed as an argument to init.

Module parameters can be specified in two ways: via the kernel command
line with a module name prefix, or via modprobe, e.g.:

	(kernel command line) usbcore.blinkenlights=1
	(modprobe command line) modprobe usbcore blinkenlights=1

Parameters for modules which are built into the kernel need to be
specified on the kernel command line.  modprobe looks through the
kernel command line (/proc/cmdline) and collects module parameters
when it loads a module, so the kernel command line can be used for
loadable modules too.
Linus Torvalds's avatar
Linus Torvalds committed
27

28 29 30 31 32
Hyphens (dashes) and underscores are equivalent in parameter names, so
	log_buf_len=1M print-fatal-signals=1
can also be entered as
	log-buf-len=1M print_fatal_signals=1

33 34
Double-quotes can be used to protect spaces in values, e.g.:
	param="spaces in here"
35

36 37 38 39 40 41 42
This document may not be entirely up to date and comprehensive. The command
"modinfo -p ${modulename}" shows a current list of all parameters of a loadable
module. Loadable modules, after being loaded into the running kernel, also
reveal their parameters in /sys/module/${modulename}/parameters/. Some of these
parameters may be changed at runtime by the command
"echo -n ${value} > /sys/module/${modulename}/parameters/${parm}".

43 44 45 46
The parameters listed below are only valid if certain kernel build options were
enabled and if respective hardware is present. The text in square brackets at
the beginning of each description states the restrictions within which a
parameter is applicable:
Linus Torvalds's avatar
Linus Torvalds committed
47 48

	ACPI	ACPI support is enabled.
Chuck Ebbert's avatar
Chuck Ebbert committed
49
	AGP	AGP (Accelerated Graphics Port) is enabled.
Linus Torvalds's avatar
Linus Torvalds committed
50 51 52
	ALSA	ALSA sound support is enabled.
	APIC	APIC support is enabled.
	APM	Advanced Power Management support is enabled.
53
	ARM	ARM architecture is enabled.
Haavard Skinnemoen's avatar
Haavard Skinnemoen committed
54
	AVR32	AVR32 architecture is enabled.
Linus Torvalds's avatar
Linus Torvalds committed
55
	AX25	Appropriate AX.25 support is enabled.
56
	BLACKFIN Blackfin architecture is enabled.
57
	CLK	Common clock infrastructure is enabled.
58
	CMA	Contiguous Memory Area support is enabled.
59 60
	DRM	Direct Rendering Management support is enabled.
	DYNAMIC_DEBUG Build in debug messages and enable them at runtime
Linus Torvalds's avatar
Linus Torvalds committed
61 62 63
	EDD	BIOS Enhanced Disk Drive Services (EDD) is enabled
	EFI	EFI Partitioning (GPT) is enabled
	EIDE	EIDE/ATAPI support is enabled.
64
	EVM	Extended Verification Module
Linus Torvalds's avatar
Linus Torvalds committed
65
	FB	The frame buffer device is enabled.
66
	FTRACE	Function tracing enabled.
67
	GCOV	GCOV profiling is enabled.
Linus Torvalds's avatar
Linus Torvalds committed
68 69
	HW	Appropriate hardware is enabled.
	IA-64	IA-64 architecture is enabled.
Mimi Zohar's avatar
Mimi Zohar committed
70
	IMA     Integrity measurement architecture is enabled.
Linus Torvalds's avatar
Linus Torvalds committed
71
	IOSCHED	More than one I/O scheduler is enabled.
72
	IP_PNP	IP DHCP, BOOTP, or RARP is enabled.
Brian Haley's avatar
Brian Haley committed
73
	IPV6	IPv6 support is enabled.
Linus Torvalds's avatar
Linus Torvalds committed
74 75 76
	ISAPNP	ISA PnP code is enabled.
	ISDN	Appropriate ISDN support is enabled.
	JOY	Appropriate joystick support is enabled.
77
	KGDB	Kernel debugger support is enabled.
78
	KVM	Kernel Virtual Machine support is enabled.
79
	LIBATA  Libata driver is enabled
Linus Torvalds's avatar
Linus Torvalds committed
80 81 82 83 84 85
	LP	Printer support is enabled.
	LOOP	Loopback device support is enabled.
	M68k	M68k architecture is enabled.
			These options have more detailed description inside of
			Documentation/m68k/kernel-options.txt.
	MDA	MDA console support is enabled.
86
	MIPS	MIPS architecture is enabled.
Linus Torvalds's avatar
Linus Torvalds committed
87
	MOUSE	Appropriate mouse support is enabled.
88
	MSI	Message Signaled Interrupts (PCI).
89
	MTD	MTD (Memory Technology Device) support is enabled.
Linus Torvalds's avatar
Linus Torvalds committed
90 91 92 93
	NET	Appropriate network support is enabled.
	NUMA	NUMA support is enabled.
	NFS	Appropriate NFS support is enabled.
	OSS	OSS sound support is enabled.
94 95
	PV_OPS	A paravirtualized kernel is enabled.
	PARIDE	The ParIDE (parallel port IDE) subsystem is enabled.
Linus Torvalds's avatar
Linus Torvalds committed
96 97
	PARISC	The PA-RISC architecture is enabled.
	PCI	PCI bus support is enabled.
Randy Dunlap's avatar
Randy Dunlap committed
98
	PCIE	PCI Express support is enabled.
Linus Torvalds's avatar
Linus Torvalds committed
99 100 101 102 103 104 105 106
	PCMCIA	The PCMCIA subsystem is enabled.
	PNP	Plug & Play support is enabled.
	PPC	PowerPC architecture is enabled.
	PPT	Parallel port support is enabled.
	PS2	Appropriate PS/2 support is enabled.
	RAM	RAM disk support is enabled.
	S390	S390 architecture is enabled.
	SCSI	Appropriate SCSI support is enabled.
107 108
			A lot of drivers have their options described inside
			the Documentation/scsi/ sub-directory.
109
	SECURITY Different security models are enabled.
Linus Torvalds's avatar
Linus Torvalds committed
110
	SELINUX SELinux support is enabled.
111
	APPARMOR AppArmor support is enabled.
Linus Torvalds's avatar
Linus Torvalds committed
112
	SERIAL	Serial support is enabled.
113
	SH	SuperH architecture is enabled.
Linus Torvalds's avatar
Linus Torvalds committed
114 115
	SMP	The kernel is an SMP kernel.
	SPARC	Sparc architecture is enabled.
116 117
	SWSUSP	Software suspend (hibernation) is enabled.
	SUSPEND	System suspend states are enabled.
118
	TPM	TPM drivers are enabled.
Linus Torvalds's avatar
Linus Torvalds committed
119
	TS	Appropriate touchscreen support is enabled.
120
	UMS	USB Mass Storage support is enabled.
Linus Torvalds's avatar
Linus Torvalds committed
121 122 123
	USB	USB support is enabled.
	USBHID	USB Human Interface Device support is enabled.
	V4L	Video For Linux support is enabled.
124
	VMMIO   Driver for memory mapped virtio devices is enabled.
Linus Torvalds's avatar
Linus Torvalds committed
125 126 127 128
	VGA	The VGA console has been enabled.
	VT	Virtual terminal support is enabled.
	WDT	Watchdog support is enabled.
	XT	IBM PC/XT MFM hard disk support is enabled.
129
	X86-32	X86-32, aka i386 architecture is enabled.
Linus Torvalds's avatar
Linus Torvalds committed
130 131
	X86-64	X86-64 architecture is enabled.
			More X86-64 boot options can be found in
Uwe Hermann's avatar
Uwe Hermann committed
132
			Documentation/x86/x86_64/boot-options.txt .
133
	X86	Either 32-bit or 64-bit x86 (same as X86-32+X86-64)
134
	X86_UV	SGI UV support is enabled.
135
	XEN	Xen support is enabled
Linus Torvalds's avatar
Linus Torvalds committed
136 137 138 139 140 141 142 143 144 145

In addition, the following text indicates that the option:

	BUGS=	Relates to possible processor bugs on the said processor.
	KNL	Is a kernel start-up parameter.
	BOOT	Is a boot loader parameter.

Parameters denoted with BOOT are actually interpreted by the boot
loader, and have no meaning to the kernel directly.
Do not modify the syntax of boot loader parameters without extreme
146
need or coordination with <Documentation/x86/boot.txt>.
Linus Torvalds's avatar
Linus Torvalds committed
147

148
There are also arch-specific kernel-parameters not documented here.
Uwe Hermann's avatar
Uwe Hermann committed
149
See for example <Documentation/x86/x86_64/boot-options.txt>.
150

Linus Torvalds's avatar
Linus Torvalds committed
151 152 153 154 155 156
Note that ALL kernel parameters listed below are CASE SENSITIVE, and that
a trailing = on the name of any parameter states that that parameter will
be entered as an environment variable, whereas its absence indicates that
it will appear as a kernel argument readable via /proc/cmdline by programs
running once the system is up.

157 158 159 160 161 162
The number of kernel parameters is not limited, but the length of the
complete command line (parameters including spaces etc.) is limited to
a fixed number of characters. This limit depends on the architecture
and is between 256 and 4096 characters. It is defined in the file
./include/asm/setup.h as COMMAND_LINE_SIZE.

163 164 165 166 167
Finally, the [KMG] suffix is commonly described after a number of kernel
parameter values. These 'K', 'M', and 'G' letters represent the _binary_
multipliers 'Kilo', 'Mega', and 'Giga', equalling 2^10, 2^20, and 2^30
bytes respectively. Such letter suffixes can also be entirely omitted.

168

169
	acpi=		[HW,ACPI,X86,ARM64]
170
			Advanced Configuration and Power Interface
171
			Format: { force | on | off | strict | noirq | rsdt |
172
				  copy_dsdt }
Linus Torvalds's avatar
Linus Torvalds committed
173
			force -- enable ACPI if default was off
174
			on -- enable ACPI but allow fallback to DT [arm64]
Linus Torvalds's avatar
Linus Torvalds committed
175 176
			off -- disable ACPI if default was on
			noirq -- do not use ACPI for IRQ routing
177
			strict -- Be less tolerant of platforms that are not
Linus Torvalds's avatar
Linus Torvalds committed
178
				strictly ACPI specification compliant.
179
			rsdt -- prefer RSDT over (default) XSDT
180
			copy_dsdt -- copy DSDT to memory
181 182
			For ARM64, ONLY "acpi=off", "acpi=on" or "acpi=force"
			are available
Linus Torvalds's avatar
Linus Torvalds committed
183

Paul Bolle's avatar
Paul Bolle committed
184
			See also Documentation/power/runtime_pm.txt, pci=noacpi
Linus Torvalds's avatar
Linus Torvalds committed
185

186 187 188 189
	acpi_apic_instance=	[ACPI, IOAPIC]
			Format: <int>
			2: use 2nd APIC table, if available
			1,0: use 1st APIC table
190
			default: 0
191

192 193 194 195 196 197 198
	acpi_backlight=	[HW,ACPI]
			acpi_backlight=vendor
			acpi_backlight=video
			If set to vendor, prefer vendor specific driver
			(e.g. thinkpad_acpi, sony_acpi, etc.) instead
			of the ACPI video.ko driver.

199 200 201 202 203 204
	acpi_force_32bit_fadt_addr
			force FADT to use 32 bit addresses rather than the
			64 bit X_* addresses. Some firmware have broken 64
			bit addresses for force ACPI ignore these and use
			the older legacy 32 bit addresses.

205 206 207 208 209 210 211 212
	acpica_no_return_repair [HW, ACPI]
			Disable AML predefined validation mechanism
			This mechanism can repair the evaluation result to make
			the return objects more ACPI specification compliant.
			This option is useful for developers to identify the
			root cause of an AML interpreter issue when the issue
			has something to do with the repair mechanism.

213 214
	acpi.debug_layer=	[HW,ACPI,ACPI_DEBUG]
	acpi.debug_level=	[HW,ACPI,ACPI_DEBUG]
Linus Torvalds's avatar
Linus Torvalds committed
215
			Format: <int>
216 217 218 219 220 221 222
			CONFIG_ACPI_DEBUG must be enabled to produce any ACPI
			debug output.  Bits in debug_layer correspond to a
			_COMPONENT in an ACPI source file, e.g.,
			    #define _COMPONENT ACPI_PCI_COMPONENT
			Bits in debug_level correspond to a level in
			ACPI_DEBUG_PRINT statements, e.g.,
			    ACPI_DEBUG_PRINT((ACPI_DB_INFO, ...
223 224 225
			The debug_level mask defaults to "info".  See
			Documentation/acpi/debug.txt for more information about
			debug layers and levels.
226

227 228 229 230
			Enable processor driver info messages:
			    acpi.debug_layer=0x20000000
			Enable PCI/PCI interrupt routing info messages:
			    acpi.debug_layer=0x400000
231 232 233 234 235 236 237 238 239
			Enable AML "Debug" output, i.e., stores to the Debug
			object while interpreting AML:
			    acpi.debug_layer=0xffffffff acpi.debug_level=0x2
			Enable all messages related to ACPI hardware:
			    acpi.debug_layer=0x2 acpi.debug_level=0xffffffff

			Some values produce so much output that the system is
			unusable.  The "log_buf_len" parameter may be useful
			if you need to capture more output.
240

241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256
	acpi_enforce_resources=	[ACPI]
			{ strict | lax | no }
			Check for resource conflicts between native drivers
			and ACPI OperationRegions (SystemIO and SystemMemory
			only). IO ports and memory declared in ACPI might be
			used by the ACPI subsystem in arbitrary AML code and
			can interfere with legacy drivers.
			strict (default): access to resources claimed by ACPI
			is denied; legacy drivers trying to access reserved
			resources will fail to bind to device using them.
			lax: access to resources claimed by ACPI is allowed;
			legacy drivers trying to access reserved resources
			will bind successfully but a warning message is logged.
			no: ACPI OperationRegions are not marked as reserved,
			no further checks are performed.

257 258 259 260 261
	acpi_force_table_verification	[HW,ACPI]
			Enable table checksum verification during early stage.
			By default, this is disabled due to x86 early mapping
			size limitation.

262 263 264 265 266 267 268 269 270 271 272 273 274 275 276
	acpi_irq_balance [HW,ACPI]
			ACPI will balance active IRQs
			default in APIC mode

	acpi_irq_nobalance [HW,ACPI]
			ACPI will not move active IRQs (default)
			default in PIC mode

	acpi_irq_isa=	[HW,ACPI] If irq_balance, mark listed IRQs used by ISA
			Format: <irq>,<irq>...

	acpi_irq_pci=	[HW,ACPI] If irq_balance, clear listed IRQs for
			use by PCI
			Format: <irq>,<irq>...

277 278
	acpi_no_auto_serialize	[HW,ACPI]
			Disable auto-serialization of AML methods
279 280 281
			AML control methods that contain the opcodes to create
			named objects will be marked as "Serialized" by the
			auto-serialization feature.
282 283
			This feature is enabled by default.
			This option allows to turn off the feature.
284

285 286 287
	acpi_no_memhotplug [ACPI] Disable memory hotplug.  Useful for kdump
			   kernels.

288 289 290 291 292 293 294 295 296
	acpi_no_static_ssdt	[HW,ACPI]
			Disable installation of static SSDTs at early boot time
			By default, SSDTs contained in the RSDT/XSDT will be
			installed automatically and they will appear under
			/sys/firmware/acpi/tables.
			This option turns off this feature.
			Note that specifying this option does not affect
			dynamic table installation which will install SSDT
			tables to /sys/firmware/acpi/tables/dynamic.
297

298 299 300 301
	acpi_rsdp=	[ACPI,EFI,KEXEC]
			Pass the RSDP address to the kernel, mostly used
			on machines running EFI runtime service to boot the
			second kernel for kdump.
302

303 304 305
	acpi_os_name=	[HW,ACPI] Tell ACPI BIOS the name of the OS
			Format: To spoof as Windows 98: ="Microsoft Windows"

306 307 308 309 310 311
	acpi_rev_override [ACPI] Override the _REV object to return 5 (instead
			of 2 which is mandated by ACPI 6) as the supported ACPI
			specification revision (when using this switch, it may
			be necessary to carry out a cold reboot _twice_ in a
			row to make it take effect on the platform firmware).

312
	acpi_osi=	[HW,ACPI] Modify list of supported OS interface strings
313 314
			acpi_osi="string1"	# add string1
			acpi_osi="!string2"	# remove string2
315
			acpi_osi=!*		# remove all strings
316 317
			acpi_osi=!		# disable all built-in OS vendor
						  strings
318 319
			acpi_osi=!!		# enable all built-in OS vendor
						  strings
320 321
			acpi_osi=		# disable all strings

322 323 324 325 326 327 328
			'acpi_osi=!' can be used in combination with single or
			multiple 'acpi_osi="string1"' to support specific OS
			vendor string(s).  Note that such command can only
			affect the default state of the OS vendor strings, thus
			it cannot affect the default state of the feature group
			strings and the current state of the OS vendor strings,
			specifying it multiple times through kernel command line
329 330 331
			is meaningless.  This command is useful when one do not
			care about the state of the feature group strings which
			should be controlled by the OSPM.
332 333 334 335 336 337 338 339 340 341 342 343 344 345 346
			Examples:
			  1. 'acpi_osi=! acpi_osi="Windows 2000"' is equivalent
			     to 'acpi_osi="Windows 2000" acpi_osi=!', they all
			     can make '_OSI("Windows 2000")' TRUE.

			'acpi_osi=' cannot be used in combination with other
			'acpi_osi=' command lines, the _OSI method will not
			exist in the ACPI namespace.  NOTE that such command can
			only affect the _OSI support state, thus specifying it
			multiple times through kernel command line is also
			meaningless.
			Examples:
			  1. 'acpi_osi=' can make 'CondRefOf(_OSI, Local1)'
			     FALSE.

347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369
			'acpi_osi=!*' can be used in combination with single or
			multiple 'acpi_osi="string1"' to support specific
			string(s).  Note that such command can affect the
			current state of both the OS vendor strings and the
			feature group strings, thus specifying it multiple times
			through kernel command line is meaningful.  But it may
			still not able to affect the final state of a string if
			there are quirks related to this string.  This command
			is useful when one want to control the state of the
			feature group strings to debug BIOS issues related to
			the OSPM features.
			Examples:
			  1. 'acpi_osi="Module Device" acpi_osi=!*' can make
			     '_OSI("Module Device")' FALSE.
			  2. 'acpi_osi=!* acpi_osi="Module Device"' can make
			     '_OSI("Module Device")' TRUE.
			  3. 'acpi_osi=! acpi_osi=!* acpi_osi="Windows 2000"' is
			     equivalent to
			     'acpi_osi=!* acpi_osi=! acpi_osi="Windows 2000"'
			     and
			     'acpi_osi=!* acpi_osi="Windows 2000" acpi_osi=!',
			     they all will make '_OSI("Windows 2000")' TRUE.

370
	acpi_pm_good	[X86]
371 372 373 374
			Override the pmtimer bug detection: force the kernel
			to assume that this machine's pmtimer latches its value
			and always returns good values.

375 376 377 378 379 380 381 382 383
	acpi_sci=	[HW,ACPI] ACPI System Control Interrupt trigger mode
			Format: { level | edge | high | low }

	acpi_skip_timer_override [HW,ACPI]
			Recognize and ignore IRQ0/pin2 Interrupt Override.
			For broken nForce2 BIOS resulting in XT-PIC timer.

	acpi_sleep=	[HW,ACPI] Sleep options
			Format: { s3_bios, s3_mode, s3_beep, s4_nohwsig,
384
				  old_ordering, nonvs, sci_force_enable }
385 386 387 388 389 390 391 392 393 394
			See Documentation/power/video.txt for information on
			s3_bios and s3_mode.
			s3_beep is for debugging; it makes the PC's speaker beep
			as soon as the kernel's real-mode entry point is called.
			s4_nohwsig prevents ACPI hardware signature from being
			used during resume from hibernation.
			old_ordering causes the ACPI 1.0 ordering of the _PTS
			control method, with respect to putting devices into
			low power states, to be enforced (the ACPI 2.0 ordering
			of _PTS is used by default).
395 396
			nonvs prevents the kernel from saving/restoring the
			ACPI NVS memory during suspend/hibernation and resume.
397 398 399
			sci_force_enable causes the kernel to set SCI_EN directly
			on resume from S1/S3 (which is against the ACPI spec,
			but some broken systems don't work without it).
400 401 402 403 404 405 406 407

	acpi_use_timer_override [HW,ACPI]
			Use timer override. For some broken Nvidia NF5 boards
			that require a timer override, but don't have HPET

	add_efi_memmap	[EFI; X86] Include EFI memory map in
			kernel's map of available physical RAM.

408 409 410 411 412 413
	agp=		[AGP]
			{ off | try_unsupported }
			off: disable AGP support
			try_unsupported: try to drive unsupported chipsets
				(may crash computer or cause data corruption)

414 415 416
	ALSA		[HW,ALSA]
			See Documentation/sound/alsa/alsa-parameters.txt

417 418 419 420 421
	alignment=	[KNL,ARM]
			Allow the default userspace alignment fault handler
			behaviour to be specified.  Bit 0 enables warnings,
			bit 1 enables fixups, and bit 2 sends a segfault.

422 423 424 425 426 427 428 429
	align_va_addr=	[X86-64]
			Align virtual addresses by clearing slice [14:12] when
			allocating a VMA at process creation time. This option
			gives you up to 3% performance improvement on AMD F15h
			machines (where it is enabled by default) for a
			CPU-intensive style benchmark, and it can vary highly in
			a microbenchmark depending on workload and compiler.

430 431
			32: only for 32-bit processes
			64: only for 64-bit processes
432 433 434
			on: enable for both 32- and 64-bit processes
			off: disable for both 32- and 64-bit processes

435 436 437 438 439 440 441
	alloc_snapshot	[FTRACE]
			Allocate the ftrace snapshot buffer on boot up when the
			main buffer is allocated. This is handy if debugging
			and you need to use tracing_snapshot() on boot up, and
			do not want to use tracing_snapshot_alloc() as it needs
			to be done where GFP_KERNEL allocations are allowed.

442
	amd_iommu=	[HW,X86-64]
443 444
			Pass parameters to the AMD IOMMU driver in the system.
			Possible values are:
445 446 447 448
			fullflush - enable flushing of IO/TLB entries when
				    they are unmapped. Otherwise they are
				    flushed before they will be reused, which
				    is a lot of faster
449 450
			off	  - do not initialize any AMD IOMMU found in
				    the system
451 452 453 454 455
			force_isolation - Force device isolation for all
					  devices. The IOMMU driver is not
					  allowed anymore to lift isolation
					  requirements as needed. This option
					  does not override iommu=pt
456

457 458 459 460 461 462
	amd_iommu_dump=	[HW,X86-64]
			Enable AMD IOMMU driver option to dump the ACPI table
			for AMD IOMMU. With this option enabled, AMD IOMMU
			driver will print ACPI tables for AMD IOMMU during
			IOMMU initialization.

Linus Torvalds's avatar
Linus Torvalds committed
463 464 465
	amijoy.map=	[HW,JOY] Amiga joystick support
			Map of devices attached to JOY0DAT and JOY1DAT
			Format: <a>,<b>
Paul Bolle's avatar
Paul Bolle committed
466
			See also Documentation/input/joystick.txt
Linus Torvalds's avatar
Linus Torvalds committed
467 468 469 470 471 472

	analog.map=	[HW,JOY] Analog joystick and gamepad support
			Specifies type or capabilities of an analog joystick
			connected to one of 16 gameports
			Format: <type1>,<type2>,..<type16>

473 474
	apc=		[HW,SPARC]
			Power management functions (SPARCstation-4/5 + deriv.)
Linus Torvalds's avatar
Linus Torvalds committed
475 476 477 478 479
			Format: noidle
			Disable APC CPU standby support. SPARCstation-Fox does
			not play well with APC CPU idle - disable it if you have
			APC and your system crashes randomly.

480
	apic=		[APIC,X86-32] Advanced Programmable Interrupt Controller
481
			Change the output verbosity whilst booting
Linus Torvalds's avatar
Linus Torvalds committed
482 483 484
			Format: { quiet (default) | verbose | debug }
			Change the amount of debugging information output
			when initialising the APIC and IO-APIC components.
485

486 487 488 489 490 491 492 493 494
	apic_extnmi=	[APIC,X86] External NMI delivery setting
			Format: { bsp (default) | all | none }
			bsp:  External NMI is delivered only to CPU 0
			all:  External NMIs are broadcast to all CPUs as a
			      backup of CPU 0
			none: External NMI is masked for all CPUs. This is
			      useful so that a dump capture kernel won't be
			      shot down by NMI

Brian Haley's avatar
Brian Haley committed
495 496 497
	autoconf=	[IPV6]
			See Documentation/networking/ipv6.txt.

498 499 500 501 502 503 504 505 506
	show_lapic=	[APIC,X86] Advanced Programmable Interrupt Controller
			Limit apic dumping. The parameter defines the maximal
			number of local apics being dumped. Also it is possible
			to set it to "all" by meaning -- no limit here.
			Format: { 1 (default) | 2 | ... | all }.
			The parameter valid if only apic=debug or
			apic=verbose is specified.
			Example: apic=debug show_lapic=all

Linus Torvalds's avatar
Linus Torvalds committed
507
	apm=		[APM] Advanced Power Management
508
			See header of arch/x86/kernel/apm_32.c.
Linus Torvalds's avatar
Linus Torvalds committed
509 510 511 512 513 514 515 516 517 518 519 520 521

	arcrimi=	[HW,NET] ARCnet - "RIM I" (entirely mem-mapped) cards
			Format: <io>,<irq>,<nodeID>

	ataflop=	[HW,M68k]

	atarimouse=	[HW,MOUSE] Atari Mouse

	atkbd.extra=	[HW] Enable extra LEDs and keys on IBM RapidAccess,
			EzKey and similar keyboards

	atkbd.reset=	[HW] Reset keyboard during initialization

522 523
	atkbd.set=	[HW] Select keyboard code set
			Format: <int> (2 = AT (default), 3 = PS/2)
Linus Torvalds's avatar
Linus Torvalds committed
524 525 526 527 528 529

	atkbd.scroll=	[HW] Enable scroll wheel on MS Office and similar
			keyboards

	atkbd.softraw=	[HW] Choose between synthetic and real raw mode
			Format: <bool> (0 = real, 1 = synthetic (default))
530 531 532

	atkbd.softrepeat= [HW]
			Use software keyboard repeat
Linus Torvalds's avatar
Linus Torvalds committed
533

534 535
	audit=		[KNL] Enable the audit sub-system
			Format: { "0" | "1" } (0 = disabled, 1 = enabled)
536 537 538 539 540 541 542 543
			0 - kernel audit is disabled and can not be enabled
			    until the next reboot
			unset - kernel audit is initialized but disabled and
			    will be fully enabled by the userspace auditd.
			1 - kernel audit is initialized and partially enabled,
			    storing at most audit_backlog_limit messages in
			    RAM until it is fully enabled by the userspace
			    auditd.
544
			Default: unset
545

546 547 548 549
	audit_backlog_limit= [KNL] Set the audit queue size limit.
			Format: <int> (must be >=0)
			Default: 64

550 551 552 553 554 555 556
	bau=		[X86_UV] Enable the BAU on SGI UV.  The default
			behavior is to disable the BAU (i.e. bau=0).
			Format: { "0" | "1" }
			0 - Disable the BAU.
			1 - Enable the BAU.
			unset - Disable the BAU.

Linus Torvalds's avatar
Linus Torvalds committed
557 558
	baycom_epp=	[HW,AX25]
			Format: <io>,<mode>
559

Linus Torvalds's avatar
Linus Torvalds committed
560 561 562 563
	baycom_par=	[HW,AX25] BayCom Parallel Port AX.25 Modem
			Format: <io>,<mode>
			See header of drivers/net/hamradio/baycom_par.c.

564 565
	baycom_ser_fdx=	[HW,AX25]
			BayCom Serial Port AX.25 Modem (Full Duplex Mode)
Linus Torvalds's avatar
Linus Torvalds committed
566 567 568
			Format: <io>,<irq>,<mode>[,<baud>]
			See header of drivers/net/hamradio/baycom_ser_fdx.c.

569 570
	baycom_ser_hdx=	[HW,AX25]
			BayCom Serial Port AX.25 Modem (Half Duplex Mode)
Linus Torvalds's avatar
Linus Torvalds committed
571 572 573
			Format: <io>,<irq>,<mode>
			See header of drivers/net/hamradio/baycom_ser_hdx.c.

574 575 576 577
	blkdevparts=	Manual partition parsing of block device(s) for
			embedded devices based on command line input.
			See Documentation/block/cmdline-partition.txt

Randy Dunlap's avatar
Randy Dunlap committed
578 579 580 581 582
	boot_delay=	Milliseconds to delay each printk during boot.
			Values larger than 10 seconds (10000) are changed to
			no delay (0).
			Format: integer

583 584
	bootmem_debug	[KNL] Enable bootmem allocator debug messages.

585 586 587
	bert_disable	[ACPI]
			Disable BERT OS support on buggy BIOSes.

Linus Torvalds's avatar
Linus Torvalds committed
588
	bttv.card=	[HW,V4L] bttv (bt848 + bt878 based grabber cards)
589 590
	bttv.radio=	Most important insmod options are available as
			kernel args too.
Linus Torvalds's avatar
Linus Torvalds committed
591
	bttv.pll=	See Documentation/video4linux/bttv/Insmod-options
Paul Bolle's avatar
Paul Bolle committed
592
	bttv.tuner=
Linus Torvalds's avatar
Linus Torvalds committed
593

594 595 596 597
	bulk_remove=off	[PPC]  This parameter disables the use of the pSeries
			firmware feature for flushing multiple hpte entries
			at a time.

Linus Torvalds's avatar
Linus Torvalds committed
598 599
	c101=		[NET] Moxa C101 synchronous serial card

600
	cachesize=	[BUGS=X86-32] Override level 2 CPU cache size detection.
Linus Torvalds's avatar
Linus Torvalds committed
601 602 603 604 605 606
			Sometimes CPU hardware bugs make them report the cache
			size incorrectly. The kernel will attempt work arounds
			to fix known problems, but for some CPUs it is not
			possible to determine what the correct size should be.
			This option provides an override for these situations.

607 608 609
	ca_keys=	[KEYS] This parameter identifies a specific key(s) on
			the system trusted keyring to be used for certificate
			trust validation.
610
			format: { id:<keyid> | builtin }
611

612 613 614 615 616 617
	cca=		[MIPS] Override the kernel pages' cache coherency
			algorithm.  Accepted values range from 0 to 7
			inclusive. See arch/mips/include/asm/pgtable-bits.h
			for platform specific values (SB1, Loongson3 and
			others).

618 619
	ccw_timeout_log [S390]
			See Documentation/s390/CommonIO for details.
Linus Torvalds's avatar
Linus Torvalds committed
620

621 622
	cgroup_disable= [KNL] Disable a particular controller
			Format: {name of the controller(s) to disable}
623 624 625 626 627 628 629 630
			The effects of cgroup_disable=foo are:
			- foo isn't auto-mounted if you mount all cgroups in
			  a single hierarchy
			- foo isn't visible as an individually mountable
			  subsystem
			{Currently only "memory" controller deal with this and
			cut the overhead, others just disable the usage. So
			only cgroup_disable=memory is actually worthy}
631

632 633 634 635 636
	cgroup_no_v1=	[KNL] Disable one, multiple, all cgroup controllers in v1
			Format: { controller[,controller...] | "all" }
			Like cgroup_disable, but only applies to cgroup v1;
			the blacklisted controllers remain available in cgroup2.

637 638 639
	cgroup.memory=	[KNL] Pass options to the cgroup memory controller.
			Format: <string>
			nosocket -- Disable socket memory accounting.
640
			nokmem -- Disable kernel memory accounting.
641

Linus Torvalds's avatar
Linus Torvalds committed
642 643 644
	checkreqprot	[SELINUX] Set initial checkreqprot flag value.
			Format: { "0" | "1" }
			See security/selinux/Kconfig help text.
645 646
			0 -- check protection applied by kernel (includes
				any implied execute protection).
Linus Torvalds's avatar
Linus Torvalds committed
647 648
			1 -- check protection requested by application.
			Default value is set via a kernel config option.
649 650 651
			Value can be changed at runtime via
				/selinux/checkreqprot.

652 653
	cio_ignore=	[S390]
			See Documentation/s390/CommonIO for details.
654 655
	clk_ignore_unused
			[CLK]
656 657 658 659 660 661 662 663 664
			Prevents the clock framework from automatically gating
			clocks that have not been explicitly enabled by a Linux
			device driver but are enabled in hardware at reset or
			by the bootloader/firmware. Note that this does not
			force such clocks to be always-on nor does it reserve
			those clocks in any way. This parameter is useful for
			debug and development, but should not be needed on a
			platform with proper driver support.  For more
			information, see Documentation/clk.txt.
665

666
	clock=		[BUGS=X86-32, HW] gettimeofday clocksource override.
667
			[Deprecated]
668
			Forces specified clocksource (if available) to be used
669
			when calculating gettimeofday(). If specified
670
			clocksource is not available, it defaults to PIT.
Linus Torvalds's avatar
Linus Torvalds committed
671 672
			Format: { pit | tsc | cyclone | pmtmr }

673
	clocksource=	Override the default clocksource
Randy Dunlap's avatar
Randy Dunlap committed
674 675 676 677 678 679 680 681 682 683
			Format: <string>
			Override the default clocksource and use the clocksource
			with the name specified.
			Some clocksource names to choose from, depending on
			the platform:
			[all] jiffies (this is the base, fallback clocksource)
			[ACPI] acpi_pm
			[ARM] imx_timer1,OSTS,netx_timer,mpu_timer2,
				pxa_timer,timer3,32k_counter,timer0_1
			[AVR32] avr32
684
			[X86-32] pit,hpet,tsc;
Randy Dunlap's avatar
Randy Dunlap committed
685 686 687 688 689 690 691 692
				scx200_hrt on Geode; cyclone on IBM x440
			[MIPS] MIPS
			[PARISC] cr16
			[S390] tod
			[SH] SuperH
			[SPARC64] tick
			[X86-64] hpet,tsc

693 694 695 696 697 698 699 700
	clocksource.arm_arch_timer.evtstrm=
			[ARM,ARM64]
			Format: <bool>
			Enable/disable the eventstream feature of the ARM
			architected timer so that code using WFE-based polling
			loops can be debugged more effectively on production
			systems.

701 702
	clearcpuid=BITNUM [X86]
			Disable CPUID feature X for the kernel. See
703
			arch/x86/include/asm/cpufeatures.h for the valid bit
704
			numbers. Note the Linux specific bits are not necessarily
705 706 707 708 709 710 711 712 713
			stable over kernel options, but the vendor specific
			ones should be.
			Also note that user programs calling CPUID directly
			or using the feature without checking anything
			will still see it. This just prevents it from
			being used by the kernel or shown in /proc/cpuinfo.
			Also note the kernel might malfunction if you disable
			some critical bits.

714 715 716 717 718
	cma=nn[MG]@[start[MG][-end[MG]]]
			[ARM,X86,KNL]
			Sets the size of kernel global memory area for
			contiguous memory allocations and optionally the
			placement constraint by the physical address range of
Jean Delvare's avatar
Jean Delvare committed
719 720
			memory allocations. A value of 0 disables CMA
			altogether. For more information, see
721 722
			include/linux/dma-contiguous.h

723 724 725 726 727 728 729
	cmo_free_hint=	[PPC] Format: { yes | no }
			Specify whether pages are marked as being inactive
			when they are freed.  This is used in CMO environments
			to determine OS memory pressure for page stealing by
			a hypervisor.
			Default: yes

730 731
	coherent_pool=nn[KMG]	[ARM,KNL]
			Sets the size of memory pool for coherent, atomic dma
732
			allocations, by default set to 256K.
733

734
	code_bytes	[X86] How many bytes of object code to print
735
			in an oops report.
736 737 738
			Range: 0 - 8192
			Default: 64

Linus Torvalds's avatar
Linus Torvalds committed
739
	com20020=	[HW,NET] ARCnet - COM20020 chipset
740 741
			Format:
			<io>[,<irq>[,<nodeID>[,<backplane>[,<ckp>[,<timeout>]]]]]
Linus Torvalds's avatar
Linus Torvalds committed
742 743 744 745

	com90io=	[HW,NET] ARCnet - COM90xx chipset (IO-mapped buffers)
			Format: <io>[,<irq>]

746 747
	com90xx=	[HW,NET]
			ARCnet - COM90xx chipset (memory-mapped buffers)
Linus Torvalds's avatar
Linus Torvalds committed
748 749 750 751
			Format: <io>[,<irq>[,<memstart>]]

	condev=		[HW,S390] console device
	conmode=
752

Linus Torvalds's avatar
Linus Torvalds committed
753 754 755 756 757
	console=	[KNL] Output console device and options.

		tty<n>	Use the virtual console device <n>.

		ttyS<n>[,options]
758
		ttyUSB0[,options]
Linus Torvalds's avatar
Linus Torvalds committed
759
			Use the specified serial port.  The options are of
760 761 762 763 764 765 766 767 768
			the form "bbbbpnf", where "bbbb" is the baud rate,
			"p" is parity ("n", "o", or "e"), "n" is number of
			bits, and "f" is flow control ("r" for RTS or
			omit it).  Default is "9600n8".

			See Documentation/serial-console.txt for more
			information.  See
			Documentation/networking/netconsole.txt for an
			alternative.
Linus Torvalds's avatar
Linus Torvalds committed
769

770 771
		uart[8250],io,<addr>[,options]
		uart[8250],mmio,<addr>[,options]
772
		uart[8250],mmio16,<addr>[,options]
773 774
		uart[8250],mmio32,<addr>[,options]
		uart[8250],0x<addr>[,options]
Linus Torvalds's avatar
Linus Torvalds committed
775 776
			Start an early, polled-mode console on the 8250/16550
			UART at the specified I/O port or MMIO address,
777 778
			switching to the matching ttyS device later.
			MMIO inter-register address stride is either 8-bit
779 780 781 782
			(mmio), 16-bit (mmio16), or 32-bit (mmio32).
			If none of [io|mmio|mmio16|mmio32], <addr> is assumed
			to be equivalent to 'mmio'. 'options' are specified in
			the same format described for ttyS above; if unspecified,
783 784
			the h/w is not re-initialized.

785 786
		hvc<n>	Use the hypervisor console device <n>. This is for
			both Xen and PowerPC hypervisors.
Linus Torvalds's avatar
Linus Torvalds committed
787

788 789 790 791 792
                If the device connected to the port is not a TTY but a braille
                device, prepend "brl," before the device type, for instance
			console=brl,ttyS0
		For now, only VisioBraille is supported.

793 794 795 796
	consoleblank=	[KNL] The console blank (screen saver) timeout in
			seconds. Defaults to 10*60 = 10mins. A value of 0
			disables the blank timer.

797 798 799 800 801
	coredump_filter=
			[KNL] Change the default value for
			/proc/<pid>/coredump_filter.
			See also Documentation/filesystems/proc.txt.

802 803 804
	cpuidle.off=1	[CPU_IDLE]
			disable the cpuidle sub-system

805 806 807 808 809 810
	cpu_init_udelay=N
			[X86] Delay for N microsec between assert and de-assert
			of APIC INIT to start processors.  This delay occurs
			on every CPU online, such as boot, and resume from suspend.
			Default: 10000

Linus Torvalds's avatar
Linus Torvalds committed
811
	cpcihp_generic=	[HW,PCI] Generic port I/O CompactPCI driver
812 813
			Format:
			<first_slot>,<last_slot>,<port>,<enum_bit>[,<debug>]
Linus Torvalds's avatar
Linus Torvalds committed
814

815 816 817 818 819 820 821
	crashkernel=size[KMG][@offset[KMG]]
			[KNL] Using kexec, Linux can switch to a 'crash kernel'
			upon panic. This parameter reserves the physical
			memory region [offset, offset + size] for that kernel
			image. If '@offset' is omitted, then a suitable offset
			is selected automatically. Check
			Documentation/kdump/kdump.txt for further details.
822

823 824 825 826 827
	crashkernel=range1:size1[,range2:size2,...][@offset]
			[KNL] Same as above, but depends on the memory
			in the running system. The syntax of range is
			start-[end] where start and end are both
			a memory unit (amount[KMG]). See also
828
			Documentation/kdump/kdump.txt for an example.
829

830
	crashkernel=size[KMG],high
831 832 833 834 835 836
			[KNL, x86_64] range could be above 4G. Allow kernel
			to allocate physical memory region from top, so could
			be above 4G if system have more than 4G ram installed.
			Otherwise memory region will be allocated below 4G, if
			available.
			It will be ignored if crashkernel=X is specified.
837 838 839
	crashkernel=size[KMG],low
			[KNL, x86_64] range under 4G. When crashkernel=X,high
			is passed, kernel could allocate physical memory region
840 841
			above 4G, that cause second kernel crash on system
			that require some amount of low memory, e.g. swiotlb
842 843 844 845
			requires at least 64M+32K low memory, also enough extra
			low memory is needed to make sure DMA buffers for 32-bit
			devices won't run out. Kernel would try to allocate at
			at least 256M below 4G automatically.
846 847 848
			This one let user to specify own low range under 4G
			for second kernel instead.
			0: to disable low allocation.
849
			It will be ignored when crashkernel=X,high is not used
850
			or memory reserved is below 4G.
851

852 853 854
	cryptomgr.notests
                        [KNL] Disable crypto self-tests

Linus Torvalds's avatar
Linus Torvalds committed
855 856 857 858 859
	cs89x0_dma=	[HW,NET]
			Format: <dma>

	cs89x0_media=	[HW,NET]
			Format: { rj45 | aui | bnc }
860 861

	dasd=		[HW,NET]
Linus Torvalds's avatar
Linus Torvalds committed
862 863 864 865 866 867 868
			See header of drivers/s390/block/dasd_devmap.c.

	db9.dev[2|3]=	[HW,JOY] Multisystem joystick support via parallel port
			(one device per port)
			Format: <port#>,<type>
			See also Documentation/input/joystick-parport.txt

869 870
	ddebug_query=   [KNL,DYNAMIC_DEBUG] Enable debug messages at early boot
			time. See Documentation/dynamic-debug-howto.txt for
871
			details.  Deprecated, see dyndbg.
872

Linus Torvalds's avatar
Linus Torvalds committed
873 874
	debug		[KNL] Enable kernel debugging (events log level).

875 876 877 878 879 880 881 882 883
	debug_locks_verbose=
			[KNL] verbose self-tests
			Format=<0|1>
			Print debugging info while doing the locking API
			self-tests.
			We default to 0 (no extra messages), setting it to
			1 will print _a lot_ more information - normally
			only useful to kernel developers.

884 885
	debug_objects	[KNL] Enable object debugging

886 887 888
	no_debug_objects
			[KNL] Disable object debugging

889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907
	debug_guardpage_minorder=
			[KNL] When CONFIG_DEBUG_PAGEALLOC is set, this
			parameter allows control of the order of pages that will
			be intentionally kept free (and hence protected) by the
			buddy allocator. Bigger value increase the probability
			of catching random memory corruption, but reduce the
			amount of memory for normal system use. The maximum
			possible value is MAX_ORDER/2.  Setting this parameter
			to 1 or 2 should be enough to identify most random
			memory corruption problems caused by bugs in kernel or
			driver code when a CPU writes to (or reads from) a
			random memory location. Note that there exists a class
			of memory corruptions problems caused by buggy H/W or
			F/W or by drivers badly programing DMA (basically when
			memory is written at bus level and the CPU MMU is
			bypassed) which are not detectable by
			CONFIG_DEBUG_PAGEALLOC, hence this option will not help
			tracking down these problems.

908 909 910 911 912 913 914 915 916
	debug_pagealloc=
			[KNL] When CONFIG_DEBUG_PAGEALLOC is set, this
			parameter enables the feature at boot time. In
			default, it is disabled. We can avoid allocating huge
			chunk of memory for debug pagealloc if we don't enable
			it at boot time and the system will work mostly same
			with the kernel built without CONFIG_DEBUG_PAGEALLOC.
			on: enable the feature

917 918
	debugpat	[X86] Enable PAT debugging

919
	decnet.addr=	[HW,NET]
Linus Torvalds's avatar
Linus Torvalds committed
920 921 922
			Format: <area>[,<node>]
			See also Documentation/networking/decnet.txt.

923 924 925 926 927 928 929
	default_hugepagesz=
			[same as hugepagesz=] The size of the default
			HugeTLB page size. This is the size represented by
			the legacy /proc/ hugepages APIs, used for SHM, and
			default size when mounting hugetlbfs filesystems.
			Defaults to the default architecture's huge page size
			if not specified.
930

Linus Torvalds's avatar
Linus Torvalds committed
931 932
	dhash_entries=	[KNL]
			Set number of hash buckets for dentry cache.
933

934 935 936 937 938 939
	disable_1tb_segments [PPC]
			Disables the use of 1TB hash page table segments. This
			causes the kernel to fall back to 256MB segments which
			can be useful when debugging issues that require an SLB
			miss to occur.

Brian Haley's avatar
Brian Haley committed
940 941 942
	disable=	[IPV6]
			See Documentation/networking/ipv6.txt.

943 944 945
	disable_radix	[PPC]
			Disable RADIX MMU mode on POWER9

946 947 948 949 950 951 952 953 954
	disable_cpu_apicid= [X86,APIC,SMP]
			Format: <int>
			The number of initial APIC ID for the
			corresponding CPU to be disabled at boot,
			mostly used for the kdump 2nd kernel to
			disable BSP to wake up multiple CPUs without
			causing system reset or hang due to sending
			INIT from AP to BSP.

955 956 957 958
	disable_ddw     [PPC/PSERIES]
			Disable Dynamic DMA Window support. Use this if
			to workaround buggy firmware.

Brian Haley's avatar
Brian Haley committed
959 960 961
	disable_ipv6=	[IPV6]
			See Documentation/networking/ipv6.txt.

962 963 964
	disable_mtrr_cleanup [X86]
			The kernel tries to adjust MTRR layout from continuous
			to discrete, to make X server driver able to add WB
965
			entry later. This parameter disables that.
966

967
	disable_mtrr_trim [X86, Intel and AMD only]
968 969 970 971 972
			By default the kernel will trim any uncacheable
			memory out of your available memory pool based on
			MTRR settings.  This parameter disables that behavior,
			possibly causing your machine to run very slowly.

973
	disable_timer_pin_1 [X86]
974 975 976
			Disable PIN 1 of APIC timer
			Can be useful to work around chipset bugs.

977 978
	dis_ucode_ldr	[X86] Disable the microcode loader.

979 980 981 982 983 984 985 986 987 988
	dma_debug=off	If the kernel is compiled with DMA_API_DEBUG support,
			this option disables the debugging code at boot.

	dma_debug_entries=<number>
			This option allows to tune the number of preallocated
			entries for DMA-API debugging code. One entry is
			required per DMA-API allocation. Use this if the
			DMA-API debugging code disables itself because the
			architectural default is too low.

989 990 991 992 993 994 995
	dma_debug_driver=<driver_name>
			With this option the DMA-API debugging driver
			filter feature can be enabled at boot time. Just
			pass the driver to filter for as the parameter.
			The filter can be disabled or changed to another
			driver later using sysfs.

996 997 998 999 1000
	drm_kms_helper.edid_firmware=[<connector>:]<file>[,[<connector>:]<file>]
			Broken monitors, graphic adapters, KVMs and EDIDless
			panels may send no or incorrect EDID data sets.
			This parameter allows to specify an EDID data sets
			in the /lib/firmware directory that are used instead.
1001 1002 1003 1004 1005 1006 1007 1008
			Generic built-in EDID data sets are used, if one of
			edid/1024x768.bin, edid/1280x1024.bin,
			edid/1680x1050.bin, or edid/1920x1080.bin is given
			and no file with the same name exists. Details and
			instructions how to build your own EDID data are
			available in Documentation/EDID/HOWTO.txt. An EDID
			data set will only be used for a particular connector,
			if its name and a colon are prepended to the EDID
1009 1010 1011 1012
			name. Each connector may use a unique EDID data
			set by separating the files with a comma.  An EDID
			data set with no connector name will be used for
			any connectors not explicitly specified.
1013

Linus Torvalds's avatar
Linus Torvalds committed
1014 1015
	dscc4.setup=	[NET]

1016 1017 1018 1019 1020
	dyndbg[="val"]		[KNL,DYNAMIC_DEBUG]
	module.dyndbg[="val"]
			Enable debug messages at boot time.  See
			Documentation/dynamic-debug-howto.txt for details.

1021 1022 1023 1024
	nompx		[X86] Disables Intel Memory Protection Extensions.
			See Documentation/x86/intel_mpx.txt for more
			information about the feature.

1025 1026 1027
	nopku		[X86] Disable Memory Protection Keys CPU feature found
			in some Intel CPUs.

1028 1029 1030 1031 1032 1033
	eagerfpu=	[X86]
			on	enable eager fpu restore
			off	disable eager fpu restore
			auto	selects the default scheme, which automatically
				enables eagerfpu restore for xsaveopt.

1034 1035 1036
	module.async_probe [KNL]
			Enable asynchronous probe on this module.

1037 1038 1039 1040 1041
	early_ioremap_debug [KNL]
			Enable debug messages in early_ioremap support. This
			is useful for tracking down temporary early mappings
			which are not unmapped.

1042
	earlycon=	[KNL] Output early console device and options.
1043

1044 1045 1046 1047
			When used with no options, the early console is
			determined by the stdout-path property in device
			tree's chosen node.

1048 1049 1050 1051 1052 1053
		cdns,<addr>
			Start an early, polled-mode console on a cadence serial
			port at the specified address. The cadence serial port
			must already be setup and configured. Options are not
			yet supported.

1054 1055
		uart[8250],io,<addr>[,options]
		uart[8250],mmio,<addr>[,options]
1056
		uart[8250],mmio32,<addr>[,options]
1057
		uart[8250],mmio32be,<addr>[,options]
1058
		uart[8250],0x<addr>[,options]
1059 1060
			Start an early, polled-mode console on the 8250/16550
			UART at the specified I/O port or MMIO address.
1061
			MMIO inter-register address stride is either 8-bit
1062 1063 1064 1065
			(mmio) or 32-bit (mmio32 or mmio32be).
			If none of [io|mmio|mmio32|mmio32be], <addr> is assumed
			to be equivalent to 'mmio'. 'options' are specified
			in the same format described for "console=ttyS<n>"; if
1066
			unspecified, the h/w is not initialized.
1067

1068
		pl011,<addr>
1069
		pl011,mmio32,<addr>
1070 1071 1072
			Start an early, polled-mode console on a pl011 serial
			port at the specified address. The pl011 serial port
			must already be setup and configured. Options are not
1073 1074 1075
			yet supported.  If 'mmio32' is specified, then only
			the driver will use only 32-bit accessors to read/write
			the device registers.
1076

1077 1078 1079 1080 1081 1082
		meson,<addr>
			Start an early, polled-mode console on a meson serial
			port at the specified address. The serial port must
			already be setup and configured. Options are not yet
			supported.

1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094
		msm_serial,<addr>
			Start an early, polled-mode console on an msm serial
			port at the specified address. The serial port
			must already be setup and configured. Options are not
			yet supported.

		msm_serial_dm,<addr>
			Start an early, polled-mode console on an msm serial
			dm port at the specified address. The serial port
			must already be setup and configured. Options are not
			yet supported.

1095 1096
		smh	Use ARM semihosting calls for early console.

1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108
		s3c2410,<addr>
		s3c2412,<addr>
		s3c2440,<addr>
		s3c6400,<addr>
		s5pv210,<addr>
		exynos4210,<addr>
			Use early console provided by serial driver available
			on Samsung SoCs, requires selecting proper type and
			a correct base address of the selected UART port. The
			serial port must already be setup and configured.
			Options are not yet supported.

1109 1110 1111 1112 1113 1114 1115
		lpuart,<addr>
		lpuart32,<addr>
			Use early console provided by Freescale LP UART driver
			found on Freescale Vybrid and QorIQ LS1021A processors.
			A valid base address must be provided, and the serial
			port must already be setup and configured.

1116 1117 1118 1119 1120 1121
		armada3700_uart,<addr>
			Start an early, polled-mode console on the
			Armada 3700 serial port at the specified
			address. The serial port must already be setup
			and configured. Options are not yet supported.

1122
	earlyprintk=	[X86,SH,BLACKFIN,ARM,M68k]
Linus Torvalds's avatar
Linus Torvalds committed
1123
			earlyprintk=vga
1124
			earlyprintk=efi
1125
			earlyprintk=xen
Linus Torvalds's avatar
Linus Torvalds committed
1126
			earlyprintk=serial[,ttySn[,baudrate]]
1127
			earlyprintk=serial[,0x...[,baudrate]]
1128
			earlyprintk=ttySn[,baudrate]
1129
			earlyprintk=dbgp[debugController#]
1130
			earlyprintk=pciserial,bus:device.function[,baudrate]
Linus Torvalds's avatar
Linus Torvalds committed
1131

1132 1133 1134 1135
			earlyprintk is useful when the kernel crashes before
			the normal console is initialized. It is not enabled by
			default because it has some cosmetic problems.

1136
			Append ",keep" to not disable it when the real console
Linus Torvalds's avatar
Linus Torvalds committed
1137 1138
			takes over.

1139 1140
			Only one of vga, efi, serial, or usb debug port can
			be used at a time.
Linus Torvalds's avatar
Linus Torvalds committed
1141

1142 1143 1144 1145 1146 1147 1148 1149
			Currently only ttyS0 and ttyS1 may be specified by
			name.  Other I/O ports may be explicitly specified
			on some architectures (x86 and arm at least) by
			replacing ttySn with an I/O port address, like this:
				earlyprintk=serial,0x1008,115200
			You can find the port for a given device in
			/proc/tty/driver/serial:
				2: uart:ST16650V2 port:00001008 irq:18 ...
Linus Torvalds's avatar
Linus Torvalds committed
1150 1151 1152 1153

			Interaction with the standard serial driver is not
			very good.

1154 1155
			The VGA and EFI output is eventually overwritten by
			the real console.
Linus Torvalds's avatar
Linus Torvalds committed
1156

1157 1158
			The xen output can only be used by Xen PV guests.

1159 1160 1161 1162 1163 1164 1165 1166
	edac_report=	[HW,EDAC] Control how to report EDAC event
			Format: {"on" | "off" | "force"}
			on: enable EDAC to report H/W event. May be overridden
			by other higher priority error reporting module.
			off: disable H/W event reporting through EDAC.
			force: enforce the use of EDAC to report H/W event.
			default: on.

1167 1168 1169
	ekgdboc=	[X86,KGDB] Allow early kernel console debugging
			ekgdboc=kbd

Lucas De Marchi's avatar
Lucas De Marchi committed
1170
			This is designed to be used in conjunction with
1171 1172
			the boot argument: earlyprintk=vga

Linus Torvalds's avatar
Linus Torvalds committed
1173
	edd=		[EDD]
1174
			Format: {"off" | "on" | "skip[mbr]"}
Linus Torvalds's avatar
Linus Torvalds committed
1175

1176
	efi=		[EFI]
1177
			Format: { "old_map", "nochunk", "noruntime", "debug" }
1178 1179 1180
			old_map [X86-64]: switch to the old ioremap-based EFI
			runtime services mapping. 32-bit still uses this one by
			default.
1181 1182 1183
			nochunk: disable reading files in "chunks" in the EFI
			boot stub, as chunking can cause problems with some
			firmware implementations.
1184
			noruntime : disable EFI runtime services support
1185
			debug: enable misc debug output
1186

1187 1188 1189 1190 1191 1192
	efi_no_storage_paranoia [EFI; X86]
			Using this parameter you can use more than 50% of
			your efi variable storage. Use this parameter only if
			you are really sure that your UEFI does sane gc and
			fulfills the spec otherwise your board may brick.

1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207
	efi_fake_mem=	nn[KMG]@ss[KMG]:aa[,nn[KMG]@ss[KMG]:aa,..] [EFI; X86]
			Add arbitrary attribute to specific memory range by
			updating original EFI memory map.
			Region of memory which aa attribute is added to is
			from ss to ss+nn.
			If efi_fake_mem=2G@4G:0x10000,2G@0x10a0000000:0x10000
			is specified, EFI_MEMORY_MORE_RELIABLE(0x10000)
			attribute is added to range 0x100000000-0x180000000 and
			0x10a0000000-0x1120000000.

			Using this parameter you can do debugging of EFI memmap
			related feature. For example, you can do debugging of
			Address Range Mirroring feature even if your box
			doesn't support it.

1208 1209 1210 1211 1212 1213 1214
	efivar_ssdt=	[EFI; X86] Name of an EFI variable that contains an SSDT
			that is to be dynamically loaded by Linux. If there are
			multiple variables with the same name but with different
			vendor GUIDs, all of them will be loaded. See
			Documentation/acpi/ssdt-overlays.txt for details.


Linus Torvalds's avatar
Linus Torvalds committed
1215 1216 1217
	eisa_irq_edge=	[PARISC,HW]
			See header of drivers/parisc/eisa.c.

1218
	elanfreq=	[X86-32]
Linus Torvalds's avatar
Linus Torvalds committed
1219
			See comment before function elanfreq_setup() in
1220
			arch/x86/kernel/cpu/cpufreq/elanfreq.c.
Linus Torvalds's avatar
Linus Torvalds committed
1221 1222

	elevator=	[IOSCHED]
1223
			Format: {"cfq" | "deadline" | "noop"}
Paul Bolle's avatar
Paul Bolle committed
1224
			See Documentation/block/cfq-iosched.txt and
1225 1226
			Documentation/block/deadline-iosched.txt for details.

1227
	elfcorehdr=[size[KMG]@]offset[KMG] [IA64,PPC,SH,X86,S390]
1228
			Specifies physical address of start of kernel core
1229 1230
			image elf header and optionally the size. Generally
			kexec loader will pass this option to capture kernel.
1231
			See Documentation/kdump/kdump.txt for details.
Linus Torvalds's avatar
Linus Torvalds committed
1232

1233 1234 1235 1236 1237
	enable_mtrr_cleanup [X86]
			The kernel tries to adjust MTRR layout from continuous
			to discrete, to make X server driver able to add WB
			entry later. This parameter enables that.

1238
	enable_timer_pin_1 [X86]
1239 1240 1241 1242 1243
			Enable PIN 1 of APIC timer
			Can be useful to work around chipset bugs
			(in particular on some ATI chipsets).
			The kernel tries to set a reasonable default.

Linus Torvalds's avatar
Linus Torvalds committed
1244 1245 1246 1247 1248 1249 1250 1251
	enforcing	[SELINUX] Set initial enforcing status.
			Format: {"0" | "1"}
			See security/selinux/Kconfig help text.
			0 -- permissive (log only, no denials).
			1 -- enforcing (deny and log).
			Default value is 0.
			Value can be changed at runtime via /selinux/enforce.

1252 1253 1254 1255
	erst_disable	[ACPI]
			Disable Error Record Serialization Table (ERST)
			support.

Linus Torvalds's avatar
Linus Torvalds committed
1256 1257 1258 1259
	ether=		[HW,NET] Ethernet cards parameters
			This option is obsoleted by the "netdev=" option, which
			has equivalent usage. See its documentation for details.

1260 1261 1262 1263 1264
	evm=		[EVM]
			Format: { "fix" }
			Permit 'security.evm' to be updated regardless of
			current integrity status.

1265 1266 1267 1268 1269
	failslab=
	fail_page_alloc=
	fail_make_request=[KNL]
			General fault injection mechanism.
			Format: <interval>,<probability>,<space>,<times>
Paul Bolle's avatar
Paul Bolle committed
1270
			See also Documentation/fault-injection/.
1271

Linus Torvalds's avatar
Linus Torvalds committed
1272
	floppy=		[HW]
1273
			See Documentation/blockdev/floppy.txt.
Linus Torvalds's avatar
Linus Torvalds committed
1274

1275 1276 1277 1278 1279 1280
	force_pal_cache_flush
			[IA-64] Avoid check_sal_cache_flush which may hang on
			buggy SAL_CACHE_FLUSH implementations. Using this
			parameter will force ia64_sal_cache_flush to call
			ia64_pal_cache_flush instead of SAL_CACHE_FLUSH.

1281 1282 1283 1284 1285 1286 1287
	forcepae [X86-32]
			Forcefully enable Physical Address Extension (PAE).
			Many Pentium M systems disable PAE but may have a
			functionally usable PAE implementation.
			Warning: use of this parameter will taint the kernel
			and may cause unknown problems.

1288
	ftrace=[tracer]
1289
			[FTRACE] will set and start the specified tracer
1290 1291 1292
			as early as possible in order to facilitate early
			boot debugging.

1293
	ftrace_dump_on_oops[=orig_cpu]
1294
			[FTRACE] will dump the trace buffers on oops.
1295 1296 1297 1298
			If no parameter is passed, ftrace will dump
			buffers of all CPUs, but if you pass orig_cpu, it will
			dump only the buffer of the CPU that triggered the
			oops.
1299 1300 1301 1302 1303 1304

	ftrace_filter=[function-list]
			[FTRACE] Limit the functions traced by the function
			tracer at boot up. function-list is a comma separated
			list of functions. This list can be changed at run
			time by the set_ftrace_filter file in the debugfs
1305
			tracing directory.
1306 1307 1308 1309 1310 1311

	ftrace_notrace=[function-list]
			[FTRACE] Do not trace the functions specified in
			function-list. This list can be changed at run time
			by the set_ftrace_notrace file in the debugfs
			tracing directory.
1312

1313 1314 1315 1316 1317 1318 1319
	ftrace_graph_filter=[function-list]
			[FTRACE] Limit the top level callers functions traced
			by the function graph tracer at boot up.
			function-list is a comma separated list of functions
			that can be changed at run time by the
			set_graph_function file in the debugfs tracing directory.

1320 1321 1322 1323 1324 1325
	ftrace_graph_notrace=[function-list]
			[FTRACE] Do not trace from the functions specified in
			function-list.  This list is a comma separated list of
			functions that can be changed at run time by the
			set_graph_notrace file in the debugfs tracing directory.

Linus Torvalds's avatar
Linus Torvalds committed
1326 1327 1328 1329 1330 1331 1332 1333
	gamecon.map[2|3]=
			[HW,JOY] Multisystem joystick and NES/SNES/PSX pad
			support via parallel port (up to 5 devices per port)
			Format: <port#>,<pad1>,<pad2>,<pad3>,<pad4>,<pad5>
			See also Documentation/input/joystick-parport.txt

	gamma=		[HW,DRM]

1334 1335 1336 1337
	gart_fix_e820=  [X86_64] disable the fix e820 for K8 GART
			Format: off | on
			default: on

1338 1339 1340 1341 1342 1343
	gcov_persist=	[GCOV] When non-zero (default), profiling data for
			kernel modules is saved and remains accessible via
			debugfs, even when the module is unloaded/reloaded.
			When zero, profiling data is discarded and associated
			debugfs files are removed at module unload time.

Linus Torvalds's avatar
Linus Torvalds committed
1344
	gpt		[EFI] Forces disk with valid GPT signature but
1345 1346 1347
			invalid Protective MBR to be treated as GPT. If the
			primary GPT is corrupted, it enables the backup/alternate
			GPT to be used instead.
Linus Torvalds's avatar
Linus Torvalds committed
1348

1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366
	grcan.enable0=	[HW] Configuration of physical interface 0. Determines
			the "Enable 0" bit of the configuration register.
			Format: 0 | 1
			Default: 0
	grcan.enable1=	[HW] Configuration of physical interface 1. Determines
			the "Enable 0" bit of the configuration register.
			Format: 0 | 1
			Default: 0
	grcan.select=	[HW] Select which physical interface to use.
			Format: 0 | 1
			Default: 0
	grcan.txsize=	[HW] Sets the size of the tx buffer.
			Format: <unsigned int> such that (txsize & ~0x1fffc0) == 0.
			Default: 1024
	grcan.rxsize=	[HW] Sets the size of the rx buffer.
			Format: <unsigned int> such that (rxsize & ~0x1fffc0) == 0.
			Default: 1024

1367 1368 1369 1370 1371
	hardlockup_all_cpu_backtrace=
			[KNL] Should the hard-lockup detector generate
			backtraces on all cpus.
			Format: <integer>

Linus Torvalds's avatar
Linus Torvalds committed
1372 1373
	hashdist=	[KNL,NUMA] Large hashes allocated during boot
			are distributed across NUMA nodes.  Defaults on
1374
			for 64-bit NUMA, off otherwise.
1375
			Format: 0 | 1 (for off | on)
Linus Torvalds's avatar
Linus Torvalds committed
1376 1377 1378 1379 1380 1381

	hcl=		[IA-64] SGI's Hardware Graph compatibility layer

	hd=		[EIDE] (E)IDE hard drive subsystem geometry
			Format: <cyl>,<head>,<sect>

Huang Ying's avatar
Huang Ying committed
1382 1383 1384 1385 1386
	hest_disable	[ACPI]
			Disable Hardware Error Source Table (HEST) support;
			corresponding firmware-first mode error processing
			logic will be disabled.

Linus Torvalds's avatar
Linus Torvalds committed
1387 1388 1389 1390 1391
	highmem=nn[KMG]	[KNL,BOOT] forces the highmem zone to have an exact
			size of <nn>. This works even on boxes that have no
			highmem otherwise. This also works to reduce highmem
			size on bigger boxes.

1392 1393 1394 1395
	highres=	[KNL] Enable/disable high resolution timer mode.
			Valid parameters: "on", "off"
			Default: "on"

Linus Torvalds's avatar
Linus Torvalds committed
1396 1397 1398
	hisax=		[HW,ISDN]
			See Documentation/isdn/README.HiSax.

1399 1400 1401 1402 1403 1404 1405 1406 1407 1408
	hlt		[BUGS=ARM,SH]

	hpet=		[X86-32,HPET] option to control HPET usage
			Format: { enable (default) | disable | force |
				verbose }
			disable: disable HPET and use PIT instead
			force: allow force enabled of undocumented chips (ICH4,
				VIA, nVidia)
			verbose: show contents of HPET registers during setup

1409 1410 1411
	hpet_mmap=	[X86, HPET_MMAP] Allow userspace to mmap HPET
			registers.  Default set by CONFIG_HPET_MMAP_DEFAULT.

1412 1413
	hugepages=	[HW,X86-32,IA-64] HugeTLB pages to allocate at boot.
	hugepagesz=	[HW,IA-64,PPC,X86-64] The size of the HugeTLB pages.
1414 1415 1416 1417
			On x86-64 and powerpc, this option can be specified
			multiple times interleaved with hugepages= to reserve
			huge pages of different sizes. Valid pages sizes on
			x86-64 are 2M (when the CPU supports "pse") and 1G
1418
			(when the CPU supports the "pdpe1gb" cpuinfo flag).
1419

1420 1421
	hvc_iucv=	[S390] Number of z/VM IUCV hypervisor console (HVC)
			       terminal devices. Valid values: 0..8
1422 1423 1424
	hvc_iucv_allow=	[S390] Comma-separated list of z/VM user IDs.
			       If specified, z/VM IUCV HVC accepts connections
			       from listed z/VM user IDs only.
1425

James Hogan's avatar
James Hogan committed
1426 1427 1428 1429
	hwthread_map=	[METAG] Comma-separated list of Linux cpu id to
			        hardware thread id mappings.
				Format: <cpu>:<hwthread>

1430 1431 1432 1433 1434 1435
	keep_bootcon	[KNL]
			Do not unregister boot console at start. This is only
			useful for debugging when something happens in the window
			between unregistering the boot console and initializing
			the real console.

1436
	i2c_bus=	[HW] Override the default board specific I2C bus speed
1437 1438
			     or register an additional I2C bus that is not
			     registered from board initialization code.
1439 1440 1441
			     Format:
			     <bus_id>,<clkrate>

1442
	i8042.debug	[HW] Toggle i8042 debug mode
1443 1444 1445 1446
	i8042.unmask_kbd_data
			[HW] Enable printing of interrupt data from the KBD port
			     (disabled by default, and as a pre-condition
			     requires that i8042.debug=1 be enabled)
Linus Torvalds's avatar
Linus Torvalds committed
1447
	i8042.direct	[HW] Put keyboard port into non-translated mode
1448 1449
	i8042.dumbkbd	[HW] Pretend that controller can only read data from
			     keyboard and cannot control its state
Linus Torvalds's avatar
Linus Torvalds committed
1450 1451
			     (Don't attempt to blink the leds)
	i8042.noaux	[HW] Don't check for auxiliary (== mouse) port
1452
	i8042.nokbd	[HW] Don't check/create keyboard port
Jiri Kosina's avatar
Jiri Kosina committed
1453 1454
	i8042.noloop	[HW] Disable the AUX Loopback command while probing
			     for the AUX port
Linus Torvalds's avatar
Linus Torvalds committed
1455
	i8042.nomux	[HW] Don't check presence of an active multiplexing
1456
			     controller
Linus Torvalds's avatar
Linus Torvalds committed
1457 1458
	i8042.nopnp	[HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX
			     controllers
1459
	i8042.notimeout	[HW] Ignore timeout condition signalled by controller
Linus Torvalds's avatar
Linus Torvalds committed
1460 1461
	i8042.reset	[HW] Reset the controller during init and cleanup
	i8042.unlock	[HW] Unlock (ignore) the keylock
1462
	i8042.kbdreset  [HW] Reset device connected to KBD port
Linus Torvalds's avatar
Linus Torvalds committed
1463 1464 1465

	i810=		[HW,DRM]

1466 1467 1468
	i8k.ignore_dmi	[HW] Continue probing hardware even if DMI data
			indicates that the driver is running on unsupported
			hardware.
Linus Torvalds's avatar
Linus Torvalds committed
1469 1470 1471 1472 1473 1474 1475 1476
	i8k.force	[HW] Activate i8k driver even if SMM BIOS signature
			does not match list of supported models.
	i8k.power_status
			[HW] Report power status in /proc/i8k
			(disabled by default)
	i8k.restricted	[HW] Allow controlling fans only if SYS_ADMIN
			capability is set.