kernel-parameters.txt 135 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
	XEN	Xen support is enabled
Linus Torvalds's avatar
Linus Torvalds committed
135 136 137 138 139 140 141 142 143 144

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
145
need or coordination with <Documentation/x86/boot.txt>.
Linus Torvalds's avatar
Linus Torvalds committed
146

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

Linus Torvalds's avatar
Linus Torvalds committed
150 151 152 153 154 155
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.

156 157 158 159 160 161
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.

162 163 164 165 166
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.

167

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

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

181 182 183 184 185
	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.

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
	acpi.debug_layer=	[HW,ACPI,ACPI_DEBUG]
	acpi.debug_level=	[HW,ACPI,ACPI_DEBUG]
Linus Torvalds's avatar
Linus Torvalds committed
201
			Format: <int>
202 203 204 205 206 207 208
			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, ...
209 210 211
			The debug_level mask defaults to "info".  See
			Documentation/acpi/debug.txt for more information about
			debug layers and levels.
212

213 214 215 216
			Enable processor driver info messages:
			    acpi.debug_layer=0x20000000
			Enable PCI/PCI interrupt routing info messages:
			    acpi.debug_layer=0x400000
217 218 219 220 221 222 223 224 225
			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.
226

227 228 229 230 231
	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.

232 233 234 235 236 237 238 239 240 241 242 243 244 245 246
	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>...

247 248
	acpi_no_auto_serialize	[HW,ACPI]
			Disable auto-serialization of AML methods
249 250 251
			AML control methods that contain the opcodes to create
			named objects will be marked as "Serialized" by the
			auto-serialization feature.
252 253
			This feature is enabled by default.
			This option allows to turn off the feature.
254

255 256 257 258 259 260 261 262 263
	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.
264

265 266 267 268 269 270 271 272
	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.

273 274 275 276
	acpi_os_name=	[HW,ACPI] Tell ACPI BIOS the name of the OS
			Format: To spoof as Windows 98: ="Microsoft Windows"

	acpi_osi=	[HW,ACPI] Modify list of supported OS interface strings
277 278
			acpi_osi="string1"	# add string1
			acpi_osi="!string2"	# remove string2
279
			acpi_osi=!*		# remove all strings
280 281
			acpi_osi=!		# disable all built-in OS vendor
						  strings
282 283
			acpi_osi=		# disable all strings

284 285 286 287 288 289 290
			'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
291 292 293
			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.
294 295 296 297 298 299 300 301 302 303 304 305 306 307 308
			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.

309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331
			'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.

332
	acpi_pm_good	[X86]
333 334 335 336
			Override the pmtimer bug detection: force the kernel
			to assume that this machine's pmtimer latches its value
			and always returns good values.

337 338 339 340 341 342 343 344 345
	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,
346
				  old_ordering, nonvs, sci_force_enable }
347 348 349 350 351 352 353 354 355 356
			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).
357 358
			nonvs prevents the kernel from saving/restoring the
			ACPI NVS memory during suspend/hibernation and resume.
359 360 361
			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).
362 363 364 365 366

	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

367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382
	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.

383 384 385
	acpi_no_memhotplug [ACPI] Disable memory hotplug.  Useful for kdump
			   kernels.

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

389 390 391 392 393 394
	agp=		[AGP]
			{ off | try_unsupported }
			off: disable AGP support
			try_unsupported: try to drive unsupported chipsets
				(may crash computer or cause data corruption)

395 396 397
	ALSA		[HW,ALSA]
			See Documentation/sound/alsa/alsa-parameters.txt

398 399 400 401 402
	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.

403 404 405 406 407 408 409 410
	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.

411 412
			32: only for 32-bit processes
			64: only for 64-bit processes
413 414 415
			on: enable for both 32- and 64-bit processes
			off: disable for both 32- and 64-bit processes

416 417 418 419 420 421 422
	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.

423
	amd_iommu=	[HW,X86-64]
424 425
			Pass parameters to the AMD IOMMU driver in the system.
			Possible values are:
426 427 428 429
			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
430 431
			off	  - do not initialize any AMD IOMMU found in
				    the system
432 433 434 435 436
			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
437

438 439 440 441 442 443
	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
444 445 446
	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
447
			See also Documentation/input/joystick.txt
Linus Torvalds's avatar
Linus Torvalds committed
448 449 450 451 452 453

	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>

