kernel-parameters.txt 157 KB
Newer Older
1
	acpi=		[HW,ACPI,X86,ARM64]
2
			Advanced Configuration and Power Interface
3
			Format: { force | on | off | strict | noirq | rsdt |
4
				  copy_dsdt }
Linus Torvalds's avatar
Linus Torvalds committed
5
			force -- enable ACPI if default was off
6
			on -- enable ACPI but allow fallback to DT [arm64]
Linus Torvalds's avatar
Linus Torvalds committed
7
8
			off -- disable ACPI if default was on
			noirq -- do not use ACPI for IRQ routing
9
			strict -- Be less tolerant of platforms that are not
Linus Torvalds's avatar
Linus Torvalds committed
10
				strictly ACPI specification compliant.
11
			rsdt -- prefer RSDT over (default) XSDT
12
			copy_dsdt -- copy DSDT to memory
13
14
			For ARM64, ONLY "acpi=off", "acpi=on" or "acpi=force"
			are available
Linus Torvalds's avatar
Linus Torvalds committed
15

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

18
19
20
21
	acpi_apic_instance=	[ACPI, IOAPIC]
			Format: <int>
			2: use 2nd APIC table, if available
			1,0: use 1st APIC table
22
			default: 0
23

24
25
26
27
28
29
30
	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.

31
32
33
34
35
36
	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.

37
38
39
40
41
42
43
44
	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.

45
46
	acpi.debug_layer=	[HW,ACPI,ACPI_DEBUG]
	acpi.debug_level=	[HW,ACPI,ACPI_DEBUG]
Linus Torvalds's avatar
Linus Torvalds committed
47
			Format: <int>
48
49
50
51
52
53
54
			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, ...
55
56
57
			The debug_level mask defaults to "info".  See
			Documentation/acpi/debug.txt for more information about
			debug layers and levels.
58

59
60
61
62
			Enable processor driver info messages:
			    acpi.debug_layer=0x20000000
			Enable PCI/PCI interrupt routing info messages:
			    acpi.debug_layer=0x400000
63
64
65
66
67
68
69
70
71
			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.
72

73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
	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.

89
90
91
92
93
	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.

94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
	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>...

109
110
111
112
113
114
115
116
117
118
	acpi_mask_gpe=  [HW,ACPI]
			Due to the existence of _Lxx/_Exx, some GPEs triggered
			by unsupported hardware/firmware features can result in
                        GPE floodings that cannot be automatically disabled by
                        the GPE dispatcher.
			This facility can be used to prevent such uncontrolled
			GPE floodings.
			Format: <int>
			Support masking of GPEs numbered from 0x00 to 0x7f.

119
120
	acpi_no_auto_serialize	[HW,ACPI]
			Disable auto-serialization of AML methods
121
122
123
			AML control methods that contain the opcodes to create
			named objects will be marked as "Serialized" by the
			auto-serialization feature.
124
125
			This feature is enabled by default.
			This option allows to turn off the feature.
126

127
128
129
	acpi_no_memhotplug [ACPI] Disable memory hotplug.  Useful for kdump
			   kernels.

130
131
132
133
134
135
136
137
138
	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.
139

140
141
142
143
	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.
144

145
146
147
	acpi_os_name=	[HW,ACPI] Tell ACPI BIOS the name of the OS
			Format: To spoof as Windows 98: ="Microsoft Windows"

148
149
150
151
152
153
	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).

154
	acpi_osi=	[HW,ACPI] Modify list of supported OS interface strings
155
156
			acpi_osi="string1"	# add string1
			acpi_osi="!string2"	# remove string2
157
			acpi_osi=!*		# remove all strings
158
159
			acpi_osi=!		# disable all built-in OS vendor
						  strings
160
161
			acpi_osi=!!		# enable all built-in OS vendor
						  strings
162
163
			acpi_osi=		# disable all strings

164
165
166
167
168
169
170
			'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
171
172
173
			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.
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
			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.

189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
			'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.

212
	acpi_pm_good	[X86]
213
214
215
216
			Override the pmtimer bug detection: force the kernel
			to assume that this machine's pmtimer latches its value
			and always returns good values.

217
218
219
220
221
222
223
224
225
	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,
226
				  old_ordering, nonvs, sci_force_enable }
227
228
229
230
231
232
233
234
235
236
			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).
237
238
			nonvs prevents the kernel from saving/restoring the
			ACPI NVS memory during suspend/hibernation and resume.
239
240
241
			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).
242
243
244
245
246
247
248
249

	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.

