kernel-parameters.txt 161 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>
317
			See also Documentation/input/joydev/joystick.rst
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.
442
	bttv.pll=	See Documentation/media/v4l-drivers/bttv.rst
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
	consoleblank=	[KNL] The console blank (screen saver) timeout in
644 645
			seconds. A value of 0 disables the blank timer.
                       Defaults to 0.
646

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 655 656 657 658
	coresight_cpu_debug.enable
			[ARM,ARM64]
			Format: <bool>
			Enable/disable the CPU sampling based debugging.
			0: default value, disable debugging
			1: enable debugging at boot time

659 660 661
	cpuidle.off=1	[CPU_IDLE]
			disable the cpuidle sub-system

662 663 664
	cpufreq.off=1	[CPU_FREQ]
			disable the cpufreq sub-system

665 666 667 668 669 670
	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
671
	cpcihp_generic=	[HW,PCI] Generic port I/O CompactPCI driver
672 673
			Format:
			<first_slot>,<last_slot>,<port>,<enum_bit>[,<debug>]
Linus Torvalds's avatar
Linus Torvalds committed
674

675 676 677 678 679 680 681
	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.
682

683 684 685 686 687
	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
688
			Documentation/kdump/kdump.txt for an example.
689

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

712 713 714
	crossrelease_fullstack
			[KNL] Allow to record full stack trace in cross-release

715 716 717
	cryptomgr.notests
                        [KNL] Disable crypto self-tests

Linus Torvalds's avatar
Linus Torvalds committed
718 719 720 721 722
	cs89x0_dma=	[HW,NET]
			Format: <dma>

	cs89x0_media=	[HW,NET]
			Format: { rj45 | aui | bnc }
723 724

	dasd=		[HW,NET]
Linus Torvalds's avatar
Linus Torvalds committed
725 726 727 728 729
			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>
730
			See also Documentation/input/devices/joystick-parport.rst
Linus Torvalds's avatar
Linus Torvalds committed
731

732
	ddebug_query=   [KNL,DYNAMIC_DEBUG] Enable debug messages at early boot
733 734
			time. See
			Documentation/admin-guide/dynamic-debug-howto.rst for
735
			details.  Deprecated, see dyndbg.
736

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

739 740 741 742 743 744 745 746 747
	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.

748 749
	debug_objects	[KNL] Enable object debugging

750 751 752
	no_debug_objects
			[KNL] Disable object debugging

753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771
	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.

772 773 774 775 776 777 778 779 780
	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

781 782
	debugpat	[X86] Enable PAT debugging

783
	decnet.addr=	[HW,NET]
Linus Torvalds's avatar
Linus Torvalds committed
784 785 786
			Format: <area>[,<node>]
			See also Documentation/networking/decnet.txt.

787 788 789 790 791 792 793
	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.
794

Linus Torvalds's avatar
Linus Torvalds committed
795 796
	dhash_entries=	[KNL]
			Set number of hash buckets for dentry cache.
797

798 799 800 801 802 803
	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
804 805 806
	disable=	[IPV6]
			See Documentation/networking/ipv6.txt.

807 808 809
	disable_radix	[PPC]
			Disable RADIX MMU mode on POWER9

810 811 812 813 814 815 816 817 818
	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.

819 820 821 822
	disable_ddw     [PPC/PSERIES]
			Disable Dynamic DMA Window support. Use this if
			to workaround buggy firmware.

Brian Haley's avatar
Brian Haley committed
823 824 825
	disable_ipv6=	[IPV6]
			See Documentation/networking/ipv6.txt.

826 827 828
	disable_mtrr_cleanup [X86]
			The kernel tries to adjust MTRR layout from continuous
			to discrete, to make X server driver able to add WB
829
			entry later. This parameter disables that.
830

831
	disable_mtrr_trim [X86, Intel and AMD only]
832 833 834 835 836
			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.

837
	disable_timer_pin_1 [X86]
838 839 840
			Disable PIN 1 of APIC timer
			Can be useful to work around chipset bugs.

841 842
	dis_ucode_ldr	[X86] Disable the microcode loader.

843 844 845 846 847 848 849 850 851 852
	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.

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

860 861 862 863 864
	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.
865 866 867 868 869 870 871 872
			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
873 874 875 876
			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.
877

Linus Torvalds's avatar
Linus Torvalds committed
878 879
	dscc4.setup=	[NET]

880 881 882 883 884 885 886 887 888
	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.

889 890 891 892 893
	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.

894 895 896
	dyndbg[="val"]		[KNL,DYNAMIC_DEBUG]
	module.dyndbg[="val"]
			Enable debug messages at boot time.  See
897 898
			Documentation/admin-guide/dynamic-debug-howto.rst
			for details.
899