454 455
	apc=		[HW,SPARC]
			Power management functions (SPARCstation-4/5 + deriv.)
Linus Torvalds's avatar
Linus Torvalds committed
456 457 458 459 460
			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.

461
	apic=		[APIC,X86-32] Advanced Programmable Interrupt Controller
462
			Change the output verbosity whilst booting
Linus Torvalds's avatar
Linus Torvalds committed
463 464 465
			Format: { quiet (default) | verbose | debug }
			Change the amount of debugging information output
			when initialising the APIC and IO-APIC components.
466

Brian Haley's avatar
Brian Haley committed
467 468 469
	autoconf=	[IPV6]
			See Documentation/networking/ipv6.txt.

470 471 472 473 474 475 476 477 478
	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
479
	apm=		[APM] Advanced Power Management
480
			See header of arch/x86/kernel/apm_32.c.
Linus Torvalds's avatar
Linus Torvalds committed
481 482 483 484 485 486 487 488 489 490 491 492 493

	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

494 495
	atkbd.set=	[HW] Select keyboard code set
			Format: <int> (2 = AT (default), 3 = PS/2)
Linus Torvalds's avatar
Linus Torvalds committed
496 497 498 499 500 501

	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))
502 503 504

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

506 507
	audit=		[KNL] Enable the audit sub-system
			Format: { "0" | "1" } (0 = disabled, 1 = enabled)
508 509 510 511 512 513 514 515
			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.
516
			Default: unset
517

518 519 520 521
	audit_backlog_limit= [KNL] Set the audit queue size limit.
			Format: <int> (must be >=0)
			Default: 64

Linus Torvalds's avatar
Linus Torvalds committed
522 523
	baycom_epp=	[HW,AX25]
			Format: <io>,<mode>
524

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

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

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

539 540 541 542
	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
543 544 545 546 547
	boot_delay=	Milliseconds to delay each printk during boot.
			Values larger than 10 seconds (10000) are changed to
			no delay (0).
			Format: integer

548 549
	bootmem_debug	[KNL] Enable bootmem allocator debug messages.

Linus Torvalds's avatar
Linus Torvalds committed
550
	bttv.card=	[HW,V4L] bttv (bt848 + bt878 based grabber cards)
551 552
	bttv.radio=	Most important insmod options are available as
			kernel args too.
Linus Torvalds's avatar
Linus Torvalds committed
553
	bttv.pll=	See Documentation/video4linux/bttv/Insmod-options
Paul Bolle's avatar
Paul Bolle committed
554
	bttv.tuner=
Linus Torvalds's avatar
Linus Torvalds committed
555

556 557 558 559
	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
560 561
	c101=		[NET] Moxa C101 synchronous serial card

562
	cachesize=	[BUGS=X86-32] Override level 2 CPU cache size detection.
Linus Torvalds's avatar
Linus Torvalds committed
563 564 565 566 567 568
			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.

569 570 571
	ca_keys=	[KEYS] This parameter identifies a specific key(s) on
			the system trusted keyring to be used for certificate
			trust validation.
572
			format: { id:<keyid> | builtin }
573

574 575 576 577 578 579
	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).

580 581
	ccw_timeout_log [S390]
			See Documentation/s390/CommonIO for details.
Linus Torvalds's avatar
Linus Torvalds committed
582

583 584
	cgroup_disable= [KNL] Disable a particular controller
			Format: {name of the controller(s) to disable}
585 586 587 588 589 590 591 592
			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}
593

Linus Torvalds's avatar
Linus Torvalds committed
594 595 596
	checkreqprot	[SELINUX] Set initial checkreqprot flag value.
			Format: { "0" | "1" }
			See security/selinux/Kconfig help text.
597 598
			0 -- check protection applied by kernel (includes
				any implied execute protection).
Linus Torvalds's avatar
Linus Torvalds committed
599 600
			1 -- check protection requested by application.
			Default value is set via a kernel config option.
601 602 603
			Value can be changed at runtime via
				/selinux/checkreqprot.

604 605
	cio_ignore=	[S390]
			See Documentation/s390/CommonIO for details.
606 607
	clk_ignore_unused
			[CLK]
608 609 610 611 612 613 614 615 616
			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.
617

618
	clock=		[BUGS=X86-32, HW] gettimeofday clocksource override.
619
			[Deprecated]
620
			Forces specified clocksource (if available) to be used
621
			when calculating gettimeofday(). If specified