250
251
252
253
254
255
	agp=		[AGP]
			{ off | try_unsupported }
			off: disable AGP support
			try_unsupported: try to drive unsupported chipsets
				(may crash computer or cause data corruption)

256
257
258
	ALSA		[HW,ALSA]
			See Documentation/sound/alsa/alsa-parameters.txt

259
260
261
262
263
	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.

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

272
273
			32: only for 32-bit processes
			64: only for 64-bit processes
274
275
276
			on: enable for both 32- and 64-bit processes
			off: disable for both 32- and 64-bit processes

277
278
279
280
281
282
283
	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.

284
	amd_iommu=	[HW,X86-64]
285
286
			Pass parameters to the AMD IOMMU driver in the system.
			Possible values are:
287
288
289
290
			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
291
292
			off	  - do not initialize any AMD IOMMU found in
				    the system
293
294
295
296
297
			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
298

299
300
301
302
303
304
	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.

305
306
307
308
309
310
311
312
313
	amd_iommu_intr=	[HW,X86-64]
			Specifies one of the following AMD IOMMU interrupt
			remapping modes:
			legacy     - Use legacy interrupt remapping mode.
			vapic      - Use virtual APIC mode, which allows IOMMU
			             to inject interrupts directly into guest.
			             This mode requires kvm-amd.avic=1.
			             (Default when IOMMU HW support is present.)

Linus Torvalds's avatar
Linus Torvalds committed
314
315
316
	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
317
			See also Documentation/input/joystick.txt
Linus Torvalds's avatar
Linus Torvalds committed
318
319
320
321
322
323

	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>

324
325
	apc=		[HW,SPARC]
			Power management functions (SPARCstation-4/5 + deriv.)
Linus Torvalds's avatar
Linus Torvalds committed
326
327
328
329
330
			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.

331
	apic=		[APIC,X86-32] Advanced Programmable Interrupt Controller
332
			Change the output verbosity whilst booting
Linus Torvalds's avatar
Linus Torvalds committed
333
334
335
			Format: { quiet (default) | verbose | debug }
			Change the amount of debugging information output
			when initialising the APIC and IO-APIC components.
336

337
338
339
340
341
342
343
344
345
	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
346
347
348
	autoconf=	[IPV6]
			See Documentation/networking/ipv6.txt.

349
350
351
352
353
354
355
356
357
	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
358
	apm=		[APM] Advanced Power Management
359
			See header of arch/x86/kernel/apm_32.c.
Linus Torvalds's avatar
Linus Torvalds committed
360
361
362
363
364
365
366
367
368
369
370
371
372

	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

373
374
	atkbd.set=	[HW] Select keyboard code set
			Format: <int> (2 = AT (default), 3 = PS/2)
Linus Torvalds's avatar
Linus Torvalds committed
375
376
377
378
379
380

	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))
381
382
383

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

385
386
	audit=		[KNL] Enable the audit sub-system
			Format: { "0" | "1" } (0 = disabled, 1 = enabled)
387
388
389
390
391
392
393
394
			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.
395
			Default: unset
396

397
398
399
400
	audit_backlog_limit= [KNL] Set the audit queue size limit.
			Format: <int> (must be >=0)
			Default: 64

401
402
403
404
405
406
407
	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
408
409
	baycom_epp=	[HW,AX25]
			Format: <io>,<mode>
410

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

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

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

425
426
427
428
	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
429
430
431
432
433
	boot_delay=	Milliseconds to delay each printk during boot.
			Values larger than 10 seconds (10000) are changed to
			no delay (0).
			Format: integer

434
435
	bootmem_debug	[KNL] Enable bootmem allocator debug messages.

436
437
438
	bert_disable	[ACPI]
			Disable BERT OS support on buggy BIOSes.

Linus Torvalds's avatar
Linus Torvalds committed
439
	bttv.card=	[HW,V4L] bttv (bt848 + bt878 based grabber cards)
440
441
	bttv.radio=	Most important insmod options are available as
			kernel args too.
Linus Torvalds's avatar
Linus Torvalds committed
442
	bttv.pll=	See Documentation/video4linux/bttv/Insmod-options
Paul Bolle's avatar
Paul Bolle committed
443
	bttv.tuner=
Linus Torvalds's avatar
Linus Torvalds committed
444

445
446
447
448
	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
449
450
	c101=		[NET] Moxa C101 synchronous serial card

451
	cachesize=	[BUGS=X86-32] Override level 2 CPU cache size detection.
Linus Torvalds's avatar
Linus Torvalds committed
452
453
454
455
456
457
			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.