900 901 902 903
	nompx		[X86] Disables Intel Memory Protection Extensions.
			See Documentation/x86/intel_mpx.txt for more
			information about the feature.

904 905 906
	nopku		[X86] Disable Memory Protection Keys CPU feature found
			in some Intel CPUs.

907 908 909
	module.async_probe [KNL]
			Enable asynchronous probe on this module.

910 911 912 913 914
	early_ioremap_debug [KNL]
			Enable debug messages in early_ioremap support. This
			is useful for tracking down temporary early mappings
			which are not unmapped.

915
	earlycon=	[KNL] Output early console device and options.
916

917 918 919 920
			When used with no options, the early console is
			determined by the stdout-path property in device
			tree's chosen node.

921 922 923 924 925 926
		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.
927

928 929
		uart[8250],io,<addr>[,options]
		uart[8250],mmio,<addr>[,options]
930
		uart[8250],mmio32,<addr>[,options]
931
		uart[8250],mmio32be,<addr>[,options]
932
		uart[8250],0x<addr>[,options]
933 934
			Start an early, polled-mode console on the 8250/16550
			UART at the specified I/O port or MMIO address.
935
			MMIO inter-register address stride is either 8-bit
936 937 938 939
			(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
940
			unspecified, the h/w is not initialized.
941

942
		pl011,<addr>
943
		pl011,mmio32,<addr>
944 945 946
			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
947 948 949
			yet supported.  If 'mmio32' is specified, then only
			the driver will use only 32-bit accessors to read/write
			the device registers.
950

951 952 953 954 955 956
		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.

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

969 970 971 972 973 974
		owl,<addr>
			Start an early, polled-mode console on a serial port
			of an Actions Semi SoC, such as S500 or S900, at the
			specified address. The serial port must already be
			setup and configured. Options are not yet supported.

975 976
		smh	Use ARM semihosting calls for early console.

977 978 979 980 981 982 983 984 985 986 987 988
		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.

989 990 991 992 993 994
		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.

995 996 997 998 999 1000 1001
		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.

1002
		ar3700_uart,<addr>
1003 1004 1005 1006 1007
			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.

1008
	earlyprintk=	[X86,SH,BLACKFIN,ARM,M68k,S390]
Linus Torvalds's avatar
Linus Torvalds committed
1009
			earlyprintk=vga
1010
			earlyprintk=efi
1011
			earlyprintk=sclp
1012
			earlyprintk=xen
Linus Torvalds's avatar
Linus Torvalds committed
1013
			earlyprintk=serial[,ttySn[,baudrate]]
1014
			earlyprintk=serial[,0x...[,baudrate]]
1015
			earlyprintk=ttySn[,baudrate]
1016
			earlyprintk=dbgp[debugController#]
1017
			earlyprintk=pciserial,bus:device.function[,baudrate]
1018
			earlyprintk=xdbc[xhciController#]
Linus Torvalds's avatar
Linus Torvalds committed
1019

1020 1021 1022 1023
			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.

1024
			Append ",keep" to not disable it when the real console
Linus Torvalds's avatar
Linus Torvalds committed
1025 1026
			takes over.

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

1030 1031 1032 1033 1034 1035 1036 1037
			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
1038 1039 1040 1041

			Interaction with the standard serial driver is not
			very good.

1042 1043
			The VGA and EFI output is eventually overwritten by
			the real console.
Linus Torvalds's avatar
Linus Torvalds committed
1044

1045 1046
			The xen output can only be used by Xen PV guests.

1047 1048
			The sclp output can only be used on s390.

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

1057 1058 1059
	ekgdboc=	[X86,KGDB] Allow early kernel console debugging
			ekgdboc=kbd

Lucas De Marchi's avatar
Lucas De Marchi committed
1060
			This is designed to be used in conjunction with
1061 1062
			the boot argument: earlyprintk=vga

Linus Torvalds's avatar
Linus Torvalds committed
1063
	edd=		[EDD]
1064
			Format: {"off" | "on" | "skip[mbr]"}
Linus Torvalds's avatar
Linus Torvalds committed
1065

1066
	efi=		[EFI]
1067
			Format: { "old_map", "nochunk", "noruntime", "debug" }
1068 1069 1070
			old_map [X86-64]: switch to the old ioremap-based EFI
			runtime services mapping. 32-bit still uses this one by
			default.
1071 1072 1073
			nochunk: disable reading files in "chunks" in the EFI
			boot stub, as chunking can cause problems with some
			firmware implementations.
1074
			noruntime : disable EFI runtime services support
1075
			debug: enable misc debug output
1076

1077 1078 1079 1080 1081 1082
	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.

1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097
	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.

1098 1099 1100 1101 1102 1103 1104
	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
1105 1106 1107
	eisa_irq_edge=	[PARISC,HW]
			See header of drivers/parisc/eisa.c.

1108
	elanfreq=	[X86-32]
Linus Torvalds's avatar
Linus Torvalds committed
1109
			See comment before function elanfreq_setup() in
1110
			arch/x86/kernel/cpu/cpufreq/elanfreq.c.
Linus Torvalds's avatar
Linus Torvalds committed
1111 1112

	elevator=	[IOSCHED]
1113
			Format: {"cfq" | "deadline" | "noop"}
Paul Bolle's avatar
Paul Bolle committed
1114
			See Documentation/block/cfq-iosched.txt and
1115 1116
			Documentation/block/deadline-iosched.txt for details.

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

1123 1124 1125 1126 1127
	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.

1128
	enable_timer_pin_1 [X86]
1129 1130 1131 1132 1133
			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
1134 1135 1136 1137 1138 1139 1140 1141
	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.

1142 1143 1144 1145
	erst_disable	[ACPI]
			Disable Error Record Serialization Table (ERST)
			support.

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

1150 1151 1152 1153 1154
	evm=		[EVM]
			Format: { "fix" }
			Permit 'security.evm' to be updated regardless of
			current integrity status.

1155 1156 1157 1158 1159
	failslab=
	fail_page_alloc=
	fail_make_request=[KNL]
			General fault injection mechanism.
			Format: <interval>,<probability>,<space>,<times>
Paul Bolle's avatar
Paul Bolle committed
1160
			See also Documentation/fault-injection/.
1161

Linus Torvalds's avatar
Linus Torvalds committed
1162
	floppy=		[HW]
1163
			See Documentation/blockdev/floppy.txt.
Linus Torvalds's avatar
Linus Torvalds committed
1164

1165 1166 1167 1168 1169 1170
	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.

1171 1172 1173 1174 1175 1176 1177
	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.

1178
	ftrace=[tracer]
1179
			[FTRACE] will set and start the specified tracer
1180 1181 1182
			as early as possible in order to facilitate early
			boot debugging.

1183
	ftrace_dump_on_oops[=orig_cpu]
1184
			[FTRACE] will dump the trace buffers on oops.
1185 1186 1187 1188
			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.
1189 1190 1191 1192 1193 1194

	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
1195
			tracing directory.
1196 1197 1198 1199 1200 1201

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

1203 1204 1205 1206 1207 1208 1209
	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.

1210 1211 1212 1213 1214 1215
	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.

1216 1217 1218 1219 1220 1221
	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
1222 1223 1224 1225
	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>
1226
			See also Documentation/input/devices/joystick-parport.rst
Linus Torvalds's avatar
Linus Torvalds committed
1227 1228 1229

	gamma=		[HW,DRM]

1230 1231 1232 1233
	gart_fix_e820=  [X86_64] disable the fix e820 for K8 GART
			Format: off | on
			default: on

1234 1235 1236 1237 1238 1239
	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.

1240 1241 1242 1243
	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
1244
	gpt		[EFI] Forces disk with valid GPT signature but
1245 1246 1247
			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
1248

1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266
	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

1267 1268 1269 1270
	gpio-mockup.gpio_mockup_ranges
			[HW] Sets the ranges of gpiochip of for this device.
			Format: <start1>,<end1>,<start2>,<end2>...

1271 1272 1273 1274 1275
	hardlockup_all_cpu_backtrace=
			[KNL] Should the hard-lockup detector generate
			backtraces on all cpus.
			Format: <integer>

Linus Torvalds's avatar
Linus Torvalds committed
1276 1277
	hashdist=	[KNL,NUMA] Large hashes allocated during boot
			are distributed across NUMA nodes.  Defaults on
1278
			for 64-bit NUMA, off otherwise.
1279
			Format: 0 | 1 (for off | on)
Linus Torvalds's avatar
Linus Torvalds committed
1280 1281 1282 1283 1284 1285

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

1296 1297 1298 1299
	highres=	[KNL] Enable/disable high resolution timer mode.
			Valid parameters: "on", "off"
			Default: "on"

Linus Torvalds's avatar
Linus Torvalds committed
1300 1301 1302
	hisax=		[HW,ISDN]
			See Documentation/isdn/README.HiSax.

1303 1304 1305 1306 1307 1308 1309 1310 1311 1312
	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

1313 1314 1315
	hpet_mmap=	[X86, HPET_MMAP] Allow userspace to mmap HPET
			registers.  Default set by CONFIG_HPET_MMAP_DEFAULT.

1316 1317
	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.
1318 1319 1320 1321
			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
1322
			(when the CPU supports the "pdpe1gb" cpuinfo flag).
1323

1324 1325
	hvc_iucv=	[S390] Number of z/VM IUCV hypervisor console (HVC)
			       terminal devices. Valid values: 0..8
1326 1327 1328
	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.
1329

James Hogan's avatar
James Hogan committed
1330 1331 1332 1333
	hwthread_map=	[METAG] Comma-separated list of Linux cpu id to
			        hardware thread id mappings.
				Format: <cpu>:<hwthread>

1334 1335 1336 1337 1338 1339
	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.

1340
	i2c_bus=	[HW] Override the default board specific I2C bus speed
1341 1342
			     or register an additional I2C bus that is not
			     registered from board initialization code.
1343 1344 1345
			     Format:
			     <bus_id>,<clkrate>

1346
	i8042.debug	[HW] Toggle i8042 debug mode
1347 1348 1349 1350
	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
1351
	i8042.direct	[HW] Put keyboard port into non-translated mode
1352 1353
	i8042.dumbkbd	[HW] Pretend that controller can only read data from
			     keyboard and cannot control its state
Linus Torvalds's avatar
Linus Torvalds committed
1354 1355
			     (Don't attempt to blink the leds)
	i8042.noaux	[HW] Don't check for auxiliary (== mouse) port
1356
	i8042.nokbd	[HW] Don't check/create keyboard port
Jiri Kosina's avatar
Jiri Kosina committed
1357 1358
	i8042.noloop	[HW] Disable the AUX Loopback command while probing
			     for the AUX port
Linus Torvalds's avatar
Linus Torvalds committed
1359
	i8042.nomux	[HW] Don't check presence of an active multiplexing
1360
			     controller
Linus Torvalds's avatar
Linus Torvalds committed
1361 1362
	i8042.nopnp	[HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX
			     controllers
1363
	i8042.notimeout	[HW] Ignore timeout condition signalled by controller
1364 1365 1366 1367 1368 1369 1370 1371
	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
1372
	i8042.unlock	[HW] Unlock (ignore) the keylock
1373
	i8042.kbdreset  [HW] Reset device connected to KBD port
Linus Torvalds's avatar
Linus Torvalds committed
1374 1375 1376

	i810=		[HW,DRM]

1377 1378 1379
	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
1380 1381 1382 1383 1384 1385 1386 1387
	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.

1388
	i915.invert_brightness=
1389 1390
			[DRM] Invert the sense of the variable that is used to
			set the brightness of the panel backlight. Normally a
1391 1392 1393 1394 1395 1396 1397 1398 1399 1400
			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
1401

Linus Torvalds's avatar
Linus Torvalds committed
1402 1403 1404
	icn=		[HW,ISDN]
			Format: <io>[,<membase>[,<icn_id>[,<icn_id2>]]]

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

1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422
	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.

1423 1424 1425
	ide-pci-generic.all-generic-ide [HW] (E)IDE subsystem
			Claim all unknown PCI IDE storage controllers.

1426
	idle=		[X86]
1427
			Format: idle=poll, idle=halt, idle=nomwait
1428 1429 1430 1431 1432
			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.
1433
			In such case C2/C3 won't be used again.
1434
			idle=nomwait: Disable mwait for CPU C-states
1435

1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470
	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.

1471 1472 1473
	ignore_loglevel	[KNL]
			Ignore loglevel setting - this will print /all/
			kernel messages to the console. Useful for debugging.
1474 1475 1476
			We also add it as printk module parameter, so users
			could change it dynamically, usually by
			/sys/module/printk/parameters/ignore_loglevel.
1477

1478 1479 1480 1481 1482
	ignore_rlimit_data
			Ignore RLIMIT_DATA setting for data mappings,
			print warning at first misuse.  Can be changed via
			/sys/module/kernel/parameters/ignore_rlimit_data.

Linus Torvalds's avatar
Linus Torvalds committed
1483 1484 1485
	ihash_entries=	[KNL]
			Set number of hash buckets for inode cache.

1486
	ima_appraise=	[IMA] appraise integrity measurements
1487
			Format: { "off" | "enforce" | "fix" | "log" }
1488 1489
			default: "enforce"

1490 1491 1492 1493
	ima_appraise_tcb [IMA]
			The builtin appraise policy appraises all files
			owned by uid=0.

1494 1495 1496 1497
	ima_canonical_fmt [IMA]
			Use the canonical format for the binary runtime
			measurements, instead of host native format.

1498
	ima_hash=	[IMA]
1499 1500
			Format: { md5 | sha1 | rmd160 | sha256 | sha384
				   | sha512 | ... }
1501 1502
			default: "sha1"

1503 1504 1505
			The list of supported hash algorithms is defined
			in crypto/hash_info.h.

Mimi Zohar's avatar
Mimi Zohar committed
1506
	ima_policy=	[IMA]
</