622
			clocksource is not available, it defaults to PIT.
Linus Torvalds's avatar
Linus Torvalds committed
623 624
			Format: { pit | tsc | cyclone | pmtmr }

625
	clocksource=	Override the default clocksource
Randy Dunlap's avatar
Randy Dunlap committed
626 627 628 629 630 631 632 633 634 635
			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
636
			[X86-32] pit,hpet,tsc;
Randy Dunlap's avatar
Randy Dunlap committed
637 638 639 640 641 642 643 644
				scx200_hrt on Geode; cyclone on IBM x440
			[MIPS] MIPS
			[PARISC] cr16
			[S390] tod
			[SH] SuperH
			[SPARC64] tick
			[X86-64] hpet,tsc

645 646
	clearcpuid=BITNUM [X86]
			Disable CPUID feature X for the kernel. See
647 648
			arch/x86/include/asm/cpufeature.h for the valid bit
			numbers. Note the Linux specific bits are not necessarily
649 650 651 652 653 654 655 656 657
			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.

658 659 660 661 662
	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
663 664
			memory allocations. A value of 0 disables CMA
			altogether. For more information, see
665 666
			include/linux/dma-contiguous.h

667 668 669 670 671 672 673
	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

674 675
	coherent_pool=nn[KMG]	[ARM,KNL]
			Sets the size of memory pool for coherent, atomic dma
676
			allocations, by default set to 256K.
677

678
	code_bytes	[X86] How many bytes of object code to print
679
			in an oops report.
680 681 682
			Range: 0 - 8192
			Default: 64

Linus Torvalds's avatar
Linus Torvalds committed
683
	com20020=	[HW,NET] ARCnet - COM20020 chipset
684 685
			Format:
			<io>[,<irq>[,<nodeID>[,<backplane>[,<ckp>[,<timeout>]]]]]
Linus Torvalds's avatar
Linus Torvalds committed
686 687 688 689

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

690 691
	com90xx=	[HW,NET]
			ARCnet - COM90xx chipset (memory-mapped buffers)
Linus Torvalds's avatar
Linus Torvalds committed
692 693 694 695
			Format: <io>[,<irq>[,<memstart>]]

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

Linus Torvalds's avatar
Linus Torvalds committed
697 698 699 700 701
	console=	[KNL] Output console device and options.

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

		ttyS<n>[,options]
702
		ttyUSB0[,options]
Linus Torvalds's avatar
Linus Torvalds committed
703
			Use the specified serial port.  The options are of
704 705 706 707 708 709 710 711 712
			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
713

714 715
		uart[8250],io,<addr>[,options]
		uart[8250],mmio,<addr>[,options]
Linus Torvalds's avatar
Linus Torvalds committed
716 717 718 719
			Start an early, polled-mode console on the 8250/16550
			UART at the specified I/O port or MMIO address,
			switching to the matching ttyS device later.  The
			options are the same as for ttyS, above.
720 721
		hvc<n>	Use the hypervisor console device <n>. This is for
			both Xen and PowerPC hypervisors.
Linus Torvalds's avatar
Linus Torvalds committed
722

723 724 725 726 727
                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.

728 729 730 731
	consoleblank=	[KNL] The console blank (screen saver) timeout in
			seconds. Defaults to 10*60 = 10mins. A value of 0
			disables the blank timer.

732 733 734 735 736
	coredump_filter=
			[KNL] Change the default value for
			/proc/<pid>/coredump_filter.
			See also Documentation/filesystems/proc.txt.

737 738 739
	cpuidle.off=1	[CPU_IDLE]
			disable the cpuidle sub-system

Linus Torvalds's avatar
Linus Torvalds committed
740
	cpcihp_generic=	[HW,PCI] Generic port I/O CompactPCI driver
741 742
			Format:
			<first_slot>,<last_slot>,<port>,<enum_bit>[,<debug>]
Linus Torvalds's avatar
Linus Torvalds committed
743

744 745 746 747 748 749 750
	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.
751

752 753 754 755 756
	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
757
			Documentation/kdump/kdump.txt for an example.
758

759
	crashkernel=size[KMG],high