458
459
460
	ca_keys=	[KEYS] This parameter identifies a specific key(s) on
			the system trusted keyring to be used for certificate
			trust validation.
461
			format: { id:<keyid> | builtin }
462

463
464
465
466
467
468
	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).

469
470
	ccw_timeout_log [S390]
			See Documentation/s390/CommonIO for details.
Linus Torvalds's avatar
Linus Torvalds committed
471

472
473
	cgroup_disable= [KNL] Disable a particular controller
			Format: {name of the controller(s) to disable}
474
475
476
477
478
479
480
481
			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}
482

483
484
485
486
487
	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.

488
489
490
	cgroup.memory=	[KNL] Pass options to the cgroup memory controller.
			Format: <string>
			nosocket -- Disable socket memory accounting.
491
			nokmem -- Disable kernel memory accounting.
492

Linus Torvalds's avatar
Linus Torvalds committed
493
494
495
	checkreqprot	[SELINUX] Set initial checkreqprot flag value.
			Format: { "0" | "1" }
			See security/selinux/Kconfig help text.
496
497
			0 -- check protection applied by kernel (includes
				any implied execute protection).
Linus Torvalds's avatar
Linus Torvalds committed
498
499
			1 -- check protection requested by application.
			Default value is set via a kernel config option.
500
501
502
			Value can be changed at runtime via
				/selinux/checkreqprot.

503
504
	cio_ignore=	[S390]
			See Documentation/s390/CommonIO for details.
505
506
	clk_ignore_unused
			[CLK]
507
508
509
510
511
512
513
514
515
			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.
516

517
	clock=		[BUGS=X86-32, HW] gettimeofday clocksource override.
518
			[Deprecated]
519
			Forces specified clocksource (if available) to be used
520
			when calculating gettimeofday(). If specified
521
			clocksource is not available, it defaults to PIT.
Linus Torvalds's avatar
Linus Torvalds committed
522
523
			Format: { pit | tsc | cyclone | pmtmr }

524
	clocksource=	Override the default clocksource
Randy Dunlap's avatar
Randy Dunlap committed
525
526
527
528
529
530
531
532
533
			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
534
			[X86-32] pit,hpet,tsc;
Randy Dunlap's avatar
Randy Dunlap committed
535
536
537
538
539
540
541
542
				scx200_hrt on Geode; cyclone on IBM x440
			[MIPS] MIPS
			[PARISC] cr16
			[S390] tod
			[SH] SuperH
			[SPARC64] tick
			[X86-64] hpet,tsc

543
544
545
546
547
548
549
550
	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.

551
552
	clearcpuid=BITNUM [X86]
			Disable CPUID feature X for the kernel. See
553
			arch/x86/include/asm/cpufeatures.h for the valid bit
554
			numbers. Note the Linux specific bits are not necessarily
555
556
557
558
559
560
561
562
563
			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.

564
565
566
567
568
	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
569
570
			memory allocations. A value of 0 disables CMA
			altogether. For more information, see
571
572
			include/linux/dma-contiguous.h

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

580
581
	coherent_pool=nn[KMG]	[ARM,KNL]
			Sets the size of memory pool for coherent, atomic dma
582
			allocations, by default set to 256K.
583

584
	code_bytes	[X86] How many bytes of object code to print
585
			in an oops report.
586
587
588
			Range: 0 - 8192
			Default: 64

Linus Torvalds's avatar
Linus Torvalds committed
589
	com20020=	[HW,NET] ARCnet - COM20020 chipset
590
591
			Format:
			<io>[,<irq>[,<nodeID>[,<backplane>[,<ckp>[,<timeout>]]]]]
Linus Torvalds's avatar
Linus Torvalds committed
592
593
594
595

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

596
597
	com90xx=	[HW,NET]
			ARCnet - COM90xx chipset (memory-mapped buffers)
Linus Torvalds's avatar
Linus Torvalds committed
598
599
600
601
			Format: <io>[,<irq>[,<memstart>]]

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

Linus Torvalds's avatar
Linus Torvalds committed
603
604
605
606
607
	console=	[KNL] Output console device and options.

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

		ttyS<n>[,options]
608
		ttyUSB0[,options]
Linus Torvalds's avatar
Linus Torvalds committed
609
			Use the specified serial port.  The options are of
610
611
612
613
614
			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".

615
			See Documentation/admin-guide/serial-console.rst for more
616
617
618
			information.  See
			Documentation/networking/netconsole.txt for an
			alternative.
Linus Torvalds's avatar
Linus Torvalds committed
619

