Skip to content
Snippets Groups Projects
kernel-parameters.txt 198 KiB
Newer Older
  • Learn to ignore specific revisions
  • 			Advanced Configuration and Power Interface
    
    			Format: { force | on | off | strict | noirq | rsdt |
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    			force -- enable ACPI if default was off
    
    			on -- enable ACPI but allow fallback to DT [arm64]
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    			off -- disable ACPI if default was on
    			noirq -- do not use ACPI for IRQ routing
    
    			strict -- Be less tolerant of platforms that are not
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    				strictly ACPI specification compliant.
    
    			rsdt -- prefer RSDT over (default) XSDT
    
    			copy_dsdt -- copy DSDT to memory
    
    			For ARM64, ONLY "acpi=off", "acpi=on" or "acpi=force"
    			are available
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    
    
    			See also Documentation/power/runtime_pm.rst, pci=noacpi
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    
    
    	acpi_apic_instance=	[ACPI, IOAPIC]
    			Format: <int>
    			2: use 2nd APIC table, if available
    			1,0: use 1st APIC table
    
    			default: 0
    
    	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.
    
    
    	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.
    
    
    	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.
    
    
    	acpi.debug_layer=	[HW,ACPI,ACPI_DEBUG]
    	acpi.debug_level=	[HW,ACPI,ACPI_DEBUG]
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    			Format: <int>
    
    			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, ...
    
    			The debug_level mask defaults to "info".  See
    
    			Documentation/firmware-guide/acpi/debug.rst for more information about
    
    			debug layers and levels.
    
    			Enable processor driver info messages:
    			    acpi.debug_layer=0x20000000
    			Enable PCI/PCI interrupt routing info messages:
    			    acpi.debug_layer=0x400000
    
    			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.
    
    	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.
    
    
    	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.
    
    
    	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>...
    
    
    	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.
    
    	acpi_no_auto_serialize	[HW,ACPI]
    			Disable auto-serialization of AML methods
    
    			AML control methods that contain the opcodes to create
    			named objects will be marked as "Serialized" by the
    			auto-serialization feature.
    
    			This feature is enabled by default.
    			This option allows to turn off the feature.
    
    	acpi_no_memhotplug [ACPI] Disable memory hotplug.  Useful for kdump
    			   kernels.
    
    
    	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.
    
    	acpi_no_watchdog	[HW,ACPI,WDT]
    			Ignore the ACPI-based watchdog interface (WDAT) and let
    			a native driver control the watchdog device instead.
    
    
    	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.
    
    	acpi_os_name=	[HW,ACPI] Tell ACPI BIOS the name of the OS
    			Format: To spoof as Windows 98: ="Microsoft Windows"
    
    
    	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).
    
    
    	acpi_osi=	[HW,ACPI] Modify list of supported OS interface strings
    
    			acpi_osi="string1"	# add string1
    			acpi_osi="!string2"	# remove string2
    
    			acpi_osi=!*		# remove all strings
    
    			acpi_osi=!		# disable all built-in OS vendor
    						  strings
    
    			acpi_osi=!!		# enable all built-in OS vendor
    						  strings
    
    			acpi_osi=		# disable all strings
    
    
    			'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
    
    			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.
    
    			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.
    
    
    			'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.
    
    
    			Override the pmtimer bug detection: force the kernel
    			to assume that this machine's pmtimer latches its value
    			and always returns good values.
    
    
    	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,
    
    				  old_ordering, nonvs, sci_force_enable, nobl }
    
    			See Documentation/power/video.rst 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).
    
    			nonvs prevents the kernel from saving/restoring the
    			ACPI NVS memory during suspend/hibernation and resume.
    
    			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).
    
    			nobl causes the internal blacklist of systems known to
    			behave incorrectly in some ways with respect to system
    			suspend and resume to be ignored (use wisely).
    
    
    	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.
    
    
    	agp=		[AGP]
    			{ off | try_unsupported }
    			off: disable AGP support
    			try_unsupported: try to drive unsupported chipsets
    				(may crash computer or cause data corruption)
    
    
    			See Documentation/sound/alsa-configuration.rst
    
    	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.
    
    
    	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.
    
    
    			32: only for 32-bit processes
    			64: only for 64-bit processes
    
    			on: enable for both 32- and 64-bit processes
    			off: disable for both 32- and 64-bit processes
    
    
    	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.
    
    
    	amd_iommu=	[HW,X86-64]
    
    			Pass parameters to the AMD IOMMU driver in the system.
    			Possible values are:
    
    			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
    
    			off	  - do not initialize any AMD IOMMU found in
    				    the system
    
    			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
    
    	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.
    
    
    	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
    	amijoy.map=	[HW,JOY] Amiga joystick support
    			Map of devices attached to JOY0DAT and JOY1DAT
    			Format: <a>,<b>
    
    			See also Documentation/input/joydev/joystick.rst
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    
    	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>
    
    
    	apc=		[HW,SPARC]
    			Power management functions (SPARCstation-4/5 + deriv.)
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    			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.
    
    
    	apic=		[APIC,X86] Advanced Programmable Interrupt Controller
    
    			Change the output verbosity while booting
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    			Format: { quiet (default) | verbose | debug }
    			Change the amount of debugging information output
    			when initialising the APIC and IO-APIC components.
    
    			For X86-32, this can also be used to specify an APIC
    			driver name.
    			Format: apic=driver_name
    			Examples: apic=bigsmp
    
    	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
    
    
    	autoconf=	[IPV6]
    			See Documentation/networking/ipv6.txt.
    
    
    	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
    	apm=		[APM] Advanced Power Management
    
    			See header of arch/x86/kernel/apm_32.c.
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    
    	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
    
    
    	atkbd.set=	[HW] Select keyboard code set
    			Format: <int> (2 = AT (default), 3 = PS/2)
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    
    	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))
    
    
    	atkbd.softrepeat= [HW]
    			Use software keyboard repeat
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    
    
    	audit=		[KNL] Enable the audit sub-system
    
    			Format: { "0" | "1" | "off" | "on" }
    			0 | off - 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 | on - 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.
    
    	audit_backlog_limit= [KNL] Set the audit queue size limit.
    			Format: <int> (must be >=0)
    			Default: 64
    
    
    	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
    	baycom_epp=	[HW,AX25]
    			Format: <io>,<mode>
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    	baycom_par=	[HW,AX25] BayCom Parallel Port AX.25 Modem
    			Format: <io>,<mode>
    			See header of drivers/net/hamradio/baycom_par.c.
    
    
    	baycom_ser_fdx=	[HW,AX25]
    			BayCom Serial Port AX.25 Modem (Full Duplex Mode)
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    			Format: <io>,<irq>,<mode>[,<baud>]
    			See header of drivers/net/hamradio/baycom_ser_fdx.c.
    
    
    	baycom_ser_hdx=	[HW,AX25]
    			BayCom Serial Port AX.25 Modem (Half Duplex Mode)
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    			Format: <io>,<irq>,<mode>
    			See header of drivers/net/hamradio/baycom_ser_hdx.c.
    
    
    	blkdevparts=	Manual partition parsing of block device(s) for
    			embedded devices based on command line input.
    
    			See Documentation/block/cmdline-partition.rst
    
    	boot_delay=	Milliseconds to delay each printk during boot.
    			Values larger than 10 seconds (10000) are changed to
    			no delay (0).
    			Format: integer
    
    
    	bootmem_debug	[KNL] Enable bootmem allocator debug messages.
    
    
    	bert_disable	[ACPI]
    			Disable BERT OS support on buggy BIOSes.
    
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    	bttv.card=	[HW,V4L] bttv (bt848 + bt878 based grabber cards)
    
    	bttv.radio=	Most important insmod options are available as
    			kernel args too.
    
    	bttv.pll=	See Documentation/media/v4l-drivers/bttv.rst
    
    Paul Bolle's avatar
    Paul Bolle committed
    	bttv.tuner=
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    
    
    	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
    	c101=		[NET] Moxa C101 synchronous serial card
    
    
    	cachesize=	[BUGS=X86-32] Override level 2 CPU cache size detection.
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    			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.
    
    
    	carrier_timeout=
    			[NET] Specifies amount of time (in seconds) that
    			the kernel should wait for a network carrier. By default
    			it waits 120 seconds.
    
    
    	ca_keys=	[KEYS] This parameter identifies a specific key(s) on
    			the system trusted keyring to be used for certificate
    			trust validation.
    
    			format: { id:<keyid> | builtin }
    
    	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).
    
    
    	ccw_timeout_log	[S390]
    
    			See Documentation/s390/common_io.rst for details.
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    
    
    	cgroup_disable=	[KNL] Disable a particular controller
    
    			Format: {name of the controller(s) to disable}
    
    			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}
    
    	cgroup_no_v1=	[KNL] Disable cgroup controllers and named hierarchies in v1
    			Format: { { controller | "all" | "named" }
    			          [,{ controller | "all" | "named" }...] }
    
    			Like cgroup_disable, but only applies to cgroup v1;
    			the blacklisted controllers remain available in cgroup2.
    
    			"all" blacklists all controllers and "named" disables
    			named mounts. Specifying both "all" and "named" disables
    			all v1 hierarchies.
    
    	cgroup.memory=	[KNL] Pass options to the cgroup memory controller.
    			Format: <string>
    			nosocket -- Disable socket memory accounting.
    
    			nokmem -- Disable kernel memory accounting.
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    	checkreqprot	[SELINUX] Set initial checkreqprot flag value.
    			Format: { "0" | "1" }
    			See security/selinux/Kconfig help text.
    
    			0 -- check protection applied by kernel (includes
    				any implied execute protection).
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    			1 -- check protection requested by application.
    			Default value is set via a kernel config option.
    
    			Value can be changed at runtime via
    				/selinux/checkreqprot.
    
    
    			See Documentation/s390/common_io.rst for details.
    
    			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/driver-api/clk.rst.
    
    	clock=		[BUGS=X86-32, HW] gettimeofday clocksource override.
    
    			[Deprecated]
    
    			Forces specified clocksource (if available) to be used
    
    			when calculating gettimeofday(). If specified
    
    			clocksource is not available, it defaults to PIT.
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    			Format: { pit | tsc | cyclone | pmtmr }
    
    
    	clocksource=	Override the default clocksource
    
    Randy Dunlap's avatar
    Randy Dunlap committed
    			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
    
    			[X86-32] pit,hpet,tsc;
    
    Randy Dunlap's avatar
    Randy Dunlap committed
    				scx200_hrt on Geode; cyclone on IBM x440
    			[MIPS] MIPS
    			[PARISC] cr16
    			[S390] tod
    			[SH] SuperH
    			[SPARC64] tick
    			[X86-64] hpet,tsc
    
    
    	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.
    
    
    	clocksource.max_cswd_read_retries= [KNL]
    			Number of clocksource_watchdog() retries due to
    			external delays before the clock will be marked
    			unstable.  Defaults to three retries, that is,
    			four attempts to read the clock under test.
    
    
    	clearcpuid=BITNUM[,BITNUM...] [X86]
    
    			Disable CPUID feature X for the kernel. See
    
    			arch/x86/include/asm/cpufeatures.h for the valid bit
    
    			numbers. Note the Linux specific bits are not necessarily
    
    			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.
    
    
    	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
    			memory allocations. A value of 0 disables CMA
    			altogether. For more information, see
    
    			include/linux/dma-contiguous.h
    
    
    	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
    
    
    	coherent_pool=nn[KMG]	[ARM,KNL]
    			Sets the size of memory pool for coherent, atomic dma
    
    			allocations, by default set to 256K.
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    	com20020=	[HW,NET] ARCnet - COM20020 chipset
    
    			Format:
    			<io>[,<irq>[,<nodeID>[,<backplane>[,<ckp>[,<timeout>]]]]]
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    
    	com90io=	[HW,NET] ARCnet - COM90xx chipset (IO-mapped buffers)
    			Format: <io>[,<irq>]
    
    
    	com90xx=	[HW,NET]
    			ARCnet - COM90xx chipset (memory-mapped buffers)
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    			Format: <io>[,<irq>[,<memstart>]]
    
    	condev=		[HW,S390] console device
    	conmode=
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    	console=	[KNL] Output console device and options.
    
    		tty<n>	Use the virtual console device <n>.
    
    		ttyS<n>[,options]
    
    		ttyUSB0[,options]
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    			Use the specified serial port.  The options are of
    
    			the form "bbbbpnf", where "bbbb" is the baud rate,
    			"p" is parity ("n", "o", or "e"), "n" is number of
    			bits, and "f" is flow control ("r" for RTS or
    			omit it).  Default is "9600n8".
    
    
    			See Documentation/admin-guide/serial-console.rst for more
    
    			information.  See
    			Documentation/networking/netconsole.txt for an
    			alternative.
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    
    
    		uart[8250],io,<addr>[,options]
    		uart[8250],mmio,<addr>[,options]
    
    		uart[8250],mmio16,<addr>[,options]
    
    		uart[8250],mmio32,<addr>[,options]
    		uart[8250],0x<addr>[,options]
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    			Start an early, polled-mode console on the 8250/16550
    			UART at the specified I/O port or MMIO address,
    
    			switching to the matching ttyS device later.
    			MMIO inter-register address stride is either 8-bit
    
    			(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,
    
    			the h/w is not re-initialized.
    
    
    		hvc<n>	Use the hypervisor console device <n>. This is for
    			both Xen and PowerPC hypervisors.
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    
    
    		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.
    
    
    	console_msg_format=
    			[KNL] Change console messages format
    		default
    			By default we print messages on consoles in
    			"[time stamp] text\n" format (time stamp may not be
    			printed, depending on CONFIG_PRINTK_TIME or
    			`printk_time' param).
    		syslog
    			Switch to syslog format: "<%u>[time stamp] text\n"
    			IOW, each message will have a facility and loglevel
    			prefix. The format is similar to one used by syslog()
    			syscall, or to executing "dmesg -S --raw" or to reading
    			from /proc/kmsg.
    
    
    	consoleblank=	[KNL] The console blank (screen saver) timeout in
    
    			seconds. A value of 0 disables the blank timer.
    
    	coredump_filter=
    			[KNL] Change the default value for
    			/proc/<pid>/coredump_filter.
    			See also Documentation/filesystems/proc.txt.
    
    
    	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
    
    
    	cpuidle.off=1	[CPU_IDLE]
    			disable the cpuidle sub-system
    
    
    	cpuidle.governor=
    			[CPU_IDLE] Name of the cpuidle governor to use.
    
    
    	cpufreq.off=1	[CPU_FREQ]
    			disable the cpufreq sub-system
    
    
    	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
    	cpcihp_generic=	[HW,PCI] Generic port I/O CompactPCI driver
    
    			Format:
    			<first_slot>,<last_slot>,<port>,<enum_bit>[,<debug>]
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    
    
    	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.
    			[KNL, x86_64] select a region under 4G first, and
    			fall back to reserve region above 4G when '@offset'
    			hasn't been specified.
    
    			See Documentation/admin-guide/kdump/kdump.rst for further details.
    
    	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
    
    			Documentation/admin-guide/kdump/kdump.rst for an example.
    
    			[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.
    
    	crashkernel=size[KMG],low
    			[KNL, x86_64] range under 4G. When crashkernel=X,high
    			is passed, kernel could allocate physical memory region
    
    			above 4G, that cause second kernel crash on system
    			that require some amount of low memory, e.g. swiotlb
    
    			requires at least 64M+32K low memory, 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.
    
    			This one let user to specify own low range under 4G
    			for second kernel instead.
    			0: to disable low allocation.
    
    			It will be ignored when crashkernel=X,high is not used
    
    			or memory reserved is below 4G.
    
    			[KNL] Disable crypto self-tests
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    	cs89x0_dma=	[HW,NET]
    			Format: <dma>
    
    	cs89x0_media=	[HW,NET]
    			Format: { rj45 | aui | bnc }
    
    
    	dasd=		[HW,NET]
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    			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/devices/joystick-parport.rst
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    
    
    	ddebug_query=	[KNL,DYNAMIC_DEBUG] Enable debug messages at early boot
    
    			time. See
    			Documentation/admin-guide/dynamic-debug-howto.rst for
    
    			details.  Deprecated, see dyndbg.
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    	debug		[KNL] Enable kernel debugging (events log level).
    
    
    	debug_boot_weak_hash
    			[KNL] Enable printing [hashed] pointers early in the
    			boot sequence.  If enabled, we use a weak hash instead
    			of siphash to hash pointers.  Use this option if you are
    			seeing instances of '(___ptrval___)') and need to see a
    			value (hashed pointer) instead. Cryptographically
    			insecure, please do not use on production kernels.
    
    
    	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.
    
    
    	debug_objects	[KNL] Enable object debugging
    
    
    	no_debug_objects
    			[KNL] Disable object debugging
    
    
    	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.
    
    
    			[KNL] When CONFIG_DEBUG_PAGEALLOC is set, this parameter
    			enables the feature at boot time. By default, it is
    			disabled and the system will work mostly the same as a
    			kernel built without CONFIG_DEBUG_PAGEALLOC.
    
    			Note: to get most of debug_pagealloc error reports, it's
    			useful to also enable the page_owner functionality.
    
    	debugpat	[X86] Enable PAT debugging
    
    
    	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.
    
    	deferred_probe_timeout=
    			[KNL] Debugging option to set a timeout in seconds for
    			deferred probe to give up waiting on dependencies to
    			probe. Only specific dependencies (subsystems or
    			drivers) that have opted in will be ignored. A timeout of 0
    			will timeout at the end of initcalls. This option will also
    			dump out devices still on the deferred probe list after
    			retrying.
    
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    	dhash_entries=	[KNL]
    			Set number of hash buckets for dentry cache.
    
    	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.
    
    
    	disable=	[IPV6]
    			See Documentation/networking/ipv6.txt.
    
    
    	hardened_usercopy=
                            [KNL] Under CONFIG_HARDENED_USERCOPY, whether
                            hardening is enabled for this boot. Hardened
                            usercopy checking is used to protect the kernel
                            from reading or writing beyond known memory
                            allocation boundaries as a proactive defense
                            against bounds-checking flaws in the kernel's
                            copy_to_user()/copy_from_user() interface.
                    on      Perform hardened usercopy checks (default).
                    off     Disable hardened usercopy checks.
    
    
    	disable_radix	[PPC]
    			Disable RADIX MMU mode on POWER9
    
    
    	disable_tlbie	[PPC]
    			Disable TLBIE instruction. Currently does not work
    			with KVM, with HASH MMU, or with coherent accelerators.
    
    
    	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.
    
    
    			Disable Intel PMU counter freezing feature.
    			The feature only exists starting from
    			Arch Perfmon v4 (Skylake and newer).
    
    
    	disable_ddw	[PPC/PSERIES]
    
    			Disable Dynamic DMA Window support. Use this if
    			to workaround buggy firmware.
    
    
    	disable_ipv6=	[IPV6]
    			See Documentation/networking/ipv6.txt.
    
    
    	disable_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 disables that.
    
    	disable_mtrr_trim [X86, Intel and AMD only]
    
    			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.
    
    
    			Disable PIN 1 of APIC timer
    			Can be useful to work around chipset bugs.
    
    
    	dis_ucode_ldr	[X86] Disable the microcode loader.
    
    
    	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.
    
    
    	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.
    
    
    	driver_async_probe=  [KNL]
    			List of driver names to be probed asynchronously.
    			Format: <driver_name1>,<driver_name2>...
    
    
    	drm.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.
    
    			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/driver-api/edid.rst. An EDID
    
    			data set will only be used for a particular connector,
    			if its name and a colon are prepended to the EDID
    
    			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.
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    	dscc4.setup=	[NET]
    
    
    	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.
    
    
    	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.
    
    
    	dyndbg[="val"]		[KNL,DYNAMIC_DEBUG]
    	module.dyndbg[="val"]
    			Enable debug messages at boot time.  See
    
    			Documentation/admin-guide/dynamic-debug-howto.rst
    			for details.
    
    	nompx		[X86] Disables Intel Memory Protection Extensions.
    
    			See Documentation/x86/intel_mpx.rst for more
    
    			information about the feature.
    
    
    	nopku		[X86] Disable Memory Protection Keys CPU feature found
    			in some Intel CPUs.
    
    
    	module.async_probe [KNL]
    			Enable asynchronous probe on this module.
    
    
    	early_ioremap_debug [KNL]
    			Enable debug messages in early_ioremap support. This
    			is useful for tracking down temporary early mappings
    			which are not unmapped.
    
    
    	earlycon=	[KNL] Output early console device and options.
    
    			[ARM64] The early console is determined by the
    			stdout-path property in device tree's chosen node,
    			or determined by the ACPI SPCR table.
    
    			[X86] When used with no options the early console is
    			determined by the ACPI SPCR table.
    
    		cdns,<addr>[,options]
    			Start an early, polled-mode console on a Cadence