760 761 762 763 764 765
			[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.
766 767 768
	crashkernel=size[KMG],low
			[KNL, x86_64] range under 4G. When crashkernel=X,high
			is passed, kernel could allocate physical memory region
769 770 771 772 773 774 775
			above 4G, that cause second kernel crash on system
			that require some amount of low memory, e.g. swiotlb
			requires at least 64M+32K low memory.  Kernel would
			try to allocate 72M below 4G automatically.
			This one let user to specify own low range under 4G
			for second kernel instead.
			0: to disable low allocation.
776
			It will be ignored when crashkernel=X,high is not used
777
			or memory reserved is below 4G.
778

Linus Torvalds's avatar
Linus Torvalds committed
779 780 781 782 783
	cs89x0_dma=	[HW,NET]
			Format: <dma>

	cs89x0_media=	[HW,NET]
			Format: { rj45 | aui | bnc }
784 785

	dasd=		[HW,NET]
Linus Torvalds's avatar
Linus Torvalds committed
786 787 788 789 790 791 792
			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

793 794
	ddebug_query=   [KNL,DYNAMIC_DEBUG] Enable debug messages at early boot
			time. See Documentation/dynamic-debug-howto.txt for
795
			details.  Deprecated, see dyndbg.
796

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

799 800 801 802 803 804 805 806 807
	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.

808 809
	debug_objects	[KNL] Enable object debugging

810 811 812
	no_debug_objects
			[KNL] Disable object debugging

813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831
	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.

832 833
	debugpat	[X86] Enable PAT debugging

834
	decnet.addr=	[HW,NET]
Linus Torvalds's avatar
Linus Torvalds committed
835 836 837
			Format: <area>[,<node>]
			See also Documentation/networking/decnet.txt.

838 839 840 841 842 843 844
	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.
845

Linus Torvalds's avatar
Linus Torvalds committed
846 847
	dhash_entries=	[KNL]
			Set number of hash buckets for dentry cache.
848

Brian Haley's avatar
Brian Haley committed
849 850 851
	disable=	[IPV6]
			See Documentation/networking/ipv6.txt.

852 853 854 855 856 857 858 859 860
	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.

861 862 863 864
	disable_ddw     [PPC/PSERIES]
			Disable Dynamic DMA Window support. Use this if
			to workaround buggy firmware.

Brian Haley's avatar
Brian Haley committed
865 866 867
	disable_ipv6=	[IPV6]
			See Documentation/networking/ipv6.txt.

868 869 870
	disable_mtrr_cleanup [X86]
			The kernel tries to adjust MTRR layout from continuous
			to discrete, to make X server driver able to add WB
871
			entry later. This parameter disables that.
872

873
	disable_mtrr_trim [X86, Intel and AMD only]
874 875 876 877 878
			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.

879
	disable_timer_pin_1 [X86]
880 881 882 883 884 885 886 887 888 889 890 891 892
			Disable PIN 1 of APIC timer
			Can be useful to work around chipset bugs.

	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.

893 894 895 896 897 898 899
	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.

900 901 902 903 904 905 906 907 908 909 910 911 912 913 914
	drm_kms_helper.edid_firmware=[<connector>:]<file>
			Broken monitors, graphic adapters and KVMs may
			send no or incorrect EDID data sets. This parameter
			allows to specify an EDID data set in the
			/lib/firmware directory that is used instead.
			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
			name.

Linus Torvalds's avatar
Linus Torvalds committed
915 916
	dscc4.setup=	[NET]

917 918 919 920 921
	dyndbg[="val"]		[KNL,DYNAMIC_DEBUG]
	module.dyndbg[="val"]
			Enable debug messages at boot time.  See
			Documentation/dynamic-debug-howto.txt for details.

922 923 924 925 926
	early_ioremap_debug [KNL]
			Enable debug messages in early_ioremap support. This
			is useful for tracking down temporary early mappings
			which are not unmapped.

927
	earlycon=	[KNL] Output early console device and options.
928

929 930 931 932 933 934
		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.

935 936
		uart[8250],io,<addr>[,options]
		uart[8250],mmio,<addr>[,options]
937
		uart[8250],mmio32,<addr>[,options]
938 939
			Start an early, polled-mode console on the 8250/16550
			UART at the specified I/O port or MMIO address.
940 941
			MMIO inter-register address stride is either 8-bit
			(mmio) or 32-bit (mmio32).
942 943
			The options are the same as for ttyS, above.

944 945 946 947 948 949
		pl011,<addr>
			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
			yet supported.

950 951 952 953 954 955 956 957 958 959 960 961
		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.

962 963
		smh	Use ARM semihosting calls for early console.

Finn Thain's avatar
Finn Thain committed
964
	earlyprintk=	[X86,SH,BLACKFIN,ARM,M68k]
Linus Torvalds's avatar
Linus Torvalds committed
965
			earlyprintk=vga
966
			earlyprintk=efi
967
			earlyprintk=xen
Linus Torvalds's avatar
Linus Torvalds committed
968
			earlyprintk=serial[,ttySn[,baudrate]]
969
			earlyprintk=serial[,0x...[,baudrate]]
970
			earlyprintk=ttySn[,baudrate]
971
			earlyprintk=dbgp[debugController#]
Linus Torvalds's avatar
Linus Torvalds committed
972

973 974 975 976
			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.

977
			Append ",keep" to not disable it when the real console
Linus Torvalds's avatar
Linus Torvalds committed
978 979
			takes over.

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

983 984 985 986 987 988 989 990
			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
991 992 993 994

			Interaction with the standard serial driver is not
			very good.

995 996
			The VGA and EFI output is eventually overwritten by
			the real console.
Linus Torvalds's avatar
Linus Torvalds committed
997

998 999
			The xen output can only be used by Xen PV guests.

1000 1001 1002 1003 1004 1005 1006 1007
	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.

1008 1009 1010
	ekgdboc=	[X86,KGDB] Allow early kernel console debugging
			ekgdboc=kbd

Lucas De Marchi's avatar
Lucas De Marchi committed
1011
			This is designed to be used in conjunction with
1012 1013
			the boot argument: earlyprintk=vga

Linus Torvalds's avatar
Linus Torvalds committed
1014
	edd=		[EDD]
1015
			Format: {"off" | "on" | "skip[mbr]"}
Linus Torvalds's avatar
Linus Torvalds committed
1016

1017
	efi=		[EFI]
1018
			Format: { "old_map", "nochunk", "noruntime" }
1019 1020 1021
			old_map [X86-64]: switch to the old ioremap-based EFI
			runtime services mapping. 32-bit still uses this one by
			default.
1022 1023 1024
			nochunk: disable reading files in "chunks" in the EFI
			boot stub, as chunking can cause problems with some
			firmware implementations.
1025
			noruntime : disable EFI runtime services support
1026

1027 1028 1029 1030 1031 1032
	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.

Linus Torvalds's avatar
Linus Torvalds committed
1033 1034 1035
	eisa_irq_edge=	[PARISC,HW]
			See header of drivers/parisc/eisa.c.

1036
	elanfreq=	[X86-32]
Linus Torvalds's avatar
Linus Torvalds committed
1037
			See comment before function elanfreq_setup() in
1038
			arch/x86/kernel/cpu/cpufreq/elanfreq.c.
Linus Torvalds's avatar
Linus Torvalds committed
1039 1040

	elevator=	[IOSCHED]
1041
			Format: {"cfq" | "deadline" | "noop"}
Paul Bolle's avatar
Paul Bolle committed
1042
			See Documentation/block/cfq-iosched.txt and
1043 1044
			Documentation/block/deadline-iosched.txt for details.

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

1051 1052 1053 1054 1055
	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.

1056
	enable_timer_pin_1 [X86]
1057 1058 1059 1060 1061
			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
1062 1063 1064 1065 1066 1067 1068 1069
	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.

1070 1071 1072 1073
	erst_disable	[ACPI]
			Disable Error Record Serialization Table (ERST)
			support.

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

1078 1079 1080 1081 1082
	evm=		[EVM]
			Format: { "fix" }
			Permit 'security.evm' to be updated regardless of
			current integrity status.

1083 1084 1085 1086 1087
	failslab=
	fail_page_alloc=
	fail_make_request=[KNL]
			General fault injection mechanism.
			Format: <interval>,<probability>,<space>,<times>
Paul Bolle's avatar
Paul Bolle committed
1088
			See also Documentation/fault-injection/.
1089

Linus Torvalds's avatar
Linus Torvalds committed
1090
	floppy=		[HW]
1091
			See Documentation/blockdev/floppy.txt.
Linus Torvalds's avatar
Linus Torvalds committed
1092

1093 1094 1095 1096 1097 1098
	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.

1099 1100 1101 1102 1103 1104 1105
	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.

1106
	ftrace=[tracer]
1107
			[FTRACE] will set and start the specified tracer
1108 1109 1110
			as early as possible in order to facilitate early
			boot debugging.

1111
	ftrace_dump_on_oops[=orig_cpu]
1112
			[FTRACE] will dump the trace buffers on oops.
1113 1114 1115 1116
			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.
1117 1118 1119 1120 1121 1122

	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
1123
			tracing directory.
1124 1125 1126 1127 1128 1129

	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.
1130

1131 1132 1133 1134 1135 1136 1137
	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.

1138 1139 1140 1141 1142 1143
	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
1144 1145 1146 1147 1148 1149 1150 1151
	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]

1152 1153 1154 1155
	gart_fix_e820=  [X86_64] disable the fix e820 for K8 GART
			Format: off | on
			default: on

1156 1157 1158 1159 1160 1161
	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
1162
	gpt		[EFI] Forces disk with valid GPT signature but
1163 1164 1165
			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
1166

1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184
	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

Linus Torvalds's avatar
Linus Torvalds committed
1185 1186
	hashdist=	[KNL,NUMA] Large hashes allocated during boot
			are distributed across NUMA nodes.  Defaults on
1187
			for 64-bit NUMA, off otherwise.
1188
			Format: 0 | 1 (for off | on)
Linus Torvalds's avatar
Linus Torvalds committed
1189 1190 1191 1192 1193 1194

	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
1195 1196 1197 1198 1199
	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
1200 1201 1202 1203 1204
	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.

1205 1206 1207 1208
	highres=	[KNL] Enable/disable high resolution timer mode.
			Valid parameters: "on", "off"
			Default: "on"

Linus Torvalds's avatar
Linus Torvalds committed
1209 1210 1211
	hisax=		[HW,ISDN]
			See Documentation/isdn/README.HiSax.

1212 1213 1214 1215 1216 1217 1218 1219 1220 1221
	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

1222 1223 1224
	hpet_mmap=	[X86, HPET_MMAP] Allow userspace to mmap HPET
			registers.  Default set by CONFIG_HPET_MMAP_DEFAULT.

1225 1226
	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.
1227 1228 1229 1230 1231
			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
			(when the CPU supports the "pdpe1gb" cpuinfo flag)
1232 1233
			Note that 1GB pages can only be allocated at boot time
			using hugepages= and not freed afterwards.
1234

1235 1236
	hvc_iucv=	[S390] Number of z/VM IUCV hypervisor console (HVC)
			       terminal devices. Valid values: 0..8
1237 1238 1239
	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.
1240

James Hogan's avatar
James Hogan committed
1241 1242 1243 1244
	hwthread_map=	[METAG] Comma-separated list of Linux cpu id to
			        hardware thread id mappings.
				Format: <cpu>:<hwthread>

1245 1246 1247 1248 1249 1250
	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.

1251
	i2c_bus=	[HW] Override the default board specific I2C bus speed
1252 1253
			     or register an additional I2C bus that is not
			     registered from board initialization code.
1254 1255 1256
			     Format:
			     <bus_id>,<clkrate>

1257
	i8042.debug	[HW] Toggle i8042 debug mode
Linus Torvalds's avatar
Linus Torvalds committed
1258
	i8042.direct	[HW] Put keyboard port into non-translated mode
1259 1260
	i8042.dumbkbd	[HW] Pretend that controller can only read data from
			     keyboard and cannot control its state
Linus Torvalds's avatar
Linus Torvalds committed
1261 1262
			     (Don't attempt to blink the leds)
	i8042.noaux	[HW] Don't check for auxiliary (== mouse) port
1263
	i8042.nokbd	[HW] Don't check/create keyboard port
Jiri Kosina's avatar
Jiri Kosina committed
1264 1265
	i8042.noloop	[HW] Disable the AUX Loopback command while probing
			     for the AUX port
Linus Torvalds's avatar
Linus Torvalds committed
1266
	i8042.nomux	[HW] Don't check presence of an active multiplexing
1267
			     controller
Linus Torvalds's avatar
Linus Torvalds committed
1268 1269
	i8042.nopnp	[HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX
			     controllers
1270
	i8042.notimeout	[HW] Ignore timeout condition signalled by controller
Linus Torvalds's avatar
Linus Torvalds committed
1271 1272 1273 1274 1275
	i8042.reset	[HW] Reset the controller during init and cleanup
	i8042.unlock	[HW] Unlock (ignore) the keylock

	i810=		[HW,DRM]

1276 1277 1278
	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