620
621
		uart[8250],io,<addr>[,options]
		uart[8250],mmio,<addr>[,options]
622
		uart[8250],mmio16,<addr>[,options]
623
624
		uart[8250],mmio32,<addr>[,options]
		uart[8250],0x<addr>[,options]
Linus Torvalds's avatar
Linus Torvalds committed
625
626
			Start an early, polled-mode console on the 8250/16550
			UART at the specified I/O port or MMIO address,
627
628
			switching to the matching ttyS device later.
			MMIO inter-register address stride is either 8-bit
629
630
631
632
			(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,
633
634
			the h/w is not re-initialized.

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

638
639
640
641
642
                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.

643
644
645
646
	consoleblank=	[KNL] The console blank (screen saver) timeout in
			seconds. Defaults to 10*60 = 10mins. A value of 0
			disables the blank timer.

647
648
649
650
651
	coredump_filter=
			[KNL] Change the default value for
			/proc/<pid>/coredump_filter.
			See also Documentation/filesystems/proc.txt.

652
653
654
	cpuidle.off=1	[CPU_IDLE]
			disable the cpuidle sub-system

655
656
657
	cpufreq.off=1	[CPU_FREQ]
			disable the cpufreq sub-system

658
659
660
661
662
663
	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
664
	cpcihp_generic=	[HW,PCI] Generic port I/O CompactPCI driver
665
666
			Format:
			<first_slot>,<last_slot>,<port>,<enum_bit>[,<debug>]
Linus Torvalds's avatar
Linus Torvalds committed
667

668
669
670
671
672
673
674
	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.
675

676
677
678
679
680
	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
681
			Documentation/kdump/kdump.txt for an example.
682

683
	crashkernel=size[KMG],high
684
685
686
687
688
689
			[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.
690
691
692
	crashkernel=size[KMG],low
			[KNL, x86_64] range under 4G. When crashkernel=X,high
			is passed, kernel could allocate physical memory region
693
694
			above 4G, that cause second kernel crash on system
			that require some amount of low memory, e.g. swiotlb
695
696
697
698
			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.
699
700
701
			This one let user to specify own low range under 4G
			for second kernel instead.
			0: to disable low allocation.
702
			It will be ignored when crashkernel=X,high is not used
703
			or memory reserved is below 4G.
704

705
706
707
	cryptomgr.notests
                        [KNL] Disable crypto self-tests

Linus Torvalds's avatar
Linus Torvalds committed
708
709
710
711
712
	cs89x0_dma=	[HW,NET]
			Format: <dma>

	cs89x0_media=	[HW,NET]
			Format: { rj45 | aui | bnc }
713
714

	dasd=		[HW,NET]
Linus Torvalds's avatar
Linus Torvalds committed
715
716
717
718
719
720
721
			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

722
723
	ddebug_query=   [KNL,DYNAMIC_DEBUG] Enable debug messages at early boot
			time. See Documentation/dynamic-debug-howto.txt for
724
			details.  Deprecated, see dyndbg.
725

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

728
729
730
731
732
733
734
735
736
	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.

737
738
	debug_objects	[KNL] Enable object debugging

739
740
741
	no_debug_objects
			[KNL] Disable object debugging

742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
	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.

761
762
763
764
765
766
767
768
769
	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

770
771
	debugpat	[X86] Enable PAT debugging

772
	decnet.addr=	[HW,NET]
Linus Torvalds's avatar
Linus Torvalds committed
773
774
775
			Format: <area>[,<node>]
			See also Documentation/networking/decnet.txt.

776
777
778
779
780
781
782
	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.
783

Linus Torvalds's avatar
Linus Torvalds committed
784
785
	dhash_entries=	[KNL]
			Set number of hash buckets for dentry cache.
786

787
788
789
790
791
792
	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
793
794
795
	disable=	[IPV6]
			See Documentation/networking/ipv6.txt.

796
797
798
	disable_radix	[PPC]
			Disable RADIX MMU mode on POWER9

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

808
809
810
811
	disable_ddw     [PPC/PSERIES]
			Disable Dynamic DMA Window support. Use this if
			to workaround buggy firmware.

Brian Haley's avatar
Brian Haley committed
812
813
814
	disable_ipv6=	[IPV6]
			See Documentation/networking/ipv6.txt.

815
816
817
	disable_mtrr_cleanup [X86]
			The kernel tries to adjust MTRR layout from continuous
			to discrete, to make X server driver able to add WB
818
			entry later. This parameter disables that.
819

820
	disable_mtrr_trim [X86, Intel and AMD only]
821
822
823
824
825
			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.

826
	disable_timer_pin_1 [X86]
827
828
829
			Disable PIN 1 of APIC timer
			Can be useful to work around chipset bugs.

830
831
	dis_ucode_ldr	[X86] Disable the microcode loader.

832
833
834
835
836
837
838
839
840
841
	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.

842
843
844
845
846
847
848
	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.

849
850
851
852
853
	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.
854
855
856
857
858
859
860
861
			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
862
863
864
865
			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.
866

Linus Torvalds's avatar
Linus Torvalds committed
867
868
	dscc4.setup=	[NET]

869
870
871
872
873
874
875
876
877
	dt_cpu_ftrs=	[PPC]
			Format: {"off" | "known"}
			Control how the dt_cpu_ftrs device-tree binding is
			used for CPU feature discovery and setup (if it
			exists).
			off: Do not use it, fall back to legacy cpu table.
			known: Do not pass through unknown features to guests
			or userspace, only those that the kernel is aware of.

878
879
880
881
882
	dump_apple_properties	[X86]
			Dump name and content of EFI device properties on
			x86 Macs.  Useful for driver authors to determine
			what data is available or for reverse-engineering.

883
884
885
886
887
	dyndbg[="val"]		[KNL,DYNAMIC_DEBUG]
	module.dyndbg[="val"]
			Enable debug messages at boot time.  See
			Documentation/dynamic-debug-howto.txt for details.

888
889
890
891
	nompx		[X86] Disables Intel Memory Protection Extensions.
			See Documentation/x86/intel_mpx.txt for more
			information about the feature.

892
893
894
	nopku		[X86] Disable Memory Protection Keys CPU feature found
			in some Intel CPUs.

895
896
897
	module.async_probe [KNL]
			Enable asynchronous probe on this module.

898
899
900
901
902
	early_ioremap_debug [KNL]
			Enable debug messages in early_ioremap support. This
			is useful for tracking down temporary early mappings
			which are not unmapped.

903
	earlycon=	[KNL] Output early console device and options.
904

905
906
907
908
			When used with no options, the early console is
			determined by the stdout-path property in device
			tree's chosen node.

909
910
911
912
913
914
		cdns,<addr>[,options]
			Start an early, polled-mode console on a Cadence
			(xuartps) serial port at the specified address. Only
			supported option is baud rate. If baud rate is not
			specified, the serial port must already be setup and
			configured.
915

916
917
		uart[8250],io,<addr>[,options]
		uart[8250],mmio,<addr>[,options]
918
		uart[8250],mmio32,<addr>[,options]
919
		uart[8250],mmio32be,<addr>[,options]
920
		uart[8250],0x<addr>[,options]
921
922
			Start an early, polled-mode console on the 8250/16550
			UART at the specified I/O port or MMIO address.
923
			MMIO inter-register address stride is either 8-bit
924
925
926
927
			(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
928
			unspecified, the h/w is not initialized.
929

930
		pl011,<addr>
931
		pl011,mmio32,<addr>
932
933
934
			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
935
936
937
			yet supported.  If 'mmio32' is specified, then only
			the driver will use only 32-bit accessors to read/write
			the device registers.
938

939
940
941
942
943
944
		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.

945
946
947
948
949
950
951
952
953
954
955
956
		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.

957
958
		smh	Use ARM semihosting calls for early console.

959
960
961
962
963
964
965
966
967
968
969
970
		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.

971
972
973
974
975
976
		lantiq,<addr>
			Start an early, polled-mode console on a lantiq serial
			(lqasc) port at the specified address. The serial port
			must already be setup and configured. Options are not
			yet supported.

977
978
979
980
981
982
983
		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.

984
		ar3700_uart,<addr>
985
986
987
988
989
			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.

990
	earlyprintk=	[X86,SH,BLACKFIN,ARM,M68k,S390]
Linus Torvalds's avatar
Linus Torvalds committed
991
			earlyprintk=vga
992
			earlyprintk=efi
993
			earlyprintk=sclp
994
			earlyprintk=xen
Linus Torvalds's avatar
Linus Torvalds committed
995
			earlyprintk=serial[,ttySn[,baudrate]]
996
			earlyprintk=serial[,0x...[,baudrate]]
997
			earlyprintk=ttySn[,baudrate]
998
			earlyprintk=dbgp[debugController#]
999
			earlyprintk=pciserial,bus:device.function[,baudrate]
1000
			earlyprintk=xdbc[xhciController#]
Linus Torvalds's avatar
Linus Torvalds committed
1001

1002
1003
1004
1005
			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.

1006
			Append ",keep" to not disable it when the real console
Linus Torvalds's avatar
Linus Torvalds committed
1007
1008
			takes over.

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

1012
1013
1014
1015
1016
1017
1018
1019
			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
1020
1021
1022
1023

			Interaction with the standard serial driver is not
			very good.

1024
1025
			The VGA and EFI output is eventually overwritten by
			the real console.
Linus Torvalds's avatar
Linus Torvalds committed
1026

1027
1028
			The xen output can only be used by Xen PV guests.

1029
1030
			The sclp output can only be used on s390.

1031
1032
1033
1034
1035
1036
1037
1038
	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.

1039
1040
1041
	ekgdboc=	[X86,KGDB] Allow early kernel console debugging
			ekgdboc=kbd

Lucas De Marchi's avatar
Lucas De Marchi committed
1042
			This is designed to be used in conjunction with
1043
1044
			the boot argument: earlyprintk=vga

Linus Torvalds's avatar
Linus Torvalds committed
1045
	edd=		[EDD]
1046
			Format: {"off" | "on" | "skip[mbr]"}
Linus Torvalds's avatar
Linus Torvalds committed
1047

1048
	efi=		[EFI]
1049
			Format: { "old_map", "nochunk", "noruntime", "debug" }
1050
1051
1052
			old_map [X86-64]: switch to the old ioremap-based EFI
			runtime services mapping. 32-bit still uses this one by
			default.
1053
1054
1055
			nochunk: disable reading files in "chunks" in the EFI
			boot stub, as chunking can cause problems with some
			firmware implementations.
1056
			noruntime : disable EFI runtime services support
1057
			debug: enable misc debug output
1058

1059
1060
1061
1062
1063
1064
	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.

1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
	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.

1080
1081
1082
1083
1084
1085
1086
	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
1087
1088
1089
	eisa_irq_edge=	[PARISC,HW]
			See header of drivers/parisc/eisa.c.

1090
	elanfreq=	[X86-32]
Linus Torvalds's avatar
Linus Torvalds committed
1091
			See comment before function elanfreq_setup() in
1092
			arch/x86/kernel/cpu/cpufreq/elanfreq.c.
Linus Torvalds's avatar
Linus Torvalds committed
1093
1094

	elevator=	[IOSCHED]
1095
			Format: {"cfq" | "deadline" | "noop"}
Paul Bolle's avatar
Paul Bolle committed
1096
			See Documentation/block/cfq-iosched.txt and
1097
1098
			Documentation/block/deadline-iosched.txt for details.

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

1105
1106
1107
1108
1109
	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.

1110
	enable_timer_pin_1 [X86]
1111
1112
1113
1114
1115
			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
1116
1117
1118
1119
1120
1121
1122
1123
	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.

1124
1125
1126
1127
	erst_disable	[ACPI]
			Disable Error Record Serialization Table (ERST)
			support.

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

1132
1133
1134
1135
1136
	evm=		[EVM]
			Format: { "fix" }
			Permit 'security.evm' to be updated regardless of
			current integrity status.

1137
1138
1139
1140
1141
	failslab=
	fail_page_alloc=
	fail_make_request=[KNL]
			General fault injection mechanism.
			Format: <interval>,<probability>,<space>,<times>
Paul Bolle's avatar
Paul Bolle committed
1142
			See also Documentation/fault-injection/.
1143

Linus Torvalds's avatar
Linus Torvalds committed
1144
	floppy=		[HW]
1145
			See Documentation/blockdev/floppy.txt.
Linus Torvalds's avatar
Linus Torvalds committed
1146

1147
1148
1149
1150
1151
1152
	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.

1153
1154
1155
1156
1157
1158
1159
	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.

1160
	ftrace=[tracer]
1161
			[FTRACE] will set and start the specified tracer
1162
1163
1164
			as early as possible in order to facilitate early
			boot debugging.

1165
	ftrace_dump_on_oops[=orig_cpu]
1166
			[FTRACE] will dump the trace buffers on oops.
1167
1168
1169
1170
			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.
1171
1172
1173
1174
1175
1176

	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
1177
			tracing directory.
1178
1179
1180
1181
1182
1183

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

1185
1186
1187
1188
1189
1190
1191
	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.

1192
1193
1194
1195
1196
1197
	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.

1198
1199
1200
1201
1202
1203
	ftrace_graph_max_depth=<uint>
			[FTRACE] Used with the function graph tracer. This is
			the max depth it will trace into a function. This value
			can be changed at run time by the max_graph_depth file
			in the tracefs tracing directory. default: 0 (no limit)

Linus Torvalds's avatar
Linus Torvalds committed
1204
1205
1206
1207
1208
1209
1210
1211
	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]

1212
1213
1214
1215
	gart_fix_e820=  [X86_64] disable the fix e820 for K8 GART
			Format: off | on
			default: on

1216
1217
1218
1219
1220
1221
	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.

1222
1223
1224
1225
	goldfish	[X86] Enable the goldfish android emulator platform.
			Don't use this when you are not running on the
			android emulator

Linus Torvalds's avatar
Linus Torvalds committed
1226
	gpt		[EFI] Forces disk with valid GPT signature but
1227
1228
1229
			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
1230

1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
	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

1249
1250
1251
1252
	gpio-mockup.gpio_mockup_ranges
			[HW] Sets the ranges of gpiochip of for this device.
			Format: <start1>,<end1>,<start2>,<end2>...

1253
1254
1255
1256
1257
	hardlockup_all_cpu_backtrace=
			[KNL] Should the hard-lockup detector generate
			backtraces on all cpus.
			Format: <integer>

Linus Torvalds's avatar
Linus Torvalds committed
1258
1259
	hashdist=	[KNL,NUMA] Large hashes allocated during boot
			are distributed across NUMA nodes.  Defaults on
1260
			for 64-bit NUMA, off otherwise.
1261
			Format: 0 | 1 (for off | on)
Linus Torvalds's avatar
Linus Torvalds committed
1262
1263
1264
1265
1266
1267

	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
1268
1269
1270
1271
1272
	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
1273
1274
1275
1276
1277
	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.

1278
1279
1280
1281
	highres=	[KNL] Enable/disable high resolution timer mode.
			Valid parameters: "on", "off"
			Default: "on"

Linus Torvalds's avatar
Linus Torvalds committed
1282
1283
1284
	hisax=		[HW,ISDN]
			See Documentation/isdn/README.HiSax.

1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
	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

1295
1296
1297
	hpet_mmap=	[X86, HPET_MMAP] Allow userspace to mmap HPET
			registers.  Default set by CONFIG_HPET_MMAP_DEFAULT.

1298
1299
	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.
1300
1301
1302
1303
			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
1304
			(when the CPU supports the "pdpe1gb" cpuinfo flag).
1305

1306
1307
	hvc_iucv=	[S390] Number of z/VM IUCV hypervisor console (HVC)
			       terminal devices. Valid values: 0..8
1308
1309
1310
	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.
1311

James Hogan's avatar
James Hogan committed
1312
1313
1314
1315
	hwthread_map=	[METAG] Comma-separated list of Linux cpu id to
			        hardware thread id mappings.
				Format: <cpu>:<hwthread>

1316
1317
1318
1319
1320
1321
	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.

1322
	i2c_bus=	[HW] Override the default board specific I2C bus speed
1323
1324
			     or register an additional I2C bus that is not
			     registered from board initialization code.
1325
1326
1327
			     Format:
			     <bus_id>,<clkrate>

1328
	i8042.debug	[HW] Toggle i8042 debug mode
1329
1330
1331
1332
	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
1333
	i8042.direct	[HW] Put keyboard port into non-translated mode
1334
1335
	i8042.dumbkbd	[HW] Pretend that controller can only read data from
			     keyboard and cannot control its state
Linus Torvalds's avatar
Linus Torvalds committed
1336
1337
			     (Don't attempt to blink the leds)
	i8042.noaux	[HW] Don't check for auxiliary (== mouse) port
1338
	i8042.nokbd	[HW] Don't check/create keyboard port
Jiri Kosina's avatar
Jiri Kosina committed
1339
1340
	i8042.noloop	[HW] Disable the AUX Loopback command while probing
			     for the AUX port
Linus Torvalds's avatar
Linus Torvalds committed
1341
	i8042.nomux	[HW] Don't check presence of an active multiplexing
1342
			     controller
Linus Torvalds's avatar
Linus Torvalds committed
1343
1344
	i8042.nopnp	[HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX
			     controllers
1345
	i8042.notimeout	[HW] Ignore timeout condition signalled by controller
1346
1347
1348
1349
1350
1351
1352
1353
	i8042.reset	[HW] Reset the controller during init, cleanup and
			     suspend-to-ram transitions, only during s2r
			     transitions, or never reset
			Format: { 1 | Y | y | 0 | N | n }
			1, Y, y: always reset controller
			0, N, n: don't ever reset controller
			Default: only on s2r transitions on x86; most other
			architectures force reset to be always executed
Linus Torvalds's avatar
Linus Torvalds committed
1354
	i8042.unlock	[HW] Unlock (ignore) the keylock
1355
	i8042.kbdreset  [HW] Reset device connected to KBD port
Linus Torvalds's avatar
Linus Torvalds committed
1356
1357
1358

	i810=		[HW,DRM]

1359
1360
1361
	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
1362
1363
1364
1365
1366
1367
1368
1369
	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.

1370
	i915.invert_brightness=
1371
1372
			[DRM] Invert the sense of the variable that is used to
			set the brightness of the panel backlight. Normally a
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
			brightness value of 0 indicates backlight switched off,
			and the maximum of the brightness value sets the backlight
			to maximum brightness. If this parameter is set to 0
			(default) and the machine requires it, or this parameter
			is set to 1, a brightness value of 0 sets the backlight
			to maximum brightness, and the maximum of the brightness
			value switches the backlight off.
			-1 -- never invert brightness
			 0 -- machine default
			 1 -- force brightness inversion
1383

Linus Torvalds's avatar
Linus Torvalds committed
1384
1385
1386
	icn=		[HW,ISDN]
			Format: <io>[,<membase>[,<icn_id>[,<icn_id2>]]]

1387
1388
	ide-core.nodma=	[HW] (E)IDE subsystem
			Format: =0.0 to prevent dma on hda, =0.1 hdb =1.0 hdc
1389
1390
			.vlb_clock .pci_clock .noflush .nohpa .noprobe .nowerr
			.cdrom .chs .ignore_cable are additional options
1391
			See Documentation/ide/ide.txt.
Linus Torvalds's avatar
Linus Torvalds committed
1392

1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
	ide-generic.probe-mask= [HW] (E)IDE subsystem
			Format: <int>
			Probe mask for legacy ISA IDE ports.  Depending on
			platform up to 6 ports are supported, enabled by
			setting corresponding bits in the mask to 1.  The
			default value is 0x0, which has a special meaning.
			On systems that have PCI, it triggers scanning the
			PCI bus for the first and the second port, which
			are then probed.  On systems without PCI the value
			of 0x0 enables probing the two first ports as if it
			was 0x3.

1405
1406
1407
	ide-pci-generic.all-generic-ide [HW] (E)IDE subsystem
			Claim all unknown PCI IDE storage controllers.

1408
	idle=		[X86]
1409
			Format: idle=poll, idle=halt, idle=nomwait
1410
1411
1412
1413
1414
			Poll forces a polling idle loop that can slightly
			improve the performance of waking up a idle CPU, but
			will use a lot of power and make the system run hot.
			Not recommended.
			idle=halt: Halt is forced to be used for CPU idle.
1415
			In such case C2/C3 won't be used again.
1416
			idle=nomwait: Disable mwait for CPU C-states
1417

1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
	ieee754=	[MIPS] Select IEEE Std 754 conformance mode
			Format: { strict | legacy | 2008 | relaxed }
			Default: strict

			Choose which programs will be accepted for execution
			based on the IEEE 754 NaN encoding(s) supported by
			the FPU and the NaN encoding requested with the value
			of an ELF file header flag individually set by each
			binary.  Hardware implementations are permitted to
			support either or both of the legacy and the 2008 NaN
			encoding mode.

			Available settings are as follows:
			strict	accept binaries that request a NaN encoding
				supported by the FPU
			legacy	only accept legacy-NaN binaries, if supported
				by the FPU
			2008	only accept 2008-NaN binaries, if supported
				by the FPU
			relaxed	accept any binaries regardless of whether
				supported by the FPU

			The FPU emulator is always able to support both NaN
			encodings, so if no FPU hardware is present or it has
			been disabled with 'nofpu', then the settings of
			'legacy' and '2008' strap the emulator accordingly,
			'relaxed' straps the emulator for both legacy-NaN and
			2008-NaN, whereas 'strict' enables legacy-NaN only on
			legacy processors and both NaN encodings on MIPS32 or
			MIPS64 CPUs.

			The setting for ABS.fmt/NEG.fmt instruction execution
			mode generally follows that for the NaN encoding,
			except where unsupported by hardware.

1453
1454
1455
	ignore_loglevel	[KNL]
			Ignore loglevel setting - this will print /all/
			kernel messages to the console. Useful for debugging.
1456
1457
1458
			We also add it as printk module parameter, so users
			could change it dynamically, usually by
			/sys/module/printk/parameters/ignore_loglevel.